Initialize Unit's Job Data

From Final Fantasy Hacktics Wiki
Revision as of 06:36, 15 October 2024 by Nyzer (talk | contribs) (→‎Return Locations: added several that were missed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Initialize Unit's Job Data
0005a8d4: 27bdffd8 addiu r29,r29,0xffd8
0005a8d8: afb20018 sw r18,0x0018(r29)
0005a8dc: 00809021 addu r18,r4,r0		r18 = Unit's Data Pointer
0005a8e0: afb3001c sw r19,0x001c(r29)
0005a8e4: 00a09821 addu r19,r5,r0		r19 = Unit's Party ID
0005a8e8: afbf0020 sw r31,0x0020(r29)
0005a8ec: afb10014 sw r17,0x0014(r29)
0005a8f0: afb00010 sw r16,0x0010(r29)
0005a8f4: 3c018006 lui r1,0x8006
0005a8f8: ac266200 sw r6,0x6200(r1)		Store ?
0005a8fc: 0c0166bc jal 0x00059af0		Get Party Data Pointer
0005a900: 02602021 addu r4,r19,r0		r4 = Unit's Party ID
0005a904: 00408821 addu r17,r2,r0		r17 = Unit's Party Data Pointer
0005a908: 12200021 beq r17,r0,0x0005a990	Branch if Pointer doesn't exist
0005a90c: 340200ff ori r2,r0,0x00ff		r2 = FF
0005a910: 92230001 lbu r3,0x0001(r17)		Load Unit's Party ID
0005a914: 00000000 nop
0005a918: 1062001d beq r3,r2,0x0005a990		Branch if Unit doesn't exist
0005a91c: 26240096 addiu r4,r17,0x0096		r4 = Pointer to Unit's Total Base Job JP
0005a920: 26300064 addiu r16,r17,0x0064		r16 = Pointer to Unit's  Base/Chemist Job Level
0005a924: 0c0177ce jal 0x0005df38		Initialize Unit's Job Levels
0005a928: 02002821 addu r5,r16,r0		r5 = Pointer to Unit's  Base/Chemist Job Level
0005a92c: 92250004 lbu r5,0x0004(r17)		Load Unit's Gender Byte
0005a930: 0c017705 jal 0x0005dc14		Calculate Unlocked Jobs
0005a934: 02002021 addu r4,r16,r0		r4 = Pointer to Unit's Base/Chemist Job Leve l
0005a938: 26240028 addiu r4,r17,0x0028		r4 = Pointer to Unit's Unlocked  Jobs
0005a93c: 0c0177b6 jal 0x0005ded8		Store 3-Byte Data
0005a940: 00402821 addu r5,r2,r0		r5 = Unlocked Jobs
0005a944: 0c0177eb jal 0x0005dfac		Initialize Some Unit Data
0005a948: 02402021 addu r4,r18,r0		r4 = Unit's Data Pointer
0005a94c: 02402021 addu r4,r18,r0		r4 = Unit's Data Pointer
0005a950: 02202821 addu r5,r17,r0		r5 = Unit's Party Data Pointer
0005a954: 0c016c34 jal 0x0005b0d0		Initialize Unit's Battle Data
0005a958: a2530002 sb r19,0x0002(r18)		Store Unit's Party ID
0005a95c: 0c016d77 jal 0x0005b5dc		Transfer Job's Data to Unit's Data
0005a960: 02402021 addu r4,r18,r0		r4 = Unit's Data Pointer
0005a964: 0c016de8 jal 0x0005b7a0		Enable Unit's R/S/M Flags
0005a968: 02402021 addu r4,r18,r0		r4 = Unit's Data Pointer
0005a96c: 02402021 addu r4,r18,r0		r4 = Unit's Data Pointer
0005a970: 0c016e20 jal 0x0005b880		Calculate Actual Stats
0005a974: 00002821 addu r5,r0,r0		r5 = 0 (Level UP)
0005a978: 0c01709f jal 0x0005c27c		Equippable Item Setting (Support/Female-only)
0005a97c: 02402021 addu r4,r18,r0		r4 = Unit's Data Pointer
0005a980: 0c016ac0 jal 0x0005ab00		Equipment/Move/Jump +X/Name Storing/Generation
0005a984: 02402021 addu r4,r18,r0		r4 = Unit's Data Pointer
0005a988: 08016a65 j 0x0005a994
0005a98c: 00001021 addu r2,r0,r0		r2 = 0 (success)
0005a990: 2402ffff addiu r2,r0,0xffff		r2 = FFFF (fail)
0005a994: 8fbf0020 lw r31,0x0020(r29)
0005a998: 8fb3001c lw r19,0x001c(r29)
0005a99c: 8fb20018 lw r18,0x0018(r29)
0005a9a0: 8fb10014 lw r17,0x0014(r29)
0005a9a4: 8fb00010 lw r16,0x0010(r29)
0005a9a8: 27bd0028 addiu r29,r29,0x0028
0005a9ac: 03e00008 jr r31
0005a9b0: 00000000 nop


Return Locations

0005b07c: Prep for Initializing Unit's Job Data
00087280: 00087254 - 00087654
001151e4: 00115198 - 0011545c
00121134: 001210e8 - 001212b4
00121518: 001212b8 - 00121564
001382e8: 00138268 - 001385a0
0017f35c: Initialize party members Job data, Sp cap, Status initialization
0017f468: Initialize units battlefield data
001c5900: 001c58d0 - 001c5dcc
001c5c10: 0x1c5be0 (ATTACK.OUT)