From deeda14264279b407eb6d6fac0c0979a21fea3fa Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 3 Jan 2021 18:20:03 +1000 Subject: [PATCH] Decompile mpKohAddHill --- src/game/mplayer/options.c | 2 +- src/game/mplayer/scenarios.c | 26 +++++++------------------- src/include/game/mplayer/setup.h | 2 +- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/src/game/mplayer/options.c b/src/game/mplayer/options.c index a44c8b49e..41f6cf9c8 100644 --- a/src/game/mplayer/options.c +++ b/src/game/mplayer/options.c @@ -962,7 +962,7 @@ void mpPrepareScenario(void) break; case INTROCMD_HILL: if (g_MpSetup.scenario == MPSCENARIO_KINGOFTHEHILL) { - func0f182aac(cmd); + mpKohAddHill(cmd); } cmd += 2; break; diff --git a/src/game/mplayer/scenarios.c b/src/game/mplayer/scenarios.c index 2f2403524..7e37ad554 100644 --- a/src/game/mplayer/scenarios.c +++ b/src/game/mplayer/scenarios.c @@ -2503,25 +2503,13 @@ Gfx *scenarioKohRadar(Gfx *gdl) return gdl; } -GLOBAL_ASM( -glabel func0f182aac -/* f182aac: 3c03800b */ lui $v1,%hi(g_ScenarioData) -/* f182ab0: 2463c110 */ addiu $v1,$v1,%lo(g_ScenarioData) -/* f182ab4: 8462000c */ lh $v0,0xc($v1) -/* f182ab8: 28410009 */ slti $at,$v0,0x9 -/* f182abc: 10200008 */ beqz $at,.L0f182ae0 -/* f182ac0: 00000000 */ nop -/* f182ac4: 8c8e0004 */ lw $t6,0x4($a0) -/* f182ac8: 00027840 */ sll $t7,$v0,0x1 -/* f182acc: 006fc021 */ addu $t8,$v1,$t7 -/* f182ad0: a70e0012 */ sh $t6,0x12($t8) -/* f182ad4: 8479000c */ lh $t9,0xc($v1) -/* f182ad8: 27280001 */ addiu $t0,$t9,0x1 -/* f182adc: a468000c */ sh $t0,0xc($v1) -.L0f182ae0: -/* f182ae0: 03e00008 */ jr $ra -/* f182ae4: 00000000 */ nop -); +void mpKohAddHill(s32 *cmd) +{ + if (g_ScenarioData.koh.hillcount < ARRAYCOUNT(g_ScenarioData.koh.hillpads)) { + g_ScenarioData.koh.hillpads[g_ScenarioData.koh.hillcount] = cmd[1]; + g_ScenarioData.koh.hillcount++; + } +} bool scenarioKohIsRoomHighlighted(s16 room) { diff --git a/src/include/game/mplayer/setup.h b/src/include/game/mplayer/setup.h index fa4df16cf..b84992b66 100644 --- a/src/include/game/mplayer/setup.h +++ b/src/include/game/mplayer/setup.h @@ -83,7 +83,7 @@ void mpCtcAddPad(s32 *cmd); void scenarioCtcCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3); void scenarioKohCallback10(void); u32 scenarioKohCallback18(void); -void func0f182aac(s32 *cmd); +void mpKohAddHill(s32 *cmd); void scenarioKohCallback38(s16 arg0, s32 *arg1, s32 *arg2, s32 *arg3); void mpHtmAddPad(s16 padnum); void func0f182bf4(void);