News:

11 March 2016 - Forum Rules

Main Menu

Breath of Fire (SNES/GBA/Switch) ROM Editor

Started by Tony H, May 13, 2023, 12:42:02 PM

Previous topic - Next topic

Tony H

If things go as planned, this will work on SNES, Game Boy Advanced (GBA), and Nintendo Switch.



Screenshot above is very rough, so there will be many changes and additions.

So far, editor works on these ROMs:

*Most, if not all SNES ROMs, including USA and Japan, and with or without the 0x200 byte ROM header.

*Most, if not all GBA ROMs, including USA, Europe, and Japan.

*Editor will load and patch the Nintendo Switch version, although I haven't tested it yet.

Have tested the patched GBA ROMs on NO$GBA and VBA emulators and worked fine.  I don't have hardware to test it, but I've been told that patched ROMs will work on real hardware with a GBA flashcart.

I know that RHDN doesn't like stuff for newer/current consoles for obvious reasons, so not sure if I'm going to keep this compatible with the Switch or not.  If any staff has thoughts on this, please let me know.

Things already in the editor, or planned:

* Edit starting stats.  May add stats for the rest of the characters.
* Treasure chest money amounts.  I think the chests go by the amount that you get instead of location, so I may change it to 8 individual dollar amounts which will affect all chests.
* Random battle adjustments: Can select to have no random battles, or you can adjust how many random battles you encounter.  Interesting side note: The GBA version has fewer random battles than the SNES or Switch versions.
* Came up with an idea that lets you make it so that all enemies will have the same amount of HP, and you can adjust that HP amount to any value you want.  Did some testing and it seems to work fine.  Not sure if it works on bosses yet.
* Can adjust HP for individual enemies.  I think there are well over 100 enemies, so not sure if I want to try and add them all.
* Shop prices.  May add the ability to change what's for sale.
* Enable Debug Menu.  Have not tested this one, so not sure yet.
* Edit maximum amount of damage allowed during battles.  This is normally set at 999 damage, and applies to both you and enemies.

Have never played this game before, so if anyone has any suggestions on things to add, let me know.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Tony H

#1
Update:



Got the treasure chests almost done.  All of the chests in the game that give you money can be edited with those 8 adjustments.  In the screenshot, that large group of 32 unlabeled boxes will be hidden in the final release.  They are being used to convert the number that you enter (on the left) into 4 separate ASCII values.  The game uses a regular hex number to determine how much money you get, and it uses separate ASCII numbers to display how much money you're getting in the message box in the game.  This way, the amount shown will match the amount you're getting. 

I noticed that the hex value in the ROM for the $900 treasure chests is set to zero.  This is the only one of the eight that is like that.  Not sure if it's a bug in the game, or something else.  Once I get to a spot that has a chest with $900, I'll look into it.

Have added a section that has an option that lets you edit how much Exp you'll get after every battle.  Because the GBA and SNES use different types of programing, the SNES can use values up to 65535 (2 bytes) for this, but the GBA can only use values up to 255 (1 byte).  I'm relatively new to GBA stuff, so will see if I can get the GBA version to use 2 bytes as well.  Keep in mind that using really large values here early in the game will make you level up a lot after every battle.

Have also improved the random battle section so you can now turn random battles on or off for inside or outside battles.  You can also adjust how many random battles you have.

There is now an option to create a new ROM when patching.

There are now two tabs/pages.  May add more as needed.

EDIT: Have removed the "Switch" checkbox.  The editor can still open and edit a Switch SNES ROM since it's very similar to the regular SNES ROM, but I have no idea if it will work on a real Switch.  Have also added a new checkbox for the GBA (Europe (En,Fr,De)) version, since it's programing is completely different than all the other GBA versions.  The editor will automatically determine what type of ROM you have, and mark the correct checkbox.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Ok Impala!

This is really exciting! Looking forward to what you'll add in the future!

nanashi89

Maybe we can port War of The Goddess and BoF2 ReTranslation to GBA, now!

Tony H

#4
Thanks for the comments guys.

I'm going to release a few beta versions as I go along. Feel free to let me know if you find any problems or have any suggestions. 

This first beta version will load and patch ROMs, and everything on the first page should be fully functional.  The "Create new ROM" option is also working.

Should work on any SNES or GBA version /region of the game.  I also tested it on the Breath of Fire Improved GBA hack here in RHDN, and everything seemed to work fine.  There is a good chance that it will work on all SNES and GBA hacked versions.  If you find one that doesn't work, let me know.

A small note on the treasure chests.  Because of the way the GBA chest money table is set up in the ROM, some of the dollar amounts that show up in the little message boxes in the game may not have the "GP" text included after the dollar amount.  The dollar amount shown will be correct and will match the amount you actually get, but I had to leave the "GP" letters off of some to make room for the extra amount of money.  Example if you set it to $9999: If the text box would normally show 70GP, it will now show 9999 instead.  If the text box would normally show 300GP, it will now show 9999G instead. The $1200, $2000, and $3000 values will show 9999GP, since there was enough room.   All of the SNES versions will always display "GP" correctly since there was enough room in the ROM table.

The max value limits on the starting/new game stats are set pretty low for now.  As soon as I'm sure where to set them, I will make the changes.

The screen shot in the post above is fairly close to what this beta version looks like.

Can download it from here:
Breath of Fire Editor Beta 1
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Ok Impala!

Really cool! What are your plans for adding new features?

As for suggestions. An export of map data so it can be edited in Tiled and then imported back into the game would be a dream... one can dream, right?  :)

Azure_Brian

#6
This is probably beyond the scope of this application, but I've been working on editing the text of Breath of Fire 2 on the GBA in my spare time through hex and I'm learning as I go. Would it be possible to implement a text editor for the second game with this thing too? If not, I think the Debug menu exists in the GBA port of 2 as well. I think I could look at all the dialog that way, so even if I could access a feature like that, that would be splendid. :)

Tony H

Quote from: Ok Impala! on May 25, 2023, 12:27:36 AMReally cool! What are your plans for adding new features?

As for suggestions. An export of map data so it can be edited in Tiled and then imported back into the game would be a dream... one can dream, right?  :)

Thanks.  This is what's recently finished or being worked on:

* I've got the adjustable enemy HP finished for both SNES and GBA.  This feature gives you the option of making it so all enemies have the same amount of HP, and you can adjust the amount of HP to any value you want.  Setting this value low enough will let you kill any enemy with one hit, or you can set it much higher so enemies are more difficult to defeat.  You can turn this feature on or off at any time in the editor.

* Have found the tables in the ROM for weapon attack power, weight, and cost.  You will be able to make weapons as strong as you want, as well as adjust the weight and cost.  There's more stuff in the table that I haven't looked at yet, so there might be things like who can equip which weapons, etc.

* You will also be able to change what weapons are for sale in shops.  There are around 95 different weapons you can choose from.

* I had read about a debugging item (DrWarp) that was accidentally left in the game.  You can use it to warp to any location in the game, but it is normally not available anywhere.  I found the table that determines what's for sale in the Item Shops and changed one of the Herbs that was for sale into that DrWarp debugging item, and was able to buy it for free.  Was able to warp anywhere I wanted, including a few areas that were not used in the game.  Pretty useful item.  This will definitely be in the editor.

As far as editing map data, not really the direction I was going with this but I've been thinking about doing that type of editor, so maybe in the future.
 
Quote from: Azure_Brian on May 25, 2023, 01:29:49 PMThis is probably beyond the scope of this application, but I've been working on editing the text of Breath of Fire 2 on the GBA in my spare time through hex and I'm learning as I go. Would it be possible to implement a text editor for the second game with this thing too? If not, I think the Debug menu exists in the GBA port of 2 as well. I think I could look at all the dialog that way, so even if I could access a feature like that, that would be splendid. :)

I noticed that the SNES and GBA versions of Breath of Fire 1 use different values for on screen text.  No plans on adding Breath of Fire 2 compatibility to the editor.  Already have to deal with two different platforms (SNES and GBA), and at least 13 different ROMs (7 different ROMs for SNES and 6 different ROMs for GBA).  If I do anything for BoF 2, it would be a separate editor.  May look into that.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Tony H

#8
Update:

Came up with an idea to let people search for and edit stats for any weapon or armor in the game by typing in it's name.



I started adding individual adjustments for all of the weapons and armor in the Drogen shop (shown at the top of the screenshot), but realized it would be much better if you could search for all of the weapons and armor in the game.

The way it works, is you type in the name of the weapon or armor you want to edit in the textbox.  In the screenshot above, I typed in "Dirk" and the program automatically converted my text into the custom text values used by Breath of Fire (not standard ASCII values).  You then click a button and it will find the stats for your weapon or armor in the ROM and let you edit them.  You can edit as many as you want.

Haven't finished testing it but as of now, it seems to work fine although only supports upper and lower case letters, and spaces.  I will need to add a little more code to get it working with a few other special characters like dashes, periods, etc.

The GBA version uses different text/ASCII values than the SNES version, so will have to get that finished as well.

It also looks like I can do something similar with enemy stats (HP, etc), where you just enter the name of the enemy and it will find the stats for you so you can edit them.

If this idea works out, there will be major changes to the layout.

The screenshot also shows how you can edit which weapons are for sale in Drogen.  There are a bunch of unused weapons in the game that you can buy in the shop by entering their hex ID values, which will be shown in a list.

You can also edit what's for sale in the item show, which allows you to get the DrWarp Debug item, among other things.

Also, many thanks to Dravis for sending me the starting address for the magic spell table, as well as some of the format it uses.  Adding magic to the editor was on the list, so this will definitely save me some time.  From the looks of it, I can probably use the same idea of searching for and editing all of the magic spells by entering it's name.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Tony H

#9
Update:

The idea of using the name of weapons, armor, spells, characters, etc to search the ROM for the stats is working very well now for the SNES versions.

Did run into a problem with GBA ROMs though.  The GBA versions appear to use Japaneses letters/characters for the names (in the tables).  Would be way too much work to get the name idea working with GBA ROMs.  Will probably keep going in the original direction of having lots of individual adjustments for all of the stats, and they will work on both SNES and GBA ROMs.  Will add the name searching stuff in separate pages and make it so it's only functional with SNES ROMs.

The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

Tony H

#10
Update:



Screenshot of the first page (above).  Now has:

* Adjustable amount of random battles
* Can turn random battles on or off (inside or outside)
* Can turn on an option so all enemies will give you the same amount of Exp after battle, and you can adjust this to almost any value you want.
* Can turn on an option so all enemies will have the same amount of HP (health), and you can adjust this value to your liking.  Setting this value low enough, will let you kill any enemy with 1 hit.
* Can adjust how much money you get from all of the treasure chests in the game.
* Can adjust HP, Attack, and Defense stats for all of the individual enemies you encounter early in the game.
* Can adjust how much Experience and GP (money) you get after battle from all of the individual enemies you encounter early in the game.



Screenshot of second page (above).  Now has:

* The ability to choose which weapons are for sale in the Drogen weapon/armor shop.  There are a ton of weapons to choose from, and several of them are weapons that were left out of the game (normally not available).  There is a button that shows a list of all the weapons and their hex ID numbers.
* The ability to choose which armor is for sale in the Drogen weapon/armor shop.  There is a ton of armor to choose from, and several of them were left out of the game (normally not available).  There is a button that shows a list of all the armor and their hex ID numbers.
* The ability to choose which items are for sale in the Drogen item shop.  There are a ton of items to choose from and a button that shows all of them.  This is the section where you can get the Debug item (DrWarp) that lets you warp to any area of the game.  Just pick which slot you want it in, and enter a value of 36.  It will show up the the shop and the cost is free.
* You can adjust many of the stats for everything that's for sale in the Drogen weapon/armor shop, including the cost, attack or defense power, weight, and who can equip them.  There is also a button that shows some of the values to determine who can equip things.  Setting the "Who can equip" setting to zero will make it so anyone can equip/use it.



Screenshot of third page (above).  Still under construction, but everything is 100% functional:

* Have improved the section that lets you enter the name of any weapon or armor and click a button to find their stats for editing.  You can edit: Attack/Defense power, weight, who can equip it (setting to zero lets anyone equip it), and the cost.
* Have added a "Base" ROM address that will show you a ROM address when it finds a match for your weapon/armor name.  The base ROM address is the address for the cost, and you can find the rest of the stats like so: add 3 to the base address for who can equip it, add 5 for the weight, and add 6 for the attack/defense power.  This is really just for those that may want to look in their ROM for other stuff to edit.
* There is a button that shows the correct names for all of the weapons and armor, along with their stats.  Just pick whichever one you want, and copy/paste it's name into the editor and click the "Find match" button.
* Also a button that shows what values to use to determine who can equip them.
* A section that lets you adjust the starting/new game stats for the hero.

Here is a link to this beta version (version 0.7):

https://codehut.gshi.org/betas/BoFeditorV07Beta.zip

If you try it out, let me know if you have any comments or find any problems.

Will be adding more stuff in the near future.

As of now, everything listed above (with the exception of the SNES name search section) works on all SNES and GBA ROMs that I know of, including USA, Europe, and Japan versions.  I also tested it on a couple hacked versions from RHDN, and seems to work fine.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides

shadow501

Nice work! and keep up  :thumbsup: , Will be greate if you make editor for Dragon Ball Z: Super Saiya Densetsu on SNES :D 

Tony H

Quote from: shadow501 on June 05, 2023, 06:05:55 AMNice work! and keep up  :thumbsup: , Will be greate if you make editor for Dragon Ball Z: Super Saiya Densetsu on SNES :D 
Thanks.  Always looking for interesting new projects, so will look into that one.


Update:



Got the character stat section fully functional (screenshot above), with all 8 characters included.  This section will work on either SNES or GBA ROMs.  The order is currently how they appear in the ROM, but may change it so that they are in the order they appear in the game.  The starting character (Hero) is the only set of stats that is loaded when the game first starts, which is a good thing.  It appears that the rest of the characters stats are loaded shortly before they join you, so you can adjust their stats whenever you want, as long as they haven't joined your party yet.



Added a list of areas in the game that you can warp to using the "DrWarp" debug item (screenshot above).  Since the list is so long (over 500 areas), I also included a handy search feature.  Credit for the list goes to TCRF.



Have got the magic spells figured out and have started working on that.  In the screenshot above, I'm trying to figure out the best way for people to edit the power/damage level of spells.  In this example, it's the power level of the "Cold" spell.  You can choose one of 5 different power/damage levels.  I currently have 3 different ways of choosing the power level.  Will probably go with either option number 2 (drop down list) or number 3 (5 individual selections that you can choose from).  Once you choose which power level you want, you can adjust how much damage that level will cause if you'd like.  Example: let's say you want the Cold spell to cause 500 damage to all enemies (it normally only causes 30 damage to 1 enemy), you would select level number 4, and then adjust the power/damage for level 4 to 500.  You can also adjust how much AP spells use, as well as what level it's learned.

The adjustable power/damage levels also affect other specific spells (listed).  It is possible to get the Cold spell to behave like any other spell in the game (ie Fire, etc), but I think this would over complicate things.  For now, will keep all of the spells in their same "category".

Still have a long way to go on this section.  I can't fit all of the spells into this section, but have some ideas on how to get most of them in there.
The Code Hut: http://codehut.gshi.org/

Game Genie codes and ROM hacking guides