mirror of
https://github.com/DrBeef/Doom3Quest.git
synced 2024-11-23 20:32:44 +00:00
Save System + Extras
Save Version above Vanilla (+ default Load) Fixed issue with empty being confused with fists (allowing two handed punches)
This commit is contained in:
parent
d2b5dc5046
commit
14f907192e
6 changed files with 37 additions and 11 deletions
|
@ -93,7 +93,8 @@ If you have questions concerning this license or the applicable additional terms
|
||||||
// NOTE: a seperate core savegame version and game savegame version could be useful
|
// NOTE: a seperate core savegame version and game savegame version could be useful
|
||||||
// 16: Doom v1.1
|
// 16: Doom v1.1
|
||||||
// 17: Doom v1.2 / D3XP. Can still read old v16 with defaults for new data
|
// 17: Doom v1.2 / D3XP. Can still read old v16 with defaults for new data
|
||||||
#define SAVEGAME_VERSION 17
|
// 18: Doom3Quest v1.0
|
||||||
|
#define SAVEGAME_VERSION 18
|
||||||
|
|
||||||
// <= Doom v1.1: 1. no DS_VERSION token ( default )
|
// <= Doom v1.1: 1. no DS_VERSION token ( default )
|
||||||
// Doom v1.2: 2
|
// Doom v1.2: 2
|
||||||
|
|
|
@ -2120,9 +2120,8 @@ bool idSessionLocal::LoadGame( const char *saveName ) {
|
||||||
// check the version, if it doesn't match, cancel the loadgame,
|
// check the version, if it doesn't match, cancel the loadgame,
|
||||||
// but still load the map with the persistant playerInfo from the header
|
// but still load the map with the persistant playerInfo from the header
|
||||||
// so that the player doesn't lose too much progress.
|
// so that the player doesn't lose too much progress.
|
||||||
if ( savegameVersion != SAVEGAME_VERSION &&
|
if ( savegameVersion <= 17) { // handle savegame v16 in v17
|
||||||
!( savegameVersion == 16 && SAVEGAME_VERSION == 17 ) ) { // handle savegame v16 in v17
|
common->Warning( "Savegame Version Too Early: aborting loadgame and starting level with persistent data" );
|
||||||
common->Warning( "Savegame Version mismatch: aborting loadgame and starting level with persistent data" );
|
|
||||||
loadingSaveGame = false;
|
loadingSaveGame = false;
|
||||||
fileSystem->CloseFile( savegameFile );
|
fileSystem->CloseFile( savegameFile );
|
||||||
savegameFile = NULL;
|
savegameFile = NULL;
|
||||||
|
@ -2570,7 +2569,7 @@ int calcFPS( ) {
|
||||||
fps = 10000 * FPS_FRAMES / total;
|
fps = 10000 * FPS_FRAMES / total;
|
||||||
fps = (fps + 5) / 10;
|
fps = (fps + 5) / 10;
|
||||||
|
|
||||||
common->Printf( " FPS: %i ", fps );
|
//common->Printf( " FPS: %i ", fps );
|
||||||
}
|
}
|
||||||
|
|
||||||
return fps;
|
return fps;
|
||||||
|
@ -2776,9 +2775,9 @@ void idSessionLocal::Frame() {
|
||||||
|
|
||||||
// create client commands, which will be sent directly
|
// create client commands, which will be sent directly
|
||||||
// to the game
|
// to the game
|
||||||
if ( com_showTics.GetBool() ) {
|
/*if ( com_showTics.GetBool() ) {
|
||||||
common->Printf( " Tics to run: %i ", latchedTicNumber - lastGameTic );
|
common->Printf( " Tics to run: %i ", latchedTicNumber - lastGameTic );
|
||||||
}
|
}*/
|
||||||
|
|
||||||
int gameTicsToRun = latchedTicNumber - lastGameTic;
|
int gameTicsToRun = latchedTicNumber - lastGameTic;
|
||||||
|
|
||||||
|
|
|
@ -1303,6 +1303,25 @@ idPlayer::idPlayer() {
|
||||||
weapon_pda = -1;
|
weapon_pda = -1;
|
||||||
weapon_fists = -1;
|
weapon_fists = -1;
|
||||||
weapon_chainsaw = -1;
|
weapon_chainsaw = -1;
|
||||||
|
weapon_none = -1;
|
||||||
|
weapon_flashlight = -1;
|
||||||
|
weapon_bloodstone = -1;
|
||||||
|
weapon_bloodstone_active1 = -1;
|
||||||
|
weapon_bloodstone_active2 = -1;
|
||||||
|
weapon_bloodstone_active3 = -1;
|
||||||
|
// Koz begin
|
||||||
|
weapon_pistol = -1;
|
||||||
|
weapon_shotgun = -1;
|
||||||
|
weapon_shotgun_double = -1;
|
||||||
|
weapon_machinegun = -1;
|
||||||
|
weapon_chaingun = -1;
|
||||||
|
weapon_handgrenade = -1;
|
||||||
|
weapon_plasmagun = -1;
|
||||||
|
weapon_rocketlauncher = -1;
|
||||||
|
weapon_bfg = -1;
|
||||||
|
weapon_flashlight_new = -1;
|
||||||
|
weapon_grabber = -1;
|
||||||
|
|
||||||
showWeaponViewModel = true;
|
showWeaponViewModel = true;
|
||||||
|
|
||||||
flashlightModelDefHandle = -1;
|
flashlightModelDefHandle = -1;
|
||||||
|
@ -1563,6 +1582,7 @@ void idPlayer::Init( void ) {
|
||||||
|
|
||||||
weaponEnabled = true;
|
weaponEnabled = true;
|
||||||
risingWeaponHand = -1;
|
risingWeaponHand = -1;
|
||||||
|
weapon_none = 0;
|
||||||
weapon_soulcube = SlotForWeapon( "weapon_soulcube" );
|
weapon_soulcube = SlotForWeapon( "weapon_soulcube" );
|
||||||
weapon_pda = SlotForWeapon( "weapon_pda" );
|
weapon_pda = SlotForWeapon( "weapon_pda" );
|
||||||
weapon_fists = SlotForWeapon( "weapon_fists" );
|
weapon_fists = SlotForWeapon( "weapon_fists" );
|
||||||
|
@ -2533,7 +2553,7 @@ void idPlayer::Restore( idRestoreGame *savefile ) {
|
||||||
savefile->ReadUserInterface(objectiveSystem);
|
savefile->ReadUserInterface(objectiveSystem);
|
||||||
savefile->ReadBool(objectiveSystemOpen);
|
savefile->ReadBool(objectiveSystemOpen);
|
||||||
|
|
||||||
|
weapon_none = 0;
|
||||||
savefile->ReadInt( weapon_soulcube );
|
savefile->ReadInt( weapon_soulcube );
|
||||||
savefile->ReadInt( weapon_pda );
|
savefile->ReadInt( weapon_pda );
|
||||||
savefile->ReadInt( weapon_fists );
|
savefile->ReadInt( weapon_fists );
|
||||||
|
@ -11528,7 +11548,11 @@ void idPlayer::Think( void ) {
|
||||||
pVRClientInfo->weaponid = -1;
|
pVRClientInfo->weaponid = -1;
|
||||||
}
|
}
|
||||||
cvarSystem->SetCVarBool("vr_weapon_stabilised", pVRClientInfo->weapon_stabilised);
|
cvarSystem->SetCVarBool("vr_weapon_stabilised", pVRClientInfo->weapon_stabilised);
|
||||||
pVRClientInfo->velocitytriggered = GetCurrentWeaponId() == WEAPON_FLASHLIGHT;
|
int _currentWeapon = GetCurrentWeaponId();
|
||||||
|
if(_currentWeapon == WEAPON_FLASHLIGHT || _currentWeapon == WEAPON_FISTS)
|
||||||
|
pVRClientInfo->velocitytriggered = true;
|
||||||
|
else
|
||||||
|
pVRClientInfo->velocitytriggered = false;
|
||||||
pVRClientInfo->velocitytriggeredoffhand = true;
|
pVRClientInfo->velocitytriggeredoffhand = true;
|
||||||
pVRClientInfo->pistol = GetCurrentWeaponId() == WEAPON_PISTOL;
|
pVRClientInfo->pistol = GetCurrentWeaponId() == WEAPON_PISTOL;
|
||||||
}
|
}
|
||||||
|
@ -13423,7 +13447,7 @@ void idPlayer::CalculateViewWeaponPosVR( int hand, idVec3 &origin, idMat3 &axis
|
||||||
|
|
||||||
bool idPlayer::CanDualWield( int num ) const
|
bool idPlayer::CanDualWield( int num ) const
|
||||||
{
|
{
|
||||||
if( num == weapon_flashlight || num == weapon_flashlight_new )
|
if( num == weapon_flashlight || num == weapon_flashlight_new || num == weapon_fists || num == -1)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
|
@ -566,6 +566,8 @@ public:
|
||||||
|
|
||||||
vrClientInfo *pVRClientInfo;
|
vrClientInfo *pVRClientInfo;
|
||||||
|
|
||||||
|
//Gb added this to match upto the enums
|
||||||
|
int weapon_none;
|
||||||
int weapon_soulcube;
|
int weapon_soulcube;
|
||||||
int weapon_pda;
|
int weapon_pda;
|
||||||
int weapon_fists;
|
int weapon_fists;
|
||||||
|
|
|
@ -56,7 +56,7 @@ typedef enum {
|
||||||
} weaponStatus_t;
|
} weaponStatus_t;
|
||||||
|
|
||||||
typedef enum { // Koz weapon enumerations
|
typedef enum { // Koz weapon enumerations
|
||||||
WEAPON_NONE = 0,
|
WEAPON_NONE = -1,
|
||||||
WEAPON_FISTS,
|
WEAPON_FISTS,
|
||||||
WEAPON_CHAINSAW,
|
WEAPON_CHAINSAW,
|
||||||
WEAPON_PISTOL,
|
WEAPON_PISTOL,
|
||||||
|
|
Binary file not shown.
Loading…
Reference in a new issue