Movement routine

From Final Fantasy Hacktics Wiki
Revision as of 14:46, 8 February 2015 by Choto (talk | contribs) (Created page with "<font face='Courier New'> 00175958: 27bdffd8 addiu r29,r29,0xffd8 0017595c: afb00010 sw r16,0x0010(r29) 00175960: 3c108019 lui r16,0x8019 00175964: 8e10f4e4 lw r16,-0x0b...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

00175958: 27bdffd8 addiu r29,r29,0xffd8
0017595c: afb00010 sw r16,0x0010(r29)
00175960: 3c108019 lui r16,0x8019
00175964: 8e10f4e4 lw r16,-0x0b1c(r16)
00175968: afb3001c sw r19,0x001c(r29)
0017596c: 00a09821 addu r19,r5,r0
00175970: afb20018 sw r18,0x0018(r29)
00175974: 3c128019 lui r18,0x8019
00175978: 8e52f4e0 lw r18,-0x0b20(r18)
0017597c: 3c058019 lui r5,0x8019
00175980: 8ca5f4f0 lw r5,-0x0b10(r5)
00175984: 3c068019 lui r6,0x8019
00175988: 8cc6f4e8 lw r6,-0x0b18(r6)
0017598c: afb40020 sw r20,0x0020(r29)
00175990: 3c148019 lui r20,0x8019
00175994: 8e94f4ec lw r20,-0x0b14(r20)
00175998: 30820001 andi r2,r4,0x0001
0017599c: afbf0024 sw r31,0x0024(r29)
001759a0: afb10014 sw r17,0x0014(r29)
001759a4: a6020034 sh r2,0x0034(r16)
001759a8: 000417c2 srl r2,r4,0x1f
001759ac: 00822021 addu r4,r4,r2
001759b0: 86030032 lh r3,0x0032(r16)
001759b4: 00042043 sra r4,r4,0x01
001759b8: a2040042 sb r4,0x0042(r16)
001759bc: 92420018 lbu r2,0x0018(r18)
001759c0: 00000000 nop
001759c4: 00620018 mult r3,r2
001759c8: 86020034 lh r2,0x0034(r16)
001759cc: 96040030 lhu r4,0x0030(r16)
001759d0: 00021200 sll r2,r2,0x08
001759d4: 00001812 mflo r3
001759d8: 00431021 addu r2,r2,r3
001759dc: 00441021 addu r2,r2,r4
001759e0: a602001c sh r2,0x001c(r16)
001759e4: 00021400 sll r2,r2,0x10
001759e8: 00021343 sra r2,r2,0x0d
001759ec: 3c038019 lui r3,0x8019
001759f0: 2463f8cc addiu r3,r3,0xf8cc
001759f4: 00431021 addu r2,r2,r3
001759f8: 8604001c lh r4,0x001c(r16)
001759fc: 3c038019 lui r3,0x8019
00175a00: 24632dd8 addiu r3,r3,0x2dd8
00175a04: ae020004 sw r2,0x0004(r16)
00175a08: 00041080 sll r2,r4,0x02
00175a0c: 00441021 addu r2,r2,r4
00175a10: 8e040004 lw r4,0x0004(r16)
00175a14: 00431021 addu r2,r2,r3
00175a18: ae02000c sw r2,0x000c(r16)
00175a1c: 90820002 lbu r2,0x0002(r4)
00175a20: 8e030004 lw r3,0x0004(r16)
00175a24: 00021040 sll r2,r2,0x01
00175a28: a202004d sb r2,0x004d(r16)
00175a2c: 90620003 lbu r2,0x0003(r3)
00175a30: 8e030004 lw r3,0x0004(r16)
00175a34: 3042001f andi r2,r2,0x001f
00175a38: a2020057 sb r2,0x0057(r16)
00175a3c: 90620004 lbu r2,0x0004(r3)
00175a40: 00000000 nop
00175a44: a2020059 sb r2,0x0059(r16)
00175a48: 8602001c lh r2,0x001c(r16)
00175a4c: 92030042 lbu r3,0x0042(r16)
00175a50: 00000000 nop
00175a54: 10600026 beq r3,r0,0x00175af0
00175a58: 00a28821 addu r17,r5,r2
00175a5c: 92220000 lbu r2,0x0000(r17)
00175a60: 00000000 nop
00175a64: 30420028 andi r2,r2,0x0028
00175a68: 10400104 beq r2,r0,0x00175e7c
00175a6c: 34020001 ori r2,r0,0x0001
00175a70: 8e02000c lw r2,0x000c(r16)
00175a74: 86040030 lh r4,0x0030(r16)
00175a78: 90420002 lbu r2,0x0002(r2)
00175a7c: 00000000 nop
00175a80: a2020043 sb r2,0x0043(r16)
00175a84: 92030043 lbu r3,0x0043(r16)
00175a88: 86050032 lh r5,0x0032(r16)
00175a8c: 000310c0 sll r2,r3,0x03
00175a90: 00431023 subu r2,r2,r3
00175a94: 00461021 addu r2,r2,r6
00175a98: 90420006 lbu r2,0x0006(r2)
00175a9c: 92060045 lbu r6,0x0045(r16)
00175aa0: 2447ffff addiu r7,r2,0xffff
00175aa4: 30e700ff andi r7,r7,0x00ff
00175aa8: 0c05d859 jal 0x00176164
00175aac: a202004a sb r2,0x004a(r16)
00175ab0: a2020047 sb r2,0x0047(r16)
00175ab4: 92220000 lbu r2,0x0000(r17)
00175ab8: 00000000 nop
00175abc: 30420020 andi r2,r2,0x0020
00175ac0: 10400004 beq r2,r0,0x00175ad4
00175ac4: 00000000 nop
00175ac8: 92040043 lbu r4,0x0043(r16)
00175acc: 0c05d7e9 jal 0x00175fa4
00175ad0: 02602821 addu r5,r19,r0
00175ad4: 92220000 lbu r2,0x0000(r17)
00175ad8: 00000000 nop
00175adc: 30420008 andi r2,r2,0x0008
00175ae0: 14400030 bne r2,r0,0x00175ba4
00175ae4: 34020011 ori r2,r0,0x0011
00175ae8: 0805d79f j 0x00175e7c
00175aec: 00000000 nop
00175af0: 92220000 lbu r2,0x0000(r17)
00175af4: 00000000 nop
00175af8: 30420010 andi r2,r2,0x0010
00175afc: 104000df beq r2,r0,0x00175e7c
00175b00: 34020002 ori r2,r0,0x0002
00175b04: 92020059 lbu r2,0x0059(r16)
00175b08: 92030045 lbu r3,0x0045(r16)
00175b0c: 00000000 nop
00175b10: 00621007 srav r2,r2,r3
00175b14: 92030057 lbu r3,0x0057(r16)
00175b18: 30420003 andi r2,r2,0x0003
00175b1c: 00620018 mult r3,r2
00175b20: 92020059 lbu r2,0x0059(r16)
00175b24: 92030044 lbu r3,0x0044(r16)
00175b28: 00000000 nop
00175b2c: 00621007 srav r2,r2,r3
00175b30: 00003812 mflo r7
00175b34: 92030057 lbu r3,0x0057(r16)
00175b38: 30420003 andi r2,r2,0x0003
00175b3c: 00620018 mult r3,r2
00175b40: 86040030 lh r4,0x0030(r16)
00175b44: 86050032 lh r5,0x0032(r16)
00175b48: 9202004d lbu r2,0x004d(r16)
00175b4c: 92060045 lbu r6,0x0045(r16)
00175b50: 00471021 addu r2,r2,r7
00175b54: a202004a sb r2,0x004a(r16)
00175b58: 9202004d lbu r2,0x004d(r16)
00175b5c: 00001812 mflo r3
00175b60: 00431021 addu r2,r2,r3
00175b64: a202004b sb r2,0x004b(r16)
00175b68: 9202004b lbu r2,0x004b(r16)
00175b6c: 9203004a lbu r3,0x004a(r16)
00175b70: 9207004a lbu r7,0x004a(r16)
00175b74: 00431023 subu r2,r2,r3
00175b78: 0c05d859 jal 0x00176164
00175b7c: a6020038 sh r2,0x0038(r16)
00175b80: 86030038 lh r3,0x0038(r16)
00175b84: 00000000 nop
00175b88: 18600006 blez r3,0x00175ba4
00175b8c: a2020047 sb r2,0x0047(r16)
00175b90: 92220000 lbu r2,0x0000(r17)
00175b94: 00000000 nop
00175b98: 30420040 andi r2,r2,0x0040
00175b9c: 144000b7 bne r2,r0,0x00175e7c
00175ba0: 34020003 ori r2,r0,0x0003
00175ba4: 92020048 lbu r2,0x0048(r16)
00175ba8: 9244001b lbu r4,0x001b(r18)
00175bac: 92050047 lbu r5,0x0047(r16)
00175bb0: 00441021 addu r2,r2,r4
00175bb4: 00a2102a slt r2,r5,r2
00175bb8: 144000b0 bne r2,r0,0x00175e7c
00175bbc: 34020004 ori r2,r0,0x0004
00175bc0: 9203004a lbu r3,0x004a(r16)
00175bc4: 92020046 lbu r2,0x0046(r16)
00175bc8: 00641821 addu r3,r3,r4
00175bcc: 0043102a slt r2,r2,r3
00175bd0: 144000aa bne r2,r0,0x00175e7c
00175bd4: 34020005 ori r2,r0,0x0005
00175bd8: 00a3102a slt r2,r5,r3
00175bdc: 144000a7 bne r2,r0,0x00175e7c
00175be0: 34020006 ori r2,r0,0x0006
00175be4: 92020042 lbu r2,0x0042(r16)
00175be8: 00000000 nop
00175bec: 14400009 bne r2,r0,0x00175c14
00175bf0: 00000000 nop
00175bf4: 8e020004 lw r2,0x0004(r16)
00175bf8: 00000000 nop
00175bfc: 90420003 lbu r2,0x0003(r2)
00175c00: 9203004a lbu r3,0x004a(r16)
00175c04: 00021142 srl r2,r2,0x05
00175c08: 00021040 sll r2,r2,0x01
00175c0c: 00621821 addu r3,r3,r2
00175c10: a203004a sb r3,0x004a(r16)
00175c14: 9203004a lbu r3,0x004a(r16)
00175c18: 92020048 lbu r2,0x0048(r16)
00175c1c: 00000000 nop
00175c20: 0043102b sltu r2,r2,r3
00175c24: 10400007 beq r2,r0,0x00175c44
00175c28: 00000000 nop
00175c2c: 16600093 bne r19,r0,0x00175e7c
00175c30: 34020008 ori r2,r0,0x0008
00175c34: 9202004a lbu r2,0x004a(r16)
00175c38: 92030048 lbu r3,0x0048(r16)
00175c3c: 0805d715 j 0x00175c54
00175c40: 00431023 subu r2,r2,r3
00175c44: 92020048 lbu r2,0x0048(r16)
00175c48: 9203004a lbu r3,0x004a(r16)
00175c4c: 00000000 nop
00175c50: 00431023 subu r2,r2,r3
00175c54: a2020064 sb r2,0x0064(r16)
00175c58: 92030064 lbu r3,0x0064(r16)
00175c5c: 92420002 lbu r2,0x0002(r18)
00175c60: 00000000 nop
00175c64: 0043102b sltu r2,r2,r3
00175c68: 14400084 bne r2,r0,0x00175e7c
00175c6c: 34020009 ori r2,r0,0x0009
00175c70: 8e020010 lw r2,0x0010(r16)
00175c74: 00000000 nop
00175c78: 90430004 lbu r3,0x0004(r2)
00175c7c: 92020064 lbu r2,0x0064(r16)
00175c80: 00000000 nop
00175c84: 0062102b sltu r2,r3,r2
00175c88: 10400002 beq r2,r0,0x00175c94
00175c8c: a2030050 sb r3,0x0050(r16)
00175c90: 92030064 lbu r3,0x0064(r16)
00175c94: 00000000 nop
00175c98: a2030064 sb r3,0x0064(r16)
00175c9c: 9242000e lbu r2,0x000e(r18)
00175ca0: 00000000 nop
00175ca4: 14400002 bne r2,r0,0x00175cb0
00175ca8: 00000000 nop
00175cac: a2000064 sb r0,0x0064(r16)
00175cb0: 92020042 lbu r2,0x0042(r16)
00175cb4: 00000000 nop
00175cb8: 10400033 beq r2,r0,0x00175d88
00175cbc: 3403ffff ori r3,r0,0xffff
00175cc0: 8e020010 lw r2,0x0010(r16)
00175cc4: 00000000 nop
00175cc8: 90420000 lbu r2,0x0000(r2)
00175ccc: 00000000 nop
00175cd0: 00431021 addu r2,r2,r3
00175cd4: 00531023 subu r2,r2,r19
00175cd8: a6020022 sh r2,0x0022(r16)
00175cdc: 00021400 sll r2,r2,0x10
00175ce0: 18400066 blez r2,0x00175e7c
00175ce4: 3402000b ori r2,r0,0x000b
00175ce8: 92020043 lbu r2,0x0043(r16)
00175cec: 92050022 lbu r5,0x0022(r16)
00175cf0: 24420200 addiu r2,r2,0x0200
00175cf4: 00021880 sll r3,r2,0x02
00175cf8: 00621821 addu r3,r3,r2
00175cfc: 3c018019 lui r1,0x8019
00175d00: 00230821 addu r1,r1,r3
00175d04: 90242dd8 lbu r4,0x2dd8(r1)
00175d08: 00000000 nop
00175d0c: 00a4102b sltu r2,r5,r4
00175d10: 1440005a bne r2,r0,0x00175e7c
00175d14: 3402000c ori r2,r0,0x000c
00175d18: 14a40009 bne r5,r4,0x00175d40
00175d1c: 00000000 nop
00175d20: 92020064 lbu r2,0x0064(r16)
00175d24: 3c018019 lui r1,0x8019
00175d28: 00230821 addu r1,r1,r3
00175d2c: 90232ddc lbu r3,0x2ddc(r1)
00175d30: 00000000 nop
00175d34: 0043102b sltu r2,r2,r3
00175d38: 10400050 beq r2,r0,0x00175e7c
00175d3c: 3402000d ori r2,r0,0x000d
00175d40: 92030043 lbu r3,0x0043(r16)
00175d44: 92040022 lbu r4,0x0022(r16)
00175d48: 24630200 addiu r3,r3,0x0200
00175d4c: 00031080 sll r2,r3,0x02
00175d50: 00431021 addu r2,r2,r3
00175d54: 3c018019 lui r1,0x8019
00175d58: 00220821 addu r1,r1,r2
00175d5c: a0242dd8 sb r4,0x2dd8(r1)
00175d60: 92030043 lbu r3,0x0043(r16)
00175d64: 92040064 lbu r4,0x0064(r16)
00175d68: 24630200 addiu r3,r3,0x0200
00175d6c: 00031080 sll r2,r3,0x02
00175d70: 00431021 addu r2,r2,r3
00175d74: 3c018019 lui r1,0x8019
00175d78: 00220821 addu r1,r1,r2
00175d7c: a0242ddc sb r4,0x2ddc(r1)
00175d80: 0805d787 j 0x00175e1c
00175d84: 00000000 nop
00175d88: 8e020004 lw r2,0x0004(r16)			18fc34 - panel data
00175d8c: 00000000 nop							r16 = 0x1f800180
00175d90: 90430000 lbu r3,0x0000(r2)			load tile type
00175d94: 8e020010 lw r2,0x0010(r16)			192fc2 - grid data?
00175d98: 3063003f andi r3,r3,0x003f			
00175d9c: 02831821 addu r3,r20,r3				1f800100 + tile type (this is the movement cost table)
00175da0: 90420000 lbu r2,0x0000(r2)			load ?? (players move +1?)
00175da4: 90630000 lbu r3,0x0000(r3)			load cost
00175da8: 00531023 subu r2,r2,r19				r2 - ??
00175dac: 00431023 subu r2,r2,r3				r2 - cost
00175db0: a6020022 sh r2,0x0022(r16)			store 
00175db4: 00021400 sll r2,r2,0x10
00175db8: 18400030 blez r2,0x00175e7c
00175dbc: 3402000e ori r2,r0,0x000e
00175dc0: 8e05000c lw r5,0x000c(r16)			192ff9
00175dc4: 92040022 lbu r4,0x0022(r16)
00175dc8: 90a30000 lbu r3,0x0000(r5)
00175dcc: 00000000 nop
00175dd0: 0083102b sltu r2,r4,r3
00175dd4: 14400029 bne r2,r0,0x00175e7c			branch if can't walk to panel?
00175dd8: 3402000f ori r2,r0,0x000f
00175ddc: 14830007 bne r4,r3,0x00175dfc
00175de0: 00000000 nop
00175de4: 92020064 lbu r2,0x0064(r16)
00175de8: 90a30004 lbu r3,0x0004(r5)
00175dec: 00000000 nop
00175df0: 0043102b sltu r2,r2,r3
00175df4: 10400021 beq r2,r0,0x00175e7c
00175df8: 34020010 ori r2,r0,0x0010
00175dfc: 8e03000c lw r3,0x000c(r16)
00175e00: 92020022 lbu r2,0x0022(r16)
00175e04: 00000000 nop
00175e08: a0620000 sb r2,0x0000(r3)				store AoE to show?
00175e0c: 8e03000c lw r3,0x000c(r16)			
00175e10: 92020064 lbu r2,0x0064(r16)
00175e14: 00000000 nop
00175e18: a0620004 sb r2,0x0004(r3)				store obstructed byte
00175e1c: 86020022 lh r2,0x0022(r16)
00175e20: 00000000 nop
00175e24: 28420002 slti r2,r2,0x0002			set if aoe is 1 or 0?
00175e28: 14400014 bne r2,r0,0x00175e7c
00175e2c: 00001021 addu r2,r0,r0
00175e30: 8602001c lh r2,0x001c(r16)
00175e34: 3c038019 lui r3,0x8019	
00175e38: 8c63f4f0 lw r3,-0x0b10(r3)			1f800200
00175e3c: 00000000 nop
00175e40: 00621821 addu r3,r3,r2				+ tile ID?
00175e44: 90620000 lbu r2,0x0000(r3)			load tile highlight flags
00175e48: 00000000 nop
00175e4c: 34420001 ori r2,r2,0x0001					Set panel highlight blue
00175e50: a0620000 sb r2,0x0000(r3)				store new
00175e54: 92030022 lbu r3,0x0022(r16)
00175e58: 92020062 lbu r2,0x0062(r16)
00175e5c: 00000000 nop
00175e60: 0043102b sltu r2,r2,r3
00175e64: 10400005 beq r2,r0,0x00175e7c
00175e68: 00001021 addu r2,r0,r0
00175e6c: 92020022 lbu r2,0x0022(r16)
00175e70: 00000000 nop
00175e74: a2020062 sb r2,0x0062(r16)
00175e78: 00001021 addu r2,r0,r0
00175e7c: 8fbf0024 lw r31,0x0024(r29)
00175e80: 8fb40020 lw r20,0x0020(r29)
00175e84: 8fb3001c lw r19,0x001c(r29)
00175e88: 8fb20018 lw r18,0x0018(r29)
00175e8c: 8fb10014 lw r17,0x0014(r29)
00175e90: 8fb00010 lw r16,0x0010(r29)
00175e94: 27bd0028 addiu r29,r29,0x0028
00175e98: 03e00008 jr r31
00175e9c: 00000000 nop