Jump to content

HGSS - Game Crashes on battle initialization when type table is edited


Recommended Posts

Basically just the title. I've unpacked overlay 12 and decompressed it (tried both ct2 and BLZ), edited it to include an extra rule (for testing purposes, that ice resists dragon) 10 0f 05 in between two of the other entries, 10 10 14 (dragon se vs self) and 10 08 05 (dragon nve vs steel). When I try to run the ROM with the recompressed file in it, it always crashes when a battle starts.

Replacing one typing rule with another works just fine, if I wanted to remove a rule and add one in its place, but I don't really want to remove any of them just to add the few that I want.

Does anyone have any idea of how to make this work? I heard ct2 has some problems with decompression/recompression so I tried the same using BLZ (tool by CUE) since someone mentioned that on another thread as being useful for overlay files, but it crashes all the same.

Link to comment
Share on other sites

you MUST use blz both ways. you can leave it uncompressed, but you have to change the overlay table to account for it.

you also can't add anything without repointing basically the entire table. every address in the overlay must be accessible from where it originally was or you need to go through looking for every branch to or load from an affected area and fix them.

Link to comment
Share on other sites

Thanks guys, I figured it was something to do with a bigger ending size breaking pointers but wasn't sure since another thread (that wasn't about overlays, that must be the difference?) mentioned something about the NDS file system being fine with changing the sizes of files.

I guess it's just going to not be worth it for my current project unless I can also think of type relationships I want to remove, since I'm unaware of any documentation or tools that will help with repointing everything and I'm not exactly cool enough to figure it out myself. I'd need to grow like, at least 30 more functional brain cells for that.

Link to comment
Share on other sites

that was about the narcs. those can change in size because there's nothing hardcoded about their size or location since they're almost always loaded into free space on the heap. overlays have to be precise because they're all code and the arm9/other overlays jump around between each other.

if another overlay/ an earlier point in the same overlay jumps to a new function in a changed overlay and everything isn't accounted for, it'll start reading invalid instructions and the game crashes.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...