• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 29, 2024, 07:50:26 am

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!


RAD 3: 35 jobs.

Started by pokeytax, April 12, 2011, 08:42:20 pm

RavenOfRazgriz

Quote from: pokeytax on April 23, 2011, 01:41:54 pm
I should sorrowfully point out that splitting Bard for females, Dancer for males, and Mime for anybody is not currently recommended because the game hardcodes these like crazy in several other ways (e.g. male JP gain/spillover for Dancer slot is zeroed).


So you'd need a hack to enable Spillover JP... annoying, though I'm unsure how difficult.  Mime's JP related stuff isn't hardcoded, so I can't imagine any of its hardcoding carrying over to the RAD Job(s) based off it.

Quote from: pokeytax on April 23, 2011, 01:41:54 pm
Probably, but I'm not sure. I'm guessing it's a skillset 15 thing? You might actually be able to fiddle with the tables to just change the default Calculator skill set to "2F" or something and have it learn properly without messing with a new job.


I could possibly do that too, I've not tested much with it.

Quote from: pokeytax on April 23, 2011, 01:41:54 pm
Yes, this is a bit complicated. You can certainly create a RAD female-only Bard and RAD male-only Dancer with duplicate Sing and Dance skillsets but the JP/job level slot is troublesome. I'm not sure about the best and most compact way to do this yet.


I'd imagine you could just force the skillset to be the actual Sing/Dance.  The only problem honestly seems to be the Spillover JP and the fact they need to be next to each other for the Sprites to work.

Quote from: pokeytax on April 23, 2011, 01:41:54 pm
This lets you tell the game exactly which:
- UNIT.BIN sprites you want for the Formation and pre-battle screen (up to and including slicing Serpentarius into two usable sprites) (why the heck does Serpentarius have a UNIT.BIN sprite anyway?)
- WLDFACE.BIN portraits you want for the Formation and pre-battle screen (with the constraint that Male and Female portraits are directly adjacent)
- battle sprites you want (again, with the constraint that male and female sprites are directly adjacent)

The real pain is UNIT.BIN, which has AFAIK seven unused human sprites and two double-size unused monster sprites (Serpentarius and Archaic Demon). Enough for five male/female classes.


Well, there are characters like Gafgarion that use two Sprites.  If you hack up their Sprites that show up on Formation Screen, you get a lot more.  Still, good to know there's enough for 3-5 sets of human jobs before doing that though.

Quote from: pokeytax on April 23, 2011, 01:41:54 pm
This describes RAD prerequisites only. The in-game prereqs still work as you describe but that should be hackable.


Forcing everything to use RAD prerequisites seems like it'd be the easiest way to force Bard/Dancer to play more friendlylike with male/female branching jobs.

Quote from: pokeytax on April 23, 2011, 01:41:54 pm
Yeah, as with that hack it's a lot of raw capability that needs to be refined into usable form.


Yeah.  This one just seems a lot closer to be being at that point already.

pokeytax

April 24, 2011, 08:15:57 pm #21 Last Edit: April 24, 2011, 08:31:21 pm by pokeytax
Quote from: MagiusRerecros on April 17, 2011, 08:05:56 pmI can only assume that the problem is something along the lines of the list of secondary skillsets being too long for that particular menu


Yeah, it's overwriting a jump address in the temp memory. The limit for now seems to be 15 additional jobs on a character with all base jobs unlocked. I was going to find a way to bar certain primary skillsets from the secondary menu anyway, so this adds a bit more priority.

Quote from: RavenOfRazgriz on April 23, 2011, 09:43:11 pm
So you'd need a hack to enable Spillover JP... annoying, though I'm unsure how difficult.


That was one example... just that wouldn't be hard but there are a lot of annoying things. Just flipping through other code I've seen a lot of redundant hardcoding. I do realize people would like to see it though so I'll take some notes.

Mime's main issue is no learned abilities bytes, so the JP total doesn't tie to anything.

Quote
Well, there are characters like Gafgarion that use two Sprites.  If you hack up their Sprites that show up on Formation Screen, you get a lot more.  Still, good to know there's enough for 3-5 sets of human jobs before doing that though.


Unfortunately I think you're talking about Gaffy's battle sprites (.SPR); he has one slot in UNIT.BIN which is where we're tightest. Also, it turns out I can't slice things as well as I thought in the pre-battle screen, so we're back to 7 human sprites and 2 monster sprites. I guess if you can't have two more generic classes, you might as well have one more generic class with an awesome, monster-sized sprite.
  • Modding version: PSX

RavenOfRazgriz

Quote from: pokeytax on April 24, 2011, 08:15:57 pmThat was one example... just that wouldn't be hard but there are a lot of annoying things. Just flipping through other code I've seen a lot of redundant hardcoding. I do realize people would like to see it though so I'll take some notes.


Redundant hardcoding?  Squaresoft?  I think you're lying!

Good to hear.

Quote from: pokeytax on April 24, 2011, 08:15:57 pmMime's main issue is no learned abilities bytes, so the JP total doesn't tie to anything.


Oh.  I see.  That could be an issue.

Quote from: pokeytax on April 24, 2011, 08:15:57 pmUnfortunately I think you're talking about Gaffy's battle sprites (.SPR); he has one slot in UNIT.BIN which is where we're tightest. Also, it turns out I can't slice things as well as I thought in the pre-battle screen, so we're back to 7 human sprites and 2 monster sprites. I guess if you can't have two more generic classes, you might as well have one more generic class with an awesome, monster-sized sprite.


Haha, monster sized sprite.  Could be useful if you make one of the generic classes like a guy in a walker machine or something.

And I know he only has one entry in UNIT.BIN, but you only need that if he still joins as Guest.  You can disable this, use all of Guest Gafgarion's info as half of a new class, and keep his extra battle sprite for use everywhere if you need the room.

Though, 7 human sprites total is enough to "fix" Bard, Dancer, Mime, and have 3 sprites left over for something else once everything's panned out, potentially, so I can't say I'm upset by only having that much room.

pokeytax

April 25, 2011, 07:24:17 pm #23 Last Edit: April 25, 2011, 09:02:35 pm by pokeytax
Quote from: RavenOfRazgriz on April 24, 2011, 10:26:27 pm
Haha, monster sized sprite.  Could be useful if you make one of the generic classes like a guy in a walker machine or something.


Chung chung...
Chung chung...
Magitek Armor!!!!

Quote
And I know he only has one entry in UNIT.BIN, but you only need that if he still joins as Guest.  You can disable this, use all of Guest Gafgarion's info as half of a new class, and keep his extra battle sprite for use everywhere if you need the room.


Yeah, that's true, it's not like giving the player the ability to strip him bare before the Falls is an essential part of every patch.

Still rigging the spreadsheet but there should be some interesting side effects of the patch, like monster-size generic sprites. I guess I can live with fewer "formation outfits" and more "battle outfits".

On that note, I'll probably piggyback on the sprite work I did to rig a limited Special Character Job Sprite hack that works in battle (EDIT: well, that was easy! it's done and will be in the spreadsheet).  No real point to doing one in UNIT.BIN due to lack of space but the BATTLE.BIN slice is the easiest part anyway! Try to think of it as Ramza wearing his comfiest outfit outside of battle...
  • Modding version: PSX

Pickle Girl Fanboy

So could I implement my sub-class idea with RAD?  Wouldn't giving each unit it's own individual job tree require a lot more space?  What about keeping track of abilities learned?  AFAIK, the game only keeps track of Squire/Base Job through Mime.  What about requirements?  Could you force palette switches on sprites, so, if I change from a summoner to a sorcerer, my sprite stays the same but the palette changes?

MagiusRerecros

I tried using the spreadsheet to make my own job wheel, but I'm getting an error. Is it an error on my end, or yours?

Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

pokeytax

April 27, 2011, 09:06:08 pm #26 Last Edit: June 03, 2011, 11:29:33 pm by pokeytax
Okay this is grossly inadequate and the sprite selection is not up to snuff (i.e. is a little broken), but I'm releasing it and working that out later.

Of note:
- You can assign battle sprites for up to 4 special classes.
- There is a column that restricts classes to a single person (e.g. Ramza, Rafa, generic male).
- You can try reassigning the generic skillsets; using something else instead of Jump or Math Skill and changing the skillset in FFTPatcher too and crossing your fingers. Maybe it will work and skip the Generic Skillset Hack? You can also have Ninja and Samurai share JP and job level, while using the Ninja's JP and learnt ability slot for another set of classes. What a fun game it will be, testing things 90% likely to be broken!

Quote from: MagiusRerecros on April 27, 2011, 06:08:00 pm
I tried using the spreadsheet to make my own job wheel, but I'm getting an error. Is it an error on my end, or yours?


OpenOffice doesn't play well with the button. Just unhide the XML tab, copy-paste the entire contents into a text editor, and save as .xml.
  • Modding version: PSX

RavenOfRazgriz

Quote from: pokeytax on April 27, 2011, 09:06:08 pmYou can also have Ninja and Samurai share JP and job level, while using the Ninja's JP and learnt ability slot for another set of classes. What a fun game it will be, testing things 90% likely to be broken!


This is far more useful than you realize, and can be utilized as a large part of using RAD as a workaround to "fix" Bard/Dancer/Mime/etc.  I should plan out how to do this more in-depth, honestly, since this probably fixes a lot of the problems making a proper set of workarounds would've had to begin with.

I hadn't thought of such a simple idea myself, nice one.

pokeytax

Quote from: Pickle Girl Fanboy on April 27, 2011, 01:03:05 pm
So could I implement my sub-class idea with RAD?  Wouldn't giving each unit it's own individual job tree require a lot more space?  What about keeping track of abilities learned?  AFAIK, the game only keeps track of Squire/Base Job through Mime.  What about requirements?  Could you force palette switches on sprites, so, if I change from a summoner to a sorcerer, my sprite stays the same but the palette changes?


Short answer no, long answer sorta.

I'm going to extend ALMA's functionality a bit and clean up this hack. That will help some.

Possibly when/if RAD enables advanced class restrictions, you could have "key" abilities that open up some classes and close others, but there's little point because FFT doesn't have the job space for something so involved. You should start thinking about what you can do in ALMA and ARH.

Quote from: RavenOfRazgriz on April 27, 2011, 09:59:52 pm
This is far more useful than you realize


Well, someone should probably check that it actually works first!
  • Modding version: PSX

RandMuadDib

Okay so question. I haven't actually fiddled with the spreadsheet yet, but you mentioned earlier that you could do a disgaea like job tier system. Is there a way to have a second tier job completely replace the old job? Say that second tier squire requires level three knight. Once level three knight is achieved, will the second tier squire replace the first tier, or will they then both show up in the job wheel/ learn menu?
I will show you the power of SARDIIIIINES!!!!

MagiusRerecros

They'd both still be there. I imagine it would be rather difficult to force the game to re-write a character's job wheel after meeting certain prerequisites rather than simply expanding it. Assuming the job wheel works like how I think it does, which it very well might not, I believe it would also be pretty difficult to keep those changes isolated to specific characters, rather than, say, a single character achieving knight 3, and then squire 1 is overwritten by squire 2 for all characters.
Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

pokeytax

May 10, 2011, 10:21:22 pm #31 Last Edit: May 10, 2011, 10:22:27 pm by pokeytax
Quote from: RandMuadDib on May 10, 2011, 06:45:44 pm
Is there a way to have a second tier job completely replace the old job? Say that second tier squire requires level three knight. Once level three knight is achieved, will the second tier squire replace the first tier, or will they then both show up in the job wheel/ learn menu?


The code is currently a job wheel expansion, not a job wheel remodel, so getting rid of the existing Squire is tricky. You could possibly finagle something with a future version of the hack where current Priest is replaced by a RAD duplicate of Priest, which disappears when you hit job level 4 and is replaced by White Wizard. I just didn't think of it because it's inimical to my design philosophy, but I can see why you would want it.
  • Modding version: PSX

RavenOfRazgriz

Quote from: pokeytax on May 10, 2011, 10:21:22 pm
The code is currently a job wheel expansion, not a job wheel remodel, so getting rid of the existing Squire is tricky. You could possibly finagle something with a future version of the hack where current Priest is replaced by a RAD duplicate of Priest, which disappears when you hit job level 4 and is replaced by White Wizard. I just didn't think of it because it's inimical to my design philosophy, but I can see why you would want it.


Definitely try to get this kind of functionality going, imo.

It's not something I personally need, but I can definitely see the value of it.  Hell, I know there used to be an FF1 mod of FFT floating around here somewhere, even.

Vanya

Yeah. That was me. I could definitely see the usefulness of such functionality.
  • Modding version: Other/Unknown
¯\(°_0)/¯

Shade

Can't you basicly give monsters also diffrent jobs?
Upupupu...

Zetsubou

pokeytax

Yes, monster jobs should be doable (in a separate but related hack). But we already have a monster jobwheel, breeding, so it's not red alert priority.

An evolution tree for twelve different chocobo colors would be fun I have to admit.
  • Modding version: PSX

pokeytax

This is a half-update which should resolve most sprite issues. It took this long because I hate sprite issues a lot.

I am thinking about how to proceed. Doing plenty of cool stuff with the player job wheel (e.g. story progression, shuffling basic jobs) isn't hard, but now that this is actually usable and not just a neat gimmick, the battle status screen has to be addressed somehow, and something has to be done for the AI, which presently builds units as though RAD classes do not exist. Obviously you can hardcode enemies to be whatever you want but most patches will want a functional random generation system, I think. Ideas and feature requests welcome.
  • Modding version: PSX

MagiusRerecros

The working random generation system definitely sounds like something most people would want to use in conjunction with the expanded job wheel, since hardcoding is kind of a pain.

I haven't seen anything mentioned about it for a while, but have you made the option to choose which original job the "new" jobs share jp with fully functional yet? Last I heard, you had assigned (by default) Astrologer to Chemist, Princess to Priest, and Dark Knight to Thief, while everything else shared with Squire.
Move Zig. For great Justice.

Also, Algus sucks up to level 5 donkey balls.

pokeytax

Quote from: MagiusRerecros on June 04, 2011, 12:18:47 am
I haven't seen anything mentioned about it for a while, but have you made the option to choose which original job the "new" jobs share jp with fully functional yet?


Use the "Shares With" column (column Y).
  • Modding version: PSX

Pickle Girl Fanboy

Instead of different colors of chocobo, you could go with different roles, and include monster gender.  Like, the starting class could be foal, and then the male and female are (someone who knows about horses correct me) mustang and... female?  Anyways, the different mounts play different roles in battle.  Again, someone who knows about different kinds of horse breeds, please share.  Warhorse.

Completely random, and unrelated to hacking.