forked from Ports/perfect_dark
Add the combat knife in jpn-final
This commit is contained in:
1 parent
dad5b3c074
commit
99337e8157
6 files changed
+43
-13
No files matched your search
@@ -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)) {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 },
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in new issue
Block a user