000870ac - 00087198
Jump to navigation
Jump to search
000870ac: 27bdffe0 addiu r29,r29,0xffe0 000870b0: afb00018 sw r16,0x0018(r29) 000870b4: 00808021 addu r16,r4,r0 000870b8: afbf001c sw r31,0x001c(r29) 000870bc: 9203013e lbu r3,0x013e(r16) #load modified palette byte 000870c0: 00000000 nop 000870c4: 10600030 beq r3,r0,0x00087188 #branch if no such thing 000870c8: 00001021 addu r2,r0,r0 000870cc: 92040004 lbu r4,0x0004(r16) #load unit's misc ID 000870d0: 00000000 nop 000870d4: 000410c0 sll r2,r4,0x03 #ID * 8 000870d8: 3c01800a lui r1,0x800a 000870dc: 00220821 addu r1,r1,r2 000870e0: 9022b27c lbu r2,-0x4d84(r1) #8 byte table entries per misc. unit ID? 000870e4: 00000000 nop 000870e8: 14400027 bne r2,r0,0x00087188 #end if != 0 000870ec: 00001021 addu r2,r0,r0 000870f0: 34020001 ori r2,r0,0x0001 000870f4: 10620005 beq r3,r2,0x0008710c #branch if modified palette is 1 000870f8: 34020002 ori r2,r0,0x0002 000870fc: 1062000f beq r3,r2,0x0008713c #branch if modified palette is 2 (counter?) 00087100: 00001021 addu r2,r0,r0 00087104: 08021c62 j 0x00087188 #if not 1 or 2, end, fail. 00087108: 00000000 nop
mod. palette = 1
0008710c: 34040004 ori r4,r0,0x0004 00087110: 34020002 ori r2,r0,0x0002 00087114: a202013e sb r2,0x013e(r16) #store modify palette byte as 2 (increment) 00087118: 2402ffe1 addiu r2,r0,0xffe1 #-0x1f 0008711c: 34050004 ori r5,r0,0x0004 #PV2 = 4 (rgb + rgb input) 00087120: 92060004 lbu r6,0x0004(r16) #load misc. unit ID 00087124: 2407ffe1 addiu r7,r0,0xffe1 #-0x1f 00087128: afa20010 sw r2,0x0010(r29) 0008712c: 0c024cf1 jal 0x000933c4 00087130: afa20014 sw r2,0x0014(r29) #parse -0x1f as r, g, and b palette modification. 00087134: 08021c62 j 0x00087188 00087138: 00001021 addu r2,r0,r0
Mod. palette = 2
0008713c: 3c028009 lui r2,0x8009 00087140: 8c426118 lw r2,0x6118(r2) #casting unit misc ID? 00087144: 00000000 nop 00087148: 1082000c beq r4,r2,0x0008717c #branch if same as current ID 0008714c: 34020003 ori r2,r0,0x0003 00087150: 8e030134 lw r3,0x0134(r16) #load pointer to unit battle data 00087154: 00000000 nop 00087158: 10600004 beq r3,r0,0x0008716c 0008715c: a202013e sb r2,0x013e(r16) #mod. palette byte = 3 (increment?) 00087160: 9064018a lbu r4,0x018a(r3) #load unit's ID 00087164: 0c05ff32 jal 0x0017fcc8 #Disable/Remove unit - deletes the unit 00087168: 00000000 nop 0008716c: 0c021bcb jal 0x00086f2c #00086f2c - 00087060 00087170: 02002021 addu r4,r16,r0 00087174: 08021c62 j 0x00087188 00087178: 34020001 ori r2,r0,0x0001 #return 'unit has been deleted'? IDK lol.
Mod. palette = 2 & caster == unit to modify palette of
0008717c: 0c023463 jal 0x0008d18c #Reset Misc Unit Graphic Trigger - deletes the unit 00087180: 00000000 nop 00087184: 00001021 addu r2,r0,r0 #but returns 0? 00087188: 8fbf001c lw r31,0x001c(r29) 0008718c: 8fb00018 lw r16,0x0018(r29) 00087190: 27bd0020 addiu r29,r29,0x0020 00087194: 03e00008 jr r31 00087198: 00000000 nop