From 77678cf09ca233de9ceb0cc239e45114372fb075 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Mon, 18 Sep 2023 18:53:31 -0700 Subject: [PATCH] Fix compilation against latest Nuclide --- src/client/game_event.qc | 46 ---------------------------- src/client/precache.qc | 4 --- src/server/gamerules.h | 1 + src/server/gamerules_multiplayer.qc | 19 +++++++++++- src/server/gamerules_singleplayer.qc | 4 ++- src/shared/include.src | 4 --- 6 files changed, 22 insertions(+), 56 deletions(-) diff --git a/src/client/game_event.qc b/src/client/game_event.qc index 3b0b39c..b7414b3 100644 --- a/src/client/game_event.qc +++ b/src/client/game_event.qc @@ -28,28 +28,6 @@ ClientGame_EventParse(float fHeader) case EV_OBITUARY:{ Obituary_Parse(); }break; - case EV_SPARK:{ - vector vSparkPos, vSparkAngle; - vSparkPos[0] = readcoord(); - vSparkPos[1] = readcoord(); - vSparkPos[2] = readcoord(); - vSparkAngle[0] = readcoord(); - vSparkAngle[1] = readcoord(); - vSparkAngle[2] = readcoord(); - FX_Spark(vSparkPos, vSparkAngle); - }break; - case EV_GIBHUMAN: - vector vGibPos; - vGibPos[0] = readcoord(); - vGibPos[1] = readcoord(); - vGibPos[2] = readcoord(); - vector vDir; - vDir[0] = readcoord(); - vDir[1] = readcoord(); - vDir[2] = readcoord(); - float flForce = readfloat(); - FX_GibHuman(vGibPos, vDir, flForce); - break; case EV_BLOOD:{ vector vBloodPos; vector vBloodColor; @@ -64,15 +42,6 @@ ClientGame_EventParse(float fHeader) FX_Blood(vBloodPos, vBloodColor); }break; - case EV_EXPLOSION:{ - vector vExploPos; - - vExploPos[0] = readcoord(); - vExploPos[1] = readcoord(); - vExploPos[2] = readcoord(); - - FX_Explosion(vExploPos); - }break; case EVENT_TS::FX_TS_EXPLOSION_GRENADE:{ vector vExploPos2; @@ -82,21 +51,6 @@ ClientGame_EventParse(float fHeader) FX_TS_Explosion_Grenade(vExploPos2); }break; - case EV_MODELGIB:{ - vector vecPos; - vecPos[0] = readcoord(); - vecPos[1] = readcoord(); - vecPos[2] = readcoord(); - - vector vSize; - vSize[0] = readcoord(); - vSize[1] = readcoord(); - vSize[2] = readcoord(); - - float fStyle = readbyte(); - int count = readbyte(); - FX_BreakModel(count, vecPos, vSize, [0,0,0], fStyle); - }break; case EV_IMPACT:{ int iType; vector vOrigin, vNormal; diff --git a/src/client/precache.qc b/src/client/precache.qc index 046232a..dc7e6a3 100644 --- a/src/client/precache.qc +++ b/src/client/precache.qc @@ -14,10 +14,6 @@ void ClientGame_Precache(void){ // All forked effects! FX_Blood_Init(); - FX_BreakModel_Init(); - FX_Explosion_Init(); - FX_GibHuman_Init(); - FX_Spark_Init(); FX_Impact_Init(); //////////////////////////////////////////////////////////////////////////////////// diff --git a/src/server/gamerules.h b/src/server/gamerules.h index bfa6a82..4bda65f 100644 --- a/src/server/gamerules.h +++ b/src/server/gamerules.h @@ -119,6 +119,7 @@ class TSMultiplayerRules:TSGameRules virtual void(NSClientPlayer pp) PlayerMakeSpectatorDelayed; virtual void(NSClientPlayer, int) PlayerRespawn; virtual entity(float) PlayerFindSpawn; + virtual bool PlayerRequestRespawn(NSClientPlayer); virtual void(player pl) setPlayerMoneyDefault; diff --git a/src/server/gamerules_multiplayer.qc b/src/server/gamerules_multiplayer.qc index 2c21058..ee4364b 100644 --- a/src/server/gamerules_multiplayer.qc +++ b/src/server/gamerules_multiplayer.qc @@ -29,6 +29,21 @@ TSMultiplayerRules::TSMultiplayerRules(void) */ } + + +bool +TSMultiplayerRules::PlayerRequestRespawn(NSClientPlayer bp) +{ + if (bp.TimeSinceDeath() > 0.5f) { + TSMultiplayerRules rules; + rules = (TSMultiplayerRules)g_grMode; + rules.PlayerMakePlayableWithDefaultMoney(bp); + return true; + } + + return false; +} + // respawn absolutely everything // (check out init_respawn in case the var checked or any other part of the process changes) @@ -260,7 +275,9 @@ TSMultiplayerRules::PlayerDeath(NSClientPlayer pp) /* either gib, or make a corpse */ if (pl.health < -50) { - FX_GibHuman(pl.origin, vectoangles(pl.origin - g_dmg_eAttacker.origin), g_dmg_iDamage * 2.0f); + vector gibDir = vectoangles(pl.origin - g_dmg_eAttacker.origin); + float gibStrength = g_dmg_iDamage * 2.0f; + BreakModel_Entity(pl, gibDir, gibStrength); } else { /* Let's handle corpses on the clientside */ entity corpse = spawn(); diff --git a/src/server/gamerules_singleplayer.qc b/src/server/gamerules_singleplayer.qc index cc5ac3b..677a90a 100644 --- a/src/server/gamerules_singleplayer.qc +++ b/src/server/gamerules_singleplayer.qc @@ -45,7 +45,9 @@ TSSingleplayerRules::PlayerDeath(NSClientPlayer pp) } if (pp.health < -50) { - FX_GibHuman(pl.origin, vectoangles(pl.origin - g_dmg_eAttacker.origin), g_dmg_iDamage * 2.0f); + vector gibDir = vectoangles(pl.origin - g_dmg_eAttacker.origin); + float gibStrength = g_dmg_iDamage * 2.0f; + BreakModel_Entity(pl, gibDir, gibStrength); } /* Let's handle corpses on the clientside */ diff --git a/src/shared/include.src b/src/shared/include.src index 59c06ad..4733919 100644 --- a/src/shared/include.src +++ b/src/shared/include.src @@ -54,10 +54,6 @@ pmove_water.qc // refer to the FreeHL fx_ files instead of forking // (remove any that turn out to never be involved) ../../../valve/src/shared/fx_blood.qc -../../../valve/src/shared/fx_breakmodel.qc -../../../valve/src/shared/fx_explosion.qc -../../../valve/src/shared/fx_gibhuman.qc -../../../valve/src/shared/fx_spark.qc // except that one fx_impact.qc // NEW