mirror of
https://github.com/DrBeef/Doom3Quest.git
synced 2024-11-23 20:32:44 +00:00
Adding RoE weapons
This commit is contained in:
parent
841e47cd9d
commit
92fa4000ef
15 changed files with 238 additions and 130 deletions
|
@ -104,7 +104,7 @@ public:
|
|||
virtual void SetLocalClient( int clientNum ) = 0;
|
||||
|
||||
virtual void SetVRClientInfo(vrClientInfo *pVRClientInfo) = 0;
|
||||
|
||||
virtual void CheckRenderCvars() = 0;
|
||||
virtual void EvaluateVRMoveMode(idVec3 &viewangles, usercmd_t &cmd, int buttonCurrentlyClicked, float snapTurn) = 0;
|
||||
virtual bool CMDButtonsAttackCall(int &teleportCanceled) = 0;
|
||||
virtual bool CMDButtonsPhysicalCrouch() = 0;
|
||||
|
|
|
@ -215,6 +215,8 @@ public:
|
|||
return head.GetEntity();
|
||||
};
|
||||
|
||||
void PlayFootStepSound( void );
|
||||
|
||||
protected:
|
||||
friend class idAnimState;
|
||||
|
||||
|
@ -289,11 +291,12 @@ protected:
|
|||
// copies animation from body to head joints
|
||||
void CopyJointsFromBodyToHead( void );
|
||||
|
||||
|
||||
private:
|
||||
void SyncAnimChannels( int channel, int syncToChannel, int blendFrames );
|
||||
void FinishSetup( void );
|
||||
void SetupHead( void );
|
||||
void PlayFootStepSound( void );
|
||||
|
||||
|
||||
void Event_EnableEyeFocus( void );
|
||||
void Event_DisableEyeFocus( void );
|
||||
|
|
|
@ -96,6 +96,42 @@ const char *idGameLocal::sufaceTypeNames[ MAX_SURFACE_TYPES ] = {
|
|||
"ricochet", "surftype10", "surftype11", "surftype12", "surftype13", "surftype14", "surftype15"
|
||||
};
|
||||
|
||||
// List of all defs used by the player that will stay on the fast timeline
|
||||
static const char* fastEntityList[] =
|
||||
{
|
||||
"player_doommarine",
|
||||
"weapon_chainsaw",
|
||||
"weapon_fists",
|
||||
"weapon_flashlight",
|
||||
"weapon_rocketlauncher",
|
||||
"projectile_rocket",
|
||||
"weapon_machinegun",
|
||||
"projectile_bullet_machinegun",
|
||||
"weapon_pistol",
|
||||
"projectile_bullet_pistol",
|
||||
"weapon_handgrenade",
|
||||
"projectile_grenade",
|
||||
"weapon_bfg",
|
||||
"projectile_bfg",
|
||||
"weapon_chaingun",
|
||||
"projectile_chaingunbullet",
|
||||
"weapon_pda",
|
||||
"weapon_plasmagun",
|
||||
"projectile_plasmablast",
|
||||
"weapon_shotgun",
|
||||
"projectile_bullet_shotgun",
|
||||
"weapon_soulcube",
|
||||
"projectile_soulblast",
|
||||
"weapon_shotgun_double",
|
||||
"projectile_shotgunbullet_double",
|
||||
"weapon_grabber",
|
||||
"weapon_bloodstone_active1",
|
||||
"weapon_bloodstone_active2",
|
||||
"weapon_bloodstone_active3",
|
||||
"weapon_bloodstone_passive",
|
||||
NULL
|
||||
};
|
||||
|
||||
/*
|
||||
===========
|
||||
GetGameAPI
|
||||
|
@ -776,10 +812,6 @@ void idGameLocal::SetLocalClient( int clientNum ) {
|
|||
|
||||
void idGameLocal::SetVRClientInfo(vrClientInfo *pVR)
|
||||
{
|
||||
/*
|
||||
pVR->hmdorientation[0] = 0.0;
|
||||
pVR->hmdorientation[1] = 0.0;
|
||||
pVR->hmdorientation[2] = 0.0;*/
|
||||
pVRClientInfo = pVR;
|
||||
}
|
||||
|
||||
|
@ -986,6 +1018,23 @@ bool idGameLocal::AnimatorGetJointTransform(idAnimator* animator, jointHandle_t
|
|||
return animator->GetJointTransform( jointHandle, -1, offset, axis );
|
||||
}
|
||||
|
||||
void idGameLocal::CheckRenderCvars()
|
||||
{
|
||||
// Koz
|
||||
if ( game->isVR )
|
||||
{
|
||||
if ( vr_useFloorHeight.IsModified() || ( vr_normalViewHeight.IsModified() && vr_useFloorHeight.GetInteger() == 0 ) || vr_scale.IsModified() || commonVr->shouldRecenter )
|
||||
{
|
||||
commonVr->HMDResetTrackingOriginOffset();
|
||||
vr_useFloorHeight.ClearModified();
|
||||
vr_normalViewHeight.ClearModified();
|
||||
vr_scale.ClearModified();
|
||||
commonVr->shouldRecenter = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
================
|
||||
Koz begin
|
||||
|
|
|
@ -356,6 +356,9 @@ public:
|
|||
virtual void SetLocalClient( int clientNum );
|
||||
virtual void SetVRClientInfo(vrClientInfo *pVRClientInfo);
|
||||
virtual void EvaluateVRMoveMode(idVec3 &viewangles, usercmd_t &cmd, int buttonCurrentlyClicked, float snapTurn);
|
||||
|
||||
virtual void CheckRenderCvars();
|
||||
|
||||
//GB Trying to move animator function
|
||||
virtual bool AnimatorGetJointTransform(idAnimator* animator, jointHandle_t jointHandle, int currentTime, idVec3 &offset, idMat3 &axis );
|
||||
virtual bool CMDButtonsAttackCall(int &teleportCanceled);
|
||||
|
|
|
@ -1561,25 +1561,31 @@ void idPlayer::Init( void ) {
|
|||
oldFlags = 0;
|
||||
|
||||
weaponEnabled = true;
|
||||
risingWeaponHand = -1;
|
||||
weapon_soulcube = SlotForWeapon( "weapon_soulcube" );
|
||||
weapon_pda = SlotForWeapon( "weapon_pda" );
|
||||
weapon_fists = SlotForWeapon( "weapon_fists" );
|
||||
weapon_flashlight = SlotForWeapon( "weapon_flashlight" );
|
||||
weapon_chainsaw = SlotForWeapon( "weapon_chainsaw" );
|
||||
showWeaponViewModel = GetUserInfo()->GetBool( "ui_showGun" );
|
||||
harvest_lock = false;
|
||||
weapon_pda = SlotForWeapon( "weapon_pda" );
|
||||
weapon_fists = SlotForWeapon( "weapon_fists" );
|
||||
weapon_flashlight = SlotForWeapon( "weapon_flashlight" );
|
||||
weapon_chainsaw = SlotForWeapon( "weapon_chainsaw" );
|
||||
weapon_bloodstone = SlotForWeapon( "weapon_bloodstone_passive" );
|
||||
weapon_bloodstone_active1 = SlotForWeapon( "weapon_bloodstone_active1" );
|
||||
weapon_bloodstone_active2 = SlotForWeapon( "weapon_bloodstone_active2" );
|
||||
weapon_bloodstone_active3 = SlotForWeapon( "weapon_bloodstone_active3" );
|
||||
harvest_lock = false;
|
||||
|
||||
// Koz begin;
|
||||
weapon_pistol = SlotForWeapon( "weapon_pistol" );
|
||||
weapon_shotgun = SlotForWeapon( "weapon_shotgun" );
|
||||
weapon_machinegun = SlotForWeapon( "weapon_machinegun" );
|
||||
weapon_chaingun = SlotForWeapon( "weapon_chaingun" );
|
||||
weapon_handgrenade = SlotForWeapon( "weapon_handgrenade" );
|
||||
weapon_plasmagun = SlotForWeapon( "weapon_plasmagun" );
|
||||
weapon_rocketlauncher = SlotForWeapon( "weapon_rocketlauncher" );
|
||||
weapon_bfg = SlotForWeapon( "weapon_bfg" );
|
||||
weapon_flashlight_new = SlotForWeapon( "weapon_flashlight_new" );
|
||||
// Koz end
|
||||
// Koz begin;
|
||||
weapon_pistol = SlotForWeapon( "weapon_pistol" );
|
||||
weapon_shotgun = SlotForWeapon( "weapon_shotgun" );
|
||||
weapon_shotgun_double = SlotForWeapon( "weapon_shotgun_double" );
|
||||
weapon_machinegun = SlotForWeapon( "weapon_machinegun" );
|
||||
weapon_chaingun = SlotForWeapon( "weapon_chaingun" );
|
||||
weapon_handgrenade = SlotForWeapon( "weapon_handgrenade" );
|
||||
weapon_plasmagun = SlotForWeapon( "weapon_plasmagun" );
|
||||
weapon_rocketlauncher = SlotForWeapon( "weapon_rocketlauncher" );
|
||||
weapon_bfg = SlotForWeapon( "weapon_bfg" );
|
||||
weapon_flashlight_new = SlotForWeapon( "weapon_flashlight_new" );
|
||||
weapon_grabber = SlotForWeapon( "weapon_grabber" );
|
||||
// Koz end
|
||||
|
||||
|
||||
lastDmgTime = 0;
|
||||
|
@ -2177,17 +2183,23 @@ void idPlayer::Save( idSaveGame *savefile ) const {
|
|||
savefile->WriteInt( weapon_fists );
|
||||
savefile->WriteInt( weapon_flashlight );
|
||||
savefile->WriteInt( weapon_chainsaw );
|
||||
// Koz
|
||||
savefile->WriteInt( weapon_pistol );
|
||||
savefile->WriteInt( weapon_shotgun );
|
||||
savefile->WriteInt( weapon_machinegun );
|
||||
savefile->WriteInt( weapon_chaingun );
|
||||
savefile->WriteInt( weapon_handgrenade );
|
||||
savefile->WriteInt( weapon_plasmagun );
|
||||
savefile->WriteInt( weapon_rocketlauncher );
|
||||
savefile->WriteInt( weapon_bfg );
|
||||
savefile->WriteInt( weapon_flashlight_new );
|
||||
// Koz end
|
||||
savefile->WriteInt( weapon_bloodstone );
|
||||
savefile->WriteInt( weapon_bloodstone_active1 );
|
||||
savefile->WriteInt( weapon_bloodstone_active2 );
|
||||
savefile->WriteInt( weapon_bloodstone_active3 );
|
||||
// Koz
|
||||
savefile->WriteInt( weapon_pistol );
|
||||
savefile->WriteInt( weapon_shotgun );
|
||||
savefile->WriteInt( weapon_shotgun_double );
|
||||
savefile->WriteInt( weapon_machinegun );
|
||||
savefile->WriteInt( weapon_chaingun );
|
||||
savefile->WriteInt( weapon_handgrenade );
|
||||
savefile->WriteInt( weapon_plasmagun );
|
||||
savefile->WriteInt( weapon_rocketlauncher );
|
||||
savefile->WriteInt( weapon_bfg );
|
||||
savefile->WriteInt( weapon_flashlight_new );
|
||||
savefile->WriteInt( weapon_grabber );
|
||||
// Koz end
|
||||
savefile->WriteBool( harvest_lock );
|
||||
savefile->WriteInt( heartRate );
|
||||
|
||||
|
@ -2530,21 +2542,30 @@ void idPlayer::Restore( idRestoreGame *savefile ) {
|
|||
savefile->ReadBool(objectiveSystemOpen);
|
||||
|
||||
|
||||
savefile->ReadInt(weapon_soulcube);
|
||||
savefile->ReadInt(weapon_pda);
|
||||
savefile->ReadInt(weapon_fists);
|
||||
savefile->ReadInt( weapon_soulcube );
|
||||
savefile->ReadInt( weapon_pda );
|
||||
savefile->ReadInt( weapon_fists );
|
||||
savefile->ReadInt( weapon_flashlight );
|
||||
savefile->ReadInt( weapon_chainsaw );
|
||||
savefile->ReadInt( weapon_bloodstone );
|
||||
savefile->ReadInt( weapon_bloodstone_active1 );
|
||||
savefile->ReadInt( weapon_bloodstone_active2 );
|
||||
savefile->ReadInt( weapon_bloodstone_active3 );
|
||||
|
||||
// Koz
|
||||
savefile->ReadInt( weapon_pistol );
|
||||
savefile->ReadInt( weapon_shotgun );
|
||||
savefile->ReadInt( weapon_machinegun );
|
||||
savefile->ReadInt( weapon_chaingun );
|
||||
savefile->ReadInt( weapon_handgrenade );
|
||||
savefile->ReadInt( weapon_plasmagun );
|
||||
savefile->ReadInt( weapon_rocketlauncher );
|
||||
savefile->ReadInt( weapon_bfg );
|
||||
savefile->ReadInt( weapon_flashlight_new );
|
||||
savefile->ReadInt( weapon_shotgun );
|
||||
savefile->ReadInt( weapon_shotgun_double );
|
||||
savefile->ReadInt( weapon_machinegun );
|
||||
savefile->ReadInt( weapon_chaingun );
|
||||
savefile->ReadInt( weapon_handgrenade );
|
||||
savefile->ReadInt( weapon_plasmagun );
|
||||
savefile->ReadInt( weapon_rocketlauncher );
|
||||
savefile->ReadInt( weapon_bfg );
|
||||
savefile->ReadInt( weapon_flashlight_new );
|
||||
savefile->ReadInt( weapon_grabber );
|
||||
// Koz end
|
||||
|
||||
savefile->ReadBool( harvest_lock );
|
||||
savefile->ReadInt(heartRate);
|
||||
|
||||
|
@ -2678,6 +2699,8 @@ void idPlayer::Restore( idRestoreGame *savefile ) {
|
|||
savefile->ReadInt( hands[ 1 - vr_weaponHand.GetInteger() ].weaponSwitchTime );
|
||||
|
||||
savefile->ReadBool(weaponEnabled);
|
||||
risingWeaponHand = -1;
|
||||
|
||||
savefile->ReadBool(showWeaponViewModel);
|
||||
|
||||
savefile->ReadSkin(skin);
|
||||
|
@ -13750,7 +13773,7 @@ void idPlayer::CalculateViewFlashlightPos( idVec3 &origin, idMat3 &axis, idVec3
|
|||
origin += flashlightOffset.x * axis[1] + flashlightOffset.y * axis[0] + flashlightOffset.z * axis[2];
|
||||
|
||||
curWeap = weaponWithFlashlightMounted->IdentifyWeapon();
|
||||
if ( curWeap == WEAPON_ROCKETLAUNCHER )
|
||||
if ( curWeap == WEAPON_SHOTGUN_DOUBLE || curWeap == WEAPON_ROCKETLAUNCHER )
|
||||
{
|
||||
//hack was already present in the code to fix borked alignments for these weapons,
|
||||
//we need to put them back
|
||||
|
|
|
@ -68,7 +68,7 @@ const int FOCUS_TIME = 300;
|
|||
const int FOCUS_GUI_TIME = 200; // Koz fixme, only change in VR. Previously 500, reduced to 200 to drop weapon out of guis faster.
|
||||
const int NUM_QUICK_SLOTS = 4;
|
||||
|
||||
const int MAX_WEAPONS = 16;
|
||||
const int MAX_WEAPONS = 32;
|
||||
|
||||
const int weapon_empty_hand = -2; // Carl: todo, maybe a different constant
|
||||
|
||||
|
@ -82,19 +82,6 @@ const int ZERO_VOLUME = -40; // volume at zero
|
|||
const int DMG_VOLUME = 5; // volume when taking damage
|
||||
const int DEATH_VOLUME = 15; // volume at death
|
||||
|
||||
/*const int WEAPON_FISTS = 0;
|
||||
const int WEAPON_PISTOL = 1;
|
||||
const int WEAPON_SHOTGUN = 2;
|
||||
const int WEAPON_MACHINEGUN = 3;
|
||||
const int WEAPON_CHAINGUN = 4;
|
||||
const int WEAPON_GREANDE = 5;
|
||||
const int WEAPON_PLASMARIFLE = 6;
|
||||
const int WEAPON_ROCKETLAUNCHER = 7;
|
||||
const int WEAPON_BFG = 8;
|
||||
const int WEAPON_SOULCUBE = 9;
|
||||
const int WEAPON_CHAINSAW = 10;
|
||||
const int WEAPON_FLASHLIGHT = 11;*/
|
||||
|
||||
const int SAVING_THROW_TIME = 5000; // maximum one "saving throw" every five seconds
|
||||
|
||||
extern const int ASYNC_PLAYER_INV_AMMO_BITS;
|
||||
|
@ -579,19 +566,26 @@ public:
|
|||
int weapon_pda;
|
||||
int weapon_fists;
|
||||
int weapon_flashlight;
|
||||
int weapon_chainsaw;
|
||||
bool harvest_lock;
|
||||
// Koz begin
|
||||
int weapon_pistol;
|
||||
int weapon_shotgun;
|
||||
int weapon_machinegun;
|
||||
int weapon_chaingun;
|
||||
int weapon_handgrenade;
|
||||
int weapon_plasmagun;
|
||||
int weapon_rocketlauncher;
|
||||
int weapon_bfg;
|
||||
int weapon_flashlight_new;
|
||||
// Koz end
|
||||
int weapon_chainsaw;
|
||||
int weapon_bloodstone;
|
||||
int weapon_bloodstone_active1;
|
||||
int weapon_bloodstone_active2;
|
||||
int weapon_bloodstone_active3;
|
||||
bool harvest_lock;
|
||||
// Koz begin
|
||||
int weapon_pistol;
|
||||
int weapon_shotgun;
|
||||
int weapon_shotgun_double;
|
||||
int weapon_machinegun;
|
||||
int weapon_chaingun;
|
||||
int weapon_handgrenade;
|
||||
int weapon_plasmagun;
|
||||
int weapon_rocketlauncher;
|
||||
int weapon_bfg;
|
||||
int weapon_flashlight_new;
|
||||
int weapon_grabber;
|
||||
|
||||
|
||||
int heartRate;
|
||||
idInterpolate<float> heartInfo;
|
||||
int lastHeartAdjust;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
// *** Oculus HMD Variables
|
||||
idCVar vr_scale( "vr_scale", "1.0", CVAR_FLOAT | CVAR_ARCHIVE | CVAR_GAME, "World scale. Everything virtual is this times as big." );
|
||||
//In Menu - not working (needs virtual function)
|
||||
//In Menu - added virtual function - needs testing
|
||||
idCVar vr_useFloorHeight( "vr_useFloorHeight", "0", CVAR_INTEGER | CVAR_ARCHIVE | CVAR_GAME, "0 = Custom eye height. 1 = Marine Eye Height. 2 = Normal View Height. 3 = make floor line up by Doomguy crouching. 4 = make everything line up by scaling world to your height.", 0, 4 );
|
||||
idCVar vr_normalViewHeight( "vr_normalViewHeight", "73", CVAR_FLOAT | CVAR_ARCHIVE | CVAR_GAME, "Height of player's view while standing, in real world inches." );
|
||||
|
||||
|
@ -169,7 +169,7 @@ idCVar vr_crouchMode( "vr_crouchMode", "0", CVAR_INTEGER | CVAR_GAME | CVAR_ARCH
|
|||
idCVar vr_crouchTriggerDist( "vr_crouchTriggerDist", "7", CVAR_FLOAT | CVAR_ARCHIVE, " Distance ( in real-world inches ) player must crouch in real life to toggle crouch\n" );
|
||||
idCVar vr_crouchHideBody( "vr_crouchHideBody", "0", CVAR_FLOAT | CVAR_ARCHIVE, "Hide body ( if displayed ) when crouching. 0 = Dont hide, 1 = hide." );
|
||||
|
||||
idCVar vr_frameCheck( "vr_frameCheck", "0", CVAR_INTEGER | CVAR_ARCHIVE, "0 = bypass frame check" );
|
||||
idCVar vr_frameCheck( "vr_frameCheck", "1", CVAR_INTEGER | CVAR_ARCHIVE, "0 = bypass frame check" );
|
||||
|
||||
idCVar vr_teleportSkipHandrails( "vr_teleportSkipHandrails", "0", CVAR_INTEGER | CVAR_ARCHIVE, "Teleport aim ingnores handrails. 1 = true" );
|
||||
idCVar vr_teleportShowAimAssist( "vr_teleportShowAimAssist", "0", CVAR_INTEGER | CVAR_ARCHIVE, "Move telepad target to reflect aim assist. 1 = true" );
|
||||
|
@ -205,10 +205,6 @@ idCVar vr_headshotMultiplier( "vr_headshotMultiplier", "2.5", CVAR_FLOAT | CVAR_
|
|||
// Carl
|
||||
idCVar vr_weaponCycleMode( "vr_weaponCycleMode", "0", CVAR_INTEGER | CVAR_GAME | CVAR_ARCHIVE, "When cycling through weapons\n0 = skip holstered weapons, 1 = include holstered weapons, 2 = flashlight but not holstered, 3 = holstered+flashlight, 4 = holstered+flashlight+pda" );
|
||||
idCVar vr_gripMode( "vr_gripMode", "0", CVAR_INTEGER | CVAR_GAME | CVAR_ARCHIVE, "How the grip button works\n0 = context sensitive toggle, 1 = context sensitive toggle no surface, 2 = toggle for weapons/items hold for physics objects, 3 = toggle for weapons hold for physics/items, 4 = always toggle (can drop), 5 = Dead and Burried, 6 = hold to hold, 7 = hold to hold squeeze for action" );
|
||||
idCVar vr_doubleClickGrip( "vr_doubleClickGrip", "0", CVAR_INTEGER | CVAR_GAME | CVAR_ARCHIVE, "Double-clicking grip 0 = does nothing, 1 = drops or does action (depending on grip mode). Not implemented!" );
|
||||
idCVar vr_pickUpMode( "vr_pickUpMode", "1", CVAR_INTEGER | CVAR_GAME | CVAR_ARCHIVE, "How to pick up/collect/use items and powerups 0 = walk over, 1 = walk/touch, 2 = touch, 3 = manual grip, 4 = put in body, 5 = put in properly, 6 = hold and press trigger" );
|
||||
//What is this??
|
||||
idCVar vr_reloadMode( "vr_reloadMode", "0", CVAR_INTEGER | CVAR_GAME | CVAR_ARCHIVE, "How to reload your weapon\n0 = button, 1 = with other hand, 2 = with other empty hand, 3 = Dead and Burried" );
|
||||
idCVar vr_mustEmptyHands( "vr_mustEmptyHands", "0", CVAR_BOOL | CVAR_GAME | CVAR_ARCHIVE, "Do you need to have an empty hand to interact with things?\n0 = no, it works automatically; 1 = yes, your hand must be empty" );
|
||||
idCVar vr_contextSensitive( "vr_contextSensitive", "1", CVAR_BOOL | CVAR_GAME | CVAR_ARCHIVE, "Are buttons context sensitive?\n0 = no just map the buttons in the binding window, 1 = yes, context sensitive buttons (default)" );
|
||||
idCVar vr_dualWield( "vr_dualWield", "2", CVAR_INTEGER | CVAR_GAME | CVAR_ARCHIVE, "Can you use two weapons at once?\n0 = not even fists, 1 = nothing, 2 = only flashlight, 3 = only grenades (VFR), 4 = only grenades/flashlight, 5 = only pistols, 6 = only pistols/flashlight, 7 = only pistols/grenades/flashlight, 8 = yes" );
|
||||
|
|
|
@ -541,8 +541,7 @@ extern idCVar vr_headshotMultiplier;
|
|||
extern idCVar vr_weaponCycleMode;
|
||||
extern idCVar vr_gripMode;
|
||||
extern idCVar vr_doubleClickGrip;
|
||||
extern idCVar vr_pickUpMode;
|
||||
extern idCVar vr_reloadMode;
|
||||
|
||||
extern idCVar vr_mustEmptyHands;
|
||||
extern idCVar vr_contextSensitive;
|
||||
extern idCVar vr_dualWield;
|
||||
|
|
|
@ -1209,28 +1209,31 @@ weapon_t idWeapon::IdentifyWeapon()
|
|||
{
|
||||
idStr weaponName = weaponDef->GetName();
|
||||
|
||||
if ( idStr::Icmp( "weapon_fists", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_FISTS;
|
||||
else if ( idStr::Icmp( "weapon_chainsaw", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_CHAINSAW;
|
||||
else if ( idStr::Icmp( "weapon_pistol", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_PISTOL;
|
||||
else if ( idStr::Icmp( "weapon_shotgun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_SHOTGUN;
|
||||
else if ( idStr::Icmp( "weapon_machinegun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_MACHINEGUN;
|
||||
else if ( idStr::Icmp( "weapon_chaingun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_CHAINGUN;
|
||||
else if ( idStr::Icmp( "weapon_handgrenade", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_HANDGRENADE;
|
||||
else if ( idStr::Icmp( "weapon_plasmagun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_PLASMAGUN;
|
||||
else if ( idStr::Icmp( "weapon_rocketlauncher", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ROCKETLAUNCHER;
|
||||
else if ( idStr::Icmp( "weapon_bfg", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_BFG;
|
||||
else if ( idStr::Icmp( "weapon_soulcube", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_SOULCUBE;
|
||||
else if ( idStr::Icmp( "weapon_artifact", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_passive", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_active1", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_active2", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_active3", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_pda", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_PDA;
|
||||
else if ( idStr::Icmp( "weapon_flashlight_new", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = lastIdentifiedWeapon;
|
||||
//else if ( idStr::Icmp( "weapon_flashlight_new", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_FLASHLIGHT;
|
||||
//else if ( idStr::Icmp( "weapon_flashlight", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_FLASHLIGHT;
|
||||
else currentIdentifiedWeapon = WEAPON_NONE;
|
||||
lastIdentifiedWeapon = currentIdentifiedWeapon;
|
||||
if ( idStr::Icmp( "weapon_fists", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_FISTS;
|
||||
else if ( idStr::Icmp( "weapon_chainsaw", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_CHAINSAW;
|
||||
else if ( idStr::Icmp( "weapon_pistol", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_PISTOL;
|
||||
else if ( idStr::Icmp( "weapon_shotgun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_SHOTGUN;
|
||||
else if ( idStr::Icmp( "weapon_machinegun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_MACHINEGUN;
|
||||
else if ( idStr::Icmp( "weapon_chaingun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_CHAINGUN;
|
||||
else if ( idStr::Icmp( "weapon_handgrenade", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_HANDGRENADE;
|
||||
else if ( idStr::Icmp( "weapon_plasmagun", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_PLASMAGUN;
|
||||
else if ( idStr::Icmp( "weapon_rocketlauncher", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ROCKETLAUNCHER;
|
||||
else if ( idStr::Icmp( "weapon_bfg", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_BFG;
|
||||
else if ( idStr::Icmp( "weapon_soulcube", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_SOULCUBE;
|
||||
else if ( idStr::Icmp( "weapon_shotgun_double_mp", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_SHOTGUN_DOUBLE_MP;
|
||||
else if ( idStr::Icmp( "weapon_grabber", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_GRABBER;
|
||||
else if ( idStr::Icmp( "weapon_shotgun_double", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_SHOTGUN_DOUBLE;
|
||||
else if ( idStr::Icmp( "weapon_artifact", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_passive", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_active1", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_active2", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_bloodstone_active3", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_ARTIFACT;
|
||||
else if ( idStr::Icmp( "weapon_pda", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = WEAPON_PDA;
|
||||
else if ( idStr::Icmp( "weapon_flashlight_new", weaponDef->GetName() ) == 0 ) currentIdentifiedWeapon = lastIdentifiedWeapon;
|
||||
//else if ( idStr::Icmp( "weapon_flashlight_new", weaponDef->GetName() ) == 0 ) currentWeapon = WEAPON_FLASHLIGHT;
|
||||
//else if ( idStr::Icmp( "weapon_flashlight", weaponDef->GetName() ) == 0 ) currentWeapon = WEAPON_FLASHLIGHT;
|
||||
else currentIdentifiedWeapon = WEAPON_NONE;
|
||||
lastIdentifiedWeapon = currentIdentifiedWeapon;
|
||||
}
|
||||
}
|
||||
if ( currentIdentifiedWeapon == WEAPON_FLASHLIGHT ) common->Printf( "Identify weapon returned %s\n", weaponDef->GetName() );
|
||||
|
@ -1756,6 +1759,30 @@ bool idWeapon::GetMuzzlePositionWithHacks( idVec3& origin, idMat3& axis )
|
|||
break;
|
||||
}
|
||||
|
||||
case WEAPON_SHOTGUN_DOUBLE:
|
||||
{
|
||||
// joint doesn't point straight, so rotate it
|
||||
//const jointHandle_t bodJoint = animator.GetJointHandle("trigger");
|
||||
//GetGlobalJointTransform(true, bodJoint, discardedOrigin, axis);
|
||||
std::swap( axis[0], axis[2] ); // Koz fixme just swap like the rocketlauncher this should work now test and cleanup
|
||||
//axis[0] = -axis[0];
|
||||
//common->Printf( "GMPWH returning value for WEAPON_SHOTGUN_DOUBLE \n" );
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WEAPON_GRABBER:
|
||||
{
|
||||
|
||||
idVec3 forward = axis[0];
|
||||
forward.Normalize();
|
||||
const float scaleOffset = 4.0f;
|
||||
forward *= scaleOffset;
|
||||
origin += forward;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
case WEAPON_PLASMAGUN:
|
||||
{
|
||||
// the barrel of the plasma rifle is angled down by default, bring it up a little so it shoots straight.
|
||||
|
@ -3684,7 +3711,7 @@ void idWeapon::Event_LaunchProjectiles( int num_projectiles, float spread, float
|
|||
weapon_t currentWeap;
|
||||
|
||||
currentWeap = IdentifyWeapon();
|
||||
if ( currentWeap == WEAPON_SHOTGUN)
|
||||
if ( currentWeap == WEAPON_SHOTGUN || currentWeap == WEAPON_SHOTGUN_DOUBLE || currentWeap == WEAPON_SHOTGUN_DOUBLE_MP )
|
||||
{
|
||||
//idPlayer *player;
|
||||
//player = gameLocal.GetLocalPlayer();
|
||||
|
|
|
@ -65,6 +65,9 @@ typedef enum { // Koz weapon enumerations
|
|||
WEAPON_ROCKETLAUNCHER,
|
||||
WEAPON_BFG,
|
||||
WEAPON_SOULCUBE,
|
||||
WEAPON_SHOTGUN_DOUBLE,
|
||||
WEAPON_SHOTGUN_DOUBLE_MP,
|
||||
WEAPON_GRABBER,
|
||||
WEAPON_ARTIFACT,
|
||||
WEAPON_PDA,
|
||||
WEAPON_FLASHLIGHT,
|
||||
|
@ -73,19 +76,22 @@ typedef enum { // Koz weapon enumerations
|
|||
|
||||
// Koz flashlightOffsets - values are used to move flashlight model to 'mount' to the active weapon. Hacky McCrappyHack was here.
|
||||
const idVec3 flashlightOffsets[int(WEAPON_NUM_WEAPONS)] = { idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_NONE
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_FISTS
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_CHAINSAW
|
||||
idVec3( -1.25f, -6.5f, 0.9f ), // WEAPON_PISTOL
|
||||
idVec3( -1.75f, -3.5f, 1.15f ), // WEAPON_SHOTGUN
|
||||
idVec3( -2.2f, -7.5f, 1.2f ), // WEAPON_MACHINEGUN
|
||||
idVec3( -2.3f, -11.25f, -4.5f ), // WEAPON_CHAINGUN
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_HANDGRENADE
|
||||
idVec3( -3.0f, -6.5f, 1.65f ), // WEAPON_PLASMAGUN
|
||||
idVec3( 4.4f, -14.5f, -3.5f ), // WEAPON_ROCKETLAUNCHER
|
||||
idVec3( -0.5f, -6.0f, 6.9f ), // WEAPON_BFG
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_SOULCUBE
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_ARTIFACT
|
||||
idVec3( 0.0f, 0.0f, 0.0f ) // WEAPON_PDA
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_FISTS
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_CHAINSAW
|
||||
idVec3( -1.25f, -6.5f, 0.9f ), // WEAPON_PISTOL
|
||||
idVec3( -1.75f, -3.5f, 1.15f ), // WEAPON_SHOTGUN
|
||||
idVec3( -2.2f, -7.5f, 1.2f ), // WEAPON_MACHINEGUN
|
||||
idVec3( -2.3f, -11.25f, -4.5f ), // WEAPON_CHAINGUN
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_HANDGRENADE
|
||||
idVec3( -3.0f, -6.5f, 1.65f ), // WEAPON_PLASMAGUN
|
||||
idVec3( 4.4f, -14.5f, -3.5f ), // WEAPON_ROCKETLAUNCHER
|
||||
idVec3( -0.5f, -6.0f, 6.9f ), // WEAPON_BFG
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_SOULCUBE
|
||||
idVec3( -0.5f, -9.5f, -2.0f ), // WEAPON_SHOTGUN_DOUBLE
|
||||
idVec3( -0.5f, -9.0f, -2.0f ), // WEAPON_SHOTGUN_DOUBLE_MP
|
||||
idVec3( -4.25f, 6.0, 1.25f ), // WEAPON_GRABBER
|
||||
idVec3( 0.0f, 0.0f, 0.0f ), // WEAPON_ARTIFACT
|
||||
idVec3( 0.0f, 0.0f, 0.0f ) // WEAPON_PDA
|
||||
};
|
||||
|
||||
typedef int ammo_t;
|
||||
|
|
|
@ -352,3 +352,11 @@ idCVar g_infiniteAmmo( "g_infiniteAmmo", "0", CVAR_GAME | CVAR_BOOL, "infinite a
|
|||
idCVar g_useWeaponDepthHack( "g_useWeaponDepthHack", "0", CVAR_BOOL | CVAR_GAME | CVAR_ARCHIVE, "Crunch z depth on weapons" );// Koz
|
||||
idCVar g_weaponShadows( "g_weaponShadows", "1", CVAR_BOOL | CVAR_GAME | CVAR_ARCHIVE, "Cast shadows from weapons" ); // Koz
|
||||
idCVar timescale( "timescale", "1", CVAR_SYSTEM | CVAR_FLOAT, "Number of game frames to run per render frame", 0.001f, 100.0f );
|
||||
|
||||
idCVar g_grabberHoldSeconds( "g_grabberHoldSeconds", "3", CVAR_GAME | CVAR_FLOAT | CVAR_CHEAT, "number of seconds to hold object" );
|
||||
idCVar g_grabberEnableShake( "g_grabberEnableShake", "1", CVAR_GAME | CVAR_BOOL | CVAR_CHEAT, "enable the grabber shake" );
|
||||
idCVar g_grabberRandomMotion( "g_grabberRandomMotion", "1", CVAR_GAME | CVAR_BOOL | CVAR_CHEAT, "enable random motion on the grabbed object" );
|
||||
idCVar g_grabberHardStop( "g_grabberHardStop", "1", CVAR_GAME | CVAR_BOOL | CVAR_CHEAT, "hard stops object if too fast" );
|
||||
idCVar g_grabberDamping( "g_grabberDamping", "0.5", CVAR_GAME | CVAR_FLOAT | CVAR_CHEAT, "damping of grabber" );
|
||||
|
||||
idCVar g_xp_bind_run_once( "g_xp_bind_run_once", "0", CVAR_GAME | CVAR_BOOL | CVAR_ARCHIVE, "Rebind all controls once for D3XP." );
|
|
@ -250,6 +250,14 @@ extern idCVar si_spectators;
|
|||
extern idCVar net_clientSelfSmoothing;
|
||||
extern idCVar net_clientLagOMeter;
|
||||
|
||||
extern idCVar g_grabberHoldSeconds;
|
||||
extern idCVar g_grabberEnableShake;
|
||||
extern idCVar g_grabberRandomMotion;
|
||||
extern idCVar g_grabberHardStop;
|
||||
extern idCVar g_grabberDamping;
|
||||
|
||||
extern idCVar g_xp_bind_run_once;
|
||||
|
||||
//VR CVARS
|
||||
extern idCVar vr_ipd;
|
||||
extern idCVar vr_worldscale;
|
||||
|
@ -266,6 +274,8 @@ extern idCVar g_useWeaponDepthHack;
|
|||
extern idCVar g_weaponShadows;
|
||||
extern idCVar timescale;
|
||||
|
||||
|
||||
|
||||
extern const char *si_gameTypeArgs[];
|
||||
|
||||
extern const char *ui_skinArgs[];
|
||||
|
|
|
@ -29,6 +29,7 @@ If you have questions concerning this license or the applicable additional terms
|
|||
#include "sys/platform.h"
|
||||
#include "framework/UsercmdGen.h"
|
||||
#include "physics/Physics.h"
|
||||
|
||||
#include "physics/Force_Grab.h"
|
||||
#include "WorldSpawn.h"
|
||||
|
||||
|
|
|
@ -31,6 +31,7 @@ If you have questions concerning this license or the applicable additional terms
|
|||
|
||||
|
||||
#include "physics/Force.h"
|
||||
#include "Force.h"
|
||||
|
||||
/*
|
||||
===============================================================================
|
||||
|
|
|
@ -282,19 +282,7 @@ See if some cvars that we watch have changed
|
|||
static void R_CheckCvars( void ) {
|
||||
globalImages->CheckCvars();
|
||||
|
||||
//GB Not Currently working - Fix (Create a Virtual Function)
|
||||
// Koz
|
||||
/*if ( game->isVR )
|
||||
{
|
||||
if ( vr_useFloorHeight.IsModified() || ( vr_normalViewHeight.IsModified() && vr_useFloorHeight.GetInteger() == 0 ) || vr_scale.IsModified() || commonVr->shouldRecenter )
|
||||
{
|
||||
commonVr->HMDResetTrackingOriginOffset();
|
||||
vr_useFloorHeight.ClearModified();
|
||||
vr_normalViewHeight.ClearModified();
|
||||
vr_scale.ClearModified();
|
||||
commonVr->shouldRecenter = false;
|
||||
}
|
||||
}*/
|
||||
//game->CheckRenderCvars();
|
||||
|
||||
// gamma stuff
|
||||
if ( r_gamma.IsModified() || r_brightness.IsModified() ) {
|
||||
|
|
Loading…
Reference in a new issue