Difference between revisions of "Background Tile Color For Targeting/Movement (Partial Tiles)"
Jump to navigation
Jump to search
(Created page with " # ROUTINE: BACKGROUND TILE COLOR FOR TARGETING/MOVEMENT? (PARTIAL TILES?) 0xec718 # Seems to affect whether a panel turns yellow when the target tile of an ability is se...") |
m |
||
(One intermediate revision by one other user not shown) | |||
Line 35: | Line 35: | ||
# if ([Parameter 1] is 4 or 6), return | # if ([Parameter 1] is 4 or 6), return | ||
# switch ([Parameter 1]) { | # switch ([Parameter 1]) { | ||
− | # | + | # case 0: |
000ec754: 3c048010 lui r4,0x8010 | 000ec754: 3c048010 lui r4,0x8010 | ||
000ec758: 2484be90 addiu r4,r4,-0x4170 # 0x800fbe90 | 000ec758: 2484be90 addiu r4,r4,-0x4170 # 0x800fbe90 | ||
Line 94: | Line 94: | ||
000ec834: 00000000 nop | 000ec834: 00000000 nop | ||
# break; | # break; | ||
− | # case 1: | + | # case 1: (colouring tiles blue if moveable) |
000ec838: 3c028010 lui r2,0x8010 | 000ec838: 3c028010 lui r2,0x8010 | ||
000ec83c: 9442be90 lhu r2,-0x4170(r2) | 000ec83c: 9442be90 lhu r2,-0x4170(r2) | ||
Line 100: | Line 100: | ||
000ec844: 18400064 blez r2,0x000ec9d8 | 000ec844: 18400064 blez r2,0x000ec9d8 | ||
000ec848: 00003021 addu r6,r0,r0 | 000ec848: 00003021 addu r6,r0,r0 | ||
− | 000ec84c: 340b0020 ori r11,r0,0x0020 | + | 000ec84c: 340b0020 ori r11,r0,0x0020 # 20 red |
− | 000ec850: 340a0028 ori r10,r0,0x0028 | + | 000ec850: 340a0028 ori r10,r0,0x0028 # 28 green |
− | 000ec854: 34090060 ori r9,r0,0x0060 | + | 000ec854: 34090060 ori r9,r0,0x0060 # 60 blue |
000ec858: 3c088012 lui r8,0x8012 | 000ec858: 3c088012 lui r8,0x8012 | ||
− | 000ec85c: 2508a2e6 addiu r8,r8,0xa2e6 | + | 000ec85c: 2508a2e6 addiu r8,r8,0xa2e6 # map data? |
000ec860: 00002821 addu r5,r0,r0 | 000ec860: 00002821 addu r5,r0,r0 | ||
− | 000ec864: 2507fff8 addiu r7,r8,0xfff8 | + | 000ec864: 2507fff8 addiu r7,r8,0xfff8 # r7 is r8 - 8 |
000ec868: 94e30000 lhu r3,0x0000(r7) | 000ec868: 94e30000 lhu r3,0x0000(r7) | ||
000ec86c: 3402fffe ori r2,r0,0xfffe | 000ec86c: 3402fffe ori r2,r0,0xfffe | ||
Line 112: | Line 112: | ||
000ec874: 00031042 srl r2,r3,0x01 | 000ec874: 00031042 srl r2,r3,0x01 | ||
000ec878: 3c03800f lui r3,0x800f | 000ec878: 3c03800f lui r3,0x800f | ||
− | 000ec87c: 90636860 lbu r3,0x6860(r3) | + | 000ec87c: 90636860 lbu r3,0x6860(r3) # tile ? |
000ec880: 3042007f andi r2,r2,0x007f | 000ec880: 3042007f andi r2,r2,0x007f | ||
− | 000ec884: 00430018 mult r2,r3 | + | 000ec884: 00430018 mult r2,r3 # Tile x * tile y |
000ec888: 94e30000 lhu r3,0x0000(r7) | 000ec888: 94e30000 lhu r3,0x0000(r7) | ||
000ec88c: 3c01800f lui r1,0x800f | 000ec88c: 3c01800f lui r1,0x800f | ||
Line 128: | Line 128: | ||
000ec8b4: 10400002 beq r2,r0,0x000ec8c0 | 000ec8b4: 10400002 beq r2,r0,0x000ec8c0 | ||
000ec8b8: 00801821 addu r3,r4,r0 | 000ec8b8: 00801821 addu r3,r4,r0 | ||
− | 000ec8bc: 24830100 addiu r3,r4,0x0100 | + | 000ec8bc: 24830100 addiu r3,r4,0x0100 # add 0x100 if higher elevation |
000ec8c0: 00031400 sll r2,r3,0x10 | 000ec8c0: 00031400 sll r2,r3,0x10 | ||
000ec8c4: 3c03800f lui r3,0x800f | 000ec8c4: 3c03800f lui r3,0x800f | ||
Line 137: | Line 137: | ||
000ec8d8: 00000000 nop | 000ec8d8: 00000000 nop | ||
000ec8dc: 30420020 andi r2,r2,0x0020 | 000ec8dc: 30420020 andi r2,r2,0x0020 | ||
− | 000ec8e0: 10400035 beq r2,r0,0x000ec9b8 | + | 000ec8e0: 10400035 beq r2,r0,0x000ec9b8 # branch if not reachable |
000ec8e4: 00000000 nop | 000ec8e4: 00000000 nop | ||
000ec8e8: 3c048012 lui r4,0x8012 | 000ec8e8: 3c048012 lui r4,0x8012 | ||
− | 000ec8ec: 8c84a2d4 lw r4,-0x5d2c(r4) | + | 000ec8ec: 8c84a2d4 lw r4,-0x5d2c(r4) # |
000ec8f0: 00000000 nop | 000ec8f0: 00000000 nop | ||
000ec8f4: 00852021 addu r4,r4,r5 | 000ec8f4: 00852021 addu r4,r4,r5 | ||
− | 000ec8f8: 9482000e lhu r2,0x000e(r4) | + | 000ec8f8: 9482000e lhu r2,0x000e(r4) #tile's CLUT? |
000ec8fc: a08b0004 sb r11,0x0004(r4) | 000ec8fc: a08b0004 sb r11,0x0004(r4) | ||
000ec900: 3c038012 lui r3,0x8012 | 000ec900: 3c038012 lui r3,0x8012 | ||
000ec904: 8c63a2d4 lw r3,-0x5d2c(r3) | 000ec904: 8c63a2d4 lw r3,-0x5d2c(r3) | ||
− | 000ec908: 3042803f andi r2,r2,0x803f | + | 000ec908: 3042803f andi r2,r2,0x803f #obtain clut, er, 2nd? and tile's actual palette ID |
− | 000ec90c: 34427840 ori r2,r2,0x7840 | + | 000ec90c: 34427840 ori r2,r2,0x7840 #set CLUT to 0x7840 + ID + 0x8000 for second palette set screen |
000ec910: 00651821 addu r3,r3,r5 | 000ec910: 00651821 addu r3,r3,r5 | ||
000ec914: a482000e sh r2,0x000e(r4) | 000ec914: a482000e sh r2,0x000e(r4) | ||
000ec918: a06b0010 sb r11,0x0010(r3) | 000ec918: a06b0010 sb r11,0x0010(r3) | ||
000ec91c: 3c028012 lui r2,0x8012 | 000ec91c: 3c028012 lui r2,0x8012 | ||
− | 000ec920: 8c42a2d4 lw r2,-0x5d2c(r2) | + | 000ec920: 8c42a2d4 lw r2,-0x5d2c(r2) # I'm not documenting this again, you can take a wild guess what's happening. |
000ec924: 00000000 nop | 000ec924: 00000000 nop | ||
000ec928: 00451021 addu r2,r2,r5 | 000ec928: 00451021 addu r2,r2,r5 | ||
Line 197: | Line 197: | ||
000ec9c8: 24c60001 addiu r6,r6,0x0001 | 000ec9c8: 24c60001 addiu r6,r6,0x0001 | ||
000ec9cc: 00c2102a slt r2,r6,r2 | 000ec9cc: 00c2102a slt r2,r6,r2 | ||
− | 000ec9d0: 1440ffa5 bne r2,r0,0x000ec868 | + | 000ec9d0: 1440ffa5 bne r2,r0,0x000ec868 # loop for all tiles here |
000ec9d4: 24e70018 addiu r7,r7,0x0018 | 000ec9d4: 24e70018 addiu r7,r7,0x0018 | ||
000ec9d8: 3c028010 lui r2,0x8010 | 000ec9d8: 3c028010 lui r2,0x8010 | ||
Line 204: | Line 204: | ||
000ec9e4: 18400073 blez r2,0x000ecbb4 | 000ec9e4: 18400073 blez r2,0x000ecbb4 | ||
000ec9e8: 00003021 addu r6,r0,r0 | 000ec9e8: 00003021 addu r6,r0,r0 | ||
− | 000ec9ec: 340b0020 ori r11,r0,0x0020 | + | 000ec9ec: 340b0020 ori r11,r0,0x0020 # 0x20 red |
− | 000ec9f0: 340a0028 ori r10,r0,0x0028 | + | 000ec9f0: 340a0028 ori r10,r0,0x0028 # 0x28 green |
− | 000ec9f4: 34090060 ori r9,r0,0x0060 | + | 000ec9f4: 34090060 ori r9,r0,0x0060 # 0x60 blue |
000ec9f8: 3c088012 lui r8,0x8012 | 000ec9f8: 3c088012 lui r8,0x8012 | ||
000ec9fc: 2508c4a6 addiu r8,r8,0xc4a6 | 000ec9fc: 2508c4a6 addiu r8,r8,0xc4a6 | ||
000eca00: 00002821 addu r5,r0,r0 | 000eca00: 00002821 addu r5,r0,r0 | ||
000eca04: 2507fff8 addiu r7,r8,0xfff8 | 000eca04: 2507fff8 addiu r7,r8,0xfff8 | ||
− | 000eca08: 94e30000 lhu r3,0x0000(r7) | + | 000eca08: 94e30000 lhu r3,0x0000(r7) # |
000eca0c: 3402fffe ori r2,r0,0xfffe | 000eca0c: 3402fffe ori r2,r0,0xfffe | ||
000eca10: 10620060 beq r3,r2,0x000ecb94 | 000eca10: 10620060 beq r3,r2,0x000ecb94 | ||
000eca14: 00031042 srl r2,r3,0x01 | 000eca14: 00031042 srl r2,r3,0x01 | ||
000eca18: 3c03800f lui r3,0x800f | 000eca18: 3c03800f lui r3,0x800f | ||
− | 000eca1c: 90636860 lbu r3,0x6860(r3) | + | 000eca1c: 90636860 lbu r3,0x6860(r3) # current tile ? (duplicates process for second set of map polygons) |
000eca20: 3042007f andi r2,r2,0x007f | 000eca20: 3042007f andi r2,r2,0x007f | ||
− | 000eca24: 00430018 mult r2,r3 | + | 000eca24: 00430018 mult r2,r3 # tile x * tile y |
000eca28: 94e30000 lhu r3,0x0000(r7) | 000eca28: 94e30000 lhu r3,0x0000(r7) | ||
000eca2c: 3c01800f lui r1,0x800f | 000eca2c: 3c01800f lui r1,0x800f | ||
Line 226: | Line 226: | ||
000eca3c: a4236868 sh r3,0x6868(r1) | 000eca3c: a4236868 sh r3,0x6868(r1) | ||
000eca40: 00001012 mflo r2 | 000eca40: 00001012 mflo r2 | ||
− | 000eca44: 00432021 addu r4,r2,r3 | + | 000eca44: 00432021 addu r4,r2,r3 # current tile ID |
000eca48: 94e20000 lhu r2,0x0000(r7) | 000eca48: 94e20000 lhu r2,0x0000(r7) | ||
000eca4c: 00000000 nop | 000eca4c: 00000000 nop | ||
000eca50: 30420001 andi r2,r2,0x0001 | 000eca50: 30420001 andi r2,r2,0x0001 | ||
− | 000eca54: 10400002 beq r2,r0,0x000eca60 | + | 000eca54: 10400002 beq r2,r0,0x000eca60 # branch if not higher elevation? |
000eca58: 00801821 addu r3,r4,r0 | 000eca58: 00801821 addu r3,r4,r0 | ||
− | 000eca5c: 24830100 addiu r3,r4,0x0100 | + | 000eca5c: 24830100 addiu r3,r4,0x0100 # add 0x100 tiles |
000eca60: 00031400 sll r2,r3,0x10 | 000eca60: 00031400 sll r2,r3,0x10 | ||
000eca64: 3c03800f lui r3,0x800f | 000eca64: 3c03800f lui r3,0x800f | ||
− | 000eca68: 8c636878 lw r3,0x6878(r3) | + | 000eca68: 8c636878 lw r3,0x6878(r3) # pointer to tile data |
000eca6c: 00021343 sra r2,r2,0x0d | 000eca6c: 00021343 sra r2,r2,0x0d | ||
− | 000eca70: 00431021 addu r2,r2,r3 | + | 000eca70: 00431021 addu r2,r2,r3 # pointer to current iteration's tile data |
− | 000eca74: 90420005 lbu r2,0x0005(r2) | + | 000eca74: 90420005 lbu r2,0x0005(r2) # load tile's 0x5 |
000eca78: 00000000 nop | 000eca78: 00000000 nop | ||
− | 000eca7c: 30420020 andi r2,r2,0x0020 | + | 000eca7c: 30420020 andi r2,r2,0x0020 # reachable (blue?) |
000eca80: 10400044 beq r2,r0,0x000ecb94 | 000eca80: 10400044 beq r2,r0,0x000ecb94 | ||
000eca84: 00000000 nop | 000eca84: 00000000 nop | ||
000eca88: 3c048012 lui r4,0x8012 | 000eca88: 3c048012 lui r4,0x8012 | ||
− | 000eca8c: 8c84a2d4 lw r4,-0x5d2c(r4) | + | 000eca8c: 8c84a2d4 lw r4,-0x5d2c(r4) # primative table pointer? |
000eca90: 00000000 nop | 000eca90: 00000000 nop | ||
− | 000eca94: 00852021 addu r4,r4,r5 | + | 000eca94: 00852021 addu r4,r4,r5 # polygon data index? |
000eca98: 9482384e lhu r2,0x384e(r4) | 000eca98: 9482384e lhu r2,0x384e(r4) | ||
− | 000eca9c: a08b3844 sb r11,0x3844(r4) | + | 000eca9c: a08b3844 sb r11,0x3844(r4) # store red |
000ecaa0: 3c038012 lui r3,0x8012 | 000ecaa0: 3c038012 lui r3,0x8012 | ||
000ecaa4: 8c63a2d4 lw r3,-0x5d2c(r3) | 000ecaa4: 8c63a2d4 lw r3,-0x5d2c(r3) | ||
− | 000ecaa8: 3042803f andi r2,r2,0x803f | + | 000ecaa8: 3042803f andi r2,r2,0x803f # get this data from table. I assume it's an index for screen 2 (0x8000) tile palette to reference (0x003f) |
− | 000ecaac: 34427840 ori r2,r2,0x7840 | + | 000ecaac: 34427840 ori r2,r2,0x7840 # this feels like a real wonk way to go about getting a CLUT ID. alas, |
000ecab0: 00651821 addu r3,r3,r5 | 000ecab0: 00651821 addu r3,r3,r5 | ||
− | 000ecab4: a482384e sh r2,0x384e(r4) | + | 000ecab4: a482384e sh r2,0x384e(r4) # store back again after given a proper colour reference. |
− | 000ecab8: a06b3850 sb r11,0x3850(r3) | + | 000ecab8: a06b3850 sb r11,0x3850(r3) # store red |
000ecabc: 3c028012 lui r2,0x8012 | 000ecabc: 3c028012 lui r2,0x8012 | ||
000ecac0: 8c42a2d4 lw r2,-0x5d2c(r2) | 000ecac0: 8c42a2d4 lw r2,-0x5d2c(r2) | ||
000ecac4: 00000000 nop | 000ecac4: 00000000 nop | ||
000ecac8: 00451021 addu r2,r2,r5 | 000ecac8: 00451021 addu r2,r2,r5 | ||
− | 000ecacc: a04b385c sb r11,0x385c(r2) | + | 000ecacc: a04b385c sb r11,0x385c(r2) # store red |
000ecad0: 3c028012 lui r2,0x8012 | 000ecad0: 3c028012 lui r2,0x8012 | ||
000ecad4: 8c42a2d4 lw r2,-0x5d2c(r2) | 000ecad4: 8c42a2d4 lw r2,-0x5d2c(r2) | ||
000ecad8: 00000000 nop | 000ecad8: 00000000 nop | ||
000ecadc: 00451021 addu r2,r2,r5 | 000ecadc: 00451021 addu r2,r2,r5 | ||
− | 000ecae0: a04b3868 sb r11,0x3868(r2) | + | 000ecae0: a04b3868 sb r11,0x3868(r2) # store red |
000ecae4: 3c028012 lui r2,0x8012 | 000ecae4: 3c028012 lui r2,0x8012 | ||
000ecae8: 8c42a2d4 lw r2,-0x5d2c(r2) | 000ecae8: 8c42a2d4 lw r2,-0x5d2c(r2) | ||
000ecaec: 00000000 nop | 000ecaec: 00000000 nop | ||
000ecaf0: 00451021 addu r2,r2,r5 | 000ecaf0: 00451021 addu r2,r2,r5 | ||
− | 000ecaf4: a04a3845 sb r10,0x3845(r2) | + | 000ecaf4: a04a3845 sb r10,0x3845(r2) # store green |
000ecaf8: 3c028012 lui r2,0x8012 | 000ecaf8: 3c028012 lui r2,0x8012 | ||
000ecafc: 8c42a2d4 lw r2,-0x5d2c(r2) | 000ecafc: 8c42a2d4 lw r2,-0x5d2c(r2) | ||
000ecb00: 00000000 nop | 000ecb00: 00000000 nop | ||
000ecb04: 00451021 addu r2,r2,r5 | 000ecb04: 00451021 addu r2,r2,r5 | ||
− | 000ecb08: a04a3851 sb r10,0x3851(r2) | + | 000ecb08: a04a3851 sb r10,0x3851(r2) # green |
000ecb0c: 3c028012 lui r2,0x8012 | 000ecb0c: 3c028012 lui r2,0x8012 | ||
000ecb10: 8c42a2d4 lw r2,-0x5d2c(r2) | 000ecb10: 8c42a2d4 lw r2,-0x5d2c(r2) | ||
000ecb14: 00000000 nop | 000ecb14: 00000000 nop | ||
000ecb18: 00451021 addu r2,r2,r5 | 000ecb18: 00451021 addu r2,r2,r5 | ||
− | 000ecb1c: a04a385d sb r10,0x385d(r2) | + | 000ecb1c: a04a385d sb r10,0x385d(r2) # green |
000ecb20: 3c028012 lui r2,0x8012 | 000ecb20: 3c028012 lui r2,0x8012 | ||
000ecb24: 8c42a2d4 lw r2,-0x5d2c(r2) | 000ecb24: 8c42a2d4 lw r2,-0x5d2c(r2) | ||
Line 290: | Line 290: | ||
000ecb3c: 00000000 nop | 000ecb3c: 00000000 nop | ||
000ecb40: 00451021 addu r2,r2,r5 | 000ecb40: 00451021 addu r2,r2,r5 | ||
− | 000ecb44: a0493846 sb r9,0x3846(r2) | + | 000ecb44: a0493846 sb r9,0x3846(r2) # blue |
000ecb48: 3c028012 lui r2,0x8012 | 000ecb48: 3c028012 lui r2,0x8012 | ||
000ecb4c: 8c42a2d4 lw r2,-0x5d2c(r2) | 000ecb4c: 8c42a2d4 lw r2,-0x5d2c(r2) | ||
Line 306: | Line 306: | ||
000ecb7c: 00451021 addu r2,r2,r5 | 000ecb7c: 00451021 addu r2,r2,r5 | ||
000ecb80: a049386a sb r9,0x386a(r2) | 000ecb80: a049386a sb r9,0x386a(r2) | ||
− | 000ecb84: 95020000 lhu r2,0x0000(r8) | + | 000ecb84: 95020000 lhu r2,0x0000(r8) # |
000ecb88: 00000000 nop | 000ecb88: 00000000 nop | ||
− | 000ecb8c: 3042fffe andi r2,r2,0xfffe | + | 000ecb8c: 3042fffe andi r2,r2,0xfffe # remove 0x2 flag |
000ecb90: a5020000 sh r2,0x0000(r8) | 000ecb90: a5020000 sh r2,0x0000(r8) | ||
− | 000ecb94: 25080020 addiu r8,r8,0x0020 | + | 000ecb94: 25080020 addiu r8,r8,0x0020 # increment? |
− | 000ecb98: 24a50034 addiu r5,r5,0x0034 | + | 000ecb98: 24a50034 addiu r5,r5,0x0034 # next polygon |
000ecb9c: 3c028010 lui r2,0x8010 | 000ecb9c: 3c028010 lui r2,0x8010 | ||
000ecba0: 9442be92 lhu r2,-0x416e(r2) | 000ecba0: 9442be92 lhu r2,-0x416e(r2) | ||
000ecba4: 24c60001 addiu r6,r6,0x0001 | 000ecba4: 24c60001 addiu r6,r6,0x0001 | ||
000ecba8: 00c2102a slt r2,r6,r2 | 000ecba8: 00c2102a slt r2,r6,r2 | ||
− | 000ecbac: 1440ff96 bne r2,r0,0x000eca08 | + | 000ecbac: 1440ff96 bne r2,r0,0x000eca08 # loop while not done all polygons |
000ecbb0: 24e70020 addiu r7,r7,0x0020 | 000ecbb0: 24e70020 addiu r7,r7,0x0020 | ||
000ecbb4: 3c03800f lui r3,0x800f | 000ecbb4: 3c03800f lui r3,0x800f |
Latest revision as of 11:51, 28 June 2023
# ROUTINE: BACKGROUND TILE COLOR FOR TARGETING/MOVEMENT? (PARTIAL TILES?) 0xec718 # Seems to affect whether a panel turns yellow when the target tile of an ability is selected. # Parameters: # r4 = ? [Parameter 1] (Sometimes = 7) # r5 = ? [Parameter 2] (Sometimes = 3) # (No return value.) 000ec718: 27bdff38 addiu r29,r29,-0x00c8 000ec71c: 3c028019 lui r2,0x8019 000ec720: 2442f8cc addiu r2,r2,-0x0734 # Tile Data base pointer (0x8018f8cc) 000ec724: 3c01800f lui r1,0x800f 000ec728: ac226878 sw r2,0x6878(r1) # ? pointer (at 0x800f6878) = Tile Data base pointer (0x8018f8cc) 000ec72c: 2c820009 sltiu r2,r4,0x0009 000ec730: 10400670 beq r2,r0,0x000ee0f4 # if ([Parameter 1] >= 9), return 000ec734: afbf00c0 sw r31,0x00c0(r29) 000ec738: 00041080 sll r2,r4,0x02 000ec73c: 3c01800e lui r1,0x800e 000ec740: 00220821 addu r1,r1,r2 000ec744: 8c226b70 lw r2,0x6b70(r1) # Load code pointer from offset table starting at address 0x800e6b70 000ec748: 00000000 nop 000ec74c: 00400008 jr r2 # (Jump to appropriate code - see table and switch statement below) 000ec750: 00000000 nop # [Parameter 1] [RAM Address] [Code pointer] # 0 800e6b70 800ec754 # 1 800e6b74 800ec838 # 2 800e6b78 800ecfc8 # 3 800e6b7c 800ed388 # 4 800e6b80 800ee0f4 # 5 800e6b84 800ecbf8 # 6 800e6b88 800ee0f4 # 7 800e6b8c 800ed758 # 8 800e6b90 800edb50 # if ([Parameter 1] is 4 or 6), return # switch ([Parameter 1]) { # case 0: 000ec754: 3c048010 lui r4,0x8010 000ec758: 2484be90 addiu r4,r4,-0x4170 # 0x800fbe90 000ec75c: 94820000 lhu r2,0x0000(r4) 000ec760: 00000000 nop 000ec764: 1840000e blez r2,0x000ec7a0 000ec768: 00003021 addu r6,r0,r0 000ec76c: 3c038012 lui r3,0x8012 000ec770: 8c63a2d4 lw r3,-0x5d2c(r3) 000ec774: 00000000 nop 000ec778: 9462000e lhu r2,0x000e(r3) 000ec77c: 24c60001 addiu r6,r6,0x0001 000ec780: 3042803f andi r2,r2,0x803f 000ec784: 34427800 ori r2,r2,0x7800 000ec788: a462000e sh r2,0x000e(r3) 000ec78c: 94820000 lhu r2,0x0000(r4) 000ec790: 00000000 nop 000ec794: 00c2102a slt r2,r6,r2 000ec798: 1440fff6 bne r2,r0,0x000ec774 000ec79c: 24630028 addiu r3,r3,0x0028 000ec7a0: 3c048010 lui r4,0x8010 000ec7a4: 2484be92 addiu r4,r4,-0x416e # 0x800fbe92 000ec7a8: 94820000 lhu r2,0x0000(r4) 000ec7ac: 00000000 nop 000ec7b0: 1840000e blez r2,0x000ec7ec 000ec7b4: 00003021 addu r6,r0,r0 000ec7b8: 3c038012 lui r3,0x8012 000ec7bc: 8c63a2d4 lw r3,-0x5d2c(r3) 000ec7c0: 00000000 nop 000ec7c4: 9462384e lhu r2,0x384e(r3) 000ec7c8: 24c60001 addiu r6,r6,0x0001 000ec7cc: 3042803f andi r2,r2,0x803f 000ec7d0: 34427800 ori r2,r2,0x7800 000ec7d4: a462384e sh r2,0x384e(r3) 000ec7d8: 94820000 lhu r2,0x0000(r4) 000ec7dc: 00000000 nop 000ec7e0: 00c2102a slt r2,r6,r2 000ec7e4: 1440fff6 bne r2,r0,0x000ec7c0 000ec7e8: 24630034 addiu r3,r3,0x0034 000ec7ec: 34020005 ori r2,r0,0x0005 000ec7f0: 3c01800f lui r1,0x800f 000ec7f4: a4226870 sh r2,0x6870(r1) 000ec7f8: 34020003 ori r2,r0,0x0003 000ec7fc: 3c01800f lui r1,0x800f 000ec800: a4226872 sh r2,0x6872(r1) 000ec804: 34020008 ori r2,r0,0x0008 000ec808: 3c01800f lui r1,0x800f 000ec80c: a4226874 sh r2,0x6874(r1) 000ec810: 0c039ca8 jal 0x000e72a0 000ec814: 34040046 ori r4,r0,0x0046 000ec818: 0c039ca8 jal 0x000e72a0 000ec81c: 34040094 ori r4,r0,0x0094 000ec820: 3c028012 lui r2,0x8012 000ec824: 8c42a2d4 lw r2,-0x5d2c(r2) 000ec828: 3c01800f lui r1,0x800f 000ec82c: ac2279b8 sw r2,0x79b8(r1) 000ec830: 0803b83d j 0x000ee0f4 000ec834: 00000000 nop # break; # case 1: (colouring tiles blue if moveable) 000ec838: 3c028010 lui r2,0x8010 000ec83c: 9442be90 lhu r2,-0x4170(r2) 000ec840: 00000000 nop 000ec844: 18400064 blez r2,0x000ec9d8 000ec848: 00003021 addu r6,r0,r0 000ec84c: 340b0020 ori r11,r0,0x0020 # 20 red 000ec850: 340a0028 ori r10,r0,0x0028 # 28 green 000ec854: 34090060 ori r9,r0,0x0060 # 60 blue 000ec858: 3c088012 lui r8,0x8012 000ec85c: 2508a2e6 addiu r8,r8,0xa2e6 # map data? 000ec860: 00002821 addu r5,r0,r0 000ec864: 2507fff8 addiu r7,r8,0xfff8 # r7 is r8 - 8 000ec868: 94e30000 lhu r3,0x0000(r7) 000ec86c: 3402fffe ori r2,r0,0xfffe 000ec870: 10620051 beq r3,r2,0x000ec9b8 000ec874: 00031042 srl r2,r3,0x01 000ec878: 3c03800f lui r3,0x800f 000ec87c: 90636860 lbu r3,0x6860(r3) # tile ? 000ec880: 3042007f andi r2,r2,0x007f 000ec884: 00430018 mult r2,r3 # Tile x * tile y 000ec888: 94e30000 lhu r3,0x0000(r7) 000ec88c: 3c01800f lui r1,0x800f 000ec890: a422686c sh r2,0x686c(r1) 000ec894: 00031a02 srl r3,r3,0x08 000ec898: 3c01800f lui r1,0x800f 000ec89c: a4236868 sh r3,0x6868(r1) 000ec8a0: 00001012 mflo r2 000ec8a4: 00432021 addu r4,r2,r3 000ec8a8: 94e20000 lhu r2,0x0000(r7) 000ec8ac: 00000000 nop 000ec8b0: 30420001 andi r2,r2,0x0001 000ec8b4: 10400002 beq r2,r0,0x000ec8c0 000ec8b8: 00801821 addu r3,r4,r0 000ec8bc: 24830100 addiu r3,r4,0x0100 # add 0x100 if higher elevation 000ec8c0: 00031400 sll r2,r3,0x10 000ec8c4: 3c03800f lui r3,0x800f 000ec8c8: 8c636878 lw r3,0x6878(r3) 000ec8cc: 00021343 sra r2,r2,0x0d 000ec8d0: 00431021 addu r2,r2,r3 000ec8d4: 90420005 lbu r2,0x0005(r2) 000ec8d8: 00000000 nop 000ec8dc: 30420020 andi r2,r2,0x0020 000ec8e0: 10400035 beq r2,r0,0x000ec9b8 # branch if not reachable 000ec8e4: 00000000 nop 000ec8e8: 3c048012 lui r4,0x8012 000ec8ec: 8c84a2d4 lw r4,-0x5d2c(r4) # 000ec8f0: 00000000 nop 000ec8f4: 00852021 addu r4,r4,r5 000ec8f8: 9482000e lhu r2,0x000e(r4) #tile's CLUT? 000ec8fc: a08b0004 sb r11,0x0004(r4) 000ec900: 3c038012 lui r3,0x8012 000ec904: 8c63a2d4 lw r3,-0x5d2c(r3) 000ec908: 3042803f andi r2,r2,0x803f #obtain clut, er, 2nd? and tile's actual palette ID 000ec90c: 34427840 ori r2,r2,0x7840 #set CLUT to 0x7840 + ID + 0x8000 for second palette set screen 000ec910: 00651821 addu r3,r3,r5 000ec914: a482000e sh r2,0x000e(r4) 000ec918: a06b0010 sb r11,0x0010(r3) 000ec91c: 3c028012 lui r2,0x8012 000ec920: 8c42a2d4 lw r2,-0x5d2c(r2) # I'm not documenting this again, you can take a wild guess what's happening. 000ec924: 00000000 nop 000ec928: 00451021 addu r2,r2,r5 000ec92c: a04b001c sb r11,0x001c(r2) 000ec930: 3c028012 lui r2,0x8012 000ec934: 8c42a2d4 lw r2,-0x5d2c(r2) 000ec938: 00000000 nop 000ec93c: 00451021 addu r2,r2,r5 000ec940: a04a0005 sb r10,0x0005(r2) 000ec944: 3c028012 lui r2,0x8012 000ec948: 8c42a2d4 lw r2,-0x5d2c(r2) 000ec94c: 00000000 nop 000ec950: 00451021 addu r2,r2,r5 000ec954: a04a0011 sb r10,0x0011(r2) 000ec958: 3c028012 lui r2,0x8012 000ec95c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ec960: 00000000 nop 000ec964: 00451021 addu r2,r2,r5 000ec968: a04a001d sb r10,0x001d(r2) 000ec96c: 3c028012 lui r2,0x8012 000ec970: 8c42a2d4 lw r2,-0x5d2c(r2) 000ec974: 00000000 nop 000ec978: 00451021 addu r2,r2,r5 000ec97c: a0490006 sb r9,0x0006(r2) 000ec980: 3c028012 lui r2,0x8012 000ec984: 8c42a2d4 lw r2,-0x5d2c(r2) 000ec988: 00000000 nop 000ec98c: 00451021 addu r2,r2,r5 000ec990: a0490012 sb r9,0x0012(r2) 000ec994: 3c028012 lui r2,0x8012 000ec998: 8c42a2d4 lw r2,-0x5d2c(r2) 000ec99c: 00000000 nop 000ec9a0: 00451021 addu r2,r2,r5 000ec9a4: a049001e sb r9,0x001e(r2) 000ec9a8: 95020000 lhu r2,0x0000(r8) 000ec9ac: 00000000 nop 000ec9b0: 3042fffe andi r2,r2,0xfffe 000ec9b4: a5020000 sh r2,0x0000(r8) 000ec9b8: 25080018 addiu r8,r8,0x0018 000ec9bc: 24a50028 addiu r5,r5,0x0028 000ec9c0: 3c028010 lui r2,0x8010 000ec9c4: 9442be90 lhu r2,-0x4170(r2) 000ec9c8: 24c60001 addiu r6,r6,0x0001 000ec9cc: 00c2102a slt r2,r6,r2 000ec9d0: 1440ffa5 bne r2,r0,0x000ec868 # loop for all tiles here 000ec9d4: 24e70018 addiu r7,r7,0x0018 000ec9d8: 3c028010 lui r2,0x8010 000ec9dc: 9442be92 lhu r2,-0x416e(r2) 000ec9e0: 00000000 nop 000ec9e4: 18400073 blez r2,0x000ecbb4 000ec9e8: 00003021 addu r6,r0,r0 000ec9ec: 340b0020 ori r11,r0,0x0020 # 0x20 red 000ec9f0: 340a0028 ori r10,r0,0x0028 # 0x28 green 000ec9f4: 34090060 ori r9,r0,0x0060 # 0x60 blue 000ec9f8: 3c088012 lui r8,0x8012 000ec9fc: 2508c4a6 addiu r8,r8,0xc4a6 000eca00: 00002821 addu r5,r0,r0 000eca04: 2507fff8 addiu r7,r8,0xfff8 000eca08: 94e30000 lhu r3,0x0000(r7) # 000eca0c: 3402fffe ori r2,r0,0xfffe 000eca10: 10620060 beq r3,r2,0x000ecb94 000eca14: 00031042 srl r2,r3,0x01 000eca18: 3c03800f lui r3,0x800f 000eca1c: 90636860 lbu r3,0x6860(r3) # current tile ? (duplicates process for second set of map polygons) 000eca20: 3042007f andi r2,r2,0x007f 000eca24: 00430018 mult r2,r3 # tile x * tile y 000eca28: 94e30000 lhu r3,0x0000(r7) 000eca2c: 3c01800f lui r1,0x800f 000eca30: a422686c sh r2,0x686c(r1) 000eca34: 00031a02 srl r3,r3,0x08 000eca38: 3c01800f lui r1,0x800f 000eca3c: a4236868 sh r3,0x6868(r1) 000eca40: 00001012 mflo r2 000eca44: 00432021 addu r4,r2,r3 # current tile ID 000eca48: 94e20000 lhu r2,0x0000(r7) 000eca4c: 00000000 nop 000eca50: 30420001 andi r2,r2,0x0001 000eca54: 10400002 beq r2,r0,0x000eca60 # branch if not higher elevation? 000eca58: 00801821 addu r3,r4,r0 000eca5c: 24830100 addiu r3,r4,0x0100 # add 0x100 tiles 000eca60: 00031400 sll r2,r3,0x10 000eca64: 3c03800f lui r3,0x800f 000eca68: 8c636878 lw r3,0x6878(r3) # pointer to tile data 000eca6c: 00021343 sra r2,r2,0x0d 000eca70: 00431021 addu r2,r2,r3 # pointer to current iteration's tile data 000eca74: 90420005 lbu r2,0x0005(r2) # load tile's 0x5 000eca78: 00000000 nop 000eca7c: 30420020 andi r2,r2,0x0020 # reachable (blue?) 000eca80: 10400044 beq r2,r0,0x000ecb94 000eca84: 00000000 nop 000eca88: 3c048012 lui r4,0x8012 000eca8c: 8c84a2d4 lw r4,-0x5d2c(r4) # primative table pointer? 000eca90: 00000000 nop 000eca94: 00852021 addu r4,r4,r5 # polygon data index? 000eca98: 9482384e lhu r2,0x384e(r4) 000eca9c: a08b3844 sb r11,0x3844(r4) # store red 000ecaa0: 3c038012 lui r3,0x8012 000ecaa4: 8c63a2d4 lw r3,-0x5d2c(r3) 000ecaa8: 3042803f andi r2,r2,0x803f # get this data from table. I assume it's an index for screen 2 (0x8000) tile palette to reference (0x003f) 000ecaac: 34427840 ori r2,r2,0x7840 # this feels like a real wonk way to go about getting a CLUT ID. alas, 000ecab0: 00651821 addu r3,r3,r5 000ecab4: a482384e sh r2,0x384e(r4) # store back again after given a proper colour reference. 000ecab8: a06b3850 sb r11,0x3850(r3) # store red 000ecabc: 3c028012 lui r2,0x8012 000ecac0: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecac4: 00000000 nop 000ecac8: 00451021 addu r2,r2,r5 000ecacc: a04b385c sb r11,0x385c(r2) # store red 000ecad0: 3c028012 lui r2,0x8012 000ecad4: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecad8: 00000000 nop 000ecadc: 00451021 addu r2,r2,r5 000ecae0: a04b3868 sb r11,0x3868(r2) # store red 000ecae4: 3c028012 lui r2,0x8012 000ecae8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecaec: 00000000 nop 000ecaf0: 00451021 addu r2,r2,r5 000ecaf4: a04a3845 sb r10,0x3845(r2) # store green 000ecaf8: 3c028012 lui r2,0x8012 000ecafc: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecb00: 00000000 nop 000ecb04: 00451021 addu r2,r2,r5 000ecb08: a04a3851 sb r10,0x3851(r2) # green 000ecb0c: 3c028012 lui r2,0x8012 000ecb10: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecb14: 00000000 nop 000ecb18: 00451021 addu r2,r2,r5 000ecb1c: a04a385d sb r10,0x385d(r2) # green 000ecb20: 3c028012 lui r2,0x8012 000ecb24: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecb28: 00000000 nop 000ecb2c: 00451021 addu r2,r2,r5 000ecb30: a04a3869 sb r10,0x3869(r2) 000ecb34: 3c028012 lui r2,0x8012 000ecb38: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecb3c: 00000000 nop 000ecb40: 00451021 addu r2,r2,r5 000ecb44: a0493846 sb r9,0x3846(r2) # blue 000ecb48: 3c028012 lui r2,0x8012 000ecb4c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecb50: 00000000 nop 000ecb54: 00451021 addu r2,r2,r5 000ecb58: a0493852 sb r9,0x3852(r2) 000ecb5c: 3c028012 lui r2,0x8012 000ecb60: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecb64: 00000000 nop 000ecb68: 00451021 addu r2,r2,r5 000ecb6c: a049385e sb r9,0x385e(r2) 000ecb70: 3c028012 lui r2,0x8012 000ecb74: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecb78: 00000000 nop 000ecb7c: 00451021 addu r2,r2,r5 000ecb80: a049386a sb r9,0x386a(r2) 000ecb84: 95020000 lhu r2,0x0000(r8) # 000ecb88: 00000000 nop 000ecb8c: 3042fffe andi r2,r2,0xfffe # remove 0x2 flag 000ecb90: a5020000 sh r2,0x0000(r8) 000ecb94: 25080020 addiu r8,r8,0x0020 # increment? 000ecb98: 24a50034 addiu r5,r5,0x0034 # next polygon 000ecb9c: 3c028010 lui r2,0x8010 000ecba0: 9442be92 lhu r2,-0x416e(r2) 000ecba4: 24c60001 addiu r6,r6,0x0001 000ecba8: 00c2102a slt r2,r6,r2 000ecbac: 1440ff96 bne r2,r0,0x000eca08 # loop while not done all polygons 000ecbb0: 24e70020 addiu r7,r7,0x0020 000ecbb4: 3c03800f lui r3,0x800f 000ecbb8: 94636872 lhu r3,0x6872(r3) 000ecbbc: 3c04800f lui r4,0x800f 000ecbc0: 94846874 lhu r4,0x6874(r4) 000ecbc4: 34020001 ori r2,r0,0x0001 000ecbc8: 3c01800f lui r1,0x800f 000ecbcc: a4226870 sh r2,0x6870(r1) 000ecbd0: 00641025 or r2,r3,r4 000ecbd4: 104003d1 beq r2,r0,0x000edb1c 000ecbd8: 00031400 sll r2,r3,0x10 000ecbdc: 00021403 sra r2,r2,0x10 000ecbe0: 34030003 ori r3,r0,0x0003 000ecbe4: 14430543 bne r2,r3,0x000ee0f4 000ecbe8: 00041400 sll r2,r4,0x10 000ecbec: 00021403 sra r2,r2,0x10 000ecbf0: 0803b6c5 j 0x000edb14 000ecbf4: 34030008 ori r3,r0,0x0008 # break; # case 5: 000ecbf8: 3c028010 lui r2,0x8010 000ecbfc: 9442be90 lhu r2,-0x4170(r2) 000ecc00: 00000000 nop 000ecc04: 1840006b blez r2,0x000ecdb4 000ecc08: 00003021 addu r6,r0,r0 000ecc0c: 3c07800f lui r7,0x800f 000ecc10: 24e76854 addiu r7,r7,0x6854 000ecc14: 3c098012 lui r9,0x8012 000ecc18: 2529a2e6 addiu r9,r9,0xa2e6 000ecc1c: 00002821 addu r5,r0,r0 000ecc20: 2528fff8 addiu r8,r9,0xfff8 000ecc24: 95030000 lhu r3,0x0000(r8) 000ecc28: 3402fffe ori r2,r0,0xfffe 000ecc2c: 10620059 beq r3,r2,0x000ecd94 000ecc30: 00031042 srl r2,r3,0x01 000ecc34: 3c03800f lui r3,0x800f 000ecc38: 90636860 lbu r3,0x6860(r3) 000ecc3c: 3042007f andi r2,r2,0x007f 000ecc40: 00430018 mult r2,r3 000ecc44: 95030000 lhu r3,0x0000(r8) 000ecc48: 3c01800f lui r1,0x800f 000ecc4c: a422686c sh r2,0x686c(r1) 000ecc50: 00031a02 srl r3,r3,0x08 000ecc54: 3c01800f lui r1,0x800f 000ecc58: a4236868 sh r3,0x6868(r1) 000ecc5c: 00001012 mflo r2 000ecc60: 00432021 addu r4,r2,r3 000ecc64: 95020000 lhu r2,0x0000(r8) 000ecc68: 00000000 nop 000ecc6c: 30420001 andi r2,r2,0x0001 000ecc70: 10400002 beq r2,r0,0x000ecc7c 000ecc74: 00801821 addu r3,r4,r0 000ecc78: 24830100 addiu r3,r4,0x0100 000ecc7c: 00031400 sll r2,r3,0x10 000ecc80: 3c03800f lui r3,0x800f 000ecc84: 8c636878 lw r3,0x6878(r3) 000ecc88: 00021343 sra r2,r2,0x0d 000ecc8c: 00431021 addu r2,r2,r3 000ecc90: 90420005 lbu r2,0x0005(r2) 000ecc94: 00000000 nop 000ecc98: 30420020 andi r2,r2,0x0020 000ecc9c: 1040003d beq r2,r0,0x000ecd94 000ecca0: 00000000 nop 000ecca4: 3c028012 lui r2,0x8012 000ecca8: 8c42a2d4 lw r2,-0x5d2c(r2) 000eccac: 00000000 nop 000eccb0: 00452021 addu r4,r2,r5 000eccb4: 9482000e lhu r2,0x000e(r4) 000eccb8: 00000000 nop 000eccbc: 3042803f andi r2,r2,0x803f 000eccc0: 34427800 ori r2,r2,0x7800 000eccc4: a482000e sh r2,0x000e(r4) 000eccc8: 85220000 lh r2,0x0000(r9) 000ecccc: 00000000 nop 000eccd0: 00401821 addu r3,r2,r0 000eccd4: 30428000 andi r2,r2,0x8000 000eccd8: 10400003 beq r2,r0,0x000ecce8 000eccdc: 34620001 ori r2,r3,0x0001 000ecce0: 0803b365 j 0x000ecd94 000ecce4: a5220000 sh r2,0x0000(r9) 000ecce8: 90e20000 lbu r2,0x0000(r7) 000eccec: 00000000 nop 000eccf0: a0820004 sb r2,0x0004(r4) 000eccf4: 3c028012 lui r2,0x8012 000eccf8: 8c42a2d4 lw r2,-0x5d2c(r2) 000eccfc: 90e30001 lbu r3,0x0001(r7) 000ecd00: 00a21021 addu r2,r5,r2 000ecd04: a0430005 sb r3,0x0005(r2) 000ecd08: 3c028012 lui r2,0x8012 000ecd0c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecd10: 90e30002 lbu r3,0x0002(r7) 000ecd14: 00a21021 addu r2,r5,r2 000ecd18: a0430006 sb r3,0x0006(r2) 000ecd1c: 3c028012 lui r2,0x8012 000ecd20: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecd24: 90e30000 lbu r3,0x0000(r7) 000ecd28: 00a21021 addu r2,r5,r2 000ecd2c: a0430010 sb r3,0x0010(r2) 000ecd30: 3c028012 lui r2,0x8012 000ecd34: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecd38: 90e30001 lbu r3,0x0001(r7) 000ecd3c: 00a21021 addu r2,r5,r2 000ecd40: a0430011 sb r3,0x0011(r2) 000ecd44: 3c028012 lui r2,0x8012 000ecd48: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecd4c: 90e30002 lbu r3,0x0002(r7) 000ecd50: 00a21021 addu r2,r5,r2 000ecd54: a0430012 sb r3,0x0012(r2) 000ecd58: 3c028012 lui r2,0x8012 000ecd5c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecd60: 90e30000 lbu r3,0x0000(r7) 000ecd64: 00a21021 addu r2,r5,r2 000ecd68: a043001c sb r3,0x001c(r2) 000ecd6c: 3c028012 lui r2,0x8012 000ecd70: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecd74: 90e30001 lbu r3,0x0001(r7) 000ecd78: 00a21021 addu r2,r5,r2 000ecd7c: a043001d sb r3,0x001d(r2) 000ecd80: 3c028012 lui r2,0x8012 000ecd84: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecd88: 90e30002 lbu r3,0x0002(r7) 000ecd8c: 00a21021 addu r2,r5,r2 000ecd90: a043001e sb r3,0x001e(r2) 000ecd94: 25290018 addiu r9,r9,0x0018 000ecd98: 24a50028 addiu r5,r5,0x0028 000ecd9c: 3c028010 lui r2,0x8010 000ecda0: 9442be90 lhu r2,-0x4170(r2) 000ecda4: 24c60001 addiu r6,r6,0x0001 000ecda8: 00c2102a slt r2,r6,r2 000ecdac: 1440ff9d bne r2,r0,0x000ecc24 000ecdb0: 25080018 addiu r8,r8,0x0018 000ecdb4: 3c028010 lui r2,0x8010 000ecdb8: 9442be92 lhu r2,-0x416e(r2) 000ecdbc: 00000000 nop 000ecdc0: 1840007a blez r2,0x000ecfac 000ecdc4: 00003021 addu r6,r0,r0 000ecdc8: 3c07800f lui r7,0x800f 000ecdcc: 24e76854 addiu r7,r7,0x6854 000ecdd0: 3c098012 lui r9,0x8012 000ecdd4: 2529c4a6 addiu r9,r9,0xc4a6 000ecdd8: 00002821 addu r5,r0,r0 000ecddc: 2528fff8 addiu r8,r9,0xfff8 000ecde0: 95030000 lhu r3,0x0000(r8) 000ecde4: 3402fffe ori r2,r0,0xfffe 000ecde8: 10620068 beq r3,r2,0x000ecf8c 000ecdec: 00031042 srl r2,r3,0x01 000ecdf0: 3c03800f lui r3,0x800f 000ecdf4: 90636860 lbu r3,0x6860(r3) 000ecdf8: 3042007f andi r2,r2,0x007f 000ecdfc: 00430018 mult r2,r3 000ece00: 95030000 lhu r3,0x0000(r8) 000ece04: 3c01800f lui r1,0x800f 000ece08: a422686c sh r2,0x686c(r1) 000ece0c: 00031a02 srl r3,r3,0x08 000ece10: 3c01800f lui r1,0x800f 000ece14: a4236868 sh r3,0x6868(r1) 000ece18: 00001012 mflo r2 000ece1c: 00432021 addu r4,r2,r3 000ece20: 95020000 lhu r2,0x0000(r8) 000ece24: 00000000 nop 000ece28: 30420001 andi r2,r2,0x0001 000ece2c: 10400002 beq r2,r0,0x000ece38 000ece30: 00801821 addu r3,r4,r0 000ece34: 24830100 addiu r3,r4,0x0100 000ece38: 00031400 sll r2,r3,0x10 000ece3c: 3c03800f lui r3,0x800f 000ece40: 8c636878 lw r3,0x6878(r3) 000ece44: 00021343 sra r2,r2,0x0d 000ece48: 00431021 addu r2,r2,r3 000ece4c: 90420005 lbu r2,0x0005(r2) 000ece50: 00000000 nop 000ece54: 30420020 andi r2,r2,0x0020 000ece58: 1040004c beq r2,r0,0x000ecf8c 000ece5c: 00000000 nop 000ece60: 3c028012 lui r2,0x8012 000ece64: 8c42a2d4 lw r2,-0x5d2c(r2) 000ece68: 00000000 nop 000ece6c: 00452021 addu r4,r2,r5 000ece70: 9482384e lhu r2,0x384e(r4) 000ece74: 00000000 nop 000ece78: 3042803f andi r2,r2,0x803f 000ece7c: 34427800 ori r2,r2,0x7800 000ece80: a482384e sh r2,0x384e(r4) 000ece84: 85220000 lh r2,0x0000(r9) 000ece88: 00000000 nop 000ece8c: 00401821 addu r3,r2,r0 000ece90: 30428000 andi r2,r2,0x8000 000ece94: 10400003 beq r2,r0,0x000ecea4 000ece98: 34620001 ori r2,r3,0x0001 000ece9c: 0803b3e3 j 0x000ecf8c 000ecea0: a5220000 sh r2,0x0000(r9) 000ecea4: 90e20000 lbu r2,0x0000(r7) 000ecea8: 00000000 nop 000eceac: a0823844 sb r2,0x3844(r4) 000eceb0: 3c028012 lui r2,0x8012 000eceb4: 8c42a2d4 lw r2,-0x5d2c(r2) 000eceb8: 90e30001 lbu r3,0x0001(r7) 000ecebc: 00a21021 addu r2,r5,r2 000ecec0: a0433845 sb r3,0x3845(r2) 000ecec4: 3c028012 lui r2,0x8012 000ecec8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ececc: 90e30002 lbu r3,0x0002(r7) 000eced0: 00a21021 addu r2,r5,r2 000eced4: a0433846 sb r3,0x3846(r2) 000eced8: 3c028012 lui r2,0x8012 000ecedc: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecee0: 90e30000 lbu r3,0x0000(r7) 000ecee4: 00a21021 addu r2,r5,r2 000ecee8: a0433850 sb r3,0x3850(r2) 000eceec: 3c028012 lui r2,0x8012 000ecef0: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecef4: 90e30001 lbu r3,0x0001(r7) 000ecef8: 00a21021 addu r2,r5,r2 000ecefc: a0433851 sb r3,0x3851(r2) 000ecf00: 3c028012 lui r2,0x8012 000ecf04: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecf08: 90e30002 lbu r3,0x0002(r7) 000ecf0c: 00a21021 addu r2,r5,r2 000ecf10: a0433852 sb r3,0x3852(r2) 000ecf14: 3c028012 lui r2,0x8012 000ecf18: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecf1c: 90e30000 lbu r3,0x0000(r7) 000ecf20: 00a21021 addu r2,r5,r2 000ecf24: a043385c sb r3,0x385c(r2) 000ecf28: 3c028012 lui r2,0x8012 000ecf2c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecf30: 90e30001 lbu r3,0x0001(r7) 000ecf34: 00a21021 addu r2,r5,r2 000ecf38: a043385d sb r3,0x385d(r2) 000ecf3c: 3c028012 lui r2,0x8012 000ecf40: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecf44: 90e30002 lbu r3,0x0002(r7) 000ecf48: 00a21021 addu r2,r5,r2 000ecf4c: a043385e sb r3,0x385e(r2) 000ecf50: 3c028012 lui r2,0x8012 000ecf54: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecf58: 90e30000 lbu r3,0x0000(r7) 000ecf5c: 00a21021 addu r2,r5,r2 000ecf60: a0433868 sb r3,0x3868(r2) 000ecf64: 3c028012 lui r2,0x8012 000ecf68: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecf6c: 90e30001 lbu r3,0x0001(r7) 000ecf70: 00a21021 addu r2,r5,r2 000ecf74: a0433869 sb r3,0x3869(r2) 000ecf78: 3c028012 lui r2,0x8012 000ecf7c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ecf80: 90e30002 lbu r3,0x0002(r7) 000ecf84: 00a21021 addu r2,r5,r2 000ecf88: a043386a sb r3,0x386a(r2) 000ecf8c: 25290020 addiu r9,r9,0x0020 000ecf90: 24a50034 addiu r5,r5,0x0034 000ecf94: 3c028010 lui r2,0x8010 000ecf98: 9442be92 lhu r2,-0x416e(r2) 000ecf9c: 24c60001 addiu r6,r6,0x0001 000ecfa0: 00c2102a slt r2,r6,r2 000ecfa4: 1440ff8e bne r2,r0,0x000ecde0 000ecfa8: 25080020 addiu r8,r8,0x0020 000ecfac: 3c038012 lui r3,0x8012 000ecfb0: 8c63a2d4 lw r3,-0x5d2c(r3) 000ecfb4: 34020005 ori r2,r0,0x0005 000ecfb8: 3c01800f lui r1,0x800f 000ecfbc: a4226870 sh r2,0x6870(r1) 000ecfc0: 0803b83b j 0x000ee0ec 000ecfc4: 00000000 nop # break; # case 2: # (Sets tile back to red when deselecting?) 000ecfc8: 3c028010 lui r2,0x8010 000ecfcc: 9442be90 lhu r2,-0x4170(r2) 000ecfd0: 00000000 nop 000ecfd4: 18400064 blez r2,0x000ed168 000ecfd8: 00003021 addu r6,r0,r0 000ecfdc: 340b0060 ori r11,r0,0x0060 # [Red value] = 0x60 (96) 000ecfe0: 340a0018 ori r10,r0,0x0018 # [Green value] = 0x18 (24) 000ecfe4: 34090020 ori r9,r0,0x0020 # [Blue value] = 0x20 (32) 000ecfe8: 3c088012 lui r8,0x8012 000ecfec: 2508a2e6 addiu r8,r8,0xa2e6 000ecff0: 00002821 addu r5,r0,r0 000ecff4: 2507fff8 addiu r7,r8,0xfff8 000ecff8: 94e30000 lhu r3,0x0000(r7) 000ecffc: 3402fffe ori r2,r0,0xfffe 000ed000: 10620051 beq r3,r2,0x000ed148 000ed004: 00031042 srl r2,r3,0x01 000ed008: 3c03800f lui r3,0x800f 000ed00c: 90636860 lbu r3,0x6860(r3) 000ed010: 3042007f andi r2,r2,0x007f 000ed014: 00430018 mult r2,r3 000ed018: 94e30000 lhu r3,0x0000(r7) 000ed01c: 3c01800f lui r1,0x800f 000ed020: a422686c sh r2,0x686c(r1) 000ed024: 00031a02 srl r3,r3,0x08 000ed028: 3c01800f lui r1,0x800f 000ed02c: a4236868 sh r3,0x6868(r1) 000ed030: 00001012 mflo r2 000ed034: 00432021 addu r4,r2,r3 000ed038: 94e20000 lhu r2,0x0000(r7) 000ed03c: 00000000 nop 000ed040: 30420001 andi r2,r2,0x0001 000ed044: 10400002 beq r2,r0,0x000ed050 000ed048: 00801821 addu r3,r4,r0 000ed04c: 24830100 addiu r3,r4,0x0100 000ed050: 00031400 sll r2,r3,0x10 000ed054: 3c03800f lui r3,0x800f 000ed058: 8c636878 lw r3,0x6878(r3) 000ed05c: 00021343 sra r2,r2,0x0d 000ed060: 00431021 addu r2,r2,r3 000ed064: 90420005 lbu r2,0x0005(r2) 000ed068: 00000000 nop 000ed06c: 30420040 andi r2,r2,0x0040 000ed070: 10400035 beq r2,r0,0x000ed148 000ed074: 00000000 nop 000ed078: 3c048012 lui r4,0x8012 000ed07c: 8c84a2d4 lw r4,-0x5d2c(r4) 000ed080: 00000000 nop 000ed084: 00852021 addu r4,r4,r5 000ed088: 9482000e lhu r2,0x000e(r4) 000ed08c: a08b0004 sb r11,0x0004(r4) 000ed090: 3c038012 lui r3,0x8012 000ed094: 8c63a2d4 lw r3,-0x5d2c(r3) 000ed098: 3042803f andi r2,r2,0x803f 000ed09c: 34427840 ori r2,r2,0x7840 000ed0a0: 00651821 addu r3,r3,r5 000ed0a4: a482000e sh r2,0x000e(r4) 000ed0a8: a06b0010 sb r11,0x0010(r3) 000ed0ac: 3c028012 lui r2,0x8012 000ed0b0: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed0b4: 00000000 nop 000ed0b8: 00451021 addu r2,r2,r5 000ed0bc: a04b001c sb r11,0x001c(r2) 000ed0c0: 3c028012 lui r2,0x8012 000ed0c4: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed0c8: 00000000 nop 000ed0cc: 00451021 addu r2,r2,r5 000ed0d0: a04a0005 sb r10,0x0005(r2) 000ed0d4: 3c028012 lui r2,0x8012 000ed0d8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed0dc: 00000000 nop 000ed0e0: 00451021 addu r2,r2,r5 000ed0e4: a04a0011 sb r10,0x0011(r2) 000ed0e8: 3c028012 lui r2,0x8012 000ed0ec: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed0f0: 00000000 nop 000ed0f4: 00451021 addu r2,r2,r5 000ed0f8: a04a001d sb r10,0x001d(r2) 000ed0fc: 3c028012 lui r2,0x8012 000ed100: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed104: 00000000 nop 000ed108: 00451021 addu r2,r2,r5 000ed10c: a0490006 sb r9,0x0006(r2) 000ed110: 3c028012 lui r2,0x8012 000ed114: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed118: 00000000 nop 000ed11c: 00451021 addu r2,r2,r5 000ed120: a0490012 sb r9,0x0012(r2) 000ed124: 3c028012 lui r2,0x8012 000ed128: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed12c: 00000000 nop 000ed130: 00451021 addu r2,r2,r5 000ed134: a049001e sb r9,0x001e(r2) 000ed138: 95020000 lhu r2,0x0000(r8) 000ed13c: 00000000 nop 000ed140: 3042fffe andi r2,r2,0xfffe 000ed144: a5020000 sh r2,0x0000(r8) 000ed148: 25080018 addiu r8,r8,0x0018 000ed14c: 24a50028 addiu r5,r5,0x0028 000ed150: 3c028010 lui r2,0x8010 000ed154: 9442be90 lhu r2,-0x4170(r2) 000ed158: 24c60001 addiu r6,r6,0x0001 000ed15c: 00c2102a slt r2,r6,r2 000ed160: 1440ffa5 bne r2,r0,0x000ecff8 000ed164: 24e70018 addiu r7,r7,0x0018 000ed168: 3c028010 lui r2,0x8010 000ed16c: 9442be92 lhu r2,-0x416e(r2) 000ed170: 00000000 nop 000ed174: 18400073 blez r2,0x000ed344 000ed178: 00003021 addu r6,r0,r0 000ed17c: 340b0060 ori r11,r0,0x0060 000ed180: 340a0018 ori r10,r0,0x0018 000ed184: 34090020 ori r9,r0,0x0020 000ed188: 3c088012 lui r8,0x8012 000ed18c: 2508c4a6 addiu r8,r8,0xc4a6 000ed190: 00002821 addu r5,r0,r0 000ed194: 2507fff8 addiu r7,r8,0xfff8 000ed198: 94e30000 lhu r3,0x0000(r7) 000ed19c: 3402fffe ori r2,r0,0xfffe 000ed1a0: 10620060 beq r3,r2,0x000ed324 000ed1a4: 00031042 srl r2,r3,0x01 000ed1a8: 3c03800f lui r3,0x800f 000ed1ac: 90636860 lbu r3,0x6860(r3) 000ed1b0: 3042007f andi r2,r2,0x007f 000ed1b4: 00430018 mult r2,r3 000ed1b8: 94e30000 lhu r3,0x0000(r7) 000ed1bc: 3c01800f lui r1,0x800f 000ed1c0: a422686c sh r2,0x686c(r1) 000ed1c4: 00031a02 srl r3,r3,0x08 000ed1c8: 3c01800f lui r1,0x800f 000ed1cc: a4236868 sh r3,0x6868(r1) 000ed1d0: 00001012 mflo r2 000ed1d4: 00432021 addu r4,r2,r3 000ed1d8: 94e20000 lhu r2,0x0000(r7) 000ed1dc: 00000000 nop 000ed1e0: 30420001 andi r2,r2,0x0001 000ed1e4: 10400002 beq r2,r0,0x000ed1f0 000ed1e8: 00801821 addu r3,r4,r0 000ed1ec: 24830100 addiu r3,r4,0x0100 000ed1f0: 00031400 sll r2,r3,0x10 000ed1f4: 3c03800f lui r3,0x800f 000ed1f8: 8c636878 lw r3,0x6878(r3) 000ed1fc: 00021343 sra r2,r2,0x0d 000ed200: 00431021 addu r2,r2,r3 000ed204: 90420005 lbu r2,0x0005(r2) 000ed208: 00000000 nop 000ed20c: 30420040 andi r2,r2,0x0040 000ed210: 10400044 beq r2,r0,0x000ed324 000ed214: 00000000 nop 000ed218: 3c048012 lui r4,0x8012 # Called when deselecting, 2nd 000ed21c: 8c84a2d4 lw r4,-0x5d2c(r4) 000ed220: 00000000 nop 000ed224: 00852021 addu r4,r4,r5 000ed228: 9482384e lhu r2,0x384e(r4) 000ed22c: a08b3844 sb r11,0x3844(r4) 000ed230: 3c038012 lui r3,0x8012 000ed234: 8c63a2d4 lw r3,-0x5d2c(r3) 000ed238: 3042803f andi r2,r2,0x803f 000ed23c: 34427840 ori r2,r2,0x7840 000ed240: 00651821 addu r3,r3,r5 000ed244: a482384e sh r2,0x384e(r4) 000ed248: a06b3850 sb r11,0x3850(r3) 000ed24c: 3c028012 lui r2,0x8012 000ed250: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed254: 00000000 nop 000ed258: 00451021 addu r2,r2,r5 000ed25c: a04b385c sb r11,0x385c(r2) 000ed260: 3c028012 lui r2,0x8012 000ed264: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed268: 00000000 nop 000ed26c: 00451021 addu r2,r2,r5 000ed270: a04b3868 sb r11,0x3868(r2) 000ed274: 3c028012 lui r2,0x8012 000ed278: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed27c: 00000000 nop 000ed280: 00451021 addu r2,r2,r5 000ed284: a04a3845 sb r10,0x3845(r2) 000ed288: 3c028012 lui r2,0x8012 000ed28c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed290: 00000000 nop 000ed294: 00451021 addu r2,r2,r5 000ed298: a04a3851 sb r10,0x3851(r2) 000ed29c: 3c028012 lui r2,0x8012 000ed2a0: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed2a4: 00000000 nop 000ed2a8: 00451021 addu r2,r2,r5 000ed2ac: a04a385d sb r10,0x385d(r2) 000ed2b0: 3c028012 lui r2,0x8012 000ed2b4: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed2b8: 00000000 nop 000ed2bc: 00451021 addu r2,r2,r5 000ed2c0: a04a3869 sb r10,0x3869(r2) 000ed2c4: 3c028012 lui r2,0x8012 000ed2c8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed2cc: 00000000 nop 000ed2d0: 00451021 addu r2,r2,r5 000ed2d4: a0493846 sb r9,0x3846(r2) 000ed2d8: 3c028012 lui r2,0x8012 000ed2dc: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed2e0: 00000000 nop 000ed2e4: 00451021 addu r2,r2,r5 000ed2e8: a0493852 sb r9,0x3852(r2) 000ed2ec: 3c028012 lui r2,0x8012 000ed2f0: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed2f4: 00000000 nop 000ed2f8: 00451021 addu r2,r2,r5 000ed2fc: a049385e sb r9,0x385e(r2) 000ed300: 3c028012 lui r2,0x8012 000ed304: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed308: 00000000 nop 000ed30c: 00451021 addu r2,r2,r5 000ed310: a049386a sb r9,0x386a(r2) 000ed314: 95020000 lhu r2,0x0000(r8) 000ed318: 00000000 nop 000ed31c: 3042fffe andi r2,r2,0xfffe 000ed320: a5020000 sh r2,0x0000(r8) 000ed324: 25080020 addiu r8,r8,0x0020 000ed328: 24a50034 addiu r5,r5,0x0034 000ed32c: 3c028010 lui r2,0x8010 000ed330: 9442be92 lhu r2,-0x416e(r2) 000ed334: 24c60001 addiu r6,r6,0x0001 000ed338: 00c2102a slt r2,r6,r2 000ed33c: 1440ff96 bne r2,r0,0x000ed198 000ed340: 24e70020 addiu r7,r7,0x0020 000ed344: 3c03800f lui r3,0x800f 000ed348: 94636870 lhu r3,0x6870(r3) 000ed34c: 3c04800f lui r4,0x800f 000ed350: 94846874 lhu r4,0x6874(r4) 000ed354: 34020002 ori r2,r0,0x0002 000ed358: 3c01800f lui r1,0x800f 000ed35c: a4226872 sh r2,0x6872(r1) 000ed360: 00641025 or r2,r3,r4 000ed364: 104001ed beq r2,r0,0x000edb1c 000ed368: 00031400 sll r2,r3,0x10 000ed36c: 00021403 sra r2,r2,0x10 000ed370: 34030005 ori r3,r0,0x0005 000ed374: 1443035f bne r2,r3,0x000ee0f4 000ed378: 00041400 sll r2,r4,0x10 000ed37c: 00021403 sra r2,r2,0x10 000ed380: 0803b6c5 j 0x000edb14 000ed384: 34030008 ori r3,r0,0x0008 # break; # case 3: 000ed388: 3c028010 lui r2,0x8010 000ed38c: 9442be90 lhu r2,-0x4170(r2) 000ed390: 00000000 nop 000ed394: 1840006b blez r2,0x000ed544 000ed398: 00003021 addu r6,r0,r0 000ed39c: 3c07800f lui r7,0x800f 000ed3a0: 24e76854 addiu r7,r7,0x6854 000ed3a4: 3c098012 lui r9,0x8012 000ed3a8: 2529a2e6 addiu r9,r9,0xa2e6 000ed3ac: 00002821 addu r5,r0,r0 000ed3b0: 2528fff8 addiu r8,r9,0xfff8 000ed3b4: 95030000 lhu r3,0x0000(r8) 000ed3b8: 3402fffe ori r2,r0,0xfffe 000ed3bc: 10620059 beq r3,r2,0x000ed524 000ed3c0: 00031042 srl r2,r3,0x01 000ed3c4: 3c03800f lui r3,0x800f 000ed3c8: 90636860 lbu r3,0x6860(r3) 000ed3cc: 3042007f andi r2,r2,0x007f 000ed3d0: 00430018 mult r2,r3 000ed3d4: 95030000 lhu r3,0x0000(r8) 000ed3d8: 3c01800f lui r1,0x800f 000ed3dc: a422686c sh r2,0x686c(r1) 000ed3e0: 00031a02 srl r3,r3,0x08 000ed3e4: 3c01800f lui r1,0x800f 000ed3e8: a4236868 sh r3,0x6868(r1) 000ed3ec: 00001012 mflo r2 000ed3f0: 00432021 addu r4,r2,r3 000ed3f4: 95020000 lhu r2,0x0000(r8) 000ed3f8: 00000000 nop 000ed3fc: 30420001 andi r2,r2,0x0001 000ed400: 10400002 beq r2,r0,0x000ed40c 000ed404: 00801821 addu r3,r4,r0 000ed408: 24830100 addiu r3,r4,0x0100 000ed40c: 00031400 sll r2,r3,0x10 000ed410: 3c03800f lui r3,0x800f 000ed414: 8c636878 lw r3,0x6878(r3) 000ed418: 00021343 sra r2,r2,0x0d 000ed41c: 00431021 addu r2,r2,r3 000ed420: 90420005 lbu r2,0x0005(r2) 000ed424: 00000000 nop 000ed428: 30420040 andi r2,r2,0x0040 000ed42c: 1040003d beq r2,r0,0x000ed524 000ed430: 00000000 nop 000ed434: 3c028012 lui r2,0x8012 000ed438: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed43c: 00000000 nop 000ed440: 00452021 addu r4,r2,r5 000ed444: 9482000e lhu r2,0x000e(r4) 000ed448: 00000000 nop 000ed44c: 3042803f andi r2,r2,0x803f 000ed450: 34427800 ori r2,r2,0x7800 000ed454: a482000e sh r2,0x000e(r4) 000ed458: 85220000 lh r2,0x0000(r9) 000ed45c: 00000000 nop 000ed460: 00401821 addu r3,r2,r0 000ed464: 30428000 andi r2,r2,0x8000 000ed468: 10400003 beq r2,r0,0x000ed478 000ed46c: 34620001 ori r2,r3,0x0001 000ed470: 0803b549 j 0x000ed524 000ed474: a5220000 sh r2,0x0000(r9) 000ed478: 90e20000 lbu r2,0x0000(r7) 000ed47c: 00000000 nop 000ed480: a0820004 sb r2,0x0004(r4) 000ed484: 3c028012 lui r2,0x8012 000ed488: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed48c: 90e30001 lbu r3,0x0001(r7) 000ed490: 00a21021 addu r2,r5,r2 000ed494: a0430005 sb r3,0x0005(r2) 000ed498: 3c028012 lui r2,0x8012 000ed49c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed4a0: 90e30002 lbu r3,0x0002(r7) 000ed4a4: 00a21021 addu r2,r5,r2 000ed4a8: a0430006 sb r3,0x0006(r2) 000ed4ac: 3c028012 lui r2,0x8012 000ed4b0: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed4b4: 90e30000 lbu r3,0x0000(r7) 000ed4b8: 00a21021 addu r2,r5,r2 000ed4bc: a0430010 sb r3,0x0010(r2) 000ed4c0: 3c028012 lui r2,0x8012 000ed4c4: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed4c8: 90e30001 lbu r3,0x0001(r7) 000ed4cc: 00a21021 addu r2,r5,r2 000ed4d0: a0430011 sb r3,0x0011(r2) 000ed4d4: 3c028012 lui r2,0x8012 000ed4d8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed4dc: 90e30002 lbu r3,0x0002(r7) 000ed4e0: 00a21021 addu r2,r5,r2 000ed4e4: a0430012 sb r3,0x0012(r2) 000ed4e8: 3c028012 lui r2,0x8012 000ed4ec: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed4f0: 90e30000 lbu r3,0x0000(r7) 000ed4f4: 00a21021 addu r2,r5,r2 000ed4f8: a043001c sb r3,0x001c(r2) 000ed4fc: 3c028012 lui r2,0x8012 000ed500: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed504: 90e30001 lbu r3,0x0001(r7) 000ed508: 00a21021 addu r2,r5,r2 000ed50c: a043001d sb r3,0x001d(r2) 000ed510: 3c028012 lui r2,0x8012 000ed514: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed518: 90e30002 lbu r3,0x0002(r7) 000ed51c: 00a21021 addu r2,r5,r2 000ed520: a043001e sb r3,0x001e(r2) 000ed524: 25290018 addiu r9,r9,0x0018 000ed528: 24a50028 addiu r5,r5,0x0028 000ed52c: 3c028010 lui r2,0x8010 000ed530: 9442be90 lhu r2,-0x4170(r2) 000ed534: 24c60001 addiu r6,r6,0x0001 000ed538: 00c2102a slt r2,r6,r2 000ed53c: 1440ff9d bne r2,r0,0x000ed3b4 000ed540: 25080018 addiu r8,r8,0x0018 000ed544: 3c028010 lui r2,0x8010 000ed548: 9442be92 lhu r2,-0x416e(r2) 000ed54c: 00000000 nop 000ed550: 1840007a blez r2,0x000ed73c 000ed554: 00003021 addu r6,r0,r0 000ed558: 3c07800f lui r7,0x800f 000ed55c: 24e76854 addiu r7,r7,0x6854 000ed560: 3c098012 lui r9,0x8012 000ed564: 2529c4a6 addiu r9,r9,0xc4a6 000ed568: 00002821 addu r5,r0,r0 000ed56c: 2528fff8 addiu r8,r9,0xfff8 000ed570: 95030000 lhu r3,0x0000(r8) 000ed574: 3402fffe ori r2,r0,0xfffe 000ed578: 10620068 beq r3,r2,0x000ed71c 000ed57c: 00031042 srl r2,r3,0x01 000ed580: 3c03800f lui r3,0x800f 000ed584: 90636860 lbu r3,0x6860(r3) 000ed588: 3042007f andi r2,r2,0x007f 000ed58c: 00430018 mult r2,r3 000ed590: 95030000 lhu r3,0x0000(r8) 000ed594: 3c01800f lui r1,0x800f 000ed598: a422686c sh r2,0x686c(r1) 000ed59c: 00031a02 srl r3,r3,0x08 000ed5a0: 3c01800f lui r1,0x800f 000ed5a4: a4236868 sh r3,0x6868(r1) 000ed5a8: 00001012 mflo r2 000ed5ac: 00432021 addu r4,r2,r3 000ed5b0: 95020000 lhu r2,0x0000(r8) 000ed5b4: 00000000 nop 000ed5b8: 30420001 andi r2,r2,0x0001 000ed5bc: 10400002 beq r2,r0,0x000ed5c8 000ed5c0: 00801821 addu r3,r4,r0 000ed5c4: 24830100 addiu r3,r4,0x0100 000ed5c8: 00031400 sll r2,r3,0x10 000ed5cc: 3c03800f lui r3,0x800f 000ed5d0: 8c636878 lw r3,0x6878(r3) 000ed5d4: 00021343 sra r2,r2,0x0d 000ed5d8: 00431021 addu r2,r2,r3 000ed5dc: 90420005 lbu r2,0x0005(r2) 000ed5e0: 00000000 nop 000ed5e4: 30420040 andi r2,r2,0x0040 000ed5e8: 1040004c beq r2,r0,0x000ed71c 000ed5ec: 00000000 nop 000ed5f0: 3c028012 lui r2,0x8012 000ed5f4: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed5f8: 00000000 nop 000ed5fc: 00452021 addu r4,r2,r5 000ed600: 9482384e lhu r2,0x384e(r4) 000ed604: 00000000 nop 000ed608: 3042803f andi r2,r2,0x803f 000ed60c: 34427800 ori r2,r2,0x7800 000ed610: a482384e sh r2,0x384e(r4) 000ed614: 85220000 lh r2,0x0000(r9) 000ed618: 00000000 nop 000ed61c: 00401821 addu r3,r2,r0 000ed620: 30428000 andi r2,r2,0x8000 000ed624: 10400003 beq r2,r0,0x000ed634 000ed628: 34620001 ori r2,r3,0x0001 000ed62c: 0803b5c7 j 0x000ed71c 000ed630: a5220000 sh r2,0x0000(r9) 000ed634: 90e20000 lbu r2,0x0000(r7) 000ed638: 00000000 nop 000ed63c: a0823844 sb r2,0x3844(r4) 000ed640: 3c028012 lui r2,0x8012 000ed644: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed648: 90e30001 lbu r3,0x0001(r7) 000ed64c: 00a21021 addu r2,r5,r2 000ed650: a0433845 sb r3,0x3845(r2) 000ed654: 3c028012 lui r2,0x8012 000ed658: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed65c: 90e30002 lbu r3,0x0002(r7) 000ed660: 00a21021 addu r2,r5,r2 000ed664: a0433846 sb r3,0x3846(r2) 000ed668: 3c028012 lui r2,0x8012 000ed66c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed670: 90e30000 lbu r3,0x0000(r7) 000ed674: 00a21021 addu r2,r5,r2 000ed678: a0433850 sb r3,0x3850(r2) 000ed67c: 3c028012 lui r2,0x8012 000ed680: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed684: 90e30001 lbu r3,0x0001(r7) 000ed688: 00a21021 addu r2,r5,r2 000ed68c: a0433851 sb r3,0x3851(r2) 000ed690: 3c028012 lui r2,0x8012 000ed694: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed698: 90e30002 lbu r3,0x0002(r7) 000ed69c: 00a21021 addu r2,r5,r2 000ed6a0: a0433852 sb r3,0x3852(r2) 000ed6a4: 3c028012 lui r2,0x8012 000ed6a8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed6ac: 90e30000 lbu r3,0x0000(r7) 000ed6b0: 00a21021 addu r2,r5,r2 000ed6b4: a043385c sb r3,0x385c(r2) 000ed6b8: 3c028012 lui r2,0x8012 000ed6bc: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed6c0: 90e30001 lbu r3,0x0001(r7) 000ed6c4: 00a21021 addu r2,r5,r2 000ed6c8: a043385d sb r3,0x385d(r2) 000ed6cc: 3c028012 lui r2,0x8012 000ed6d0: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed6d4: 90e30002 lbu r3,0x0002(r7) 000ed6d8: 00a21021 addu r2,r5,r2 000ed6dc: a043385e sb r3,0x385e(r2) 000ed6e0: 3c028012 lui r2,0x8012 000ed6e4: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed6e8: 90e30000 lbu r3,0x0000(r7) 000ed6ec: 00a21021 addu r2,r5,r2 000ed6f0: a0433868 sb r3,0x3868(r2) 000ed6f4: 3c028012 lui r2,0x8012 000ed6f8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed6fc: 90e30001 lbu r3,0x0001(r7) 000ed700: 00a21021 addu r2,r5,r2 000ed704: a0433869 sb r3,0x3869(r2) 000ed708: 3c028012 lui r2,0x8012 000ed70c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ed710: 90e30002 lbu r3,0x0002(r7) 000ed714: 00a21021 addu r2,r5,r2 000ed718: a043386a sb r3,0x386a(r2) 000ed71c: 25290020 addiu r9,r9,0x0020 000ed720: 24a50034 addiu r5,r5,0x0034 000ed724: 3c028010 lui r2,0x8010 000ed728: 9442be92 lhu r2,-0x416e(r2) 000ed72c: 24c60001 addiu r6,r6,0x0001 000ed730: 00c2102a slt r2,r6,r2 000ed734: 1440ff8e bne r2,r0,0x000ed570 000ed738: 25080020 addiu r8,r8,0x0020 000ed73c: 3c038012 lui r3,0x8012 000ed740: 8c63a2d4 lw r3,-0x5d2c(r3) 000ed744: 34020003 ori r2,r0,0x0003 000ed748: 3c01800f lui r1,0x800f 000ed74c: a4226872 sh r2,0x6872(r1) 000ed750: 0803b83b j 0x000ee0ec 000ed754: 00000000 nop # break; # case 7: 000ed758: 3c028010 lui r2,0x8010 000ed75c: 9442be90 lhu r2,-0x4170(r2) # *0x800fbe90 000ed760: 00000000 nop 000ed764: 18400064 blez r2,0x000ed8f8 000ed768: 00003021 addu r6,r0,r0 # counter = 0 # // (This seems to run when making a target selection, but not when cancelling a target selection) # // (Bottom part / sloped ground?) # if (*0x800fbe90 > 0) { 000ed76c: 340b0050 ori r11,r0,0x0050 # [Red value] = 0x50 (80) 000ed770: 340a0060 ori r10,r0,0x0060 # [Green value] = 0x60 (96) 000ed774: 34090010 ori r9,r0,0x0010 # [Blue value] = 0x10 (16) 000ed778: 3c088012 lui r8,0x8012 000ed77c: 2508a2e6 addiu r8,r8,-0x5d1a # r8 = 0x8011a2e6 000ed780: 00002821 addu r5,r0,r0 # offset = 0 000ed784: 2507fff8 addiu r7,r8,-0x0008 # pointer = 0x8011a2de # do { 000ed788: 94e30000 lhu r3,0x0000(r7) # value = *pointer 000ed78c: 3402fffe ori r2,r0,0xfffe # 0xfffe // (Blank, unused?) 000ed790: 10620051 beq r3,r2,0x000ed8d8 000ed794: 00031042 srl r2,r3,0x01 # value / 2 # if (value != 0xfffe) { 000ed798: 3c03800f lui r3,0x800f 000ed79c: 90636860 lbu r3,0x6860(r3) # (Map Max X) 000ed7a0: 3042007f andi r2,r2,0x007f # Tile Y coordinate ((value / 2) & 0x7f) 000ed7a4: 00430018 mult r2,r3 # (Map Max X) * (Tile Y coordinate) 000ed7a8: 94e30000 lhu r3,0x0000(r7) # value = *pointer 000ed7ac: 3c01800f lui r1,0x800f 000ed7b0: a422686c sh r2,0x686c(r1) # *0x800f686c = (Tile Y coordinate) 000ed7b4: 00031a02 srl r3,r3,0x08 # Tile X coordinate (value / 256) 000ed7b8: 3c01800f lui r1,0x800f 000ed7bc: a4236868 sh r3,0x6868(r1) # *0x800f6868 = (Tile X coordinate) 000ed7c0: 00001012 mflo r2 # (Map Max X) * (Tile Y coordinate) 000ed7c4: 00432021 addu r4,r2,r3 # (Map Max X) * (Tile Y coordinate) + (Tile X coordinate) 000ed7c8: 94e20000 lhu r2,0x0000(r7) # *pointer 000ed7cc: 00000000 nop 000ed7d0: 30420001 andi r2,r2,0x0001 # Higher Elevation flag (*pointer & 0x0001) 000ed7d4: 10400002 beq r2,r0,0x000ed7e0 000ed7d8: 00801821 addu r3,r4,r0 # [Tile data index] = ((Map Max X) * (Tile Y coordinate)) + (Tile X coordinate) # if (Higher Elevation) { 000ed7dc: 24830100 addiu r3,r4,0x0100 # [Tile data index] = ((Map Max X) * (Tile Y coordinate)) + (Tile X coordinate) + 256 # } 000ed7e0: 00031400 sll r2,r3,0x10 # [Tile data index] * 65536 000ed7e4: 3c03800f lui r3,0x800f 000ed7e8: 8c636878 lw r3,0x6878(r3) # [Tile data base pointer] 000ed7ec: 00021343 sra r2,r2,0x0d # [Tile data index] * 8 // (8 == size of tile data element) 000ed7f0: 00431021 addu r2,r2,r3 # [Tile data base pointer] + ([Tile data index] * 8) (= Pointer to tile data for this index) 000ed7f4: 90420005 lbu r2,0x0005(r2) # [Tile data] 0x05 flags 000ed7f8: 00000000 nop 000ed7fc: 30420080 andi r2,r2,0x0080 # Check Targeted (0x80) flag 000ed800: 10400035 beq r2,r0,0x000ed8d8 # if (Targeted) { 000ed804: 00000000 nop 000ed808: 3c048012 lui r4,0x8012 000ed80c: 8c84a2d4 lw r4,-0x5d2c(r4) # *0x8011a2d4 000ed810: 00000000 nop 000ed814: 00852021 addu r4,r4,r5 # structPtr = *0x8011a2d4 + offset 000ed818: 9482000e lhu r2,0x000e(r4) # structPtr.0x0e 000ed81c: a08b0004 sb r11,0x0004(r4) # structPtr.0x04 = [Red value] 000ed820: 3c038012 lui r3,0x8012 000ed824: 8c63a2d4 lw r3,-0x5d2c(r3) # *0x80112ad4 000ed828: 3042803f andi r2,r2,0x803f # (structPtr.0x0e) & 0x803f 000ed82c: 34427840 ori r2,r2,0x7840 # ((structPtr.0x0e) & 0x803f) | 0x7840 000ed830: 00651821 addu r3,r3,r5 # structPtr = *0x8011a2d4 + offset 000ed834: a482000e sh r2,0x000e(r4) # structPtr.0x0e = ((structPtr.0x0e) & 0x803f) | 0x7840 000ed838: a06b0010 sb r11,0x0010(r3) # structPtr.0x10 = [Red value] 000ed83c: 3c028012 lui r2,0x8012 000ed840: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x80112ad4 000ed844: 00000000 nop 000ed848: 00451021 addu r2,r2,r5 # structPtr = *0x8011a2d4 + offset 000ed84c: a04b001c sb r11,0x001c(r2) # structPtr.0x1c = [Red value] 000ed850: 3c028012 lui r2,0x8012 000ed854: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x80112ad4 000ed858: 00000000 nop 000ed85c: 00451021 addu r2,r2,r5 # structPtr = *0x8011a2d4 + offset 000ed860: a04a0005 sb r10,0x0005(r2) # structPtr.0x05 = [Green value] 000ed864: 3c028012 lui r2,0x8012 000ed868: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x80112ad4 000ed86c: 00000000 nop 000ed870: 00451021 addu r2,r2,r5 # structPtr = *0x8011a2d4 + offset 000ed874: a04a0011 sb r10,0x0011(r2) # structPtr.0x11 = [Green value] 000ed878: 3c028012 lui r2,0x8012 000ed87c: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x80112ad4 000ed880: 00000000 nop 000ed884: 00451021 addu r2,r2,r5 # structPtr = *0x8011a2d4 + offset 000ed888: a04a001d sb r10,0x001d(r2) # structPtr.0x1d = [Green value] 000ed88c: 3c028012 lui r2,0x8012 000ed890: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x80112ad4 000ed894: 00000000 nop 000ed898: 00451021 addu r2,r2,r5 # structPtr = *0x8011a2d4 + offset 000ed89c: a0490006 sb r9,0x0006(r2) # structPtr.0x06 = [Blue value] 000ed8a0: 3c028012 lui r2,0x8012 000ed8a4: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x80112ad4 000ed8a8: 00000000 nop 000ed8ac: 00451021 addu r2,r2,r5 # structPtr = *0x8011a2d4 + offset 000ed8b0: a0490012 sb r9,0x0012(r2) # structPtr.0x12 = [Blue value] 000ed8b4: 3c028012 lui r2,0x8012 000ed8b8: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x80112ad4 000ed8bc: 00000000 nop 000ed8c0: 00451021 addu r2,r2,r5 # structPtr = *0x8011a2d4 + offset 000ed8c4: a049001e sb r9,0x001e(r2) # structPtr.0x1e = [Blue value] 000ed8c8: 95020000 lhu r2,0x0000(r8) # *r8 000ed8cc: 00000000 nop 000ed8d0: 3042fffe andi r2,r2,0xfffe # *r8 & 0xfffe // Final bit = 0 000ed8d4: a5020000 sh r2,0x0000(r8) # *r8 = *r8 & 0xfffe # } # } 000ed8d8: 25080018 addiu r8,r8,0x0018 # r8 = r8 + 0x18 (24) 000ed8dc: 24a50028 addiu r5,r5,0x0028 # offset = offset + 0x28 (40) 000ed8e0: 3c028010 lui r2,0x8010 000ed8e4: 9442be90 lhu r2,-0x4170(r2) # *0x800fbe90 000ed8e8: 24c60001 addiu r6,r6,0x0001 # counter = counter + 1 000ed8ec: 00c2102a slt r2,r6,r2 000ed8f0: 1440ffa5 bne r2,r0,0x000ed788 000ed8f4: 24e70018 addiu r7,r7,0x0018 # pointer = pointer + 0x18 (24) # } while (counter < *0x800fbe90) # } 000ed8f8: 3c028010 lui r2,0x8010 000ed8fc: 9442be92 lhu r2,-0x416e(r2) # *0x800fbe92 000ed900: 00000000 nop 000ed904: 18400073 blez r2,0x000edad4 000ed908: 00003021 addu r6,r0,r0 # counter = 0 # // (This seems to run when making a target selection, but not when cancelling a target selection) # if (*0x800fbe92 > 0) { # 000ed90c: 340b0050 ori r11,r0,0x0050 # [Red value] = 0x50 (80) 000ed910: 340a0060 ori r10,r0,0x0060 # [Green value] = 0x60 (96) 000ed914: 34090010 ori r9,r0,0x0010 # [Blue value] = 0x10 (16) 000ed918: 3c088012 lui r8,0x8012 000ed91c: 2508c4a6 addiu r8,r8,-0x3b5a # 0x8011c4a6 000ed920: 00002821 addu r5,r0,r0 # offset = 0 000ed924: 2507fff8 addiu r7,r8,-0x0008 # pointer = 0x8011c49e # do { 000ed928: 94e30000 lhu r3,0x0000(r7) # value = *pointer 000ed92c: 3402fffe ori r2,r0,0xfffe # 0xfffe 000ed930: 10620060 beq r3,r2,0x000edab4 000ed934: 00031042 srl r2,r3,0x01 # value / 2 # if (value != 0xfffe) { 000ed938: 3c03800f lui r3,0x800f 000ed93c: 90636860 lbu r3,0x6860(r3) # (Map Max X) 000ed940: 3042007f andi r2,r2,0x007f # (Tile Y Coordinate) ((value / 2) & 0x7f) 000ed944: 00430018 mult r2,r3 # (Map Max X) * ((value / 2) & 0x7f) 000ed948: 94e30000 lhu r3,0x0000(r7) # value = *pointer 000ed94c: 3c01800f lui r1,0x800f 000ed950: a422686c sh r2,0x686c(r1) # *0x800f686c = (Tile Y Coordinate) 000ed954: 00031a02 srl r3,r3,0x08 # (Tile X Coordinate) (value / 256) 000ed958: 3c01800f lui r1,0x800f 000ed95c: a4236868 sh r3,0x6868(r1) # *0x800f6868 = (Tile X Coordinate) 000ed960: 00001012 mflo r2 # (Map Max X) * (Tile Y Coordinate) 000ed964: 00432021 addu r4,r2,r3 # ((Map Max X) * (Tile Y Coordinate)) + (Tile X Coordinate) 000ed968: 94e20000 lhu r2,0x0000(r7) # value = *pointer 000ed96c: 00000000 nop 000ed970: 30420001 andi r2,r2,0x0001 # (Higher Elevation flag) (value & 0x0001) 000ed974: 10400002 beq r2,r0,0x000ed980 000ed978: 00801821 addu r3,r4,r0 # [Tile data index] = ((Map Max X) * (Tile Y Coordinate)) + (Tile X Coordinate) # if (Higher Elevation) { 000ed97c: 24830100 addiu r3,r4,0x0100 # [Tile data index] = ((Map Max X) * (Tile Y Coordinate)) + (Tile X Coordinate) + 256 # } 000ed980: 00031400 sll r2,r3,0x10 # [Tile data index] * 65536 000ed984: 3c03800f lui r3,0x800f 000ed988: 8c636878 lw r3,0x6878(r3) # [Tile data base pointer] 000ed98c: 00021343 sra r2,r2,0x0d # [Tile data index] * 8 // (8 == size of tile data element) 000ed990: 00431021 addu r2,r2,r3 # [Tile data base pointer] + ([Tile data index] * 8) (= Pointer to tile data for this index) 000ed994: 90420005 lbu r2,0x0005(r2) # [Tile data] 0x05 flags 000ed998: 00000000 nop 000ed99c: 30420080 andi r2,r2,0x0080 # Check Targeted (0x80) flag 000ed9a0: 10400044 beq r2,r0,0x000edab4 # if (Targeted) { 000ed9a4: 00000000 nop 000ed9a8: 3c048012 lui r4,0x8012 000ed9ac: 8c84a2d4 lw r4,-0x5d2c(r4) # *0x8011a2d4 000ed9b0: 00000000 nop 000ed9b4: 00852021 addu r4,r4,r5 # ptr = *0x8011a2d4 + offset 000ed9b8: 9482384e lhu r2,0x384e(r4) # ptr.0x384e 000ed9bc: a08b3844 sb r11,0x3844(r4) # ptr.0x3844 = [Red value] 000ed9c0: 3c038012 lui r3,0x8012 000ed9c4: 8c63a2d4 lw r3,-0x5d2c(r3) # *0x8011a2d4 000ed9c8: 3042803f andi r2,r2,0x803f # ptr.0x384e & 0x803f 000ed9cc: 34427840 ori r2,r2,0x7840 # (ptr.0x384e & 0x803f) | 0x7840 000ed9d0: 00651821 addu r3,r3,r5 # ptr = *0x8011a2d4 + offset 000ed9d4: a482384e sh r2,0x384e(r4) # ptr.0x384e = (ptr.0x384e & 0x803f) 000ed9d8: a06b3850 sb r11,0x3850(r3) # ptr.0x3850 = [Red value] 000ed9dc: 3c028012 lui r2,0x8012 000ed9e0: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000ed9e4: 00000000 nop 000ed9e8: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000ed9ec: a04b385c sb r11,0x385c(r2) # ptr.0x385c = [Red value] 000ed9f0: 3c028012 lui r2,0x8012 000ed9f4: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000ed9f8: 00000000 nop 000ed9fc: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda00: a04b3868 sb r11,0x3868(r2) # ptr.0x3868 = [Red value] 000eda04: 3c028012 lui r2,0x8012 000eda08: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda0c: 00000000 nop 000eda10: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda14: a04a3845 sb r10,0x3845(r2) # ptr.0x3845 = [Green value] 000eda18: 3c028012 lui r2,0x8012 000eda1c: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda20: 00000000 nop 000eda24: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda28: a04a3851 sb r10,0x3851(r2) # ptr.0x3851 = [Green value] 000eda2c: 3c028012 lui r2,0x8012 000eda30: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda34: 00000000 nop 000eda38: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda3c: a04a385d sb r10,0x385d(r2) # ptr.0x385d = [Green value] 000eda40: 3c028012 lui r2,0x8012 000eda44: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda48: 00000000 nop 000eda4c: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda50: a04a3869 sb r10,0x3869(r2) # ptr.0x3869 = [Green value] 000eda54: 3c028012 lui r2,0x8012 000eda58: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda5c: 00000000 nop 000eda60: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda64: a0493846 sb r9,0x3846(r2) # ptr.0x3846 = [Blue value] 000eda68: 3c028012 lui r2,0x8012 000eda6c: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda70: 00000000 nop 000eda74: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda78: a0493852 sb r9,0x3852(r2) # ptr.0x3852 = [Blue value] 000eda7c: 3c028012 lui r2,0x8012 000eda80: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda84: 00000000 nop 000eda88: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000eda8c: a049385e sb r9,0x385e(r2) # ptr.0x385e = [Blue value] 000eda90: 3c028012 lui r2,0x8012 000eda94: 8c42a2d4 lw r2,-0x5d2c(r2) # *0x8011a2d4 000eda98: 00000000 nop 000eda9c: 00451021 addu r2,r2,r5 # ptr = *0x8011a2d4 + offset 000edaa0: a049386a sb r9,0x386a(r2) # ptr.0x386a = [Blue value] 000edaa4: 95020000 lhu r2,0x0000(r8) # *r8 000edaa8: 00000000 nop 000edaac: 3042fffe andi r2,r2,0xfffe # *r8 & 0xfffe // Final bit = 0 000edab0: a5020000 sh r2,0x0000(r8) # *r8 = *r8 & 0xfffe # } 000edab4: 25080020 addiu r8,r8,0x0020 # r8 = r8 + 0x20 (32) 000edab8: 24a50034 addiu r5,r5,0x0034 # offset = offset + 0x34 (52) 000edabc: 3c028010 lui r2,0x8010 000edac0: 9442be92 lhu r2,-0x416e(r2) # *0x800fbe92 000edac4: 24c60001 addiu r6,r6,0x0001 # counter = counter + 1 000edac8: 00c2102a slt r2,r6,r2 000edacc: 1440ff96 bne r2,r0,0x000ed928 000edad0: 24e70020 addiu r7,r7,0x0020 # pointer = pointer + 0x20 (32) # } while (counter < *0x800fbe92) # } 000edad4: 3c03800f lui r3,0x800f 000edad8: 94636870 lhu r3,0x6870(r3) # *0x800f6870 000edadc: 3c04800f lui r4,0x800f 000edae0: 94846872 lhu r4,0x6872(r4) # *0x800f6872 000edae4: 34020007 ori r2,r0,0x0007 # 7 000edae8: 3c01800f lui r1,0x800f 000edaec: a4226874 sh r2,0x6874(r1) # *0x800f6874 = 7 000edaf0: 00641025 or r2,r3,r4 # *0x800f6870 | *0x800f6872 000edaf4: 10400009 beq r2,r0,0x000edb1c # if ((*0x800f6870 | *0x800f6872) != 0) { 000edaf8: 00031400 sll r2,r3,0x10 000edafc: 00021403 sra r2,r2,0x10 000edb00: 34030005 ori r3,r0,0x0005 # 5 000edb04: 1443017b bne r2,r3,0x000ee0f4 # if (*0x800f6870 != 5), return 000edb08: 00041400 sll r2,r4,0x10 000edb0c: 00021403 sra r2,r2,0x10 000edb10: 34030003 ori r3,r0,0x0003 # r3 = 3 # } else { # skipCheck = true # } # case 1: case 2: case 7: // (again!) # // This part seems to run when cancelling target selection, but not when making target selection 000edb14: 14430177 bne r2,r3,0x000ee0f4 # if ((!skipCheck) && (r2 != r3)), return 000edb18: 00000000 nop 000edb1c: 34040009 ori r4,r0,0x0009 # 9 000edb20: 34050008 ori r5,r0,0x0008 # 8 000edb24: 34060001 ori r6,r0,0x0001 # 1 000edb28: 00003821 addu r7,r0,r0 # 0 000edb2c: 34020001 ori r2,r0,0x0001 # 1 000edb30: afa20010 sw r2,0x0010(r29) 000edb34: 3402000a ori r2,r0,0x000a # 10 000edb38: afa20014 sw r2,0x0014(r29) 000edb3c: afa20018 sw r2,0x0018(r29) 000edb40: 0c023dc4 jal 0x0008f710 # ROUTINE: Palette Modification (0x8f710) 000edb44: afa2001c sw r2,0x001c(r29) # Parameters: 9, 8, 1, 0, 1, 10, 10, 10 000edb48: 0803b83d j 0x000ee0f4 000edb4c: 00000000 nop # break; # case 8: 000edb50: 3c028010 lui r2,0x8010 000edb54: 9442be90 lhu r2,-0x4170(r2) # *0x800fbe90 000edb58: 00000000 nop 000edb5c: 1840009e blez r2,0x000eddd8 # // (For setting back to red on deselect?) 000edb60: 00003021 addu r6,r0,r0 000edb64: 3c07800f lui r7,0x800f 000edb68: 24e76854 addiu r7,r7,0x6854 # *0x800f6854 000edb6c: 340c0060 ori r12,r0,0x0060 # [Red value] = 0x60 (96) 000edb70: 340b0018 ori r11,r0,0x0018 # [Green value] = 0x18 (24) 000edb74: 340a0020 ori r10,r0,0x0020 # [Blue value] = 0x20 (32) 000edb78: 00002821 addu r5,r0,r0 000edb7c: 3c098012 lui r9,0x8012 000edb80: 2529a2e6 addiu r9,r9,0xa2e6 000edb84: 2528fff8 addiu r8,r9,0xfff8 000edb88: 95030000 lhu r3,0x0000(r8) 000edb8c: 3402fffe ori r2,r0,0xfffe 000edb90: 10620089 beq r3,r2,0x000eddb8 000edb94: 00031042 srl r2,r3,0x01 000edb98: 3c03800f lui r3,0x800f 000edb9c: 90636860 lbu r3,0x6860(r3) 000edba0: 3042007f andi r2,r2,0x007f 000edba4: 00430018 mult r2,r3 000edba8: 95030000 lhu r3,0x0000(r8) 000edbac: 3c01800f lui r1,0x800f 000edbb0: a422686c sh r2,0x686c(r1) 000edbb4: 00031a02 srl r3,r3,0x08 000edbb8: 3c01800f lui r1,0x800f 000edbbc: a4236868 sh r3,0x6868(r1) 000edbc0: 00001012 mflo r2 000edbc4: 00432021 addu r4,r2,r3 000edbc8: 95020000 lhu r2,0x0000(r8) 000edbcc: 00000000 nop 000edbd0: 30420001 andi r2,r2,0x0001 000edbd4: 10400002 beq r2,r0,0x000edbe0 000edbd8: 00801821 addu r3,r4,r0 000edbdc: 24830100 addiu r3,r4,0x0100 000edbe0: 00031400 sll r2,r3,0x10 000edbe4: 3c03800f lui r3,0x800f 000edbe8: 8c636878 lw r3,0x6878(r3) 000edbec: 00021343 sra r2,r2,0x0d 000edbf0: 00431021 addu r2,r2,r3 000edbf4: 90430005 lbu r3,0x0005(r2) 000edbf8: 00000000 nop 000edbfc: 30620080 andi r2,r3,0x0080 000edc00: 1040006d beq r2,r0,0x000eddb8 000edc04: 30620040 andi r2,r3,0x0040 000edc08: 1440003e bne r2,r0,0x000edd04 000edc0c: 00000000 nop 000edc10: 3c028012 lui r2,0x8012 000edc14: 8c42a2d4 lw r2,-0x5d2c(r2) 000edc18: 00000000 nop 000edc1c: 00452021 addu r4,r2,r5 000edc20: 9482000e lhu r2,0x000e(r4) 000edc24: 00000000 nop 000edc28: 3042803f andi r2,r2,0x803f 000edc2c: 34427800 ori r2,r2,0x7800 000edc30: a482000e sh r2,0x000e(r4) 000edc34: 85220000 lh r2,0x0000(r9) 000edc38: 00000000 nop 000edc3c: 00401821 addu r3,r2,r0 000edc40: 30428000 andi r2,r2,0x8000 000edc44: 10400003 beq r2,r0,0x000edc54 000edc48: 34620001 ori r2,r3,0x0001 000edc4c: 0803b76e j 0x000eddb8 000edc50: a5220000 sh r2,0x0000(r9) 000edc54: 90e20000 lbu r2,0x0000(r7) 000edc58: 00000000 nop 000edc5c: a0820004 sb r2,0x0004(r4) 000edc60: 3c028012 lui r2,0x8012 000edc64: 8c42a2d4 lw r2,-0x5d2c(r2) 000edc68: 90e30001 lbu r3,0x0001(r7) 000edc6c: 00a21021 addu r2,r5,r2 000edc70: a0430005 sb r3,0x0005(r2) 000edc74: 3c028012 lui r2,0x8012 000edc78: 8c42a2d4 lw r2,-0x5d2c(r2) 000edc7c: 90e30002 lbu r3,0x0002(r7) 000edc80: 00a21021 addu r2,r5,r2 000edc84: a0430006 sb r3,0x0006(r2) 000edc88: 3c028012 lui r2,0x8012 000edc8c: 8c42a2d4 lw r2,-0x5d2c(r2) 000edc90: 90e30000 lbu r3,0x0000(r7) 000edc94: 00a21021 addu r2,r5,r2 000edc98: a0430010 sb r3,0x0010(r2) 000edc9c: 3c028012 lui r2,0x8012 000edca0: 8c42a2d4 lw r2,-0x5d2c(r2) 000edca4: 90e30001 lbu r3,0x0001(r7) 000edca8: 00a21021 addu r2,r5,r2 000edcac: a0430011 sb r3,0x0011(r2) 000edcb0: 3c028012 lui r2,0x8012 000edcb4: 8c42a2d4 lw r2,-0x5d2c(r2) 000edcb8: 90e30002 lbu r3,0x0002(r7) 000edcbc: 00a21021 addu r2,r5,r2 000edcc0: a0430012 sb r3,0x0012(r2) 000edcc4: 3c028012 lui r2,0x8012 000edcc8: 8c42a2d4 lw r2,-0x5d2c(r2) 000edccc: 90e30000 lbu r3,0x0000(r7) 000edcd0: 00a21021 addu r2,r5,r2 000edcd4: a043001c sb r3,0x001c(r2) 000edcd8: 3c028012 lui r2,0x8012 000edcdc: 8c42a2d4 lw r2,-0x5d2c(r2) 000edce0: 90e30001 lbu r3,0x0001(r7) 000edce4: 00a21021 addu r2,r5,r2 000edce8: a043001d sb r3,0x001d(r2) 000edcec: 3c028012 lui r2,0x8012 000edcf0: 8c42a2d4 lw r2,-0x5d2c(r2) 000edcf4: 90e30002 lbu r3,0x0002(r7) 000edcf8: 00a21021 addu r2,r5,r2 000edcfc: 0803b76e j 0x000eddb8 000edd00: a043001e sb r3,0x001e(r2) 000edd04: 3c028012 lui r2,0x8012 000edd08: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd0c: 00000000 nop 000edd10: 00451021 addu r2,r2,r5 000edd14: a04c0004 sb r12,0x0004(r2) 000edd18: 3c028012 lui r2,0x8012 000edd1c: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd20: 00000000 nop 000edd24: 00451021 addu r2,r2,r5 000edd28: a04c0010 sb r12,0x0010(r2) 000edd2c: 3c028012 lui r2,0x8012 000edd30: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd34: 00000000 nop 000edd38: 00451021 addu r2,r2,r5 000edd3c: a04c001c sb r12,0x001c(r2) 000edd40: 3c028012 lui r2,0x8012 000edd44: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd48: 00000000 nop 000edd4c: 00451021 addu r2,r2,r5 000edd50: a04b0005 sb r11,0x0005(r2) 000edd54: 3c028012 lui r2,0x8012 000edd58: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd5c: 00000000 nop 000edd60: 00451021 addu r2,r2,r5 000edd64: a04b0011 sb r11,0x0011(r2) 000edd68: 3c028012 lui r2,0x8012 000edd6c: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd70: 00000000 nop 000edd74: 00451021 addu r2,r2,r5 000edd78: a04b001d sb r11,0x001d(r2) 000edd7c: 3c028012 lui r2,0x8012 000edd80: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd84: 00000000 nop 000edd88: 00451021 addu r2,r2,r5 000edd8c: a04a0006 sb r10,0x0006(r2) 000edd90: 3c028012 lui r2,0x8012 000edd94: 8c42a2d4 lw r2,-0x5d2c(r2) 000edd98: 00000000 nop 000edd9c: 00451021 addu r2,r2,r5 000edda0: a04a0012 sb r10,0x0012(r2) 000edda4: 3c028012 lui r2,0x8012 000edda8: 8c42a2d4 lw r2,-0x5d2c(r2) 000eddac: 00000000 nop 000eddb0: 00451021 addu r2,r2,r5 000eddb4: a04a001e sb r10,0x001e(r2) 000eddb8: 24a50028 addiu r5,r5,0x0028 000eddbc: 25290018 addiu r9,r9,0x0018 000eddc0: 3c028010 lui r2,0x8010 000eddc4: 9442be90 lhu r2,-0x4170(r2) 000eddc8: 24c60001 addiu r6,r6,0x0001 000eddcc: 00c2102a slt r2,r6,r2 000eddd0: 1440ff6d bne r2,r0,0x000edb88 000eddd4: 25080018 addiu r8,r8,0x0018 000eddd8: 3c028010 lui r2,0x8010 000edddc: 9442be92 lhu r2,-0x416e(r2) 000edde0: 00000000 nop 000edde4: 184000bc blez r2,0x000ee0d8 000edde8: 00003021 addu r6,r0,r0 # (For setting back to red?) 000eddec: 3c07800f lui r7,0x800f 000eddf0: 24e76854 addiu r7,r7,0x6854 # 0x800f6854 000eddf4: 340c0060 ori r12,r0,0x0060 # [Red value] = 0x60 (96) 000eddf8: 340b0018 ori r11,r0,0x0018 # [Green value] = 0x18 (24) 000eddfc: 340a0020 ori r10,r0,0x0020 # [Blue value] = 0x20 (32) 000ede00: 00002821 addu r5,r0,r0 000ede04: 3c098012 lui r9,0x8012 000ede08: 2529c4a6 addiu r9,r9,0xc4a6 000ede0c: 2528fff8 addiu r8,r9,0xfff8 000ede10: 95030000 lhu r3,0x0000(r8) 000ede14: 3402fffe ori r2,r0,0xfffe 000ede18: 106200a7 beq r3,r2,0x000ee0b8 000ede1c: 00031042 srl r2,r3,0x01 000ede20: 3c03800f lui r3,0x800f 000ede24: 90636860 lbu r3,0x6860(r3) 000ede28: 3042007f andi r2,r2,0x007f 000ede2c: 00430018 mult r2,r3 000ede30: 95030000 lhu r3,0x0000(r8) 000ede34: 3c01800f lui r1,0x800f 000ede38: a422686c sh r2,0x686c(r1) 000ede3c: 00031a02 srl r3,r3,0x08 000ede40: 3c01800f lui r1,0x800f 000ede44: a4236868 sh r3,0x6868(r1) 000ede48: 00001012 mflo r2 000ede4c: 00432021 addu r4,r2,r3 000ede50: 95020000 lhu r2,0x0000(r8) 000ede54: 00000000 nop 000ede58: 30420001 andi r2,r2,0x0001 000ede5c: 10400002 beq r2,r0,0x000ede68 000ede60: 00801821 addu r3,r4,r0 000ede64: 24830100 addiu r3,r4,0x0100 000ede68: 00031400 sll r2,r3,0x10 000ede6c: 3c03800f lui r3,0x800f 000ede70: 8c636878 lw r3,0x6878(r3) 000ede74: 00021343 sra r2,r2,0x0d 000ede78: 00431021 addu r2,r2,r3 000ede7c: 90430005 lbu r3,0x0005(r2) 000ede80: 00000000 nop 000ede84: 30620080 andi r2,r3,0x0080 000ede88: 1040008b beq r2,r0,0x000ee0b8 000ede8c: 30620040 andi r2,r3,0x0040 000ede90: 1440004d bne r2,r0,0x000edfc8 000ede94: 00000000 nop 000ede98: 3c028012 lui r2,0x8012 000ede9c: 8c42a2d4 lw r2,-0x5d2c(r2) 000edea0: 00000000 nop 000edea4: 00452021 addu r4,r2,r5 000edea8: 9482384e lhu r2,0x384e(r4) 000edeac: 00000000 nop 000edeb0: 3042803f andi r2,r2,0x803f 000edeb4: 34427800 ori r2,r2,0x7800 000edeb8: a482384e sh r2,0x384e(r4) 000edebc: 85220000 lh r2,0x0000(r9) 000edec0: 00000000 nop 000edec4: 00401821 addu r3,r2,r0 000edec8: 30428000 andi r2,r2,0x8000 000edecc: 10400003 beq r2,r0,0x000ededc 000eded0: 34620001 ori r2,r3,0x0001 000eded4: 0803b82e j 0x000ee0b8 000eded8: a5220000 sh r2,0x0000(r9) 000ededc: 90e20000 lbu r2,0x0000(r7) 000edee0: 00000000 nop 000edee4: a0823844 sb r2,0x3844(r4) 000edee8: 3c028012 lui r2,0x8012 000edeec: 8c42a2d4 lw r2,-0x5d2c(r2) 000edef0: 90e30001 lbu r3,0x0001(r7) 000edef4: 00a21021 addu r2,r5,r2 000edef8: a0433845 sb r3,0x3845(r2) 000edefc: 3c028012 lui r2,0x8012 000edf00: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf04: 90e30002 lbu r3,0x0002(r7) 000edf08: 00a21021 addu r2,r5,r2 000edf0c: a0433846 sb r3,0x3846(r2) 000edf10: 3c028012 lui r2,0x8012 000edf14: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf18: 90e30000 lbu r3,0x0000(r7) 000edf1c: 00a21021 addu r2,r5,r2 000edf20: a0433850 sb r3,0x3850(r2) 000edf24: 3c028012 lui r2,0x8012 000edf28: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf2c: 90e30001 lbu r3,0x0001(r7) 000edf30: 00a21021 addu r2,r5,r2 000edf34: a0433851 sb r3,0x3851(r2) 000edf38: 3c028012 lui r2,0x8012 000edf3c: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf40: 90e30002 lbu r3,0x0002(r7) 000edf44: 00a21021 addu r2,r5,r2 000edf48: a0433852 sb r3,0x3852(r2) 000edf4c: 3c028012 lui r2,0x8012 000edf50: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf54: 90e30000 lbu r3,0x0000(r7) 000edf58: 00a21021 addu r2,r5,r2 000edf5c: a043385c sb r3,0x385c(r2) 000edf60: 3c028012 lui r2,0x8012 000edf64: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf68: 90e30001 lbu r3,0x0001(r7) 000edf6c: 00a21021 addu r2,r5,r2 000edf70: a043385d sb r3,0x385d(r2) 000edf74: 3c028012 lui r2,0x8012 000edf78: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf7c: 90e30002 lbu r3,0x0002(r7) 000edf80: 00a21021 addu r2,r5,r2 000edf84: a043385e sb r3,0x385e(r2) 000edf88: 3c028012 lui r2,0x8012 000edf8c: 8c42a2d4 lw r2,-0x5d2c(r2) 000edf90: 90e30000 lbu r3,0x0000(r7) 000edf94: 00a21021 addu r2,r5,r2 000edf98: a0433868 sb r3,0x3868(r2) 000edf9c: 3c028012 lui r2,0x8012 000edfa0: 8c42a2d4 lw r2,-0x5d2c(r2) 000edfa4: 90e30001 lbu r3,0x0001(r7) 000edfa8: 00a21021 addu r2,r5,r2 000edfac: a0433869 sb r3,0x3869(r2) 000edfb0: 3c028012 lui r2,0x8012 000edfb4: 8c42a2d4 lw r2,-0x5d2c(r2) 000edfb8: 90e30002 lbu r3,0x0002(r7) 000edfbc: 00a21021 addu r2,r5,r2 000edfc0: 0803b82e j 0x000ee0b8 000edfc4: a043386a sb r3,0x386a(r2) # ? Called when deselecting? 000edfc8: 3c028012 lui r2,0x8012 000edfcc: 8c42a2d4 lw r2,-0x5d2c(r2) 000edfd0: 00000000 nop 000edfd4: 00451021 addu r2,r2,r5 000edfd8: a04c3844 sb r12,0x3844(r2) 000edfdc: 3c028012 lui r2,0x8012 000edfe0: 8c42a2d4 lw r2,-0x5d2c(r2) 000edfe4: 00000000 nop 000edfe8: 00451021 addu r2,r2,r5 000edfec: a04c3850 sb r12,0x3850(r2) 000edff0: 3c028012 lui r2,0x8012 000edff4: 8c42a2d4 lw r2,-0x5d2c(r2) 000edff8: 00000000 nop 000edffc: 00451021 addu r2,r2,r5 000ee000: a04c385c sb r12,0x385c(r2) 000ee004: 3c028012 lui r2,0x8012 000ee008: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee00c: 00000000 nop 000ee010: 00451021 addu r2,r2,r5 000ee014: a04c3868 sb r12,0x3868(r2) 000ee018: 3c028012 lui r2,0x8012 000ee01c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee020: 00000000 nop 000ee024: 00451021 addu r2,r2,r5 000ee028: a04b3845 sb r11,0x3845(r2) 000ee02c: 3c028012 lui r2,0x8012 000ee030: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee034: 00000000 nop 000ee038: 00451021 addu r2,r2,r5 000ee03c: a04b3851 sb r11,0x3851(r2) 000ee040: 3c028012 lui r2,0x8012 000ee044: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee048: 00000000 nop 000ee04c: 00451021 addu r2,r2,r5 000ee050: a04b385d sb r11,0x385d(r2) 000ee054: 3c028012 lui r2,0x8012 000ee058: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee05c: 00000000 nop 000ee060: 00451021 addu r2,r2,r5 000ee064: a04b3869 sb r11,0x3869(r2) 000ee068: 3c028012 lui r2,0x8012 000ee06c: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee070: 00000000 nop 000ee074: 00451021 addu r2,r2,r5 000ee078: a04a3846 sb r10,0x3846(r2) 000ee07c: 3c028012 lui r2,0x8012 000ee080: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee084: 00000000 nop 000ee088: 00451021 addu r2,r2,r5 000ee08c: a04a3852 sb r10,0x3852(r2) 000ee090: 3c028012 lui r2,0x8012 000ee094: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee098: 00000000 nop 000ee09c: 00451021 addu r2,r2,r5 000ee0a0: a04a385e sb r10,0x385e(r2) 000ee0a4: 3c028012 lui r2,0x8012 000ee0a8: 8c42a2d4 lw r2,-0x5d2c(r2) 000ee0ac: 00000000 nop 000ee0b0: 00451021 addu r2,r2,r5 000ee0b4: a04a386a sb r10,0x386a(r2) 000ee0b8: 24a50034 addiu r5,r5,0x0034 000ee0bc: 25290020 addiu r9,r9,0x0020 000ee0c0: 3c028010 lui r2,0x8010 000ee0c4: 9442be92 lhu r2,-0x416e(r2) 000ee0c8: 24c60001 addiu r6,r6,0x0001 000ee0cc: 00c2102a slt r2,r6,r2 000ee0d0: 1440ff4f bne r2,r0,0x000ede10 000ee0d4: 25080020 addiu r8,r8,0x0020 000ee0d8: 3c038012 lui r3,0x8012 000ee0dc: 8c63a2d4 lw r3,-0x5d2c(r3) 000ee0e0: 34020008 ori r2,r0,0x0008 000ee0e4: 3c01800f lui r1,0x800f 000ee0e8: a4226874 sh r2,0x6874(r1) # break; # } # if ([Parameter 1] is 3 or 5) { 000ee0ec: 3c01800f lui r1,0x800f 000ee0f0: ac2379b8 sw r3,0x79b8(r1) # Store ? # } 000ee0f4: 8fbf00c0 lw r31,0x00c0(r29) 000ee0f8: 27bd00c8 addiu r29,r29,0x00c8 000ee0fc: 03e00008 jr r31 000ee100: 00000000 nop