Difference between revisions of "Set Jobs unlocked by others"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
 
(One intermediate revision by the same user not shown)
Line 14: Line 14:
 
  001224b4: 3c10801d lui r16,0x801d
 
  001224b4: 3c10801d lui r16,0x801d
 
  001224b8: 2610d5ec addiu r16,r16,0xd5ec 801cd5ec - pointer to formation screen data
 
  001224b8: 2610d5ec addiu r16,r16,0xd5ec 801cd5ec - pointer to formation screen data
  001224bc: 8e020000 lw r2,0x0000(r16) load data
+
  001224bc: 8e020000 lw r2,0x0000(r16) load data of currently considered unit
 
  001224c0: 00000000 nop
 
  001224c0: 00000000 nop
 
  001224c4: 84440024 lh r4,0x0024(r2) load current job
 
  001224c4: 84440024 lh r4,0x0024(r2) load current job
Line 24: Line 24:
 
  001224dc: 0c04ac74 jal 0x0012b1d0 store pointer and bit counter
 
  001224dc: 0c04ac74 jal 0x0012b1d0 store pointer and bit counter
 
  001224e0: 24840077 addiu r4,r4,0x0077 r4 = unlocked jobs address
 
  001224e0: 24840077 addiu r4,r4,0x0077 r4 = unlocked jobs address
  001224e4: 0c04acd5 jal 0x0012b354 check jobs 1-10
+
  001224e4: 0c04acd5 jal 0x0012b354 check all jobs up to job to actually check
 
  001224e8: 2644ffb6 addiu r4,r18,0xffb6 job - 4a
 
  001224e8: 2644ffb6 addiu r4,r18,0xffb6 job - 4a
  001224ec: 0c04acd5 jal 0x0012b354 check job ?
+
  001224ec: 0c04acd5 jal 0x0012b354 check job considered job (r18)
 
  001224f0: 34040001 ori r4,r0,0x0001
 
  001224f0: 34040001 ori r4,r0,0x0001
 
  001224f4: 14400008 bne r2,r0,0x00122518 if job  found go to end?
 
  001224f4: 14400008 bne r2,r0,0x00122518 if job  found go to end?

Latest revision as of 18:31, 17 March 2019

Set Jobs unlocked by others Set Jobs unlocked by others

00122488: 3c02801d lui r2,0x801d
0012248c: 9042d788 lbu r2,-0x2878(r2)			load number of party members
00122490: 27bdffd8 addiu r29,r29,0xffd8
00122494: afb1001c sw r17,0x001c(r29)
00122498: 00008821 addu r17,r0,r0
0012249c: afbf0024 sw r31,0x0024(r29)
001224a0: afb20020 sw r18,0x0020(r29)
001224a4: 1840001b blez r2,0x00122514			branch if no party members found
001224a8: afb00018 sw r16,0x0018(r29)
001224ac: 00041400 sll r2,r4,0x10			
001224b0: 00029403 sra r18,r2,0x10				r18 = job
001224b4: 3c10801d lui r16,0x801d
001224b8: 2610d5ec addiu r16,r16,0xd5ec			801cd5ec - pointer to formation screen data
001224bc: 8e020000 lw r2,0x0000(r16)			load data of currently considered unit
001224c0: 00000000 nop
001224c4: 84440024 lh r4,0x0024(r2)				load current job
001224c8: 0c0482e4 jal 0x00120b90				special monster check
001224cc: 00000000 nop
001224d0: 1440000a bne r2,r0,0x001224fc			branch if special monster
001224d4: 26310001 addiu r17,r17,0x0001			
001224d8: 8e040000 lw r4,0x0000(r16)			
001224dc: 0c04ac74 jal 0x0012b1d0				store pointer and bit counter
001224e0: 24840077 addiu r4,r4,0x0077			r4 = unlocked jobs address
001224e4: 0c04acd5 jal 0x0012b354				check all jobs up to job to actually check
001224e8: 2644ffb6 addiu r4,r18,0xffb6			job - 4a
001224ec: 0c04acd5 jal 0x0012b354				check job considered job (r18)
001224f0: 34040001 ori r4,r0,0x0001
001224f4: 14400008 bne r2,r0,0x00122518			if job  found go to end?
001224f8: 00001021 addu r2,r0,r0
001224fc: 3c02801d lui r2,0x801d
00122500: 9042d788 lbu r2,-0x2878(r2)			load counter
00122504: 00000000 nop
00122508: 0222102a slt r2,r17,r2				set if < number of units
0012250c: 1440ffeb bne r2,r0,0x001224bc
00122510: 26100004 addiu r16,r16,0x0004
00122514: 34020001 ori r2,r0,0x0001
00122518: 8fbf0024 lw r31,0x0024(r29)
0012251c: 8fb20020 lw r18,0x0020(r29)
00122520: 8fb1001c lw r17,0x001c(r29)
00122524: 8fb00018 lw r16,0x0018(r29)
00122528: 27bd0028 addiu r29,r29,0x0028
0012252c: 03e00008 jr r31
00122530: 00000000 nop