Skillset Loading

From Final Fantasy Hacktics Wiki
Revision as of 00:51, 6 September 2014 by Choto (talk | contribs)
Jump to navigation Jump to search
Runs when "act" is selected
Skillset Loading?
r6 = action menu byte
00181584: 27bdfe90 addiu r29,r29,0xfe90
00181588: afb00160 sw r16,0x0160(r29)
0018158c: 00808021 addu r16,r4,r0				unit ID
00181590: 001010c0 sll r2,r16,0x03
00181594: 00501023 subu r2,r2,r16
00181598: 00021180 sll r2,r2,0x06
0018159c: afbf016c sw r31,0x016c(r29)
001815a0: afb20168 sw r18,0x0168(r29)
001815a4: afb10164 sw r17,0x0164(r29)
001815a8: 3c018019 lui r1,0x8019
001815ac: 00220821 addu r1,r1,r2
001815b0: 90220926 lbu r2,0x0926(r1)			load current status 3
001815b4: 00000000 nop
001815b8: 30420002 andi r2,r2,0x0002
001815bc: 10400009 beq r2,r0,0x 001815e4			branch if not frog
001815c0: 30c300ff andi r3,r6,0x00ff			r3 = action menu byte
001815c4: 10600007 beq r3,r0,0x 001815e4			branch if default
001815c8: 34020006 ori r2,r0,0x0006
001815cc: 10620005 beq r3,r2,0x 001815e4			branch if monster
001815d0: 34020008 ori r2,r0,0x0008
001815d4: 10620003 beq r3,r2,0x 001815e4			branch if attack
001815d8: 34020005 ori r2,r0,0x0005
001815dc: 14620049 bne r3,r2,0x 00181704			branch if not blank
001815e0: 00001021 addu r2,r0,r0
001815e4: 2c62000b sltiu r2,r3,0x000b			set if action menu is < defend, equip change		
001815e8: 10400044 beq r2,r0,0x 001816fc
001815ec: 00031080 sll r2,r3,0x02
001815f0: 3c018017 lui r1,0x8017
001815f4: 00220821 addu r1,r1,r2
001815f8: 8c224144 lw r2,0x4144(r1)				
001815fc: 00000000 nop
00181600: 00400008 jr r2
00181604: 00000000 nop

					00174144: 80181608 lb r24,0x1608(r0)	default
					00174148: 80181640 lb r24,0x1640(r0)	item
					0017414c: 80181658 lb r24,0x1658(r0)	weapon inv.
					00174150: 80181670 lb r24,0x1670(r0)	math skill
					00174154: 801816b8 lb r24,0x16b8(r0)	Elemental
					00174158: 801816fc lb r24,0x16fc(r0)	blank
					0017415c: 801816fc lb r24,0x16fc(r0)	monster
					00174160: 801816cc lb r24,0x16cc(r0)	katana inv.
					00174164: 801816fc lb r24,0x16fc(r0)	attack
					00174168: 801816fc lb r24,0x16fc(r0)	jump
					0017416c: 801816e4 lb r24,0x16e4(r0)	charge
					defend and equip change hardcoded in routine
Default
00181608: 02002021 addu r4,r16,r0				unit ID
0018160c: 30a500ff andi r5,r5,0x00ff			r5 = skillset
00181610: 27a60078 addiu r6,r29,0x0078
00181614: 27a20118 addiu r2,r29,0x0118
00181618: afa20010 sw r2,0x0010(r29)
0018161c: 27a20130 addiu r2,r29,0x0130
00181620: afa2 0018 sw r2,0x 0018(r29)
00181624: 27a20148 addiu r2,r29,0x0148
00181628: 27a70100 addiu r7,r29,0x0100
0018162c: afa00014 sw r0,0x0014(r29)
00181630: 0c0605f0 jal 0x 001817c0				Skillset Loading
00181634: afa2001c sw r2,0x001c(r29)
00181638: 080605c1 j 0x 00181704
0018163c: 00000000 nop
Item
00181640: 02002021 addu r4,r16,r0
00181644: 30a500ff andi r5,r5,0x00ff
00181648: 0c0606e5 jal 0x 00181b94
0018164c: 27a60020 addiu r6,r29,0x0020
00181650: 080605c1 j 0x 00181704
00181654: 00000000 nop
Weapon Inventory
00181658: 02002021 addu r4,r16,r0
0018165c: 30a500ff andi r5,r5,0x00ff
00181660: 0c060737 jal 0x 00181cdc				find number of throwable items
00181664: 27a60020 addiu r6,r29,0x0020
00181668: 080605c1 j 0x 00181704					jump to end
0018166c: 00000000 nop							r2 = number of throwable items + 0x100
Math Skill
00181670: 02002021 addu r4,r16,r0
00181674: 30b200ff andi r18,r5,0x00ff
00181678: 02402821 addu r5,r18,r0
0018167c: 27b10078 addiu r17,r29,0x0078
00181680: 0c0607bc jal 0x 00181ef0
00181684: 02203021 addu r6,r17,r0
00181688: 1040001e beq r2,r0,0x 00181704
0018168c: 02002021 addu r4,r16,r0
00181690: 02402821 addu r5,r18,r0
00181694: 0c0607c5 jal 0x 00181f14
00181698: 02203021 addu r6,r17,r0
0018169c: 10400019 beq r2,r0,0x 00181704
001816a0: 02002021 addu r4,r16,r0
001816a4: 02402821 addu r5,r18,r0
001816a8: 0c06081a jal 0x 00182068
001816ac: 02203021 addu r6,r17,r0
001816b0: 080605c1 j 0x 00181704
001816b4: 00000000 nop
Elemental
001816b8: 02002021 addu r4,r16,r0
001816bc: 0c060873 jal 0x 001821cc
001816c0: 30a500ff andi r5,r5,0x00ff
001816c4: 080605c1 j 0x 00181704
001816c8: 3042ffff andi r2,r2,0xffff
001816cc: 02002021 addu r4,r16,r0
001816d0: 30a500ff andi r5,r5,0x00ff
001816d4: 0c0609a2 jal 0x 00182688
001816d8: 27a60020 addiu r6,r29,0x0020
001816dc: 080605c1 j 0x 00181704
001816e0: 00000000 nop
001816e4: 02002021 addu r4,r16,r0
001816e8: 30a500ff andi r5,r5,0x00ff
001816ec: 0c0609e2 jal 0x 00182788
001816f0: 27a60078 addiu r6,r29,0x0078
001816f4: 080605c1 j 0x 00181704
001816f8: 00000000 nop
Defend, Equip change, blank, monster, attack, jump
001816fc: 30c200ff andi r2,r6,0x00ff
00181700: 2c42000f sltiu r2,r2,0x000f
00181704: 8fbf016c lw r31,0x016c(r29)
00181708: 8fb20168 lw r18,0x0168(r29)
0018170c: 8fb10164 lw r17,0x0164(r29)
00181710: 8fb00160 lw r16,0x0160(r29)
00181714: 27bd0170 addiu r29,r29,0x0170
00181718: 03e00008 jr r31
0018171c: 00000000 nop