Initialize Unit's Job Data
Revision as of 06:36, 15 October 2024 by Nyzer (talk | contribs) (→Return Locations: added several that were missed)
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)