• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
June 15, 2025, 03:20:04 pm

News:

Don't be hasty to start your own mod; all our FFT modding projects are greatly understaffed! Find out how you can help in the Recruitment section or our Discord!


Request: Job Wheel Modifier for FFTPatcher

Started by kaewt, March 06, 2011, 12:28:08 pm

kaewt

Quote from: Kupoe on September 30, 2009, 10:13:30 pm
I know you can alter jobwheels via GS. but is it possible to do it via FFTPatcher?

801C83F0 00??       [16] Number of jobs 
801C83F8 00??       [16] Job #1 modifier 
801C83FA 00??       [16] Job #2 modifier
801C83FC 00??       [16] Job #3 modifier
all the way up to...
801C844E 00??       [16] Job #44 modifier

with ?? being the byte for the job.
(Czar dragon did these codes, not me)

like you would think that, if a GS code exists for it, you can do a hardcode?


i too think this will be an awesome addition to the patcher
i myself don't know any hack or coding if i do i would've done it already

DrBreen

March 06, 2011, 01:13:33 pm #1 Last Edit: March 06, 2011, 01:24:48 pm by DrBreen
I do believe it's impossible.
Or...
I just realized-for example,for number of jobs:
Changes two bytes at 0x1C83F0.
So,for location at some file we need to substract 0x67000.
So,we just need to find where exactly we need to change this bytes?
BATTLE.BIN,or what?

Ok,with BATTLE.BIN it failed,because BATTLE.BIN ends at around 15514E  :cry:
So,the problem is to find the files with the 00 4B(This stands for Chemist) at 0x1C83FA(this stands for Job #2).

pokeytax

March 06, 2011, 01:35:18 pm #2 Last Edit: March 06, 2011, 01:36:33 pm by pokeytax
The reason these haven't been explored yet is that they aren't as useful as you might think. Just tacking a slot onto the job wheel is a small part of what you need for a full-fledged job.

There's no easy place to put the generic sprites.
There's no easy place to put learned abilities or let the player manage skillsets.
There's no easy way to implement requirements for these jobs - they default to always open.
There's no easy way to make these jobs grant JP or anything that would make a player use them.

I have been thinking off and on about how to implement these in a meaningful way, but unfortunately it's not quite as simple as tweaking a few bytes.

I think the file you're looking for is WORLD.BIN, subtracting 0xE0000 - but you'll need to change the code, as I assume these addresses are written to.
  • Modding version: PSX

pokeytax

March 26, 2011, 11:27:24 pm #3 Last Edit: April 07, 2011, 07:36:51 pm by pokeytax
If anyone wants to fiddle with a glitchy job wheel expansion code, here is a first draft [EDIT: latest version below]. It's certainly not usable in a real patch but it's a baby step.

Notes:
- the big table at the top is the data; each entry is 12 bytes, ten bytes of job level unlock requirements, one unused byte I am figuring out what to do with, and the job's number
- e.g. "20 00 00 00 00 00 00 00 00 00 01 15", my test value, is Astrologist requiring Level 2 Squire
- something is glitching out with my code to gray out current job so the jobs are sometimes unselectable
- works much better than I expected; jobs appear in the Learn menu and their skillsets are equippable secondaries! of course there are assorted bugs ("Equip Change" shows up as an equippable secondary in place of "Starry Heaven" when you are an Astrologist, jobs past the third bonus won't display right until you refresh the wheel, none of it is in the battle status screen)
- changing generic units will give you a parade of sprite glitches for now; so will changing unique units, but with generics, you're just asking for it
- these skillsets, at least out of battle, share JP and learned/unlearned with Squire
  • Modding version: PSX

Tigerspike

Wow!  Nice work so far pokeytax!  If you ever get this to be non-glitchy it will be an awesome hack.
Oh come now. That doesn't even make sense. How can flimsy paper possibly beat the raw density of stone?

Celdia

I saw this and was trying to make some sense of it, not to add more jobs but just to re-order the jobs in my own patch (I would love for my base classes to not be at the bottom of the job list) but I can't make heads or tails of what to do with the data you assembled, pokeytax. Are you just using this to edit RAM?
  • Modding version: PSX
  • Discord username: Celdia#0

pokeytax

Not that robust yet. It just tacks on jobs to the list stored in RAM. I will keep that functionality in mind for when I try working the glitches out in the future.
  • Modding version: PSX

Celdia

Okay. Maybe if I'm feeling adventurous I'll go mess around with some of that later. I tend to avoid most edits that don't involve just modifying the ISO because almost every time I try to mess with the RAM I just end up crashing something.
  • Modding version: PSX
  • Discord username: Celdia#0

pokeytax

Quote from: Celdia on April 02, 2011, 08:49:46 am
Okay. Maybe if I'm feeling adventurous I'll go mess around with some of that later. I tend to avoid most edits that don't involve just modifying the ISO because almost every time I try to mess with the RAM I just end up crashing something.


Well, it is an ISO edit: it's ASM that adds code which extends the job wheel. So it should be stable, just glitchy.
  • Modding version: PSX

pokeytax

April 04, 2011, 08:01:58 pm #9 Last Edit: April 10, 2011, 03:09:58 pm by pokeytax
Here is a mini-update that fixes the display issue with jobs past the third bonus job (and the mastery display issue, which was connected).

I am going to keep nibbling at this, I cannot live without a 2:1 ratio of gimmick:reasonable jobs. Theoretically, it should be possible to use each job's three bytes of ability storage to store eight action abilities and three RSM for two different jobs... but that's step five or so and we're on step one-third. As long as you stick to non-generics, I don't see any major obstacles to getting jobs with auto-learn skillsets running, though, and you can rig up some ARH or something to add a little complexity.

EDIT: Fixed the formation menu bugs with skillset choice and prereqs not working. This is actually pretty functional for non-generics, if you don't mind the extra jobs not appearing in the battle status screen. I will probably just include a line of code disabling it for generics. Next is probably fiddling with JP/learned abilities so these don't all use the base class.
  • Modding version: PSX

pokeytax

April 10, 2011, 03:09:42 pm #10 Last Edit: April 12, 2011, 06:49:26 pm by pokeytax
Okay, you can now decide which JP total you want a job to read from. This .xml, for instance, tells "Astrologist" to pool JP and learned abilities and job level with "Chemist".

Note that as long as there's no overlap between the Action Ability and R/S/M slots used by Chemist and Astrologist;

for example, if Chemist uses slots A1 - A7 and RSM1 - RSM4, and Astrologist is given slots A8 - A16 and RSM5 - RSM6;

this effectively gives new jobs their own space to learn and remember abilities.

The only constraint is that JP has to be pooled with an existing job and job level is thus linked, and you have to scale down the number of abilities per job. Also it's probably going to screw up poor Olan by merging his base class and Chemist JP.

Still to do:
- Figure out why this is glitchy when the unit changes to the new class.
- Figure out how to make nonstandard skillsets query their new bytes correctly in battle
- Figure out how to make JP flow to the new shared JP pool instead of Squire/base class or whatever
- Make sure Mastered! jobs aren't going to break all this (mastery may have to be disabled since it's cosmetic anyway)
- Figure out how to fix all the horrible sprite glitches that result from generic units using nongeneric classes (this will not be any kind of picnic as I don't understand sprites)

When I have what I feel is a solid hack that functions in most of the ways I want it to, I will post it in a new thread, so you don't need to download this one unless you want to fiddle with an alpha version.
  • Modding version: PSX

Cheetah

Current Projects:

DrBreen

Wow!
Already two of five issues was solved!
Pokeytax,if you'll manage(and i'm sure you will) to complete this hack,all of the patches will be upgraded to new level,seriously.