Difference between revisions of "REQUIRE.OUT Post battle equipment/unknown storing"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (RetroTypes moved page Post battle equipment/unknown storing to REQUIRE.OUT Post battle equipment/unknown storing: Renaming routines to have file name in them for clarity)
m
Line 1: Line 1:
  [0x001c4740] addiu r29,r29,-0x0030
+
  Duplicated here: [[REQUIRE.OUT Post-battle (0x1c4740)]]
  [0x001c4744] sw r20,0x0028(r29)
+
 
  [0x001c4748] addu r20,r0,r0
+
801c4740: 27bdffd0 addiu r29,r29,-0x0030
  [0x001c474c] sw r18,0x0020(r29)
+
  801c4744: afb40028 sw r20,0x0028(r29)
  [0x001c4750] addu r18,r0,r0
+
  801c4748: 0000a021 addu r20,r0,r0                   #r20 = 0
  [0x001c4754] sw r19,0x0024(r29)
+
  801c474c: afb20020 sw r18,0x0020(r29)
  [0x001c4758] ori r19,r0,0x00ff
+
  801c4750: 00009021 addu r18,r0,r0                   #r18 = 0
  [0x001c475c] sw r31,0x002c(r29)
+
  801c4754: afb30024 sw r19,0x0024(r29)
  [0x001c4760] sw r17,0x001c(r29)
+
  801c4758: 341300ff ori r19,r0,0x00ff               #r19 = 0xFF (doesnt exist checking)
  [0x001c4764] sw r16,0x0018(r29)
+
  801c475c: afbf002c sw r31,0x002c(r29)
  [0x001c4768] lui r1,0x801d
+
  801c4760: afb1001c sw r17,0x001c(r29)
  [0x001c476c] sw r0,0x0b34(r1)
+
  801c4764: afb00018 sw r16,0x0018(r29)
  [0x001c4770] jal 0x00059af0                  [[Get Party Data Pointer]]
+
  801c4768: 3c01801d lui r1,0x801d
  [0x001c4774] addu r4,r18,r0
+
  801c476c: ac200b34 sw r0,0x0b34(r1)                 #0x801d0b34 = 0
  [0x001c4778] lbu r2,0x0001(r2)                 
+
  801c4770: 0c0166bc jal 0x00059af0                  #[[Get Party Data Pointer]]
  [0x001c477c] nop
+
  801c4774: 02402021 addu r4,r18,r0
  [0x001c4780] beq r2,r19,0x001c48d8            Branch if party can't exist     
+
  801c4778: 90420001 lbu r2,0x0001(r2)                 
  [0x001c4784] addu r17,r0,r0
+
  801c477c: 00000000 nop
  [0x001c4788] jal 0x00180afc                  [[Get Unit's Data Pointer]]
+
  801c4780: 10530055 beq r2,r19,0x001c48d8            #Branch if party can't exist     
  [0x001c478c] addu r4,r17,r0
+
  801c4784: 00008821 addu r17,r0,r0
  [0x001c4790] addu r16,r2,r0
+
  801c4788: 0c0602bf jal 0x00180afc                  #[[Get Unit's Data Pointer]]
  [0x001c4794] lbu r2,0x0002(r16)
+
  801c478c: 02202021 addu r4,r17,r0
  [0x001c4798] nop
+
  801c4790: 00408021 addu r16,r2,r0
  [0x001c479c] bne r2,r18,0x001c47c4
+
  801c4794: 92020002 lbu r2,0x0002(r16)
  [0x001c47a0] nop
+
  801c4798: 00000000 nop
  [0x001c47a4] lbu r2,0x0183(r16)              Dealing with unit's ability to appear in battle
+
  801c479c: 14520009 bne r2,r18,0x001c47c4
  [0x001c47a8] nop
+
  801c47a0: 00000000 nop
  [0x001c47ac] beq r2,r19,0x001c47c4            Branch if unit can't exist
+
  801c47a4: 92020183 lbu r2,0x0183(r16)              #Dealing with unit's ability to appear in battle
  [0x001c47b0] nop
+
  801c47a8: 00000000 nop
  [0x001c47b4] lbu r2,0x0161(r16)              Load Entd ID
+
  801c47ac: 10530005 beq r2,r19,0x001c47c4            #Branch if unit can't exist
  [0x001c47b8] nop
+
  801c47b0: 00000000 nop
  [0x001c47bc] bne r2,r0,0x001c47d4            Branch if 0
+
  801c47b4: 92020161 lbu r2,0x0161(r16)              #Load Entd ID
  [0x001c47c0] ori r2,r0,0x0015
+
  801c47b8: 00000000 nop
  [0x001c47c4] addiu r17,r17,0x0001
+
  801c47bc: 14400005 bne r2,r0,0x001c47d4            #Branch if not 0
  [0x001c47c8] slti r2,r17,0x0015
+
  801c47c0: 34020015 ori r2,r0,0x0015
  [0x001c47cc] bne r2,r0,0x001c4788
+
  801c47c4: 26310001 addiu r17,r17,0x0001
  [0x001c47d0] ori r2,r0,0x0015
+
  801c47c8: 2a220015 slti r2,r17,0x0015
  [0x001c47d4] beq r17,r2,0x001c48d8
+
  801c47cc: 1440ffee bne r2,r0,0x001c4788
  [0x001c47d8] nop
+
  801c47d0: 34020015 ori r2,r0,0x0015
  [0x001c47dc] jal 0x00180afc                 [[Get Unit's Data Pointer]]
+
  801c47d4: 12220040 beq r17,r2,0x001c48d8
  [0x001c47e0] addu r4,r17,r0
+
  801c47d8: 00000000 nop
  [0x001c47e4] lbu r4,0x0161(r2)
+
  801c47dc: 0c0602bf jal 0x00180afc                   #[[Get Unit's Data Pointer]]
  [0x001c47e8] jal 0x00180c90                 [[Unit Existence/crystaltreasure check]]
+
  801c47e0: 02202021 addu r4,r17,r0
  [0x001c47ec] addiu r5,r29,0x0010
+
  801c47e4: 90440161 lbu r4,0x0161(r2)
  [0x001c47f0] addu r16,r2,r0
+
  801c47e8: 0c060324 jal 0x00180c90                   #[[Unit Existence/crystaltreasure check]]
  [0x001c47f4] lbu r3,0x0183(r16)             Dealing with unit's ability to appear in battle
+
  801c47ec: 27a50010 addiu r5,r29,0x0010
  [0x001c47f8] ori r2,r0,0x0080               Was active/now disabled
+
  801c47f0: 00408021 addu r16,r2,r0
  [0x001c47fc] beq r3,r2,0x001c481c           Branch if unit was active/now disabled
+
  801c47f4: 92030183 lbu r3,0x0183(r16)               #Dealing with unit's ability to appear in battle
  [0x001c4800] nop
+
  801c47f8: 34020080 ori r2,r0,0x0080                 #Was active/now disabled
  [0x001c4804] beq r3,r19,0x001c481c           Branch if unit can't exist
+
  801c47fc: 10620007 beq r3,r2,0x001c481c             #Branch if unit was active/now disabled
  [0x001c4808] addiu r2,r0,-0x0003
+
  801c4800: 00000000 nop
  [0x001c480c] lw r3,0x0010(r29)
+
  801c4804: 10730005 beq r3,r19,0x001c481c           #Branch if unit can't exist
  [0x001c4810] nop
+
  801c4808: 2402fffd addiu r2,r0,-0x0003
  [0x001c4814] bne r3,r2,0x001c486c
+
  801c480c: 8fa30010 lw r3,0x0010(r29)
  [0x001c4818] nop
+
  801c4810: 00000000 nop
  [0x001c481c] lbu r2,0x0161(r16)             Load Entd ID
+
  801c4814: 14620015 bne r3,r2,0x001c486c
  [0x001c4820] nop
+
  801c4818: 00000000 nop
  [0x001c4824] beq r2,r0,0x001c4834           Branch if 0
+
  801c481c: 92020161 lbu r2,0x0161(r16)               #Load Entd ID
  [0x001c4828] sltiu r2,r2,0x0004
+
  801c4820: 00000000 nop
  [0x001c482c] bne r2,r0,0x001c48d8
+
  801c4824: 10400003 beq r2,r0,0x001c4834             #Branch if 0
  [0x001c4830] nop
+
  801c4828: 2c420004 sltiu r2,r2,0x0004
  [0x001c4834] lbu r2,0x0059(r16)             Current statuses
+
  801c482c: 1440002a bne r2,r0,0x001c48d8
  [0x001c4838] nop
+
  801c4830: 00000000 nop
  [0x001c483c] andi r2,r2,0x0001
+
  801c4834: 92020059 lbu r2,0x0059(r16)               #Current statuses
  [0x001c4840] bne r2,r0,0x001c4850           Branch if not treasure
+
  801c4838: 00000000 nop
  [0x001c4844] nop
+
  801c483c: 30420001 andi r2,r2,0x0001
  [0x001c4848] jal 0x001c5f10                 [[Post battle equipment quantity increment]]
+
  801c4840: 14400003 bne r2,r0,0x001c4850             #Branch if not treasure
  [0x001c484c] addu r4,r17,r0
+
  801c4844: 00000000 nop
  [0x001c4850] jal 0x00059fe0                 [[Remove Unit from Party]]
+
  801c4848: 0c0717c4 jal 0x001c5f10                   #[[Post battle equipment quantity increment]]
  [0x001c4854] addu r4,r18,r0
+
  801c484c: 02202021 addu r4,r17,r0
  [0x001c4858] lbu r4,0x0000(r16)
+
  801c4850: 0c0167f8 jal 0x00059fe0                   #[[Remove Unit from Party]]
  [0x001c485c] jal 0x001c3a08                 [[001c3a08 - 001c3aac]]
+
  801c4854: 02402021 addu r4,r18,r0
  [0x001c4860] ori r5,r0,0x000f
+
  801c4858: 92040000 lbu r4,0x0000(r16)
  [0x001c4864] j 0x001c48dc
+
  801c485c: 0c070e82 jal 0x001c3a08                   #[[001c3a08 - 001c3aac]]
  [0x001c4868] addiu r18,r18,0x0001
+
  801c4860: 3405000f ori r5,r0,0x000f
  [0x001c486c] lbu r2,0x0000(r16)             Sprite set?
+
  801c4864: 08071237 j 0x001c48dc
  [0x001c4870] nop
+
  801c4868: 26520001 addiu r18,r18,0x0001
  [0x001c4874] beq r2,r0,0x001c488c           Branch if 0
+
  801c486c: 92020000 lbu r2,0x0000(r16)               #Sprite set?
  [0x001c4878] sltiu r2,r2,0x0004             set if < 4 (possible check for Ramza?)
+
  801c4870: 00000000 nop
  [0x001c487c] beq r2,r0,0x001c488c
+
  801c4874: 10400005 beq r2,r0,0x001c488c             #Branch if 0
  [0x001c4880] addu r4,r16,r0
+
  801c4878: 2c420004 sltiu r2,r2,0x0004               #set if < 4 (possible check for Ramza?)
  [0x001c4884] j 0x001c48d0
+
  801c487c: 10400003 beq r2,r0,0x001c488c
  [0x001c4888] addu r5,r0,r0
+
  801c4880: 02002021 addu r4,r16,r0
  [0x001c488c] lbu r2,0x0006(r16)             Gender byte
+
  801c4884: 08071234 j 0x001c48d0
  [0x001c4890] nop
+
  801c4888: 00002821 addu r5,r0,r0
  [0x001c4894] andi r2,r2,0x0001               Save formation
+
  801c488c: 92020006 lbu r2,0x0006(r16)               #Gender byte
  [0x001c4898] bne r2,r0,0x001c48c4           Branch if save formation
+
  801c4890: 00000000 nop
  [0x001c489c] nop
+
  801c4894: 30420001 andi r2,r2,0x0001               #Save formation
  [0x001c48a0] lbu r4,0x0002(r16)             Load Party ID
+
  801c4898: 1440000a bne r2,r0,0x001c48c4             #Branch if save formation
  [0x001c48a4] nop
+
  801c489c: 00000000 nop
  [0x001c48a8] sltiu r2,r4,0x0010             Set if less than 0x10
+
  801c48a0: 92040002 lbu r4,0x0002(r16)               #Load Party ID
  [0x001c48ac] bne r2,r0,0x001c48c4           Branch if there's room for unit in party?
+
  801c48a4: 00000000 nop
  [0x001c48b0] nop
+
  801c48a8: 2c820010 sltiu r2,r4,0x0010               #Set if less than 0x10
  [0x001c48b4] jal 0x00059fe0                 [[Remove Unit from Party]]
+
  801c48ac: 14400005 bne r2,r0,0x001c48c4             #Branch if there's room for unit in party?
  [0x001c48b8] addiu r18,r18,0x0001
+
  801c48b0: 00000000 nop
  [0x001c48bc] j 0x001c48dc
+
  801c48b4: 0c0167f8 jal 0x00059fe0                   #[[Remove Unit from Party]]
  [0x001c48c0] sb r19,0x0002(r16)
+
  801c48b8: 26520001 addiu r18,r18,0x0001
  [0x001c48c4] lbu r5,0x0006(r16)             Gender byte
+
  801c48bc: 08071237 j 0x001c48dc
  [0x001c48c8] addu r4,r16,r0
+
  801c48c0: a2130002 sb r19,0x0002(r16)
  [0x001c48cc] andi r5,r5,0x0001               Save formation
+
  801c48c4: 92050006 lbu r5,0x0006(r16)               #Gender byte
  [0x001c48d0] jal 0x00059bb0                 [[Add Unit to Party/Store Unit's Party Data]]
+
  801c48c8: 02002021 addu r4,r16,r0
  [0x001c48d4] nop
+
  801c48cc: 30a50001 andi r5,r5,0x0001               #Save formation
  [0x001c48d8] addiu r18,r18,0x0001
+
  801c48d0: 0c0166ec jal 0x00059bb0                   #[[Add Unit to Party/Store Unit's Party Data]]
  [0x001c48dc] slti r2,r18,0x0014               
+
  801c48d4: 00000000 nop
  [0x001c48e0] bne r2,r0,0x001c4770           Branch if ? (loop?)
+
  801c48d8: 26520001 addiu r18,r18,0x0001
  [0x001c48e4] nop
+
  801c48dc: 2a420014 slti r2,r18,0x0014               
  [0x001c48e8] addu r18,r0,r0
+
  801c48e0: 1440ffa3 bne r2,r0,0x001c4770             #Loop
  [0x001c48ec] lui r19,0x801d
+
  801c48e4: 00000000 nop
  [0x001c48f0] addiu r19,r19,0x0a00
+
  801c48e8: 00009021 addu r18,r0,r0
  [0x001c48f4] jal 0x00180afc                 [[Get Unit's Data Pointer]]
+
  801c48ec: 3c13801d lui r19,0x801d
  [0x001c48f8] addu r4,r18,r0
+
  801c48f0: 26730a00 addiu r19,r19,0x0a00
  [0x001c48fc] lbu r4,0x0161(r2)
+
  801c48f4: 0c0602bf jal 0x00180afc                   #[[Get Unit's Data Pointer]]
  [0x001c4900] jal 0x00180c90                 [[Unit Existence/crystaltreasure check]]
+
  801c48f8: 02402021 addu r4,r18,r0
  [0x001c4904] addiu r5,r29,0x0010
+
  801c48fc: 90440161 lbu r4,0x0161(r2)
  [0x001c4908] lw r3,0x0010(r29)
+
  801c4900: 0c060324 jal 0x00180c90                   #[[Unit Existence/crystaltreasure check]]
  [0x001c490c] nop
+
  801c4904: 27a50010 addiu r5,r29,0x0010
  [0x001c4910] bltz r3,0x001c4a80
+
  801c4908: 8fa30010 lw r3,0x0010(r29)
  [0x001c4914] addu r16,r2,r0
+
  801c490c: 00000000 nop
  [0x001c4918] bne r18,r3,0x001c4a80
+
  801c4910: 0460005b bltz r3,0x001c4a80
  [0x001c491c] ori r2,r0,0x00ff
+
  801c4914: 00408021 addu r16,r2,r0
  [0x001c4920] lbu r3,0x0002(r16)             Load party ID
+
  801c4918: 16430059 bne r18,r3,0x001c4a80
  [0x001c4924] nop
+
  801c491c: 340200ff ori r2,r0,0x00ff
  [0x001c4928] bne r3,r2,0x001c4a80           Branch if not 0xff
+
  801c4920: 92030002 lbu r3,0x0002(r16)               #Load party ID
  [0x001c492c] nop
+
  801c4924: 00000000 nop
  [0x001c4930] lbu r3,0x0161(r16)             Load entd id
+
  801c4928: 14620055 bne r3,r2,0x001c4a80             #Branch if not 0xff
  [0x001c4934] nop
+
  801c492c: 00000000 nop
  [0x001c4938] beq r3,r0,0x001c4a80           Branch if 0
+
  801c4930: 92030161 lbu r3,0x0161(r16)               #Load entd id
  [0x001c493c] nop
+
  801c4934: 00000000 nop
  [0x001c4940] lbu r4,0x0000(r16)
+
  801c4938: 10600051 beq r3,r0,0x001c4a80             #Branch if 0
  [0x001c4944] nop
+
  801c493c: 00000000 nop
  [0x001c4948] beq r4,r0,0x001c4958
+
  801c4940: 92040000 lbu r4,0x0000(r16)
  [0x001c494c] sltiu r2,r4,0x0004
+
  801c4944: 00000000 nop
  [0x001c4950] bne r2,r0,0x001c4a80
+
  801c4948: 10800003 beq r4,r0,0x001c4958
  [0x001c4954] nop
+
  801c494c: 2c820004 sltiu r2,r4,0x0004
  [0x001c4958] sltiu r2,r3,0x0004
+
  801c4950: 1440004b bne r2,r0,0x001c4a80
  [0x001c495c] bne r2,r0,0x001c4a80
+
  801c4954: 00000000 nop
  [0x001c4960] nop
+
  801c4958: 2c620004 sltiu r2,r3,0x0004
  [0x001c4964] lbu r3,0x0006(r16)
+
  801c495c: 14400048 bne r2,r0,0x001c4a80
  [0x001c4968] nop
+
  801c4960: 00000000 nop
  [0x001c496c] andi r2,r3,0x0010
+
  801c4964: 92030006 lbu r3,0x0006(r16)
  [0x001c4970] bne r2,r0,0x001c498c
+
  801c4968: 00000000 nop
  [0x001c4974] andi r2,r3,0x0001
+
  801c496c: 30620010 andi r2,r3,0x0010
  [0x001c4978] lbu r2,0x0059(r16)
+
  801c4970: 14400006 bne r2,r0,0x001c498c
  [0x001c497c] nop
+
  801c4974: 30620001 andi r2,r3,0x0001
  [0x001c4980] andi r2,r2,0x0040
+
  801c4978: 92020059 lbu r2,0x0059(r16)
  [0x001c4984] beq r2,r0,0x001c4a80
+
  801c497c: 00000000 nop
  [0x001c4988] andi r2,r3,0x0001
+
  801c4980: 30420040 andi r2,r2,0x0040
  [0x001c498c] beq r2,r0,0x001c4a08
+
  801c4984: 1040003e beq r2,r0,0x001c4a80
  [0x001c4990] addu r17,r0,r0
+
  801c4988: 30620001 andi r2,r3,0x0001
  [0x001c4994] addu r6,r4,r0
+
  801c498c: 1040001e beq r2,r0,0x001c4a08
  [0x001c4998] addu r5,r19,r0
+
  801c4990: 00008821 addu r17,r0,r0
  [0x001c499c] addu r3,r0,r0
+
  801c4994: 00803021 addu r6,r4,r0
  [0x001c49a0] addu r4,r5,r0
+
  801c4998: 02602821 addu r5,r19,r0
  [0x001c49a4] lbu r2,0x0000(r4)
+
  801c499c: 00001821 addu r3,r0,r0
  [0x001c49a8] nop
+
  801c49a0: 00a02021 addu r4,r5,r0
  [0x001c49ac] beq r6,r2,0x001c49c8
+
  801c49a4: 90820000 lbu r2,0x0000(r4)
  [0x001c49b0] ori r2,r0,0x0003
+
  801c49a8: 00000000 nop
  [0x001c49b4] addiu r3,r3,0x0001
+
  801c49ac: 10c20006 beq r6,r2,0x001c49c8
  [0x001c49b8] slti r2,r3,0x0003
+
  801c49b0: 34020003 ori r2,r0,0x0003
  [0x001c49bc] bne r2,r0,0x001c49a4
+
  801c49b4: 24630001 addiu r3,r3,0x0001
  [0x001c49c0] addiu r4,r4,0x0001
+
  801c49b8: 28620003 slti r2,r3,0x0003
  [0x001c49c4] ori r2,r0,0x0003
+
  801c49bc: 1440fff9 bne r2,r0,0x001c49a4
  [0x001c49c8] bne r3,r2,0x001c49e4
+
  801c49c0: 24840001 addiu r4,r4,0x0001
  [0x001c49cc] ori r2,r0,0x0049
+
  801c49c4: 34020003 ori r2,r0,0x0003
  [0x001c49d0] addiu r17,r17,0x0001
+
  801c49c8: 14620006 bne r3,r2,0x001c49e4
  [0x001c49d4] slti r2,r17,0x0049
+
  801c49cc: 34020049 ori r2,r0,0x0049
  [0x001c49d8] bne r2,r0,0x001c499c
+
  801c49d0: 26310001 addiu r17,r17,0x0001
  [0x001c49dc] addiu r5,r5,0x0003
+
  801c49d4: 2a220049 slti r2,r17,0x0049
  [0x001c49e0] ori r2,r0,0x0049
+
  801c49d8: 1440fff0 bne r2,r0,0x001c499c
  [0x001c49e4] addu r17,r0,r0
+
  801c49dc: 24a50003 addiu r5,r5,0x0003
  [0x001c49e8] jal 0x001c5e48                 [[Post battle equipment storing]]
+
  801c49e0: 34020049 ori r2,r0,0x0049
  [0x001c49ec] addu r4,r18,r0
+
  801c49e4: 00008821 addu r17,r0,r0
  [0x001c49f0] lbu r5,0x0006(r16)
+
  801c49e8: 0c071792 jal 0x001c5e48                   #[[Post battle equipment storing]]
  [0x001c49f4] addu r4,r16,r0
+
  801c49ec: 02402021 addu r4,r18,r0
  [0x001c49f8] jal 0x00059bb0                 [[Add Unit to Party/Store Unit's Party Data]]
+
  801c49f0: 92050006 lbu r5,0x0006(r16)
  [0x001c49fc] andi r5,r5,0x0001
+
  801c49f4: 02002021 addu r4,r16,r0
  [0x001c4a00] j 0x001c4a84
+
  801c49f8: 0c0166ec jal 0x00059bb0                   #[[Add Unit to Party/Store Unit's Party Data]]
  [0x001c4a04] addiu r18,r18,0x0001
+
  801c49fc: 30a50001 andi r5,r5,0x0001
  [0x001c4a08] ori r4,r0,0x0021
+
  801c4a00: 080712a1 j 0x001c4a84
  [0x001c4a0c] andi r2,r3,0x00f6
+
  801c4a04: 26520001 addiu r18,r18,0x0001
  [0x001c4a10] sb r2,0x0006(r16)
+
  801c4a08: 34040021 ori r4,r0,0x0021
  [0x001c4a14] lui r2,0x801d
+
  801c4a0c: 306200f6 andi r2,r3,0x00f6
  [0x001c4a18] lw r2,0x0b34(r2)
+
  801c4a10: a2020006 sb r2,0x0006(r16)
  [0x001c4a1c] lbu r3,0x0161(r16)
+
  801c4a14: 3c02801d lui r2,0x801d
  [0x001c4a20] sll r2,r2,0x02
+
  801c4a18: 8c420b34 lw r2,0x0b34(r2)
  [0x001c4a24] lui r1,0x801d
+
  801c4a1c: 92030161 lbu r3,0x0161(r16)
  [0x001c4a28] addu r1,r1,r2
+
  801c4a20: 00021080 sll r2,r2,0x02
  [0x001c4a2c] sw r3,0x71f8(r1)
+
  801c4a24: 3c01801d lui r1,0x801d
  [0x001c4a30] jal 0x0013b590                 [[0013b590 - 0013b640]]
+
  801c4a28: 00220821 addu r1,r1,r2
  [0x001c4a34] addiu r20,r20,0x0001
+
  801c4a2c: ac2371f8 sw r3,0x71f8(r1)
  [0x001c4a38] andi r2,r2,0x0007
+
  801c4a30: 0c04ed64 jal 0x0013b590                   #[[0013b590 - 0013b640]]
  [0x001c4a3c] lui r4,0x801d
+
  801c4a34: 26940001 addiu r20,r20,0x0001
  [0x001c4a40] lw r4,0x0b34(r4)
+
  801c4a38: 30420007 andi r2,r2,0x0007
  [0x001c4a44] lbu r3,0x0000(r16)
+
  801c4a3c: 3c04801d lui r4,0x801d
  [0x001c4a48] sll r5,r4,0x02
+
  801c4a40: 8c840b34 lw r4,0x0b34(r4)
  [0x001c4a4c] addiu r3,r3,-0x0080
+
  801c4a44: 92030000 lbu r3,0x0000(r16)
  [0x001c4a50] sll r3,r3,0x03
+
  801c4a48: 00042880 sll r5,r4,0x02
  [0x001c4a54] addu r3,r3,r2
+
  801c4a4c: 2463ff80 addiu r3,r3,-0x0080
  [0x001c4a58] addiu r3,r3,0x1800
+
  801c4a50: 000318c0 sll r3,r3,0x03
  [0x001c4a5c] addiu r4,r4,0x0001
+
  801c4a54: 00621821 addu r3,r3,r2
  [0x001c4a60] lui r1,0x801d
+
  801c4a58: 24631800 addiu r3,r3,0x1800
  [0x001c4a64] addu r1,r1,r5
+
  801c4a5c: 24840001 addiu r4,r4,0x0001
  [0x001c4a68] sw r3,0x72c0(r1)
+
  801c4a60: 3c01801d lui r1,0x801d
  [0x001c4a6c] lui r1,0x801d
+
  801c4a64: 00250821 addu r1,r1,r5
  [0x001c4a70] addu r1,r1,r5
+
  801c4a68: ac2372c0 sw r3,0x72c0(r1)
  [0x001c4a74] sw r18,0x7388(r1)
+
  801c4a6c: 3c01801d lui r1,0x801d
  [0x001c4a78] lui r1,0x801d
+
  801c4a70: 00250821 addu r1,r1,r5
  [0x001c4a7c] sw r4,0x0b34(r1)
+
  801c4a74: ac327388 sw r18,0x7388(r1)
  [0x001c4a80] addiu r18,r18,0x0001
+
  801c4a78: 3c01801d lui r1,0x801d
  [0x001c4a84] slti r2,r18,0x0015
+
  801c4a7c: ac240b34 sw r4,0x0b34(r1)
  [0x001c4a88] bne r2,r0,0x001c48f4
+
  801c4a80: 26520001 addiu r18,r18,0x0001
  [0x001c4a8c] addu r2,r20,r0
+
  801c4a84: 2a420015 slti r2,r18,0x0015
  [0x001c4a90] lw r31,0x002c(r29)
+
  801c4a88: 1440ff9a bne r2,r0,0x001c48f4
  [0x001c4a94] lw r20,0x0028(r29)
+
  801c4a8c: 02801021 addu r2,r20,r0
  [0x001c4a98] lw r19,0x0024(r29)
+
  801c4a90: 8fbf002c lw r31,0x002c(r29)
  [0x001c4a9c] lw r18,0x0020(r29)
+
  801c4a94: 8fb40028 lw r20,0x0028(r29)
  [0x001c4aa0] lw r17,0x001c(r29)
+
  801c4a98: 8fb30024 lw r19,0x0024(r29)
  [0x001c4aa4] lw r16,0x0018(r29)
+
  801c4a9c: 8fb20020 lw r18,0x0020(r29)
  [0x001c4aa8] addiu r29,r29,0x0030
+
  801c4aa0: 8fb1001c lw r17,0x001c(r29)
  [0x001c4aac] jr r31
+
  801c4aa4: 8fb00018 lw r16,0x0018(r29)
  [0x001c4ab0] nop
+
  801c4aa8: 27bd0030 addiu r29,r29,0x0030
 +
  801c4aac: 03e00008 jr r31
 +
  801c4ab0: 00000000 nop

Revision as of 03:05, 19 April 2025

Duplicated here: REQUIRE.OUT Post-battle (0x1c4740)
801c4740: 27bdffd0 addiu r29,r29,-0x0030
801c4744: afb40028 sw r20,0x0028(r29)
801c4748: 0000a021 addu r20,r0,r0                   #r20 = 0
801c474c: afb20020 sw r18,0x0020(r29)
801c4750: 00009021 addu r18,r0,r0                   #r18 = 0
801c4754: afb30024 sw r19,0x0024(r29)
801c4758: 341300ff ori r19,r0,0x00ff                #r19 = 0xFF (doesnt exist checking)
801c475c: afbf002c sw r31,0x002c(r29)
801c4760: afb1001c sw r17,0x001c(r29)
801c4764: afb00018 sw r16,0x0018(r29)
801c4768: 3c01801d lui r1,0x801d
801c476c: ac200b34 sw r0,0x0b34(r1)                 #0x801d0b34 = 0
801c4770: 0c0166bc jal 0x00059af0                   #Get Party Data Pointer
801c4774: 02402021 addu r4,r18,r0
801c4778: 90420001 lbu r2,0x0001(r2)                
801c477c: 00000000 nop
801c4780: 10530055 beq r2,r19,0x001c48d8            #Branch if party can't exist    
801c4784: 00008821 addu r17,r0,r0
801c4788: 0c0602bf jal 0x00180afc                   #Get Unit's Data Pointer
801c478c: 02202021 addu r4,r17,r0
801c4790: 00408021 addu r16,r2,r0
801c4794: 92020002 lbu r2,0x0002(r16)
801c4798: 00000000 nop
801c479c: 14520009 bne r2,r18,0x001c47c4
801c47a0: 00000000 nop
801c47a4: 92020183 lbu r2,0x0183(r16)               #Dealing with unit's ability to appear in battle
801c47a8: 00000000 nop
801c47ac: 10530005 beq r2,r19,0x001c47c4            #Branch if unit can't exist
801c47b0: 00000000 nop
801c47b4: 92020161 lbu r2,0x0161(r16)               #Load Entd ID
801c47b8: 00000000 nop
801c47bc: 14400005 bne r2,r0,0x001c47d4             #Branch if not 0
801c47c0: 34020015 ori r2,r0,0x0015
801c47c4: 26310001 addiu r17,r17,0x0001
801c47c8: 2a220015 slti r2,r17,0x0015
801c47cc: 1440ffee bne r2,r0,0x001c4788
801c47d0: 34020015 ori r2,r0,0x0015
801c47d4: 12220040 beq r17,r2,0x001c48d8
801c47d8: 00000000 nop
801c47dc: 0c0602bf jal 0x00180afc                   #Get Unit's Data Pointer
801c47e0: 02202021 addu r4,r17,r0
801c47e4: 90440161 lbu r4,0x0161(r2)
801c47e8: 0c060324 jal 0x00180c90                   #Unit Existence/crystaltreasure check
801c47ec: 27a50010 addiu r5,r29,0x0010
801c47f0: 00408021 addu r16,r2,r0
801c47f4: 92030183 lbu r3,0x0183(r16)               #Dealing with unit's ability to appear in battle
801c47f8: 34020080 ori r2,r0,0x0080                 #Was active/now disabled
801c47fc: 10620007 beq r3,r2,0x001c481c             #Branch if unit was active/now disabled
801c4800: 00000000 nop
801c4804: 10730005 beq r3,r19,0x001c481c            #Branch if unit can't exist
801c4808: 2402fffd addiu r2,r0,-0x0003
801c480c: 8fa30010 lw r3,0x0010(r29)
801c4810: 00000000 nop
801c4814: 14620015 bne r3,r2,0x001c486c
801c4818: 00000000 nop
801c481c: 92020161 lbu r2,0x0161(r16)               #Load Entd ID
801c4820: 00000000 nop
801c4824: 10400003 beq r2,r0,0x001c4834             #Branch if 0
801c4828: 2c420004 sltiu r2,r2,0x0004
801c482c: 1440002a bne r2,r0,0x001c48d8
801c4830: 00000000 nop
801c4834: 92020059 lbu r2,0x0059(r16)               #Current statuses
801c4838: 00000000 nop
801c483c: 30420001 andi r2,r2,0x0001
801c4840: 14400003 bne r2,r0,0x001c4850             #Branch if not treasure
801c4844: 00000000 nop
801c4848: 0c0717c4 jal 0x001c5f10                   #Post battle equipment quantity increment
801c484c: 02202021 addu r4,r17,r0
801c4850: 0c0167f8 jal 0x00059fe0                   #Remove Unit from Party
801c4854: 02402021 addu r4,r18,r0
801c4858: 92040000 lbu r4,0x0000(r16)
801c485c: 0c070e82 jal 0x001c3a08                   #001c3a08 - 001c3aac
801c4860: 3405000f ori r5,r0,0x000f
801c4864: 08071237 j 0x001c48dc
801c4868: 26520001 addiu r18,r18,0x0001
801c486c: 92020000 lbu r2,0x0000(r16)               #Sprite set?
801c4870: 00000000 nop
801c4874: 10400005 beq r2,r0,0x001c488c             #Branch if 0
801c4878: 2c420004 sltiu r2,r2,0x0004               #set if < 4 (possible check for Ramza?)
801c487c: 10400003 beq r2,r0,0x001c488c
801c4880: 02002021 addu r4,r16,r0
801c4884: 08071234 j 0x001c48d0
801c4888: 00002821 addu r5,r0,r0
801c488c: 92020006 lbu r2,0x0006(r16)               #Gender byte
801c4890: 00000000 nop
801c4894: 30420001 andi r2,r2,0x0001                #Save formation
801c4898: 1440000a bne r2,r0,0x001c48c4             #Branch if save formation
801c489c: 00000000 nop
801c48a0: 92040002 lbu r4,0x0002(r16)               #Load Party ID
801c48a4: 00000000 nop
801c48a8: 2c820010 sltiu r2,r4,0x0010               #Set if less than 0x10
801c48ac: 14400005 bne r2,r0,0x001c48c4             #Branch if there's room for unit in party?
801c48b0: 00000000 nop
801c48b4: 0c0167f8 jal 0x00059fe0                   #Remove Unit from Party
801c48b8: 26520001 addiu r18,r18,0x0001
801c48bc: 08071237 j 0x001c48dc
801c48c0: a2130002 sb r19,0x0002(r16)
801c48c4: 92050006 lbu r5,0x0006(r16)               #Gender byte
801c48c8: 02002021 addu r4,r16,r0
801c48cc: 30a50001 andi r5,r5,0x0001                #Save formation
801c48d0: 0c0166ec jal 0x00059bb0                   #Add Unit to Party/Store Unit's Party Data
801c48d4: 00000000 nop
801c48d8: 26520001 addiu r18,r18,0x0001
801c48dc: 2a420014 slti r2,r18,0x0014              
801c48e0: 1440ffa3 bne r2,r0,0x001c4770             #Loop
801c48e4: 00000000 nop
801c48e8: 00009021 addu r18,r0,r0
801c48ec: 3c13801d lui r19,0x801d
801c48f0: 26730a00 addiu r19,r19,0x0a00
801c48f4: 0c0602bf jal 0x00180afc                   #Get Unit's Data Pointer
801c48f8: 02402021 addu r4,r18,r0
801c48fc: 90440161 lbu r4,0x0161(r2)
801c4900: 0c060324 jal 0x00180c90                   #Unit Existence/crystaltreasure check
801c4904: 27a50010 addiu r5,r29,0x0010
801c4908: 8fa30010 lw r3,0x0010(r29)
801c490c: 00000000 nop
801c4910: 0460005b bltz r3,0x001c4a80
801c4914: 00408021 addu r16,r2,r0
801c4918: 16430059 bne r18,r3,0x001c4a80
801c491c: 340200ff ori r2,r0,0x00ff
801c4920: 92030002 lbu r3,0x0002(r16)               #Load party ID
801c4924: 00000000 nop
801c4928: 14620055 bne r3,r2,0x001c4a80             #Branch if not 0xff
801c492c: 00000000 nop
801c4930: 92030161 lbu r3,0x0161(r16)               #Load entd id
801c4934: 00000000 nop
801c4938: 10600051 beq r3,r0,0x001c4a80             #Branch if 0
801c493c: 00000000 nop
801c4940: 92040000 lbu r4,0x0000(r16)
801c4944: 00000000 nop
801c4948: 10800003 beq r4,r0,0x001c4958
801c494c: 2c820004 sltiu r2,r4,0x0004
801c4950: 1440004b bne r2,r0,0x001c4a80
801c4954: 00000000 nop
801c4958: 2c620004 sltiu r2,r3,0x0004
801c495c: 14400048 bne r2,r0,0x001c4a80
801c4960: 00000000 nop
801c4964: 92030006 lbu r3,0x0006(r16)
801c4968: 00000000 nop
801c496c: 30620010 andi r2,r3,0x0010
801c4970: 14400006 bne r2,r0,0x001c498c
801c4974: 30620001 andi r2,r3,0x0001
801c4978: 92020059 lbu r2,0x0059(r16)
801c497c: 00000000 nop
801c4980: 30420040 andi r2,r2,0x0040
801c4984: 1040003e beq r2,r0,0x001c4a80
801c4988: 30620001 andi r2,r3,0x0001
801c498c: 1040001e beq r2,r0,0x001c4a08
801c4990: 00008821 addu r17,r0,r0
801c4994: 00803021 addu r6,r4,r0
801c4998: 02602821 addu r5,r19,r0
801c499c: 00001821 addu r3,r0,r0
801c49a0: 00a02021 addu r4,r5,r0
801c49a4: 90820000 lbu r2,0x0000(r4)
801c49a8: 00000000 nop
801c49ac: 10c20006 beq r6,r2,0x001c49c8
801c49b0: 34020003 ori r2,r0,0x0003
801c49b4: 24630001 addiu r3,r3,0x0001
801c49b8: 28620003 slti r2,r3,0x0003
801c49bc: 1440fff9 bne r2,r0,0x001c49a4
801c49c0: 24840001 addiu r4,r4,0x0001
801c49c4: 34020003 ori r2,r0,0x0003
801c49c8: 14620006 bne r3,r2,0x001c49e4
801c49cc: 34020049 ori r2,r0,0x0049
801c49d0: 26310001 addiu r17,r17,0x0001
801c49d4: 2a220049 slti r2,r17,0x0049
801c49d8: 1440fff0 bne r2,r0,0x001c499c
801c49dc: 24a50003 addiu r5,r5,0x0003
801c49e0: 34020049 ori r2,r0,0x0049
801c49e4: 00008821 addu r17,r0,r0
801c49e8: 0c071792 jal 0x001c5e48                   #Post battle equipment storing
801c49ec: 02402021 addu r4,r18,r0
801c49f0: 92050006 lbu r5,0x0006(r16)
801c49f4: 02002021 addu r4,r16,r0
801c49f8: 0c0166ec jal 0x00059bb0                   #Add Unit to Party/Store Unit's Party Data
801c49fc: 30a50001 andi r5,r5,0x0001
801c4a00: 080712a1 j 0x001c4a84
801c4a04: 26520001 addiu r18,r18,0x0001
801c4a08: 34040021 ori r4,r0,0x0021
801c4a0c: 306200f6 andi r2,r3,0x00f6
801c4a10: a2020006 sb r2,0x0006(r16)
801c4a14: 3c02801d lui r2,0x801d
801c4a18: 8c420b34 lw r2,0x0b34(r2)
801c4a1c: 92030161 lbu r3,0x0161(r16)
801c4a20: 00021080 sll r2,r2,0x02
801c4a24: 3c01801d lui r1,0x801d
801c4a28: 00220821 addu r1,r1,r2
801c4a2c: ac2371f8 sw r3,0x71f8(r1)
801c4a30: 0c04ed64 jal 0x0013b590                   #0013b590 - 0013b640
801c4a34: 26940001 addiu r20,r20,0x0001
801c4a38: 30420007 andi r2,r2,0x0007
801c4a3c: 3c04801d lui r4,0x801d
801c4a40: 8c840b34 lw r4,0x0b34(r4)
801c4a44: 92030000 lbu r3,0x0000(r16)
801c4a48: 00042880 sll r5,r4,0x02
801c4a4c: 2463ff80 addiu r3,r3,-0x0080
801c4a50: 000318c0 sll r3,r3,0x03
801c4a54: 00621821 addu r3,r3,r2
801c4a58: 24631800 addiu r3,r3,0x1800
801c4a5c: 24840001 addiu r4,r4,0x0001
801c4a60: 3c01801d lui r1,0x801d
801c4a64: 00250821 addu r1,r1,r5
801c4a68: ac2372c0 sw r3,0x72c0(r1)
801c4a6c: 3c01801d lui r1,0x801d
801c4a70: 00250821 addu r1,r1,r5
801c4a74: ac327388 sw r18,0x7388(r1)
801c4a78: 3c01801d lui r1,0x801d
801c4a7c: ac240b34 sw r4,0x0b34(r1)
801c4a80: 26520001 addiu r18,r18,0x0001
801c4a84: 2a420015 slti r2,r18,0x0015
801c4a88: 1440ff9a bne r2,r0,0x001c48f4
801c4a8c: 02801021 addu r2,r20,r0
801c4a90: 8fbf002c lw r31,0x002c(r29)
801c4a94: 8fb40028 lw r20,0x0028(r29)
801c4a98: 8fb30024 lw r19,0x0024(r29)
801c4a9c: 8fb20020 lw r18,0x0020(r29)
801c4aa0: 8fb1001c lw r17,0x001c(r29)
801c4aa4: 8fb00018 lw r16,0x0018(r29)
801c4aa8: 27bd0030 addiu r29,r29,0x0030
801c4aac: 03e00008 jr r31
801c4ab0: 00000000 nop