Palette adjustment based on Tile Type
Jump to navigation
Jump to search
Palette adjustment based on Tile Type 6ba38: 0006ba38 - 0006bad4
00183fb4: Deals with map coordinates 1 00068b14: Call palette routine 6 00068af4: Call palette routine 5 0006ba38: 27bdffe8 addiu r29,r29,0xffe8 0006ba3c: afb00010 sw r16,0x0010(r29) Store 0x0 onto Stack 0006ba40: 00808021 addu r16,r4,r0 0006ba44: afbf0014 sw r31,0x0014(r29) Store 0x0 onto Stack 0006ba48: 8e020080 lw r2,0x0080(r16) Load ??1 0006ba4c: 3c030200 lui r3,0x0200 0006ba50: 00431024 and r2,r2,r3 0x200 & 0006ba54: 1440001b bne r2,r0,0x0006bac4 Branch if 0x200 & != 0x0 0006ba58: 00000000 nop 0006ba5c: 92040080 lbu r4,0x0080(r16) Load ??? 0006ba60: 92050081 lbu r5,0x0081(r16) Load ??? 0006ba64: 92060082 lbu r6,0x0082(r16) Load ??? 0006ba68: 0c060fed jal 0x00183fb4 Deals with map coordinates 1 0006ba6c: 00000000 nop 0006ba70: 10400014 beq r2,r0,0x0006bac4 Branch if Tile Data == 0x0 0006ba74: 00000000 nop 0006ba78: 90420000 lbu r2,0x0000(r2) Load Tile Type 0006ba7c: 00000000 nop 0006ba80: 3042003f andi r2,r2,0x003f Tile Type & 0x3F 0006ba84: 2443ffff addiu r3,r2,0xffff 0006ba88: 2c62002e sltiu r2,r3,0x002e Set if -0x1 < 46 0006ba8c: 1040000d beq r2,r0,0x0006bac4 Branch if not 0006ba90: 00031080 sll r2,r3,0x02 Shift left 2 bits (*0x4) (*4) 0006ba94: 3c018006 lui r1,0x8006 0006ba98: 00220821 addu r1,r1,r2 0006ba9c: 8c227320 lw r2,0x7320(r1) Load ??1 0006baa0: 00000000 nop 0006baa4: 00400008 jr r2 Jump to Address 0006baa8: 00000000 nop 0006baac: 0c01a2c5 jal 0x00068b14 Call palette routine 6 0006bab0: 02002021 addu r4,r16,r0 0006bab4: 0801aeb1 j 0x0006bac4 0006bab8: 00000000 nop 0006babc: 0c01a2bd jal 0x00068af4 Call palette routine 5 0006bac0: 02002021 addu r4,r16,r0 0006bac4: 8fbf0014 lw r31,0x0014(r29) Load Stack + 0x14 0006bac8: 8fb00010 lw r16,0x0010(r29) Load Stack + 0x10 0006bacc: 27bd0018 addiu r29,r29,0x0018 0006bad0: 03e00008 jr r31 Jump to Address 0006bad4: 00000000 nop