Post battle equipment/??? storing

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
[0x001c4740] addiu r29,r29,-0x0030
[0x001c4744] sw r20,0x0028(r29)
[0x001c4748] addu r20,r0,r0
[0x001c474c] sw r18,0x0020(r29)
[0x001c4750] addu r18,r0,r0
[0x001c4754] sw r19,0x0024(r29)
[0x001c4758] ori r19,r0,0x00ff
[0x001c475c] sw r31,0x002c(r29)
[0x001c4760] sw r17,0x001c(r29)
[0x001c4764] sw r16,0x0018(r29)
[0x001c4768] lui r1,0x801d
[0x001c476c] sw r0,0x0b34(r1)
[0x001c4770] jal 0x00059af0                   Get Party Data Pointer
[0x001c4774] addu r4,r18,r0
[0x001c4778] lbu r2,0x0001(r2)                
[0x001c477c] nop
[0x001c4780] beq r2,r19,0x001c48d8            Branch if party can't exist    
[0x001c4784] addu r17,r0,r0
[0x001c4788] jal 0x00180afc                   Get Unit's Data Pointer
[0x001c478c] addu r4,r17,r0
[0x001c4790] addu r16,r2,r0
[0x001c4794] lbu r2,0x0002(r16)
[0x001c4798] nop
[0x001c479c] bne r2,r18,0x001c47c4
[0x001c47a0] nop
[0x001c47a4] lbu r2,0x0183(r16)               Dealing with unit's ability to appear in battle
[0x001c47a8] nop
[0x001c47ac] beq r2,r19,0x001c47c4            Branch if unit can't exist
[0x001c47b0] nop
[0x001c47b4] lbu r2,0x0161(r16)               Load Entd ID
[0x001c47b8] nop
[0x001c47bc] bne r2,r0,0x001c47d4             Branch if 0
[0x001c47c0] ori r2,r0,0x0015
[0x001c47c4] addiu r17,r17,0x0001
[0x001c47c8] slti r2,r17,0x0015
[0x001c47cc] bne r2,r0,0x001c4788
[0x001c47d0] ori r2,r0,0x0015
[0x001c47d4] beq r17,r2,0x001c48d8
[0x001c47d8] nop
[0x001c47dc] jal 0x00180afc                  Get Unit's Data Pointer
[0x001c47e0] addu r4,r17,r0
[0x001c47e4] lbu r4,0x0161(r2)
[0x001c47e8] jal 0x00180c90                  Unit Existence/crystaltreasure check
[0x001c47ec] addiu r5,r29,0x0010
[0x001c47f0] addu r16,r2,r0
[0x001c47f4] lbu r3,0x0183(r16)              Dealing with unit's ability to appear in battle
[0x001c47f8] ori r2,r0,0x0080                Was active/now disabled
[0x001c47fc] beq r3,r2,0x001c481c            Branch if unit was active/now disabled
[0x001c4800] nop
[0x001c4804] beq r3,r19,0x001c481c           Branch if unit can't exist
[0x001c4808] addiu r2,r0,-0x0003
[0x001c480c] lw r3,0x0010(r29)
[0x001c4810] nop
[0x001c4814] bne r3,r2,0x001c486c
[0x001c4818] nop
[0x001c481c] lbu r2,0x0161(r16)              Load Entd ID
[0x001c4820] nop
[0x001c4824] beq r2,r0,0x001c4834            Branch if 0
[0x001c4828] sltiu r2,r2,0x0004
[0x001c482c] bne r2,r0,0x001c48d8
[0x001c4830] nop
[0x001c4834] lbu r2,0x0059(r16)              Current statuses
[0x001c4838] nop
[0x001c483c] andi r2,r2,0x0001
[0x001c4840] bne r2,r0,0x001c4850            Branch if not treasure
[0x001c4844] nop
[0x001c4848] jal 0x001c5f10                  Post battle equipment quantity increment
[0x001c484c] addu r4,r17,r0
[0x001c4850] jal 0x00059fe0                  Remove Unit from Party
[0x001c4854] addu r4,r18,r0
[0x001c4858] lbu r4,0x0000(r16)
[0x001c485c] jal 0x001c3a08                  001c3a08 - 001c3aac
[0x001c4860] ori r5,r0,0x000f
[0x001c4864] j 0x001c48dc
[0x001c4868] addiu r18,r18,0x0001
[0x001c486c] lbu r2,0x0000(r16)              Sprite set?
[0x001c4870] nop
[0x001c4874] beq r2,r0,0x001c488c            Branch if 0
[0x001c4878] sltiu r2,r2,0x0004              set if < 4 (possible check for Ramza?)
[0x001c487c] beq r2,r0,0x001c488c
[0x001c4880] addu r4,r16,r0
[0x001c4884] j 0x001c48d0
[0x001c4888] addu r5,r0,r0
[0x001c488c] lbu r2,0x0006(r16)              Gender byte
[0x001c4890] nop
[0x001c4894] andi r2,r2,0x0001               Save formation
[0x001c4898] bne r2,r0,0x001c48c4            Branch if save formation
[0x001c489c] nop
[0x001c48a0] lbu r4,0x0002(r16)              Load Party ID
[0x001c48a4] nop
[0x001c48a8] sltiu r2,r4,0x0010              Set if less than 0x10
[0x001c48ac] bne r2,r0,0x001c48c4            Branch if there's room for unit in party?
[0x001c48b0] nop
[0x001c48b4] jal 0x00059fe0                  Remove Unit from Party
[0x001c48b8] addiu r18,r18,0x0001
[0x001c48bc] j 0x001c48dc
[0x001c48c0] sb r19,0x0002(r16)
[0x001c48c4] lbu r5,0x0006(r16)              Gender byte
[0x001c48c8] addu r4,r16,r0
[0x001c48cc] andi r5,r5,0x0001               Save formation
[0x001c48d0] jal 0x00059bb0                  Add Unit to Party/Store Unit's Party Data
[0x001c48d4] nop
[0x001c48d8] addiu r18,r18,0x0001
[0x001c48dc] slti r2,r18,0x0014              
[0x001c48e0] bne r2,r0,0x001c4770            Branch if ? (loop?)
[0x001c48e4] nop
[0x001c48e8] addu r18,r0,r0
[0x001c48ec] lui r19,0x801d
[0x001c48f0] addiu r19,r19,0x0a00
[0x001c48f4] jal 0x00180afc                  Get Unit's Data Pointer
[0x001c48f8] addu r4,r18,r0
[0x001c48fc] lbu r4,0x0161(r2)
[0x001c4900] jal 0x00180c90                  Unit Existence/crystaltreasure check
[0x001c4904] addiu r5,r29,0x0010
[0x001c4908] lw r3,0x0010(r29)
[0x001c490c] nop
[0x001c4910] bltz r3,0x001c4a80
[0x001c4914] addu r16,r2,r0
[0x001c4918] bne r18,r3,0x001c4a80
[0x001c491c] ori r2,r0,0x00ff
[0x001c4920] lbu r3,0x0002(r16)              Load party ID
[0x001c4924] nop
[0x001c4928] bne r3,r2,0x001c4a80            Branch if not 0xff
[0x001c492c] nop
[0x001c4930] lbu r3,0x0161(r16)              Load entd id
[0x001c4934] nop
[0x001c4938] beq r3,r0,0x001c4a80            Branch if 0
[0x001c493c] nop
[0x001c4940] lbu r4,0x0000(r16)
[0x001c4944] nop
[0x001c4948] beq r4,r0,0x001c4958
[0x001c494c] sltiu r2,r4,0x0004
[0x001c4950] bne r2,r0,0x001c4a80
[0x001c4954] nop
[0x001c4958] sltiu r2,r3,0x0004
[0x001c495c] bne r2,r0,0x001c4a80
[0x001c4960] nop
[0x001c4964] lbu r3,0x0006(r16)
[0x001c4968] nop
[0x001c496c] andi r2,r3,0x0010
[0x001c4970] bne r2,r0,0x001c498c
[0x001c4974] andi r2,r3,0x0001
[0x001c4978] lbu r2,0x0059(r16)
[0x001c497c] nop
[0x001c4980] andi r2,r2,0x0040
[0x001c4984] beq r2,r0,0x001c4a80
[0x001c4988] andi r2,r3,0x0001
[0x001c498c] beq r2,r0,0x001c4a08
[0x001c4990] addu r17,r0,r0
[0x001c4994] addu r6,r4,r0
[0x001c4998] addu r5,r19,r0
[0x001c499c] addu r3,r0,r0
[0x001c49a0] addu r4,r5,r0
[0x001c49a4] lbu r2,0x0000(r4)
[0x001c49a8] nop
[0x001c49ac] beq r6,r2,0x001c49c8
[0x001c49b0] ori r2,r0,0x0003
[0x001c49b4] addiu r3,r3,0x0001
[0x001c49b8] slti r2,r3,0x0003
[0x001c49bc] bne r2,r0,0x001c49a4
[0x001c49c0] addiu r4,r4,0x0001
[0x001c49c4] ori r2,r0,0x0003
[0x001c49c8] bne r3,r2,0x001c49e4
[0x001c49cc] ori r2,r0,0x0049
[0x001c49d0] addiu r17,r17,0x0001
[0x001c49d4] slti r2,r17,0x0049
[0x001c49d8] bne r2,r0,0x001c499c
[0x001c49dc] addiu r5,r5,0x0003
[0x001c49e0] ori r2,r0,0x0049
[0x001c49e4] addu r17,r0,r0
[0x001c49e8] jal 0x001c5e48                  Post battle equipment storing
[0x001c49ec] addu r4,r18,r0
[0x001c49f0] lbu r5,0x0006(r16)
[0x001c49f4] addu r4,r16,r0
[0x001c49f8] jal 0x00059bb0                  Add Unit to Party/Store Unit's Party Data
[0x001c49fc] andi r5,r5,0x0001
[0x001c4a00] j 0x001c4a84
[0x001c4a04] addiu r18,r18,0x0001
[0x001c4a08] ori r4,r0,0x0021
[0x001c4a0c] andi r2,r3,0x00f6
[0x001c4a10] sb r2,0x0006(r16)
[0x001c4a14] lui r2,0x801d
[0x001c4a18] lw r2,0x0b34(r2)
[0x001c4a1c] lbu r3,0x0161(r16)
[0x001c4a20] sll r2,r2,0x02
[0x001c4a24] lui r1,0x801d
[0x001c4a28] addu r1,r1,r2
[0x001c4a2c] sw r3,0x71f8(r1)
[0x001c4a30] jal 0x0013b590                  0013b590 - 0013b640
[0x001c4a34] addiu r20,r20,0x0001
[0x001c4a38] andi r2,r2,0x0007
[0x001c4a3c] lui r4,0x801d
[0x001c4a40] lw r4,0x0b34(r4)
[0x001c4a44] lbu r3,0x0000(r16)
[0x001c4a48] sll r5,r4,0x02
[0x001c4a4c] addiu r3,r3,-0x0080
[0x001c4a50] sll r3,r3,0x03
[0x001c4a54] addu r3,r3,r2
[0x001c4a58] addiu r3,r3,0x1800
[0x001c4a5c] addiu r4,r4,0x0001
[0x001c4a60] lui r1,0x801d
[0x001c4a64] addu r1,r1,r5
[0x001c4a68] sw r3,0x72c0(r1)
[0x001c4a6c] lui r1,0x801d
[0x001c4a70] addu r1,r1,r5
[0x001c4a74] sw r18,0x7388(r1)
[0x001c4a78] lui r1,0x801d
[0x001c4a7c] sw r4,0x0b34(r1)
[0x001c4a80] addiu r18,r18,0x0001
[0x001c4a84] slti r2,r18,0x0015
[0x001c4a88] bne r2,r0,0x001c48f4
[0x001c4a8c] addu r2,r20,r0
[0x001c4a90] lw r31,0x002c(r29)
[0x001c4a94] lw r20,0x0028(r29)
[0x001c4a98] lw r19,0x0024(r29)
[0x001c4a9c] lw r18,0x0020(r29)
[0x001c4aa0] lw r17,0x001c(r29)
[0x001c4aa4] lw r16,0x0018(r29)
[0x001c4aa8] addiu r29,r29,0x0030
[0x001c4aac] jr r31
[0x001c4ab0] nop