• Welcome to Final Fantasy Hacktics. Please login or sign up.
 

Has anyone managed to create a functioning Jump Ability?

Started by Timbo, December 05, 2013, 10:24:32 pm

Timbo

I had time to test it a bit today. It seems to work just fine.
  • Modding version: PSX
  • Discord username: Timbo

Vanya

  • Modding version: Other/Unknown
¯\(°_0)/¯

Aqueous

Hi Pride,

Is it possible to attach a skillset to another skillset? I'd like to attach Jump to another skillset so I can give Dragoons worthwhile skills but keep their Jump ability. I've tried editing your code to change it from a support to a skillset lookup but I break the game!

Thanks in advance.

Choto

Aqueous, we will make this hack your first hack. It's very simple and even more so since pride provided the framework. However, I Probly won't be able to give you detailed instructions until this weekend. If you want you can probably figure it out though.

Prides hack checks if a unit has a certain support ability equipped (from 0x92 status set). All you need to do is check if the units equipped skillset = whatever you want it to attach to. Check unit data (801908cc in data locations) for which bytes are primary and secondary skillset (I think they're 0x12 and 0x13). So instead of loading 0x92,  we load 0x12. Then put the value of the skillset you want it to attach to in a register, then do a bne comparing the two.

you could even apply Prides hack and step through it to understand what's going on. Good luck

Also get used to breaking the game lol. Again step through your routine and see why your code fails, then fix it. Just a part of the business.

Aqueous

Yep, tried that and bricked the game. I'll try again :)

EDIT: Ok, it's not crashing the game anymore and I know why it was to begin with - something really silly - and the code wasn't correctly injected into Battle.BIN so Disassembly had a bunch of "illegal" in that section of the code.

However, now instead the hack just isn't working! What's weird though is that I can't seem to see this code even being referenced. I've set a breakpoint on the offset for the jump (0x1814F0), both read/write AND execute, and nothing ever triggers.

Weirdly though I've tried with the default hack...and the same thing. Tried it on a Vanilla ISO as well, hm...

Pride

That hack should work, its one I've made a long time ago and I made sure it was tested before posting it.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

Choto

well first things first, lets talk about breakpoints. An execute breakpoint will stop the game when that code is reached and about to be executed. Read/Write breakpoints occur when the unit loads or stores a value to that address.

Also be aware that if you reload a savestate, your hack will be overwritten. I don't suspect that's happening here, but just figure'd I'd state it.

if you can't figure it out, post a savestate and I'll check into it.

Aqueous

Quote from: Pride on March 25, 2015, 10:05:26 pm
That hack should work, its one I've made a long time ago and I made sure it was tested before posting it.


I know...other people have posted right here saying it's working great. I also looked at the routine where you've inserted the jump and you've stuck it right in where the Defend/Equip Change check is so...that should be working.

I would say I just screwed up installing it but I've checked the code in the Disassembly at the precise point where it should be and...it's there. I'm going to try sticking a breakpoint at the beginning of the routine where the jump is rather than on the jump itself.

Thanks for the info on breakpoints also, Choto, I was a little bit unsure. It seems I've been doing the correct thing by selecting Execute.

And in general just thank you for the help :)

Pride

When you tested my original, did you either: make sure you had the blank support ability equipped or tie the hack to another support ability? I just tested it and it works for me, tying it to magic attack up.


  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

Aqueous

Tied it to JP UP and equipped it. No Jump.

I must be doing something wrong, don't worry. If breakpoints can be trusted, and I wasn't doing something wrong with them, the issue I had was the main body of code not being executed at all. So somehow the jump(s) you added weren't being reached. I have no idea how or why at the moment but I'm going to try putting a break on the routine your jump was put in and take it from there.

Pride

You /have/ to applying it incorrectly, there's no other way for something else to be wrong (unless you're using a dirty iso). Did you change the bytes at x0015E634, x0015E63C, x0015E664, and x0015E66C?

Post the hack that you're applying through FFTorgASM.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

Aqueous

Here's the xml:

<?xml version="1.0" encoding="utf-8" ?>
<Patch name="JP UP gives Jump">
  <Description>JP UP gives access to skillset x34</Description>
   <Location file="BATTLE_BIN" offset="F762C">
     E8FFBD27
     1000BFAF
     90004392
     00000000
     40006330
     03006010
     21302002
     7E69060C
     34000534
     12004392
     1000BF8F
     1800BD27
     0800E003
     00000000
     92006590
     00000000
     0200A230
     04004010
     00000000
     34000234
     000002A2
     01001026
     FF000234
     000002A2
     0800E003
     00000000
   </Location>
   <Location file="BATTLE_BIN" offset="11A4F0">
     9979050C
     00000000
   </Location>
   <Location file="BATTLE_BIN" offset="13347C">
     8B79050C
   </Location>
  </Patch>

</Patches>

I've attached a screenie showing the code in the debugger, you can see it at the correct addresses in the RAM. I've attached a savestate too.

Sigh. Thank you.

Pride

92006590
00000000
0200A230

You didn't change x92 or x02. This is why Jump is not appearing for you.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

Aqueous

One second,

Do I need to change the 0x92 and 0x02 in both sections then? There's two instances and only one is highlighted in your original post so those were the ones I changed.

If so I hope that's the reason! Having said that I'm still not understanding breakpoints then because my breakpoints should still be triggering, right?

Edit: Awesome, thank you, that's sorted that. And I've got my version of the hack working now. That's only for secondary though so I need to add to the code to make it so it looks at primary as well? Or am I misunderstanding what "primary skill" is?

Anyway it's working! Thank you for the help, everyone :)

I'm still really confused about breakpoints though, even with 0x92 and 0x02 still in there that should've just meant the branch failed, right? Hence why I wasn't getting Jump. I still should've had the breakpoint trigger though....

Pride

Fair chance I was being lazy or forgetful in the original post.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

Choto


Pride

It happens too often then I look the next day and am like "Oh..."
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?

3lric

  • Modding version: PSX

The Damned

Hunh. I wasn't aware this even existed.

Pride, would it be possible to tie this functionality to a Movement instead of a Support? Or does it absolutely have to be a Support like how Jump still has to exist as a "dummy" skill set for this to draw from even if Jump is no longer the Lancer's primary?

Also, since the skill set is something isn't normally learn-able--if we having the Jump skill set be Izlude's original one--I have to ask if the Jump capacity just naturally maxes out to whatever the highest ability in set is, i.e. getting a Jump with range 8 and vertical 8 because that's naturally what's in Izlude's set.

Regardless, (belated) good job, as always.
"Sorrow cannot be abolished. It is meaningless to try." - FFX's Yunalesca

"Good and evil are relative, but being a dick cannot be allowed." - Oglaf's Thaumaturge in "The Abyss"

"Well, see, the real magic isn't believing in yourself. The real magic is manipulating people by telling them to believe in themselves. The more you believe, the less you check facts."  - Oglaf's Vanka in "Conviction"

Pride

No reason why it wouldn't, you'd just have to change four bytes to attach it to a movement rather then a support. And I don't have the slightest idea, I just used Izlude's jump as general purpose so you can use the player skillset.
  • Modding version: PSX
Check out my ASM thread. Who doesn't like hax?