From 8ff30b4c3e76078a17056bd297416e1ac78b5037 Mon Sep 17 00:00:00 2001 From: Sergey Shorokhov Date: Sat, 11 Mar 2023 11:23:30 +0300 Subject: [PATCH] Revert "New entity `trigger_bomb_reset` (#796)" This reverts commit 5dec3bad326b543e9d6007b9eaca05c03d267884. --- regamedll/CMakeLists.txt | 1 - regamedll/dlls/addons/trigger_bomb_reset.cpp | 39 ------------------- regamedll/dlls/addons/trigger_bomb_reset.h | 28 ------------- regamedll/dlls/player.cpp | 1 - regamedll/dlls/weapons.cpp | 18 --------- regamedll/dlls/weapons.h | 12 ------ regamedll/dlls/wpn_shared/wpn_c4.cpp | 34 ---------------- .../GameDefinitionFile/regamedll-cs.fgd | 4 -- regamedll/msvc/ReGameDLL.vcxproj | 4 +- regamedll/msvc/ReGameDLL.vcxproj.filters | 8 +--- regamedll/public/regamedll/API/CSInterfaces.h | 1 - regamedll/regamedll/dlls.h | 1 - 12 files changed, 2 insertions(+), 149 deletions(-) delete mode 100644 regamedll/dlls/addons/trigger_bomb_reset.cpp delete mode 100644 regamedll/dlls/addons/trigger_bomb_reset.h diff --git a/regamedll/CMakeLists.txt b/regamedll/CMakeLists.txt index 8e78fa6bb..1b329ca95 100644 --- a/regamedll/CMakeLists.txt +++ b/regamedll/CMakeLists.txt @@ -228,7 +228,6 @@ set(GAMEDLL_SRCS "dlls/API/CSPlayerItem.cpp" "dlls/addons/item_airbox.cpp" "dlls/addons/point_command.cpp" - "dlls/addons/trigger_bomb_reset.cpp" "dlls/addons/trigger_random.cpp" "dlls/addons/trigger_setorigin.cpp" "dlls/wpn_shared/wpn_ak47.cpp" diff --git a/regamedll/dlls/addons/trigger_bomb_reset.cpp b/regamedll/dlls/addons/trigger_bomb_reset.cpp deleted file mode 100644 index 3765cbdb8..000000000 --- a/regamedll/dlls/addons/trigger_bomb_reset.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/* -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at -* your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software Foundation, -* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -*/ - -#include "precompiled.h" - -LINK_ENTITY_TO_CLASS(trigger_bomb_reset, CTriggerBombReset, CCSTriggerBombReset) - -void CTriggerBombReset::Spawn() -{ - InitTrigger(); - SetTouch(&CTriggerBombReset::Touch); - SetUse(&CTriggerBombReset::ToggleUse); -} - -void CTriggerBombReset::Touch(CBaseEntity *pOther) -{ - CWeaponBox *pWeaponBox = dynamic_cast(pOther); - - if (pWeaponBox && pWeaponBox->m_bIsBomb) - { - // If the bomb touches this trigger, tell it to reset to its last known valid position. - pWeaponBox->ResetToLastValidPlayerHeldC4Position(); - } -} diff --git a/regamedll/dlls/addons/trigger_bomb_reset.h b/regamedll/dlls/addons/trigger_bomb_reset.h deleted file mode 100644 index 60e21bfcf..000000000 --- a/regamedll/dlls/addons/trigger_bomb_reset.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -* -* This program is free software; you can redistribute it and/or modify it -* under the terms of the GNU General Public License as published by the -* Free Software Foundation; either version 2 of the License, or (at -* your option) any later version. -* -* This program is distributed in the hope that it will be useful, but -* WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -* General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software Foundation, -* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -* -*/ - -#pragma once - -#include "triggers.h" - -class CTriggerBombReset: public CBaseTrigger -{ -public: - virtual void Spawn(); - virtual void Touch(CBaseEntity *pOther); -}; diff --git a/regamedll/dlls/player.cpp b/regamedll/dlls/player.cpp index 2f803d8c5..27c6aa265 100644 --- a/regamedll/dlls/player.cpp +++ b/regamedll/dlls/player.cpp @@ -8028,7 +8028,6 @@ CBaseEntity *EXT_FUNC CBasePlayer::__API_HOOK(DropPlayerItem)(const char *pszIte pWeaponBox->m_bIsBomb = true; pWeaponBox->SetThink(&CWeaponBox::BombThink); pWeaponBox->pev->nextthink = gpGlobals->time + 1.0f; - pWeaponBox->SetLastValidHeldC4Position(((CC4 *)pWeapon)->GetLastValidHeldPosition()); if (TheCSBots()) { diff --git a/regamedll/dlls/weapons.cpp b/regamedll/dlls/weapons.cpp index 2c136918c..2d2b5afc4 100644 --- a/regamedll/dlls/weapons.cpp +++ b/regamedll/dlls/weapons.cpp @@ -2181,24 +2181,6 @@ void CWeaponBox::SetObjectCollisionBox() pev->absmax = pev->origin + Vector(16, 16, 16); } -void CWeaponBox::ResetToLastValidPlayerHeldC4Position() -{ - if (pev->origin == m_vecLastValidPlayerHeldC4Position) - { - return; - } - - Vector const vecResetPos = m_vecLastValidPlayerHeldC4Position + Vector(0.0f, 0.0f, 8.0f); - Vector const angResetAng = Vector(0.0f, RANDOM_FLOAT(0.0f, 360.0f), 0.0f); - - // Teleport - pev->velocity = Vector(0.0f, 0.0f, 0.0f); - pev->movetype = MOVETYPE_NONE; - pev->flags |= FL_ONGROUND; - pev->angles = angResetAng; - UTIL_SetOrigin(pev, vecResetPos); -} - char *CArmoury::m_ItemModels[] = { "models/w_mp5.mdl", "models/w_tmp.mdl", diff --git a/regamedll/dlls/weapons.h b/regamedll/dlls/weapons.h index 3726e28fd..bd22989e3 100644 --- a/regamedll/dlls/weapons.h +++ b/regamedll/dlls/weapons.h @@ -483,9 +483,6 @@ class CWeaponBox: public CBaseEntity void SetModel_OrigFunc(const char *pszModelName); #endif - void SetLastValidHeldC4Position(const Vector &vecPositon) { m_vecLastValidPlayerHeldC4Position = vecPositon; } - void ResetToLastValidPlayerHeldC4Position(); - public: static TYPEDESCRIPTION m_SaveData[]; @@ -494,9 +491,6 @@ class CWeaponBox: public CBaseEntity int m_rgAmmo[MAX_AMMO_SLOTS]; int m_cAmmoTypes; bool m_bIsBomb; - -private: - Vector m_vecLastValidPlayerHeldC4Position; }; @@ -849,7 +843,6 @@ class CAWP: public CBasePlayerWeapon const float C4_MAX_SPEED = 250.0f; const float C4_ARMING_ON_TIME = 3.0f; -constexpr float WEAPON_C4_UPDATE_LAST_VALID_PLAYER_HELD_POSITION_INTERVAL = 0.2f; enum c4_e { @@ -869,8 +862,6 @@ class CC4: public CBasePlayerWeapon virtual int GetItemInfo(ItemInfo *p); virtual BOOL Deploy(); virtual void Holster(int skiplocal); - virtual void AttachToPlayer(CBasePlayer* pPlayer); - virtual void Think(); virtual float GetMaxSpeed(); virtual int iItemSlot() { return C4_SLOT; } virtual void PrimaryAttack(); @@ -884,8 +875,6 @@ class CC4: public CBasePlayerWeapon #endif } - Vector GetLastValidHeldPosition() const { return m_vecLastValidPlayerHeldPosition; } - public: bool m_bStartedArming; bool m_bBombPlacedAnimation; @@ -893,7 +882,6 @@ class CC4: public CBasePlayerWeapon private: bool m_bHasShield; - Vector m_vecLastValidPlayerHeldPosition; }; diff --git a/regamedll/dlls/wpn_shared/wpn_c4.cpp b/regamedll/dlls/wpn_shared/wpn_c4.cpp index 87b49a304..f5c52b01a 100644 --- a/regamedll/dlls/wpn_shared/wpn_c4.cpp +++ b/regamedll/dlls/wpn_shared/wpn_c4.cpp @@ -382,37 +382,3 @@ float CC4::GetMaxSpeed() return C4_MAX_SPEED; } - -void CC4::AttachToPlayer(CBasePlayer* pPlayer) -{ - CBasePlayerWeapon::AttachToPlayer(pPlayer); - -#ifdef REGAMEDLL_ADD - SetThink(&CC4::Think); - pev->nextthink = gpGlobals->time + WEAPON_C4_UPDATE_LAST_VALID_PLAYER_HELD_POSITION_INTERVAL; - - if (pPlayer->IsPlayer() && pPlayer->IsAlive()) - { - entvars_t* pevPlayer = pPlayer->pev; - m_vecLastValidPlayerHeldPosition = pevPlayer->origin + pevPlayer->mins; - } -#endif -} - -void CC4::Think() -{ -#ifdef REGAMEDLL_ADD - pev->nextthink = gpGlobals->time + WEAPON_C4_UPDATE_LAST_VALID_PLAYER_HELD_POSITION_INTERVAL; - - // If the bomb is held by an alive player standing on the ground, then we can use this - // position as the last known valid position to respawn the bomb if it gets reset. - - if (m_pPlayer && m_pPlayer->IsPlayer() && m_pPlayer->IsAlive() && (m_pPlayer->pev->flags & FL_ONGROUND)) - { - entvars_t* pevPlayer = m_pPlayer->pev; - m_vecLastValidPlayerHeldPosition = pevPlayer->origin + pevPlayer->mins; - } -#else - CBasePlayerWeapon::Think(); -#endif -} diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/regamedll-cs.fgd b/regamedll/extra/Toolkit/GameDefinitionFile/regamedll-cs.fgd index f9bf99a52..0e6838732 100644 --- a/regamedll/extra/Toolkit/GameDefinitionFile/regamedll-cs.fgd +++ b/regamedll/extra/Toolkit/GameDefinitionFile/regamedll-cs.fgd @@ -2272,10 +2272,6 @@ ] ] -@SolidClass base(Trigger) = trigger_bomb_reset : "Trigger bomb reset" -[ -] - // Function entities @SolidClass = func_bomb_target : "Bomb target zone" [ diff --git a/regamedll/msvc/ReGameDLL.vcxproj b/regamedll/msvc/ReGameDLL.vcxproj index 0f6646af5..3e882d9e6 100644 --- a/regamedll/msvc/ReGameDLL.vcxproj +++ b/regamedll/msvc/ReGameDLL.vcxproj @@ -1,4 +1,4 @@ - + @@ -25,7 +25,6 @@ - @@ -617,7 +616,6 @@ - diff --git a/regamedll/msvc/ReGameDLL.vcxproj.filters b/regamedll/msvc/ReGameDLL.vcxproj.filters index 7f1692dd5..d8c27981d 100644 --- a/regamedll/msvc/ReGameDLL.vcxproj.filters +++ b/regamedll/msvc/ReGameDLL.vcxproj.filters @@ -1,4 +1,4 @@ - + @@ -549,9 +549,6 @@ dlls\addons - - dlls\addons - public @@ -1052,8 +1049,5 @@ dlls\addons - - dlls\addons - \ No newline at end of file diff --git a/regamedll/public/regamedll/API/CSInterfaces.h b/regamedll/public/regamedll/API/CSInterfaces.h index 41d16ecec..98e9ea145 100644 --- a/regamedll/public/regamedll/API/CSInterfaces.h +++ b/regamedll/public/regamedll/API/CSInterfaces.h @@ -213,7 +213,6 @@ class CCSChangeLevel: public CCSTrigger {}; class CCSLadder: public CCSTrigger {}; class CCSTriggerPush: public CCSTrigger {}; class CCSTriggerTeleport: public CCSTrigger {}; -class CCSTriggerBombReset: public CCSTrigger {}; class CCSBuyZone: public CCSTrigger {}; class CCSBombTarget: public CCSTrigger {}; class CCSHostageRescue: public CCSTrigger {}; diff --git a/regamedll/regamedll/dlls.h b/regamedll/regamedll/dlls.h index 51f4a2e4d..2bef63d6d 100644 --- a/regamedll/regamedll/dlls.h +++ b/regamedll/regamedll/dlls.h @@ -134,7 +134,6 @@ using FloatRef = float; #include "addons/trigger_setorigin.h" #include "addons/trigger_random.h" #include "addons/point_command.h" -#include "addons/trigger_bomb_reset.h" // Tutor #include "tutor.h"