0x12df98
Jump to navigation
Jump to search
# ROUTINE: ? 0x12df98 # Deals with some things in events. # *0x801697d0 for new button input? # Parameters: # r4 = (Button input) 8012df98: 27bdffe8 addiu r29,r29,-0x0018 8012df9c: afb00010 sw r16,0x0010(r29) 8012dfa0: 00808021 addu r16,r4,r0 8012dfa4: 1200000a beq r16,r0,0x8012dfd0 8012dfa8: afbf0014 sw r31,0x0014(r29) 8012dfac: 0c04b721 jal 0x8012dc84 8012dfb0: 00000000 nop 8012dfb4: 1040000c beq r2,r0,0x8012dfe8 8012dfb8: 00000000 nop 8012dfbc: 0c04ed64 jal 0x8013b590 # ROUTINE: Get Script Variable (0x29) 8012dfc0: 34040029 ori r4,r0,0x0029 # 0x29 8012dfc4: 30425000 andi r2,r2,0x5000 8012dfc8: 10400007 beq r2,r0,0x8012dfe8 8012dfcc: 00000000 nop 8012dfd0: 3c018017 lui r1,0x8017 8012dfd4: ac20d9a8 sw r0,-0x2658(r1) 8012dfd8: 3c018017 lui r1,0x8017 8012dfdc: ac20d9ac sw r0,-0x2654(r1) 8012dfe0: 3c018017 lui r1,0x8017 8012dfe4: ac20d9b0 sw r0,-0x2650(r1) 8012dfe8: 3c028017 lui r2,0x8017 8012dfec: 8c42d9a0 lw r2,-0x2660(r2) # oldButtonInput = *0x8016d9a0 8012dff0: 3c018017 lui r1,0x8017 8012dff4: ac30d9a0 sw r16,-0x2660(r1) # *0x8016d9a0 = (Button input) 8012dff8: 3c018017 lui r1,0x8017 8012dffc: ac2097d0 sw r0,-0x6830(r1) 8012e000: 3c018017 lui r1,0x8017 8012e004: ac22d9a4 sw r2,-0x265c(r1) # *0x8016d9a4 = oldButtonInput 8012e008: 14500003 bne r2,r16,0x8012e018 8012e00c: 3205f00c andi r5,r16,0xf00c # if ((oldButtonInput != (Button input)) 8012e010: 14a00009 bne r5,r0,0x8012e038 # or (((Button input) & 0xf00c) == 0) { 8012e014: 00000000 nop 8012e018: 00021027 nor r2,r0,r2 # binary_not(oldButtonInput) 8012e01c: 00501024 and r2,r2,r16 # newButtonInput = (Button input) & binary_not(oldButtonInput) // Only gets buttons that weren't pressed before 8012e020: 3c018017 lui r1,0x8017 8012e024: ac2297d0 sw r2,-0x6830(r1) # *0x801697d0 = (something based on button input) 8012e028: 3c018017 lui r1,0x8017 8012e02c: ac20d9a8 sw r0,-0x2658(r1) # *0x8016d9a8 = 0 8012e030: 0804b85f j 0x8012e17c # return 8012e034: 00000000 nop # } 8012e038: 3c028004 lui r2,0x8004 8012e03c: 904273a1 lbu r2,0x73a1(r2) 8012e040: 3c038016 lui r3,0x8016 8012e044: 8c635f88 lw r3,0x5f88(r3) 8012e048: 00000000 nop 8012e04c: 0043001a div r2,r3 8012e050: 00002012 mflo r4 8012e054: 3c028017 lui r2,0x8017 8012e058: 8c42d9a8 lw r2,-0x2658(r2) 8012e05c: 00000000 nop 8012e060: 24420001 addiu r2,r2,0x0001 8012e064: 3c018017 lui r1,0x8017 8012e068: ac22d9a8 sw r2,-0x2658(r1) 8012e06c: 14440003 bne r2,r4,0x8012e07c 8012e070: 00000000 nop 8012e074: 3c018017 lui r1,0x8017 8012e078: ac2597d0 sw r5,-0x6830(r1) 8012e07c: 0044102b sltu r2,r2,r4 8012e080: 1440003a bne r2,r0,0x8012e16c 8012e084: 00000000 nop 8012e088: 3c048004 lui r4,0x8004 8012e08c: 908473a2 lbu r4,0x73a2(r4) 8012e090: 00000000 nop 8012e094: 0083001a div r4,r3 8012e098: 00002012 mflo r4 8012e09c: 3c028017 lui r2,0x8017 8012e0a0: 8c42d9ac lw r2,-0x2654(r2) 8012e0a4: 3c038017 lui r3,0x8017 8012e0a8: 8c63d9b0 lw r3,-0x2650(r3) 8012e0ac: 24420001 addiu r2,r2,0x0001 8012e0b0: 24630001 addiu r3,r3,0x0001 8012e0b4: 3c018017 lui r1,0x8017 8012e0b8: ac22d9ac sw r2,-0x2654(r1) 8012e0bc: 3c018017 lui r1,0x8017 8012e0c0: ac23d9b0 sw r3,-0x2650(r1) 8012e0c4: 0044102b sltu r2,r2,r4 8012e0c8: 14400008 bne r2,r0,0x8012e0ec 8012e0cc: 32020080 andi r2,r16,0x0080 8012e0d0: 3c018017 lui r1,0x8017 8012e0d4: ac20d9ac sw r0,-0x2654(r1) 8012e0d8: 14400002 bne r2,r0,0x8012e0e4 8012e0dc: 3202a000 andi r2,r16,0xa000 8012e0e0: 3202f000 andi r2,r16,0xf000 8012e0e4: 3c018017 lui r1,0x8017 8012e0e8: ac2297d0 sw r2,-0x6830(r1) 8012e0ec: 3c038004 lui r3,0x8004 8012e0f0: 906373a3 lbu r3,0x73a3(r3) 8012e0f4: 3c028016 lui r2,0x8016 8012e0f8: 8c425f88 lw r2,0x5f88(r2) 8012e0fc: 00000000 nop 8012e100: 0062001a div r3,r2 8012e104: 00001812 mflo r3 8012e108: 3c028017 lui r2,0x8017 8012e10c: 8c42d9b0 lw r2,-0x2650(r2) 8012e110: 00000000 nop 8012e114: 0043102b sltu r2,r2,r3 8012e118: 14400018 bne r2,r0,0x8012e17c 8012e11c: 00000000 nop 8012e120: 3c048017 lui r4,0x8017 8012e124: 8c84d9a0 lw r4,-0x2660(r4) 8012e128: 3c018017 lui r1,0x8017 8012e12c: ac20d9b0 sw r0,-0x2650(r1) 8012e130: 30820080 andi r2,r4,0x0080 8012e134: 10400005 beq r2,r0,0x8012e14c 8012e138: 3082500c andi r2,r4,0x500c 8012e13c: 3c038017 lui r3,0x8017 8012e140: 8c6397d0 lw r3,-0x6830(r3) 8012e144: 0804b857 j 0x8012e15c 8012e148: 00431025 or r2,r2,r3 8012e14c: 3c038017 lui r3,0x8017 8012e150: 8c6397d0 lw r3,-0x6830(r3) # newButtonInput = *0x801697d0 8012e154: 3082000c andi r2,r4,0x000c # *0x8016d9a0 & 0x0c 8012e158: 00431025 or r2,r2,r3 # (*0x8016d9a0 & 0x0c) | newButtonInput 8012e15c: 3c018017 lui r1,0x8017 8012e160: ac2297d0 sw r2,-0x6830(r1) # *0x801697d0 = (*0x8016d9a0 & 0x0c) | newButtonInput 8012e164: 0804b85f j 0x8012e17c 8012e168: 00000000 nop 8012e16c: 3c018017 lui r1,0x8017 8012e170: ac20d9ac sw r0,-0x2654(r1) 8012e174: 3c018017 lui r1,0x8017 8012e178: ac20d9b0 sw r0,-0x2650(r1) 8012e17c: 8fbf0014 lw r31,0x0014(r29) 8012e180: 8fb00010 lw r16,0x0010(r29) 8012e184: 27bd0018 addiu r29,r29,0x0018 8012e188: 03e00008 jr r31 8012e18c: 00000000 nop