News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Yakibomb

Pages: [1]
Cross-posting from Board2:

Hello! I am a passionate Super Mario RPG hacker. If you don't know who I am, I am the guy who compiled a list of all SMRPG hacks available (which can be found here), and I have also bug tested LazyShell's earlier builds. Now as of recent, I'm updating the source code to LazyShell v3.19.0 (The Super Mario RPG Editor).

The changelog is pretty small so far. I've only added a few things (changelog below), like some missing commands and features.

You can get LAZYSHELL_3.19.0_UPDATED_EDITION here.

==V1.2.5 + V1.2.6 CHANGELOG 2018-7-13==
- At 0xD5: Added formation position #, fixed bug
- At 0x00: Removed "use palette row 4", added "Palette Row #" value
- A5 0x96: Battle Messages can now be set above 6

- Changed "$70Ax = $7xxx" to "$70Ax = $7000" due to mislabel
- Increased length of HEX display at the bottom
- Added "(NOT including {xx})" to randomized number codes.
- Changed description of 3A and 3B commands to be more accurate

- Clearing a formation will set the event # to 102 (from 0) and music to CURRENT (from Normal)

- Clearing a Monster's Stats will reset win items and Yoshi cookie to the correct value

==V1.2.4 CHANGELOG 2018-6-26==
- Increased height of search box results

- Fixed bug with monster behavior scripts

- Added hex editor next to item index

==V1.2.3 CHANGELOG 2018-6-26==
- Added original SMRPG Documents by giangurgolo, updated by Yakibomb

- Added new scripts: Faint, Run Away and Victory (under Monster Behavior #1-3)
- At 0xD5: Fixed Summon monster display
- Added numerals next to opcodes

- To Open menu commands: Added "close menu and refresh VRAM" and now script displays what menu/event will run
- Removed numerals from sound lists

==V1.2.1 CHANGELOG 2018-6-24==
- Changed names of event sounds and battle sounds (which might need to be revised if it's too confusing!)

- At 0xD5: Added undocumented Summon Monster
- Added ability to select and edit unused DUMMY spells for allies
- Changed the ability to select sounds and music using an index number
- Removed the numbers from the left of the sound list (for faster searching)
- At 0x00: added undocumented "behind all sprites" and "overlap all sprites" properties

- Switched joypad commands descriptions in category list
- Fixed parameters for "Display pre-game intro title..." to display correctly in the editor script
- Fixed bug where "If Memory $704x [x @ 7000] bit {xx} clear..." auto-jumped to another command
- Fixed bug where "Shadow On" was unselectable
- Added undocumented 3A and 3B commands: Jump to if object is less than x tiles close to Mario
- Switched Memory commands $7xxxx = $7xxxx because it was confusing to read

==V1.0.0 RELEASE 2018-6-17==
-Changed file icon for LazyShell
-Changed the ABOUT LAZY SHELL... to this editor's changelog

- Added ability to edit Flower Bonus Messages, Toad's Battle Tutorial and Weapon Miss Sounds

- Added undocumented bit 7 of Run Background Event... as "Run as second script"
- Added move script thread commands under category "Events"
- Added undocumented commands to walk and transfer to Memory $7016-1B
- Added undocumented "Play sound (ch4.5.) ..."

 - Added undocumented commands {B2,b4} and {B3,b0} as "Can't enter doors" and "Can't walk up stairs".

 - Added new attribute: "Add stats (item)"

- Added ability to view (not edit) Mario's map sprite



I hope, in time, LazyShell will be even better than before! Thanks for reading, Happy Hacking!

Programming / ASM Compiler? Help with spaghetti code problem
« on: November 05, 2017, 06:25:37 pm »
Hello! I'm working on a hack for a Super NES game (Super Mario RPG). I've documented and added a lot of different things to one area in the ROM, but now it's become a huge JSR/JMP spaghetti-code fiesta and it's hard to figure out what each thing does and where.

Is there any program or tool to help organize the code? I've looked around but have had no luck.

Personal Projects / Yaki's Super Mario RPG Project
« on: October 30, 2017, 09:39:16 am »

This is what I've been doing on-and-off for the past year and a half. Documenting, programming and revisiting the world of Super Mario RPG: Legend of the Seven Stars!

At first it started as a simple project after several other too ambitious projects failed. Then it evolved into a remake everything project, then it downsized into a documentation project... Now at this stage, I'm contacting the world in order to get a better perspective on things--Should I continue to have the patch work exclusively for my project, or allow others to use my project as a base for their own hacks?

But what is my project?


1. All stats in battle are revised, and some new ones are added in place of old ones. Stats are now: Power, Defense, Speed, Recovery, and Style.
  • Power increases damage dealt by any attack, not just "A" button attacks.
  • Defense decreases damage taken from any attack, not just "A" button attacks.
  • Speed increases accuracy against the opponent, as well as turn order.
  • Recovery, as it increases, changes the healing value from healing spells and items.
  • And finally, Style is basically "Luck", increasing a character's item Freebie chance, the chance to get a flower bonus on enemy's defeat, and to deal Critical damage against the opponent.
2. The status UI has been completely changed to include new features.
  • The P-Gauge Meter, which replaces FP (Mana/MP of the Mario universe) in the original game. This works for each individual character, and is no longer shared between the party. The P-Gauge's cap can even be adjusted.
    (Thank you, thank you Justin3009 for your help programming this!)
  • HP now changes colors turns red if >25% of max, green if <100% of max, or yellow if neither.
  • Buffs are now shown on top of the status bar.
  • Turn timer now displays when the character has a status debuff or invincible.
  • A new Power Up system (which is described in the next point). The power up is displayed to the left of the HP.
3. The three equipment slots have been revised to implement more features: Utility, Power Up, and Passive.
  • Utility replaces Weapons. This gives characters an active secondary ability, like a status refresh, a self buff, a tattle or a light damaging attack. It doesn't cost P-Gauge.
  • Power Up replaces Armor. This grants a character a new spell in their specials menu. It does cost some P-Gauge.
  • Passive replaces Accessory. This grants the character a new supportive passive ability. Would you rather have health regeneration, blocking after using an attack, or some extra defense?

4. All the ailments have been replaced with new ones. It'd actually rather not get into all of these, but I will explain the ones above. From left to right:
  • We have Oil, reducing Speed and increasing fire damage taken one time.
  • Next is Angry, or Berserk, or Furious... Increases all damage dealt by 50%, but the character automatically attacks one enemy. (Side Note: SMRPG had an unused ailment that did this, only the character attacked an enemy OR an ally!)
  • Last (but not least) is Ghost. The character, upon being turned into a ghastly ghost, their Recovery values are flipped to damage them! If that doesn't scare you I don't know what will.
5. Most of the battle formulas have been changed.
  • Damage = (Power * Power Level) - Defense (was previously Power Level and Defense were switched.
  • By manually blocking and having the Defend command up does not further decrease damage taken.
  • Mushroom, manual Defend, and DEFENSE UP! buff now stack.
  • Attacking an enemy that has Fear while having the ATTACK UP! buff now increases damage further.
  • Accuracy = Attacker's Speed - Opponent's Speed. If Speed Attacker<Opponent's speed = 100% miss chance.
  • Healing Value from Item = Target's Recovery * Item's Power Level.
  • Healing Value from Spell = Spell power + Target'S Recovery

To-Do (or Not-To-Do?)
Over time, I've wanted to add some other new features but I'm unsure as to if I want to include them. One feature I wanted to implement was the Card system, adding character buffs throughout the battle... only thing is, it would have to be butchered into oversimplification (something I don't want to do) because I am not about to program a menu for decks and stuff, even if it does sound fun to use. You can see the card in the corner in the battle screen at the top of this post.

A friend gave me the idea that I could make this a patch for the original game, and build the game around that instead of making this exclusively for my own game. What do others think of this? Please post and/or poll. Thank you.

Hello! After some breakthroughs with overworld menu hacking, I've decided to step even further out the deep end. Along the way I've gotten wonderful help to get by, however when it comes to me to search the deeper waters... I've unfortunately run into a few problems, as expected.

Now on the surface, I've come for help. What's my problem?

While working with Super Mario RPG:LotSS, I've run into a problem trying to locate how the animations change in battle. I'm not really sure what to do to look for these things, nor do I know what to look for. I'm looking for how sprites change, like when a character turns into a Scarecrow, or when a character is put to sleep. There is a bug when a character is invincible; When timing a block with the character being attacked, they "walk in place" for unknown reasons. I am trying to find the fix to this, so it plays the correct defending animation.

Not asking for someone to do this for me, but instead for someone to show me the method or direction I should go about this. (If someone did find the fix to that bug I mentioned for me, I could probably learn from it, so no harm done either way)

Thank you in advance! I will be patient waiting. :)

Programming / Help with Overworld Menu ASM (SMRPG:LotSS)
« on: April 10, 2016, 04:31:55 pm »
Hello! I'm new to this community, and I'm looking for some help with ASM hacking. I have some questions, but first let me explain what I'm doing.

I'm trying to understand how the menus are assembled in Super Mario RPG: Legend of the Seven Stars. However, while one of my goals is to document how the menus are assembled, my main goal is to change a certain menu.

This is the menu I want to change:

I want to increase the size of display box for the spells on the right to include 7 spells instead of 6. And if possible, shift the whole menu to increase it further to list 8 spells. However, I've run into some problems.

According to the documentation left by giangurgolo, the author of the main SMRPG editor Lazy Shell, he found where the data is stored for these menus, but not where the pointers are or how it's assembled. I don't know what is what. Here is what his documentation said:
Code: [Select]
030000 - 033FFF | ASM  | Windowing Assembly
034165 - 0341AA | TXT  | Alphanumeric Text
035000 - 037FFF | ASM  | Windowing Assembly

Here is what I found:
- The game uses its own unique code format for menus (like battle animation scripts do).
- Text and counters are called to be displayed independently of each other, meaning they're both in separate lists. I have yet to find how counters are displayed.
- I found how the text is displayed, though. I think the text is enclosed in a code bracket. It display text in a list, with four bytes designating Xposition, Yposition, Palette, and Text Index. Giangurgolo built in a text editing tool for menu text, making it easy to locate what each text item's index is.
- And one step toward my main goal: I found the byte that controls how many spells are listed! However...

Here is my problem (and why I'm here):
- I don't know how to clear the WRAM to remove the seventh spell's display on the menu. What happens is the seventh spell will stay in the WRAM after it's loaded, which means it stays on the list, forever being displayed on that menu. I don't know what communicates to the WRAM.

What opcodes or instructions should I be looking for? What loads the menus into the RAM? Is there a special code that is the same for all SNES games, or does SMRPG have its own way of clearing/storing it?

Can someone give me some advice, or point me in the right direction? I'll try to provide as much info as I can. I've used Geiger's SNES9x debugger to find what loads when, and where those instructions lead to. Could I post them?

I thought getting help here would be better than trying to do this alone, oh and sorry if this is in the wrong section.

EDIT: I've made some progress, but I still don't know what clears the WRAM. (Or how to move the FP)

Pages: [1]