Unknown 1

From Final Fantasy Hacktics Wiki
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