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

One Extra Job Hack (OEJ)

Started by xjamxx, April 17, 2019, 10:48:46 am

xjamxx

April 17, 2019, 10:48:46 am Last Edit: May 08, 2019, 09:24:03 am by xjamxx
"if all you have is a hammer, everything looks like a nail"

Only one drawback:
The new job will be placed after bard/dancer and before mime (it can be worked but it requires more code to move it).

How to use it:
1. All parameters (or labels) are in the first location (eqvs are not global):

    <Description>Extend jobs from 19 to 20. Based on RAD3. Made by xjamxx. No variables, so edit through xml only. Edit these labels (cuz they go across all locations):
oej_id OEJ job ID (should be less than 0x8F).
oej_ss OEJ skillset. The one that the job ID has. id(0x34)=ss(0x21) unless chagned via hacks.
oej_ma_unit OEJ formation sprite for male. Shishi value -1?
oej_ma_unit_p1 OEJ formation sprite for male. Shishi value?
oej_fe_unit OEJ formation sprite for female. Shishi value -1?
oej_fe_unit_p1 OEJ formation sprite for female. Shishi value?
oej_ma_face OEJ formation portrait for male. Shishi value -1?
oej_fe_face OEJ formation portrait for female. Shishi value -1?
oej_m_ss OEJ spritesheet for male. Shishi value?
oej_f_ss OEJ spritesheet for female. Shishi value?</Description>
    <Location file="SCUS_942_21" offset="5DC14" mode="ASM" offsetMode="RAM">
    .label  @oej_id, 0x43
    .label  @oej_ss, 0x73
    .label  @oej_ma_unit, 0x08
    .label  @oej_ma_unit_p1, 0x09
    .label  @oej_fe_unit, 0x09
    .label  @oej_fe_unit_p1, 0x0A
    .label  @oej_ma_face, 0x08
    .label  @oej_fe_face, 0x09
    .label  @oej_m_ss, 0x3C
    .label  @oej_f_ss, 0x3E

2. For job requirements use the second location, and edit:

    <Location file="SCUS_942_21" offset="5dce8" offsetMode="RAM">
       50000000 <!--Jobs levels requirement for OEJ -->
       00000000 <!--From Squire to Mime every one hexa digits-->
       0000 <!--Example 5000 0000 0000 0000 0000 = Squire level 5-->
    </Location>


Whatever:
1. It would be nice if others test it, but i doubt it.
2. Use it as you like.
3. Thanks pokeytax (though i never spoke to you, i know u are still there).
4. If some1 needs help on how to use it, ask it here.
5. This is my last week here, i won't be back for a long time (could be months, could be years).



Final Update:
-Cleaned a bit more the code, removed that battle.bin inner jump call and skip (had to rewrite the entire routine), free more space so any can add more jobs req (there is an example in a second patch). Fixed some undetected load delays, added a require.out location just in case. (more details in https://github.com/xjamxx/FFTPatcher)

Since people won't READ and keep downloading outdated xml files, and i made some important fixes to my patches (though i uploaded them some days ago in github), i will replace the xml files here too...

As far as i know MJW.xml, OEJ.xml and PRE.xml are complete and without any issues (they work on all emus and they should work on psx hardware).
  • Modding version: PSX
<Random> This seems to be a PSX issue.
<Elric> A psx issue? That makes no sense. Sounds more like an issue with your OS.

3lric

We already have this hack well into development o_O
  • Modding version: PSX

xjamxx

  • Modding version: PSX
<Random> This seems to be a PSX issue.
<Elric> A psx issue? That makes no sense. Sounds more like an issue with your OS.

3lric

So this is tied to chemist job requirements?
  • Modding version: PSX

Xifanie

I think he's assuming that people will want chemist to be a job unlocked from the start like in vanilla. Personally I would've just made a xml ASM patch for this. Or at least that fits his personal purpose.
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

Valkirst

The way I'm reading it, it seems like he saying that he has it so, that there is an extra empty job available through a chemist requirement that works like all the others with a female/male set. I may be completely wrong about that though! 😅
  • Modding version: PSX
Completed Sprites
  • Discord username: Valkirst

3lric

Ill probably just wait for choto to finish the TLW version, its completely customizable
  • Modding version: PSX

xjamxx

April 18, 2019, 08:30:36 am #7 Last Edit: April 18, 2019, 09:52:16 am by xjamxx
Quote from: Xifanie on April 18, 2019, 02:28:00 am
I think he's assuming that people will want chemist to be a job unlocked from the start like in vanilla. Personally I would've just made a xml ASM patch for this. Or at least that fits his personal purpose.

Yes. I was tired yesterday and rushed it to finish.

If you check in scus unlocked jobs (modded):

      lui t2,0x0040 #Current Unlock Check = 0x400000.
      lui t3,0x00c0 #Jobs Unlocked = 0xC00000 (start squire and chemist).
      addiu t6,zero,0x0000 #Counter = 0.

Inside the loop, i just added these:
To fix the female unlock for dancer so it goes to bard slot in the unlocked bytes

UJS2: ori v0,zero,0x0010
      bne v0,t6,UJS3
      andi v0,a1,0x0040
      beq v0,zero,UJS4 #Branch if Unit is not Female.
      lui a0,0x00ff
      sll t2,t2,0x01
      ori v0,a0,0xff80
      and t3,t3,v0
      bne t1,zero,UJLP
      or a1,zero,zero
      j UJLP
      or t3,t3,t2

And with only 5 lines of code (i haven't use a single code cave for the entire patch, only used the space i free myself) i set the requirements for the new job, cuz chemist will be always unlocked

UJS4: beq t5,t8,UJS3
      addiu t5,t8,0x00aa
      sll t2,t2,0x01
      j UJLP
      or t5,t8,zero


If needed i can rewrite so it work like vanilla (chemist check chemist....), and  set a zero for the new job and add a nop for custom jump to an special routine (which i won't make).

Give it a try

UPDATE:  i just rearrange the code and added its own job level requirement. Chemist is like vanilla it reads its own req.
  • Modding version: PSX
<Random> This seems to be a PSX issue.
<Elric> A psx issue? That makes no sense. Sounds more like an issue with your OS.

Timbo

This is pretty cool. Did you include Spillover JP and is it compatible with RAD?
  • Modding version: PSX
  • Discord username: Timbo

Bonesy

Wasn't RAD the one I've seen a few people around here dissuade people from using or was that a different thing?
  • Modding version: Other/Unknown
  • Discord username: Bonesy#9386

3lric

RAD has a bunch of bugs and also has load delay. Its not recommended for use generally.
  • Modding version: PSX

Timbo

Quote from: Elric on April 25, 2019, 07:25:14 pm
RAD has a bunch of bugs and also has load delay. Its not recommended for use generally.

I've been gone awhile, I thought Aqueous cleaned it up. Either way, this is more of a curiosity than anything I'm considering using.
  • Modding version: PSX
  • Discord username: Timbo

3lric

I remember him working on it a bit. But i cannot confirm that its 100% now. Im aware that im standards are incredibly high, and it may be fine to use. But until its shown to be 100% without load delay or buggy, i wouldnt recommend it without a buttload of testing for whatevee patch its used on (refering to RAD)
  • Modding version: PSX

darkskyx

April 09, 2022, 12:37:47 pm #13 Last Edit: September 02, 2023, 10:18:58 pm by darkskyx
I've tried to make this work for PSX, but it doesn't work for me. I am misunderstading something? I am doing something wrong?
Should I edit something or just applying the ASM it should be fine? Because I don't find any new unit to edit in my FFTPatcher.

I guess this doesn't work in PSP but it will be amazing as 1 more job would fix my issues for my PSP hackmod.

Edit: Well, this was a message from 2022 and now in 2023 I know it is included in the FTTPatcher files as an ASM tool. For PSP it looks hard to add code.
  • Modding version: WotL

✪ Emergence 2 for PSP (EN/ES) - Play it now! ✪
A vanilla+ experience for PSP. Actual patch: 1.0+. More fixes in v1.1!
  • Discord username: darkskyx#9825

Nyzer

The OP of this topic left the community years ago.

They'd admitted in previous topics that they don't test their own work, so it wouldn't surprise me too much if it just isn't functional.

That said, I really don't know what you're talking about with "new unit to edit in FFTP". It doesn't add a job to the list, it just points at an existing one, and FFTP doesn't pull names from the ISO even if one had been included (which I'm sure it didn't; it would have depended on the user to make a Tactext edit).

There's no way it would work in the PSP version even if it was fixed to work there because it makes use of existing unused data - i.e. female Bard and male Dancer - which is something the PSP version (almost) certainly does as well.

And finally, this hack in a proven functional version does exist; it's part of TLW...
  • Modding version: Other/Unknown