Mold data pointers flexibility patch

If it has bytes, we can change it. Talk about anything relating to hacking and emulation here.

Moderators: General Moderator, Game Moderator

Mold data pointers flexibility patch

Postby Assassin » Sun Feb 05, 2017 2:43 pm

at C2/C4A4, the game has pointers to ROM mold data structures for each of the 6 entries in a mold. but in C1, after finding and reading the 1st structure, it just consecutively reads the rest, assuming they're sequential and ignoring their pointers.

this has always irked me, and could stymie hackers who want to expand and relocate just a single mold entry. admittedly, not much space would be wasted, as the largest full formation data set in vanilla is 34 bytes. however, i still don't like it, so decided to change it.

in the same loop of the offending function (C1/3E72), the game also ignores the RAM pointers for mold subsprite info, found at C2/C474. so i changed this, too. admittedly, the game hardcodes 8259h/825Ah/etc all over the place, including in the same function; in contrast, there are only 2 references to C2/C474 in Bank C1. so i'm not accomplishing much here. but one thing that tackling both issues (as opposed to just the first) did is to align earlier parts of the function more, so less is shifted from vanilla, and the .IPS would be smaller and have less potential conflicts.

here it is, for FF3us 1.0: ... exible.asm

i haven't tested besides observing that 3 battle formations weren't a glitch-fest.

enabling robustness and relocatability are low priority compared to fixing actual bugs, but what the hey.
User avatar
Posts: 1195
Joined: Tue Sep 14, 2004 5:10 am

Return to ROM Hacking and Emulation

Who is online

Users browsing this forum: No registered users and 1 guest