diff --git a/src/game/game_157db0.c b/src/game/game_157db0.c index a4592d9cb..cfb946b52 100644 --- a/src/game/game_157db0.c +++ b/src/game/game_157db0.c @@ -14535,21 +14535,12 @@ glabel func0f1648cc /* f164a84: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f164a88 -/* f164a88: 3c06800a */ lui $a2,%hi(g_Portals) -/* f164a8c: 24c64cc8 */ addiu $a2,$a2,%lo(g_Portals) -/* f164a90: 8cce0000 */ lw $t6,0x0($a2) -/* f164a94: 000418c0 */ sll $v1,$a0,0x3 -/* f164a98: 01c32821 */ addu $a1,$t6,$v1 -/* f164a9c: 84af0004 */ lh $t7,0x4($a1) -/* f164aa0: 84a20002 */ lh $v0,0x2($a1) -/* f164aa4: a4af0002 */ sh $t7,0x2($a1) -/* f164aa8: 8cd80000 */ lw $t8,0x0($a2) -/* f164aac: 0303c821 */ addu $t9,$t8,$v1 -/* f164ab0: 03e00008 */ jr $ra -/* f164ab4: a7220004 */ sh $v0,0x4($t9) -); +void portalSwapProps(u32 portal) +{ + s16 tmp = g_Portals[portal].unk02; + g_Portals[portal].unk02 = g_Portals[portal].unk04; + g_Portals[portal].unk04 = tmp; +} GLOBAL_ASM( glabel func0f164ab8 @@ -14617,7 +14608,7 @@ glabel func0f164ab8 /* f164bac: c7aa0028 */ lwc1 $f10,0x28($sp) /* f164bb0: 24020001 */ addiu $v0,$zero,0x1 /* f164bb4: afa20018 */ sw $v0,0x18($sp) -/* f164bb8: 0fc592a2 */ jal func0f164a88 +/* f164bb8: 0fc592a2 */ jal portalSwapProps /* f164bbc: afa40058 */ sw $a0,0x58($sp) /* f164bc0: c7b00028 */ lwc1 $f16,0x28($sp) /* f164bc4: c7a8002c */ lwc1 $f8,0x2c($sp) @@ -14655,7 +14646,7 @@ glabel func0f164ab8 /* f164c40: 8fbf0014 */ lw $ra,0x14($sp) /* f164c44: 50400004 */ beqzl $v0,.L0f164c58 /* f164c48: 8fbf0014 */ lw $ra,0x14($sp) -/* f164c4c: 0fc592a2 */ jal func0f164a88 +/* f164c4c: 0fc592a2 */ jal portalSwapProps /* f164c50: afa20018 */ sw $v0,0x18($sp) /* f164c54: 8fbf0014 */ lw $ra,0x14($sp) .L0f164c58: diff --git a/src/include/game/game_157db0.h b/src/include/game/game_157db0.h index 7adc7870a..cebd7725d 100644 --- a/src/include/game/game_157db0.h +++ b/src/include/game/game_157db0.h @@ -93,7 +93,7 @@ u32 func0f1645a8(void); u32 func0f1646b8(void); u32 func0f164748(void); u32 func0f1648cc(void); -u32 func0f164a88(void); +void portalSwapProps(u32 portal); u32 func0f164ab8(void); u32 func0f164c64(void); void portalSetEnabled(s32 portalnum, bool enable); diff --git a/src/include/types.h b/src/include/types.h index f1f85f6fa..58de3b0ad 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -4079,8 +4079,9 @@ struct scenariodata { }; struct portal { - u32 unk00; - u16 unk04; + u16 unk00; + s16 unk02; + s16 unk04; u8 flags; };