Add the combat knife in jpn-final

This commit is contained in:
Jonaeru committed 2023-09-24 01:30:11 +09:00
1 parent dad5b3c074
commit 99337e8157
6 files changed
+43 -13

No files matched your search

+2
View File
@@ -5441,10 +5441,12 @@ void bgunTickSwitch2(void)
ctrl->switchtoweaponnum = WEAPON_UNARMED;
}
#ifdef PLATFORM_N64
#if VERSION == VERSION_JPN_FINAL
if (ctrl->switchtoweaponnum == WEAPON_COMBATKNIFE) {
ctrl->switchtoweaponnum = WEAPON_UNARMED;
}
#endif
#endif
if (ctrl->dualwielding && !invHasDoubleWeaponIncAllGuns(ctrl->switchtoweaponnum, ctrl->switchtoweaponnum)) {
+4
View File
@@ -56,10 +56,14 @@ 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
/*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
+4
View File
@@ -286,10 +286,12 @@ s32 invAddOneIfCantHaveSlayer(s32 index)
index++;
}
#ifdef PLATFORM_N64
#if VERSION >= VERSION_JPN_FINAL
if (index >= 26) {
index++;
}
#endif
#endif
return index;
@@ -310,10 +312,12 @@ bool invCanHaveAllGunsWeapon(s32 weaponnum)
{
bool canhave = true;
#ifdef PLATFORM_N64
#if VERSION == VERSION_JPN_FINAL
if (weaponnum == WEAPON_COMBATKNIFE) {
canhave = false;
}
#endif
#endif
if (weaponnum == WEAPON_SLAYER) {
+4
View File
@@ -81,8 +81,12 @@ 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
/*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 },
+4
View File
@@ -70,12 +70,14 @@ 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 (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;
@@ -205,10 +207,12 @@ bool func0f19cbcc(s32 weapon)
bool frIsWeaponAvailable(s32 weapon)
{
#ifdef PLATFORM_N64
#if VERSION == VERSION_JPN_FINAL
if (weapon == WEAPON_COMBATKNIFE) {
return false;
}
#endif
#endif
if (weapon < WEAPON_FALCON2 || weapon > WEAPON_REMOTEMINE
+25 -13
View File
@@ -2958,6 +2958,7 @@
#define MPWEAPON_DEVASTATOR 0x16
#define MPWEAPON_ROCKETLAUNCHER 0x17
#define MPWEAPON_SLAYER 0x18
#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)
@@ -2970,22 +2971,33 @@
#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)
#ifdef PLATFORM_N64
#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
#define MPWEAPON_PP9I (VERSION == VERSION_JPN_FINAL ? 0x24 : 0x25)
#define MPWEAPON_CC13 (VERSION == VERSION_JPN_FINAL ? 0x25 : 0x26)
#define MPWEAPON_KL01313 (VERSION == VERSION_JPN_FINAL ? 0x26 : 0x27)
#define MPWEAPON_KF7SPECIAL (VERSION == VERSION_JPN_FINAL ? 0x27 : 0x28)
#define MPWEAPON_ZZT (VERSION == VERSION_JPN_FINAL ? 0x28 : 0x29)
#define MPWEAPON_DMC (VERSION == VERSION_JPN_FINAL ? 0x29 : 0x2a)
#define MPWEAPON_AR53 (VERSION == VERSION_JPN_FINAL ? 0x2a : 0x2b)
#define MPWEAPON_RCP45 (VERSION == VERSION_JPN_FINAL ? 0x2b : 0x2c)
#define MPWEAPON_SHIELD (VERSION == VERSION_JPN_FINAL ? 0x2c : 0x2d)
#define MPWEAPON_DISABLED (VERSION == VERSION_JPN_FINAL ? 0x2d : 0x2e)
#define NUM_MPWEAPONS (VERSION == VERSION_JPN_FINAL ? 0x2e : 0x2f)
#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
#define MPWEAPON_PP9I 0x25
#define MPWEAPON_CC13 0x26
#define MPWEAPON_KL01313 0x27
#define MPWEAPON_KF7SPECIAL 0x28
#define MPWEAPON_ZZT 0x29
#define MPWEAPON_DMC 0x2a
#define MPWEAPON_AR53 0x2b
#define MPWEAPON_RCP45 0x2c
#define MPWEAPON_SHIELD 0x2d
#define MPWEAPON_DISABLED 0x2e
#define NUM_MPWEAPONS 0x2f
#endif
#define MUSICEVENTTYPE_PLAY 1