Difference between revisions of "001993a0 - 00199494"
Jump to navigation
Jump to search
m |
|||
Line 12: | Line 12: | ||
001993ac: 90e30e2d lbu r3,0x0e2d(r7) |{{f/load|Load AI 0xe2d}} {{f/std|Offset for some Table (handle different scenarii ?)}} | 001993ac: 90e30e2d lbu r3,0x0e2d(r7) |{{f/load|Load AI 0xe2d}} {{f/std|Offset for some Table (handle different scenarii ?)}} | ||
001993b0: 00052040 sll r4,r5,0x01 |{{f/std|This iteration halford offset}} | 001993b0: 00052040 sll r4,r5,0x01 |{{f/std|This iteration halford offset}} | ||
− | 001993b4: 000310c0 sll r2,r3,0x03 | + | 001993b4: 000310c0 sll r2,r3,0x03 | |
− | 001993b8: 00431021 addu r2,r2,r3 | + | 001993b8: 00431021 addu r2,r2,r3 | |
001993bc: 000210c0 sll r2,r2,0x03 |{{f/std|0xe2d * 0x48}} | 001993bc: 000210c0 sll r2,r2,0x03 |{{f/std|0xe2d * 0x48}} | ||
001993c0: 00e21021 addu r2,r7,r2 | | 001993c0: 00e21021 addu r2,r7,r2 | |
Latest revision as of 18:48, 17 June 2024
BATTLE.BIN : - 001993a0_-_00199494 Reset AI Table of Reachable Tile (8019f3c4 + 0xa74) and then enables only two tiles as reachable : Active Unit Tile and Tile from AI 0xcc4 Table Variable at 0x8019f3c4 + 0xe2d is used as offset for both Table (potential scenarii ?) ------------------------------------------------------------------------------------------ Parameter : Nothing Return : Nothing ------------------------------------------------------------------------------------------ 001993a0: 3c07801a lui r7,0x801a | 001993a4: 24e7f3c4 addiu r7,r7,0xf3c4 |0x8019f3c4 001993a8: 00002821 addu r5,r0,r0 |reset Y row counter @LOOP 001993ac: 90e30e2d lbu r3,0x0e2d(r7) |Load AI 0xe2d Offset for some Table (handle different scenarii ?) 001993b0: 00052040 sll r4,r5,0x01 |This iteration halford offset 001993b4: 000310c0 sll r2,r3,0x03 | 001993b8: 00431021 addu r2,r2,r3 | 001993bc: 000210c0 sll r2,r2,0x03 |0xe2d * 0x48 001993c0: 00e21021 addu r2,r7,r2 | 001993c4: 00821021 addu r2,r4,r2 | 001993c8: a4400a74 sh r0,0x0a74(r2) |Reset Y row Flags in AI 0xa74 Table All tiles set to unreachable state / 8019f3c4 + 0xa74 001993cc: 90e30e2d lbu r3,0x0e2d(r7) |Load AI 0xe2d 001993d0: 24a50001 addiu r5,r5,0x0001 |Y row Counter + 1 001993d4: 000310c0 sll r2,r3,0x03 | 001993d8: 00431021 addu r2,r2,r3 | 001993dc: 000210c0 sll r2,r2,0x03 |0xe2d * 0x48 001993e0: 00e21021 addu r2,r7,r2 | 001993e4: 00822021 addu r4,r4,r2 | 001993e8: 28a20012 slti r2,r5,0x0012 | 001993ec: 1440ffef bne r2,r0,0x001993ac #Reset all Flags in AI reachable Tiles table Table at 0x8019f3c4 + 0xa74 001993f0: a4800a98 sh r0,0x0a98(r4) |Reset Y row Flags in AI 0xa74 high elevation Table All tiles set to unreachable state 001993f4: 90e40e2d lbu r4,0x0e2d(r7) |Load AI 0xe2d 001993f8: 00000000 nop | 001993fc: 000418c0 sll r3,r4,0x03 | 00199400: 00641821 addu r3,r3,r4 | 00199404: 000318c0 sll r3,r3,0x03 |0xe2d * 0x48 00199408: 00671821 addu r3,r3,r7 |part of pointer - 8019f3c4 + 0xe2d * 0x48 0019940c: 00042080 sll r4,r4,0x02 | 00199410: 00e42021 addu r4,r7,r4 |part of pointer - 8019f3c4 + 0xe2d * 0x04 00199414: 90850cc5 lbu r5,0x0cc5(r4) |Load this Entry Elevation Flag Always acting Unit ? 0x8019f3c4 + 0xcc4 + 0x01 00199418: 24630a74 addiu r3,r3,0x0a74 |Part of pointer to this entry Reachable Tiles table 8019f3c4 + 0xa74 0019941c: 000510c0 sll r2,r5,0x03 | 00199420: 00451021 addu r2,r2,r5 | 00199424: 00021080 sll r2,r2,0x02 |Elevation * 0x24 Elevation Offset in 0xa74 Table 00199428: 90850cc6 lbu r5,0x0cc6(r4) |Load this entry Y coordinates 0x8019f3c4 + 0xcc4 + 0x02 0019942c: 00431021 addu r2,r2,r3 | 00199430: 00052840 sll r5,r5,0x01 |Y Row offset (Halfword) 00199434: 00a22821 addu r5,r5,r2 |Part of pointer to This Entry Y Row halfword in AI reachable Tiles Table 8019f3c4 + 0xa74 00199438: 90820cc4 lbu r2,0x0cc4(r4) |Load this entry X coordinates 0x8019f3c4 + 0xcc4 0019943c: 34068000 ori r6,r0,0x8000 | 00199440: 00461007 srav r2,r6,r2 |Bitmask for this entry Tile 00199444: a4a20000 sh r2,0x0000(r5) |Store This Entry Tile as reachable 00199448: 90e20e2d lbu r2,0x0e2d(r7) |Load AI 0xe2d 0019944c: 90e40e31 lbu r4,0x0e31(r7) |Acting Unit Elevation 00199450: 000218c0 sll r3,r2,0x03 | 00199454: 00621821 addu r3,r3,r2 | 00199458: 000318c0 sll r3,r3,0x03 |0xe2d * 0x48 0019945c: 00671821 addu r3,r3,r7 | 00199460: 24630a74 addiu r3,r3,0x0a74 |Pointer to This 0xe2d AI reachable tile Table 00199464: 000410c0 sll r2,r4,0x03 | 00199468: 00441021 addu r2,r2,r4 | 0019946c: 00021080 sll r2,r2,0x02 |Elevation * 0x24 00199470: 00431021 addu r2,r2,r3 |Pointer + Elevation offset 00199474: 90e40e32 lbu r4,0x0e32(r7) |Load Acting Unit's Y 00199478: 90e30e30 lbu r3,0x0e30(r7) |Load Acting Unit's X 0019947c: 00042040 sll r4,r4,0x01 |Y * 2 00199480: 00822021 addu r4,r4,r2 |Pointer + Y offset 00199484: 94820000 lhu r2,0x0000(r4) |Load Flags for Acting Unit Y Row 00199488: 00663007 srav r6,r6,r3 |Bitmask For acting Unit Tile 0019948c: 00461025 or r2,r2,r6 |Enable Bitmask 00199490: 03e00008 jr r31 | 00199494: a4820000 sh r2,0x0000(r4) |Store Acting Unit Tile as reachable in AI Table 0xa74
Return locations
BATTLE.BIN 00196648: Map_movement_decision/data_setting 00198430: 001982d8_-_001984e8 001990f8: 0019905c_-_00199120