From 774e537a500663fca9d26d9cfb5a04a5a9f81c7e Mon Sep 17 00:00:00 2001 From: Night Owl Date: Thu, 19 Apr 2018 01:59:38 +0500 Subject: [PATCH] Add compatibility with dmq2 sctf maps. --- dlls/3wave/threewave_gamerules.cpp | 11 +++++++---- dlls/subs.cpp | 25 +++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/dlls/3wave/threewave_gamerules.cpp b/dlls/3wave/threewave_gamerules.cpp index fd545d7d..a660e984 100644 --- a/dlls/3wave/threewave_gamerules.cpp +++ b/dlls/3wave/threewave_gamerules.cpp @@ -2096,6 +2096,7 @@ class CItemFlagTeam1 : public CItemFlag { void Spawn( void ) { + pev->classname = MAKE_STRING( "item_flag_team1" ); pev->team = RED; CItemFlag::Spawn( ); } @@ -2105,16 +2106,18 @@ class CItemFlagTeam2 : public CItemFlag { void Spawn( void ) { + pev->classname = MAKE_STRING( "item_flag_team2" ); pev->team = BLUE; CItemFlag::Spawn( ); } }; -LINK_ENTITY_TO_CLASS( item_flag_team1, CItemFlagTeam1 ); -LINK_ENTITY_TO_CLASS( item_flag_team2, CItemFlagTeam2 ); +LINK_ENTITY_TO_CLASS( item_flag_team1, CItemFlagTeam1 ) +LINK_ENTITY_TO_CLASS( ctf_redflag, CItemFlagTeam1 ) +LINK_ENTITY_TO_CLASS( item_flag_team2, CItemFlagTeam2 ) +LINK_ENTITY_TO_CLASS( ctf_blueflag, CItemFlagTeam2 ) - -void CCarriedFlag ::Spawn( ) +void CCarriedFlag ::Spawn() { Precache( ); diff --git a/dlls/subs.cpp b/dlls/subs.cpp index 87459e27..37984c80 100644 --- a/dlls/subs.cpp +++ b/dlls/subs.cpp @@ -67,8 +67,29 @@ private: LINK_ENTITY_TO_CLASS( info_player_deathmatch, CBaseDMStart ) LINK_ENTITY_TO_CLASS( info_player_start, CPointEntity ) LINK_ENTITY_TO_CLASS( info_landmark, CPointEntity ) -LINK_ENTITY_TO_CLASS( info_player_team1, CPointEntity ) -LINK_ENTITY_TO_CLASS( info_player_team2, CPointEntity ) + +class CCTFRedSpawnPoint : public CPointEntity +{ +public: + void Spawn() + { + pev->classname = MAKE_STRING( "info_player_team1" ); + } +}; +LINK_ENTITY_TO_CLASS( info_player_team1, CCTFRedSpawnPoint ) +LINK_ENTITY_TO_CLASS( ctf_redspawn, CCTFRedSpawnPoint ) + +class CCTFBlueSpawnPoint : public CPointEntity +{ +public: + void Spawn() + { + pev->classname = MAKE_STRING( "info_player_team2" ); + } +}; + +LINK_ENTITY_TO_CLASS( info_player_team2, CCTFBlueSpawnPoint ) +LINK_ENTITY_TO_CLASS( ctf_bluespawn, CCTFBlueSpawnPoint ) void CBaseDMStart::KeyValue( KeyValueData *pkvd ) {