- Joined
- Jan 25, 2024
- Messages
- 12,301
- Points
- 38
- Age
- 39
- Location
- USA
- Website
- gameparadise.org
- Credits
- 206,669
For a long time, people have been asking for a condensed post or somewhere were every piece of ROM hacking knowledge can be easily accessed, so I'll be using the main post of this thread and update it as I make new discoveries (or someone else really), this should hopefully motivate people to poke around some more and hopefully get the ROM hacking scene off to a good start (This will not cover Custom DLC injection, that's an entirely different thing altogether).
So first off, before trying anything, it's a good idea to read this wiki, it contains Vital information of the general file structure and important file location, I ask that you PLEASE read this before asking questions such as "Where do I find X thing", or asking about the file headers, this is explained in the wiki and all headers are the same for all lz compressed files.
Second, this will NOT cover basic questions such as "how do I get homebrew on my 3DS?" or "how do I run romhacks?", you should probably cover the basics before trying more advanced stuff.
So with that said, here's some of the info I have so far, this post is not final and I'll be editing it over the course of time as I have really not made any "tutorials" for most of this stuff, so for now it's mostly images as I write guides and explanations for this.
The E6 7F value was found to be bitflags detailing when the SEID pointer skills would be available, they are as follows;
Note that this value also applies to Character blocks, usually listed as FF 7F for playables, meaning all skills available on all difficulties.
EXAMPLES AND/OR DEMONSTRATIONS:
TUTORIALS/OTHER MISC STUFF (ROM HACKING ONLY)
We now have a Discord Server!
https://discord.gg/ePGj3BX
So first off, before trying anything, it's a good idea to read this wiki, it contains Vital information of the general file structure and important file location, I ask that you PLEASE read this before asking questions such as "Where do I find X thing", or asking about the file headers, this is explained in the wiki and all headers are the same for all lz compressed files.
Second, this will NOT cover basic questions such as "how do I get homebrew on my 3DS?" or "how do I run romhacks?", you should probably cover the basics before trying more advanced stuff.
So with that said, here's some of the info I have so far, this post is not final and I'll be editing it over the course of time as I have really not made any "tutorials" for most of this stuff, so for now it's mostly images as I write guides and explanations for this.
GameData contains so much vital info that it's usually best to avoid editing altogether since any small mistake will break the file and in turn make the game crash on load, the simplest thing is editing supports as that only requires very minimal repointing.
General structure here.
This is what support tables look like;
General structure here.
This is what support tables look like;
WIP:
AIDs are found in ROM2 and ROM3, AIDs have a general structure:
0x00 starts the header of the AID, headers can vary wildly in size, from 4 bytes, to 8 bytes, to 12 or even 16 bytes in size, the header tells the game a few things, such as unique animations (Forrest using Female Animations instead of Male animations), the character's Head/Face model/textures, any unique models/textures in certain classes, or in some cases, the AID will force a certain static model and animations on the character (such as Mikoto, Sumeragi, Lilith, Garon, to name a few)
The hair color (THIS ONLY APPLIES TO THE 3D MODEL) is the final 4 bytes of the AID.
Do note that the AID also controls the head sprite for the character, which goes in unit/Head/(AIDLABELHERE)/(Spriteshere)
AIDs are found in ROM2 and ROM3, AIDs have a general structure:
0x00 starts the header of the AID, headers can vary wildly in size, from 4 bytes, to 8 bytes, to 12 or even 16 bytes in size, the header tells the game a few things, such as unique animations (Forrest using Female Animations instead of Male animations), the character's Head/Face model/textures, any unique models/textures in certain classes, or in some cases, the AID will force a certain static model and animations on the character (such as Mikoto, Sumeragi, Lilith, Garon, to name a few)
The hair color (THIS ONLY APPLIES TO THE 3D MODEL) is the final 4 bytes of the AID.
Do note that the AID also controls the head sprite for the character, which goes in unit/Head/(AIDLABELHERE)/(Spriteshere)
Example of a file with a single character block (DLC blocks for playables are also made like this);
IMAGE IS NOT UP TO DATE WITH ALL FINDINGS
IMAGE IS NOT UP TO DATE WITH ALL FINDINGS
Basically the same as above, however, there is one key value being used here, basically there are a few bytes to tell the game that this is actually a dynamic block for a character from GameData, the block structure is the same as above, but the written more up to date version can be found here.
Actual detailed explanation coming soon™
Actual detailed explanation coming soon™
The E6 7F value was found to be bitflags detailing when the SEID pointer skills would be available, they are as follows;
Note that this value also applies to Character blocks, usually listed as FF 7F for playables, meaning all skills available on all difficulties.
WIP Block Mapping
MAYBE SOMEDAY THIS'LL BE EASY TO EXPLAIN
For now have these images that try to explain the barebones of how it works.
You can also find notes about this from TildeHat here.
For now have these images that try to explain the barebones of how it works.
You can also find notes about this from TildeHat here.
EXAMPLES AND/OR DEMONSTRATIONS:
This is an Awakening Example, but since the structure is the same, it would apply to Fates.
Another example;
Moar examples;
Another example;
Moar examples;
TUTORIALS/OTHER MISC STUFF (ROM HACKING ONLY)
We now have a Discord Server!
https://discord.gg/ePGj3BX