From e606a58515a058424b685d33fd33b0bd2fc9f1a5 Mon Sep 17 00:00:00 2001 From: Jonaeru Date: Sun, 24 Sep 2023 21:58:08 +0900 Subject: [PATCH] Add the combat knife in jpn-final, fix #if --- src/game/bondgun.c | 4 +--- src/game/botinv.c | 6 +----- src/game/inv.c | 8 ++------ src/game/mplayer/mplayer.c | 6 +----- src/game/training.c | 8 ++------ src/include/constants.h | 38 +++++++++++++------------------------- 6 files changed, 20 insertions(+), 50 deletions(-) diff --git a/src/game/bondgun.c b/src/game/bondgun.c index 593f712c9..b9d1c412d 100644 --- a/src/game/bondgun.c +++ b/src/game/bondgun.c @@ -5441,12 +5441,10 @@ void bgunTickSwitch2(void) ctrl->switchtoweaponnum = WEAPON_UNARMED; } -#ifdef PLATFORM_N64 -#if VERSION == VERSION_JPN_FINAL +#if (VERSION == VERSION_JPN_FINAL) && defined(PLATFORM_N64) if (ctrl->switchtoweaponnum == WEAPON_COMBATKNIFE) { ctrl->switchtoweaponnum = WEAPON_UNARMED; } -#endif #endif if (ctrl->dualwielding && !invHasDoubleWeaponIncAllGuns(ctrl->switchtoweaponnum, ctrl->switchtoweaponnum)) { diff --git a/src/game/botinv.c b/src/game/botinv.c index 1726fb884..77a0522c9 100644 --- a/src/game/botinv.c +++ b/src/game/botinv.c @@ -56,14 +56,10 @@ struct aibotweaponpreference g_AibotWeaponPreferences[] = { /*0x17*/ { 176, 188, 0, 0, 1, 1, BOTDISTCFG_SHOOTEXPLOSIVE, BOTDISTCFG_SHOOTEXPLOSIVE, 20, 20, 4, 4, 2, 0 }, // WEAPON_DEVASTATOR /*0x18*/ { 160, 188, 0, 0, 1, 1, BOTDISTCFG_SHOOTEXPLOSIVE, BOTDISTCFG_SHOOTEXPLOSIVE, 2, 2, 1, 1, 2, 0 }, // WEAPON_ROCKETLAUNCHER /*0x19*/ { 168, 188, 0, 0, 1, 1, BOTDISTCFG_SHOOTEXPLOSIVE, BOTDISTCFG_SHOOTEXPLOSIVE, 2, 2, 1, 1, 3, 0 }, // WEAPON_SLAYER -#ifndef PLATFORM_N64 // add the combat knife in jpn-final - /*0x1a*/ { 20, 40, 24, 40, 1, 1, BOTDISTCFG_CLOSE, BOTDISTCFG_DEFAULT, 0, 5, 0, 1, 1, 0 }, // WEAPON_COMBATKNIFE -#else -#if VERSION == VERSION_JPN_FINAL +#if (VERSION == VERSION_JPN_FINAL) && defined(PLATFORM_N64) /*0x1a*/ { 0, 0, 0, 0, 0, 0, BOTDISTCFG_DEFAULT, BOTDISTCFG_DEFAULT, 0, 0, 0, 0, 1, 0 }, // WEAPON_COMBATKNIFE #else /*0x1a*/ { 20, 40, 24, 40, 1, 1, BOTDISTCFG_CLOSE, BOTDISTCFG_DEFAULT, 0, 5, 0, 1, 1, 0 }, // WEAPON_COMBATKNIFE -#endif #endif /*0x1b*/ { 108, 176, 0, 0, 1, 1, BOTDISTCFG_DEFAULT, BOTDISTCFG_DEFAULT, 15, 15, 5, 5, 4, 1 }, // WEAPON_CROSSBOW /*0x1c*/ { 48, 188, 0, 0, 1, 1, BOTDISTCFG_DEFAULT, BOTDISTCFG_CLOSE, 20, 24, 6, 8, 1, 0 }, // WEAPON_TRANQUILIZER diff --git a/src/game/inv.c b/src/game/inv.c index f36733b02..825e21fe9 100644 --- a/src/game/inv.c +++ b/src/game/inv.c @@ -286,12 +286,10 @@ s32 invAddOneIfCantHaveSlayer(s32 index) index++; } -#ifdef PLATFORM_N64 -#if VERSION >= VERSION_JPN_FINAL +#if (VERSION >= VERSION_JPN_FINAL) && defined(PLATFORM_N64) if (index >= 26) { index++; } -#endif #endif return index; @@ -312,12 +310,10 @@ bool invCanHaveAllGunsWeapon(s32 weaponnum) { bool canhave = true; -#ifdef PLATFORM_N64 -#if VERSION == VERSION_JPN_FINAL +#if (VERSION == VERSION_JPN_FINAL) && defined(PLATFORM_N64) if (weaponnum == WEAPON_COMBATKNIFE) { canhave = false; } -#endif #endif if (weaponnum == WEAPON_SLAYER) { diff --git a/src/game/mplayer/mplayer.c b/src/game/mplayer/mplayer.c index 73d2ea367..5ed36ed9f 100644 --- a/src/game/mplayer/mplayer.c +++ b/src/game/mplayer/mplayer.c @@ -81,12 +81,8 @@ struct mpweapon g_MpWeapons[NUM_MPWEAPONS] = { /*0x16*/ { WEAPON_DEVASTATOR, AMMOTYPE_DEVASTATOR, 16, 0, 0, 1, MPFEATURE_WEAPON_DEVASTATOR, MODEL_CHRDEVASTATOR, 256 }, /*0x17*/ { WEAPON_ROCKETLAUNCHER, AMMOTYPE_ROCKET, 3, 0, 0, 1, 0, MODEL_CHRDYROCKET, 256 }, /*0x18*/ { WEAPON_SLAYER, AMMOTYPE_ROCKET, 3, 0, 0, 1, MPFEATURE_WEAPON_SLAYER, MODEL_CHRSKROCKET, 256 }, -#ifndef PLATFORM_N64 +#if !((VERSION != VERSION_JPN_FINAL) && defined(PLATFORM_N64)) /*0x19*/ { WEAPON_COMBATKNIFE, AMMOTYPE_KNIFE, 5, 0, 0, 1, 0, MODEL_CHRKNIFE, 256 }, -#else -#if VERSION != VERSION_JPN_FINAL - /*0x19*/ { WEAPON_COMBATKNIFE, AMMOTYPE_KNIFE, 5, 0, 0, 1, 0, MODEL_CHRKNIFE, 256 }, -#endif #endif /*0x1a*/ { WEAPON_CROSSBOW, AMMOTYPE_CROSSBOW, 10, 0, 0, 1, MPFEATURE_WEAPON_CROSSBOW, MODEL_CHRCROSSBOW, 256 }, /*0x1b*/ { WEAPON_TRANQUILIZER, AMMOTYPE_SEDATIVE, 50, 0, 0, 1, MPFEATURE_WEAPON_TRANQUILIZER, MODEL_CHRDRUGGUN, 256 }, diff --git a/src/game/training.c b/src/game/training.c index 43e5b2c26..6816ce312 100644 --- a/src/game/training.c +++ b/src/game/training.c @@ -70,14 +70,12 @@ u8 ciGetFiringRangeScore(s32 weaponindex) { // Data at firingrangescores is a u8 array where each score uses 2 bits -#ifdef PLATFORM_N64 -#if VERSION == VERSION_JPN_FINAL +#if (VERSION == VERSION_JPN_FINAL) && defined(PLATFORM_N64) if (weaponindex == frGetWeaponIndexByWeapon(WEAPON_COMBATKNIFE)) { // The knife doesn't exist in the JPN version. // Treat it as completed so unlockables still work. return 3; } -#endif #endif return (g_GameFile.firingrangescores[weaponindex >> 2] >> (weaponindex % 4) * 2) & 3; @@ -207,12 +205,10 @@ bool func0f19cbcc(s32 weapon) bool frIsWeaponAvailable(s32 weapon) { -#ifdef PLATFORM_N64 -#if VERSION == VERSION_JPN_FINAL +#if (VERSION == VERSION_JPN_FINAL) && defined(PLATFORM_N64) if (weapon == WEAPON_COMBATKNIFE) { return false; } -#endif #endif if (weapon < WEAPON_FALCON2 || weapon > WEAPON_REMOTEMINE diff --git a/src/include/constants.h b/src/include/constants.h index 4103cf44e..d55b65b85 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -2958,35 +2958,23 @@ #define MPWEAPON_DEVASTATOR 0x16 #define MPWEAPON_ROCKETLAUNCHER 0x17 #define MPWEAPON_SLAYER 0x18 +#define MPWEAPON_COMBATKNIFE (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0 : 0x19) +#define MPWEAPON_CROSSBOW (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x19 : 0x1a) +#define MPWEAPON_TRANQUILIZER (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x1a : 0x1b) +#define MPWEAPON_GRENADE (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x1b : 0x1c) +#define MPWEAPON_NBOMB (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x1c : 0x1d) +#define MPWEAPON_TIMEDMINE (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x1d : 0x1e) +#define MPWEAPON_PROXIMITYMINE (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x1e : 0x1f) +#define MPWEAPON_REMOTEMINE (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x1f : 0x20) +#define MPWEAPON_LASER (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x20 : 0x21) +#define MPWEAPON_XRAYSCANNER (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x21 : 0x22) +#define MPWEAPON_CLOAKINGDEVICE (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x22 : 0x23) +#define MPWEAPON_COMBATBOOST (VERSION == VERSION_JPN_FINAL && defined(PLATFORM_N64) ? 0x23 : 0x24) #ifdef PLATFORM_N64 -#define MPWEAPON_COMBATKNIFE (VERSION == VERSION_JPN_FINAL ? 0 : 0x19) -#define MPWEAPON_CROSSBOW (VERSION == VERSION_JPN_FINAL ? 0x19 : 0x1a) -#define MPWEAPON_TRANQUILIZER (VERSION == VERSION_JPN_FINAL ? 0x1a : 0x1b) -#define MPWEAPON_GRENADE (VERSION == VERSION_JPN_FINAL ? 0x1b : 0x1c) -#define MPWEAPON_NBOMB (VERSION == VERSION_JPN_FINAL ? 0x1c : 0x1d) -#define MPWEAPON_TIMEDMINE (VERSION == VERSION_JPN_FINAL ? 0x1d : 0x1e) -#define MPWEAPON_PROXIMITYMINE (VERSION == VERSION_JPN_FINAL ? 0x1e : 0x1f) -#define MPWEAPON_REMOTEMINE (VERSION == VERSION_JPN_FINAL ? 0x1f : 0x20) -#define MPWEAPON_LASER (VERSION == VERSION_JPN_FINAL ? 0x20 : 0x21) -#define MPWEAPON_XRAYSCANNER (VERSION == VERSION_JPN_FINAL ? 0x21 : 0x22) -#define MPWEAPON_CLOAKINGDEVICE (VERSION == VERSION_JPN_FINAL ? 0x22 : 0x23) -#define MPWEAPON_COMBATBOOST (VERSION == VERSION_JPN_FINAL ? 0x23 : 0x24) #define MPWEAPON_SHIELD (VERSION == VERSION_JPN_FINAL ? 0x24 : 0x25) #define MPWEAPON_DISABLED (VERSION == VERSION_JPN_FINAL ? 0x25 : 0x26) #define NUM_MPWEAPONS (VERSION == VERSION_JPN_FINAL ? 0x26 : 0x27) -#else // add all classic weapons to multiplayer and add the combat knife in jpn-final -#define MPWEAPON_COMBATKNIFE 0x19 -#define MPWEAPON_CROSSBOW 0x1a -#define MPWEAPON_TRANQUILIZER 0x1b -#define MPWEAPON_GRENADE 0x1c -#define MPWEAPON_NBOMB 0x1d -#define MPWEAPON_TIMEDMINE 0x1e -#define MPWEAPON_PROXIMITYMINE 0x1f -#define MPWEAPON_REMOTEMINE 0x20 -#define MPWEAPON_LASER 0x21 -#define MPWEAPON_XRAYSCANNER 0x22 -#define MPWEAPON_CLOAKINGDEVICE 0x23 -#define MPWEAPON_COMBATBOOST 0x24 +#else // add all classic weapons to multiplayer #define MPWEAPON_PP9I 0x25 #define MPWEAPON_CC13 0x26 #define MPWEAPON_KL01313 0x27