FF6 Hacking

Full Version: Pony Fantasy VI Remake
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Run a debugger, set "break points" as those three offsets you found, then play the game. Enter battle, use summon, if it runs the offset you set as "breakpoint" it will pause and let you step through code one line at a time to see what is being run.

While what Madsiur said should find out what script is being called to run the summon, I didn't get any hits at all on those three addresses for the summon itself, (had to hit continue half a dozen times to ignore the calls for every single time an enemy attacked pre-casting of summon... ) but when the summon was cast it played right through.

Maybe I hit skip a few to many times, don't really have the extra time to recheck, but strangely enough, as I said didn't get a hit myself on those addresses. Might not be that simple, maybe I'm wrong. Would suggest trying it yourself, wouldn't surprise me if I just missed it.
Well, I downloaded the debugger, but I have no idea how to use it.

EDIT - Well, didn't expect it to be this intuitive. Okay, well set my break points and see what happens.

Here's what I got.

http://pastebin.com/kc9zF4AD
You'll have to compare that to exactly what is happening on screen while that is being run. The same code will probably be run every time an attack animation happens. So you'd have to get it narrowed down to just the code run while summoning your problem esper, then look at the values its reading/loading from. This should tell you where his animation script is located.
You got it here, except you need to press "step into" once when the game pause because of the breakpoint. Before you press "step into" again, what will be in the A register is you two bytes pointer value. I suspect this two byte value is added to D0/0000 to have the absolute address of the script.

This looks good, just press "step into" once after this: $C1/B2BF BF D8 EA D1 LDA $D1EAD8,x[$D1:ECE0] A:0208 X:0208 Y:0000 P:envmxdIzc

Edit: Or more easily got o $D1:ECE0 and check the two bytes value. They need to be read as $D1:ECE0 + 1 and $D1:ECE0. As an example, if the two bytes are 4520, your pointer is 2045 and your script may be at D0/2045.
(02-21-2016, 11:10 AM)Catone Wrote: [ -> ]You'll have to compare that to exactly what is happening on screen while that is being run. The same code will probably be run every time an attack animation happens. So you'd have to get it narrowed down to just the code run while summoning your problem esper, then look at the values its reading/loading from. This should tell you where his animation script is located.

That is just the animation from the Esper summon. I don't recall if I included the summon orbs or not, but yup. That's all Alex. Only one enemy on screen, and no party members have any statuses or are performing any actions.

(02-21-2016, 11:24 AM)Madsiur Wrote: [ -> ]You got it here, except you need to press "step into" once when the game pause because of the breakpoint. Before you press "step into" again, what will be in the A register is you two bytes pointer value. I suspect this two byte value is added to D0/0000 to have the absolute address of the script.

This looks good, just press "step into" once after this: $C1/B2BF BF D8 EA D1 LDA $D1EAD8,x[$D1:ECE0] A:0208 X:0208 Y:0000 P:envmxdIzc

I can't. It goes one frame at a time, seemingly. "Step into" once, then what?
(02-21-2016, 11:29 AM)DrakeyC Wrote: [ -> ]I can't. It goes one frame at a time, seemingly. "Step into" once, then what?

It has nothing to do with frames. If the game pause at the first line of the pastebin stuff you posted (and it did stop since you posted the code) press "step into" and check the value of the A register. You can also do the second thing I mentioned in the edit.
Okay then. What am I looking for with either of these things? I mean, it looks like the pastebin already gives the A value of everything.
Sorry you need to press "Next op" after hitting the breakpoint. That is my mistake. I though "Step into" would give the same result in this case but it seems not.
I try to summon Alex, it gives this line. Pressing Next Op does nothing but make the line repeat

Quote:$C1/B2BF BF D8 EA D1 LDA $D1EAD8,x[$D1:EBC6] A:00EE X:00EE Y:0000 P:envmxdIzc

I go to "$C1/B2BF BF D8 EA D1 LDA $D1EAD8,x[$D1:ECE0] A:0208 X:0208 Y:0000 P:envmxdIzc" as you told me. Again, Next Op just repeats a line.

Quote:$C1/B2BF BF D8 EA D1 LDA $D1EAD8,x[$D1:ECE0] A:0208 X:0208 Y:0000 P:envmxdIzc
That is fine, you can see the pointer offset: $D1:EBC6. Just go there with an hex editor and you'll have the pointer.