diff --git a/src/game/inv.c b/src/game/inv.c index 04fce4a8af..6b4148b1f8 100644 --- a/src/game/inv.c +++ b/src/game/inv.c @@ -280,11 +280,13 @@ s32 invAddOneIfCantHaveSlayer(s32 index) { if (mainGetStageNum()); +#ifdef PLATFORM_N64 if (mainGetStageNum() != STAGE_ATTACKSHIP && mainGetStageNum() != STAGE_SKEDARRUINS && index >= WEAPON_SLAYER) { index++; } +#endif #if (VERSION >= VERSION_JPN_FINAL) && defined(PLATFORM_N64) if (index >= 26) { @@ -299,9 +301,11 @@ s32 currentStageForbidsSlayer(void) { bool value = VERSION >= VERSION_JPN_FINAL ? 1 : 0; +#ifdef PLATFORM_N64 if (mainGetStageNum() != STAGE_ATTACKSHIP && mainGetStageNum() != STAGE_SKEDARRUINS) { value++; } +#endif return value; } @@ -316,9 +320,11 @@ bool invCanHaveAllGunsWeapon(s32 weaponnum) } #endif +#ifdef PLATFORM_N64 if (weaponnum == WEAPON_SLAYER) { canhave = false; } +#endif // @bug: The stage conditions need an OR. This condition can never pass. if ((mainGetStageNum() == STAGE_ATTACKSHIP && mainGetStageNum() == STAGE_SKEDARRUINS) diff --git a/src/game/player.c b/src/game/player.c index ddb73c7269..b047f3baf6 100644 --- a/src/game/player.c +++ b/src/game/player.c @@ -3470,6 +3470,7 @@ void playerTick(bool arg0) bgFindRoomsByPos(&rocketpos, inrooms, aboverooms, 20, &bestroom); +#ifdef PLATFORM_N64 if (inrooms[0] == -1) { outofbounds = true; } @@ -3494,6 +3495,7 @@ void playerTick(bool arg0) g_Vars.currentplayer->badrockettime = 0; } } +#endif mtx00016208(sp2b8, &sp2f0); mtx00016208(sp2b8, &sp2e4);