From 982d2cfd21fa4e09135171a99545bf2f35f5c477 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Tue, 14 Feb 2023 12:54:59 -0800 Subject: [PATCH] Fix compiler warnings. --- src/client/hud.qc | 2 +- src/client/view.qc | 20 +++++++-------- src/server/func_vip_safetyzone.qc | 27 ++++++++++++++++++-- src/server/gamerules_multiplayer.qc | 38 +++++++++++++++++++++++++++++ src/server/hostage_entity.qc | 2 ++ src/server/item_suit.qc | 2 ++ src/shared/w_knife.qc | 5 ++-- 7 files changed, 81 insertions(+), 15 deletions(-) diff --git a/src/client/hud.qc b/src/client/hud.qc index 761cb8b..7ebaa06 100644 --- a/src/client/hud.qc +++ b/src/client/hud.qc @@ -743,7 +743,7 @@ string g_specmodes[] = { void HUD_DrawSpectator(void) { - vector vecPos; + vector vecPos = g_vec_null; float flSep; string strText; int iMinutes, iSeconds; diff --git a/src/client/view.qc b/src/client/view.qc index 2a2bf90..f5b4e9e 100644 --- a/src/client/view.qc +++ b/src/client/view.qc @@ -32,11 +32,11 @@ View_UpdateWeapon(player pl, entity vm, entity mflash) * thus we need to update all the net variables to * make sure these updates are recognized. this is * vile but it'll have to do for now */ - SAVE_STATE(pl.w_attack_next); - SAVE_STATE(pl.w_idle_next); - SAVE_STATE(pl.viewzoom); - SAVE_STATE(pl.weapontime); - SAVE_STATE(pl.weaponframe); + SAVE_STATE(pl.w_attack_next) + SAVE_STATE(pl.w_idle_next) + SAVE_STATE(pl.viewzoom) + SAVE_STATE(pl.weapontime) + SAVE_STATE(pl.weaponframe) /* hack, we changed the wep, move this into Game_Input/PMove */ Weapons_Draw(pl); @@ -45,11 +45,11 @@ View_UpdateWeapon(player pl, entity vm, entity mflash) * thus we need to update all the net variables to * make sure these updates are recognized. this is * vile but it'll have to do for now */ - ROLL_BACK(pl.w_attack_next); - ROLL_BACK(pl.w_idle_next); - ROLL_BACK(pl.viewzoom); - ROLL_BACK(pl.weapontime); - ROLL_BACK(pl.weaponframe); + ROLL_BACK(pl.w_attack_next) + ROLL_BACK(pl.w_idle_next) + ROLL_BACK(pl.viewzoom) + ROLL_BACK(pl.weapontime) + ROLL_BACK(pl.weaponframe) /* figure out when the attachments start. in FTE attachments for * HLMDL are treated as bones. they start at numbones + 1 */ diff --git a/src/server/func_vip_safetyzone.qc b/src/server/func_vip_safetyzone.qc index 2c051a9..6b0d7bd 100644 --- a/src/server/func_vip_safetyzone.qc +++ b/src/server/func_vip_safetyzone.qc @@ -28,11 +28,34 @@ Used in the assassination mode (as_* maps). class func_vip_safetyzone:NSBrushTrigger { - virtual void(void) Respawn; -}; + void func_vip_safetyzone(void); + + virtual void Respawn(void); + virtual void Touch(entity); + +}; + +void +func_vip_safetyzone::func_vip_safetyzone(void) +{ +} void func_vip_safetyzone::Respawn(void) { InitBrushTrigger(); } + +void +func_vip_safetyzone::Touch(entity eToucher) +{ + player pl = (player)eToucher; + + if (!(eToucher.flags & FL_CLIENT)) + return; + + if (pl.team == TEAM_VIP) { + Money_AddMoney(pl, 2500); + //RoundOver(TEAM_CT, 0, FALSE); + } +} diff --git a/src/server/gamerules_multiplayer.qc b/src/server/gamerules_multiplayer.qc index 5c25514..a7514b0 100644 --- a/src/server/gamerules_multiplayer.qc +++ b/src/server/gamerules_multiplayer.qc @@ -219,6 +219,12 @@ CSMultiplayerRules::InitPostEnts(void) } CreateRescueZones(); + + /* get all of the vip zones */ + g_cs_vipzones = 0; + for (entity e = world; (e = find(e, ::classname, "func_vip_safetyzone"));) { + g_cs_vipzones++; + } } void @@ -449,6 +455,29 @@ CSMultiplayerRules::RestartRound(int iWipe) } } + /* respawn the VIP as well, but turn them back into a CT. */ + for (entity eFind = world; (eFind = findfloat(eFind, ::team, TEAM_VIP));) { + if (!(eFind.flags & FL_CLIENT)) + continue; + + player pl = (player)eFind; + pl.team = TEAM_CT; + + if (pl.health > 0 && iWipe == FALSE) { + PlayerRespawn(pl, TEAM_CT); + } else { + PlayerMakeSpectator(pl); + PlayerMakePlayable(pl, pl.charmodel); + } + + if (iWipe == FALSE) { + Money_GiveTeamReward(pl); + } else { + pl.money = 0; + Money_AddMoney(pl, autocvar_mp_startmoney); + } + } + /* clear the corpses/items/bombs */ for (entity eFind = world; (eFind = find(eFind, ::classname, "remove_me"));) { remove(eFind); @@ -645,6 +674,15 @@ CSMultiplayerRules::CountPlayers(void) if (eFind.health > 0) g_cs_alive_ct++; } + for (entity eFind = world; (eFind = findfloat(eFind, ::team, TEAM_VIP));) { + if (!(eFind.flags & FL_CLIENT)) + continue; + + g_cs_total_ct++; + + if (eFind.health > 0) + g_cs_alive_ct++; + } g_total_players = g_cs_total_t + g_cs_total_ct; diff --git a/src/server/hostage_entity.qc b/src/server/hostage_entity.qc index 3c32b81..9404297 100644 --- a/src/server/hostage_entity.qc +++ b/src/server/hostage_entity.qc @@ -92,11 +92,13 @@ class hostage_entity:NSTalkMonster //virtual float(void) GetWalkSpeed; }; +#if 0 float hostage_entity::GetWalkSpeed(void) { return 128; } +#endif int hostage_entity::AnimIdle(void) diff --git a/src/server/item_suit.qc b/src/server/item_suit.qc index efe4919..1ace710 100644 --- a/src/server/item_suit.qc +++ b/src/server/item_suit.qc @@ -75,3 +75,5 @@ item_suit::Touch(entity eToucher) ScheduleThink(Respawn, 30.0f); } } + +CLASSEXPORT(item_kevlar, item_suit) diff --git a/src/shared/w_knife.qc b/src/shared/w_knife.qc index 67aba63..0deaef8 100644 --- a/src/shared/w_knife.qc +++ b/src/shared/w_knife.qc @@ -129,7 +129,8 @@ w_knife_primary(player pl) /* let's calculate damage! */ if (trace_ent.takedamage) { /* values taken from https://counterstrike.fandom.com/wiki/Knife */ - int dmg; + int dmg = 0; + switch (trace_surface_id) { case BODY_HEAD: dmg = 60; @@ -194,7 +195,7 @@ w_knife_secondary(player pl) /* let's calculate damage! */ if (trace_ent.takedamage) { /* values taken from https://counterstrike.fandom.com/wiki/Knife */ - int dmg; + int dmg = 0; switch (trace_surface_id) { case BODY_HEAD: dmg = 260;