Unknown 1
Jump to navigation
Jump to search
jumped to from steal item decrement/stat changes/price change?? And weather effects on crossbows/bows 0013b590: 27bdffe0 addiu r29,r29,0xffe0 0013b594: afb10014 sw r17,0x0014(r29) 0013b598: 00808821 addu r17,r4,r0 unit data pointer? // input command byte 0013b59c: 3c028016 lui r2,0x8016 0013b5a0: 8c425f9c lw r2,0x5f9c(r2) Item Data Pointer? // points to map data 0013b5a4: 34030022 ori r3,r0,0x0022 // r3 = 0x22 0013b5a8: afbf001c sw r31,0x001c(r29) 0013b5ac: afb20018 sw r18,0x0018(r29) 0013b5b0: afb00010 sw r16,0x0010(r29) 0013b5b4: 8c520000 lw r18,0x0000(r2) // loads first thing in map data. instincts tell me it's a pointer somewhere 0013b5b8: 1623000d bne r17,r3,0x0013b5f0 ? // branch if input command byte is not 0x22 0013b5bc: 340400be ori r4,r0,0x00be r4 = 0xbe 0013b5c0: 0c04ed64 jal 0x0013b590 ??? // probably a jump to edit/load world/map data? input = 0x24 0013b5c4: 34040024 ori r4,r0,0x0024 0013b5c8: 30500001 andi r16,r2,0x0001 // r16 = tail bit of output 0013b5cc: 0c04ed64 jal 0x0013b590 ??? // input = 0x23 0013b5d0: 34040023 ori r4,r0,0x0023 0013b5d4: 30420007 andi r2,r2,0x0007 // r2 = tail 3 bits of output 0013b5d8: 001083c0 sll r16,r16,0x0f // r16 bit shifted to head of tail halfword (0x1 -> 0x8000) 0013b5dc: 00021300 sll r2,r2,0x0c // r2 bit shifted to just after that (0x7 -> 0x7000) 0013b5e0: 34040022 ori r4,r0,0x0022 0013b5e4: 0c04ed91 jal 0x0013b644 0013b644 - 0013b6e0 // input = 0x22 0013b5e8: 02022825 or r5,r16,r2 // r5 = head nibble of tail halfword (the bits under 0xf000) 0013b5ec: 340400be ori r4,r0,0x00be 0013b5f0: 00002821 addu r5,r0,r0 // r5 = 0 0013b5f4: 00003021 addu r6,r0,r0 // r6 = 0 0013b5f8: 0c052806 jal 0x0014a018 Calculate party inventory? //loads/edits world/map data. input = 0xbe 0013b5fc: 00003821 addu r7,r0,r0 // r7 = 0 0013b600: 340400b1 ori r4,r0,0x00b1 r4 = b1 0013b604: 00002821 addu r5,r0,r0 r5 = 0 0013b608: 02203021 addu r6,r17,r0 // r6 = input command byte 0013b60c: 0c052806 jal 0x0014a018 Calculate party inventory? // input = 0xbe 0013b610: 00003821 addu r7,r0,r0 r7 = 0 0013b614: 3c038016 lui r3,0x8016 0013b618: 8c635f9c lw r3,0x5f9c(r3) // pointer to map data 0013b61c: 00000000 nop 0013b620: 8c620000 lw r2,0x0000(r3) // returns first thing there (weather?) 0013b624: ac720000 sw r18,0x0000(r3) 0013b628: 8fbf001c lw r31,0x001c(r29) 0013b62c: 8fb20018 lw r18,0x0018(r29) 0013b630: 8fb10014 lw r17,0x0014(r29) 0013b634: 8fb00010 lw r16,0x0010(r29) 0013b638: 27bd0020 addiu r29,r29,0x0020 0013b63c: 03e00008 jr r31 0013b640: 00000000 nop
Routine duplicated here : Get_Script_Variable