From 07b72429f6fe67e44fabe367fbfda0345d66c992 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Mon, 31 Dec 2018 02:00:38 +0100 Subject: [PATCH] Switched the majority of entities over to my new object oriented entity codebase also featured in The Wastes 1.2 --- Source/Client/View.c | 69 ++-- Source/Menu-FN/m_creategame.cpp | 3 + Source/Server/Bot/Bot.c | 1 + Source/Server/Client.c | 59 +++ Source/Server/Defs.h | 3 + Source/Server/EntHostage.c | 4 +- Source/Server/Entities.c | 40 -- Source/Server/EnvObjects.c | 4 +- Source/Server/Footsteps.c | 74 ++-- Source/Server/FuncButton.c | 2 +- Source/Server/FuncEscapeZone.c | 7 +- Source/Server/Main.c | 3 +- Source/Server/Player.c | 17 +- Source/Server/Rules.c~ | 295 ++++++++++++++ Source/Server/Spawn.c | 11 - Source/Server/Timer.c | 5 + Source/Server/progs.src | 69 +++- Source/Shared/WeaponC4Bomb.c | 4 +- Source/gs-entbase/client/fade.cpp | 95 +++++ Source/gs-entbase/server/README | 29 ++ Source/gs-entbase/server/ambient_generic.cpp | 132 +++++++ Source/gs-entbase/server/baseentity.cpp | 98 +++++ Source/gs-entbase/server/basetrigger.cpp | 122 ++++++ Source/gs-entbase/server/cycler.cpp | 41 ++ Source/gs-entbase/server/defs.h | 30 ++ Source/gs-entbase/server/env_beam.cpp | 18 + Source/gs-entbase/server/env_beverage.cpp | 72 ++++ Source/gs-entbase/server/env_explosion.cpp | 54 +++ Source/gs-entbase/server/env_fade.cpp | 62 +++ Source/gs-entbase/server/env_global.cpp | 127 ++++++ Source/gs-entbase/server/env_glow.cpp | 28 ++ Source/gs-entbase/server/env_render.cpp | 39 ++ Source/gs-entbase/server/env_shake.cpp | 59 +++ Source/gs-entbase/server/env_shooter.cpp | 77 ++++ Source/gs-entbase/server/env_spark.cpp | 98 +++++ Source/gs-entbase/server/env_sprite.cpp | 41 ++ Source/gs-entbase/server/func_breakable.cpp | 123 ++++++ Source/gs-entbase/server/func_button.cpp | 368 ++++++++++++++++++ Source/gs-entbase/server/func_conveyor.cpp | 88 +++++ Source/gs-entbase/server/func_door.cpp | 361 +++++++++++++++++ .../gs-entbase/server/func_door_rotating.cpp | 331 ++++++++++++++++ .../gs-entbase/server/func_healthcharger.cpp | 38 ++ Source/gs-entbase/server/func_illusionary.cpp | 29 ++ Source/gs-entbase/server/func_ladder.cpp | 21 + Source/gs-entbase/server/func_recharge.cpp | 38 ++ Source/gs-entbase/server/func_rotating.cpp | 113 ++++++ Source/gs-entbase/server/func_train.cpp | 194 +++++++++ Source/gs-entbase/server/func_wall.cpp | 31 ++ Source/gs-entbase/server/game_text.cpp | 9 + .../server/info_player_deathmatch.cpp | 18 + .../server/info_player_spectate.cpp | 15 + .../gs-entbase/server/info_player_start.cpp | 18 + Source/gs-entbase/server/item_food.cpp | 61 +++ Source/gs-entbase/server/item_suit.cpp | 30 ++ Source/gs-entbase/server/light.cpp | 66 ++++ .../gs-entbase/server/monster_furniture.cpp | 41 ++ Source/gs-entbase/server/monster_generic.cpp | 51 +++ Source/gs-entbase/server/multi_manager.cpp | 71 ++++ Source/gs-entbase/server/multisource.cpp | 46 +++ .../gs-entbase/server/scripted_sequence.cpp | 0 Source/gs-entbase/server/stubs.cpp | 57 +++ Source/gs-entbase/server/trigger_auto.cpp | 44 +++ Source/gs-entbase/server/trigger_camera.cpp | 43 ++ Source/gs-entbase/server/trigger_cdaudio.cpp | 40 ++ .../gs-entbase/server/trigger_changelevel.cpp | 108 +++++ .../gs-entbase/server/trigger_endsection.cpp | 19 + Source/gs-entbase/server/trigger_hurt.cpp | 100 +++++ Source/gs-entbase/server/trigger_multiple.cpp | 69 ++++ Source/gs-entbase/server/trigger_once.cpp | 62 +++ Source/gs-entbase/server/trigger_push.cpp | 111 ++++++ Source/gs-entbase/server/trigger_relay.cpp | 9 + Source/gs-entbase/server/trigger_teleport.cpp | 30 ++ .../gs-entbase/server/trigger_transition.cpp | 23 ++ Source/gs-entbase/server/world.cpp | 49 +++ freecs/csprogs.dat | Bin 250598 -> 250642 bytes freecs/menu.dat | Bin 211666 -> 211666 bytes freecs/progs.dat | Bin 281958 -> 281822 bytes 77 files changed, 4674 insertions(+), 143 deletions(-) create mode 100644 Source/Server/Rules.c~ create mode 100644 Source/gs-entbase/client/fade.cpp create mode 100644 Source/gs-entbase/server/README create mode 100644 Source/gs-entbase/server/ambient_generic.cpp create mode 100644 Source/gs-entbase/server/baseentity.cpp create mode 100644 Source/gs-entbase/server/basetrigger.cpp create mode 100644 Source/gs-entbase/server/cycler.cpp create mode 100644 Source/gs-entbase/server/defs.h create mode 100644 Source/gs-entbase/server/env_beam.cpp create mode 100644 Source/gs-entbase/server/env_beverage.cpp create mode 100644 Source/gs-entbase/server/env_explosion.cpp create mode 100644 Source/gs-entbase/server/env_fade.cpp create mode 100644 Source/gs-entbase/server/env_global.cpp create mode 100644 Source/gs-entbase/server/env_glow.cpp create mode 100644 Source/gs-entbase/server/env_render.cpp create mode 100644 Source/gs-entbase/server/env_shake.cpp create mode 100644 Source/gs-entbase/server/env_shooter.cpp create mode 100644 Source/gs-entbase/server/env_spark.cpp create mode 100644 Source/gs-entbase/server/env_sprite.cpp create mode 100755 Source/gs-entbase/server/func_breakable.cpp create mode 100644 Source/gs-entbase/server/func_button.cpp create mode 100644 Source/gs-entbase/server/func_conveyor.cpp create mode 100644 Source/gs-entbase/server/func_door.cpp create mode 100644 Source/gs-entbase/server/func_door_rotating.cpp create mode 100644 Source/gs-entbase/server/func_healthcharger.cpp create mode 100644 Source/gs-entbase/server/func_illusionary.cpp create mode 100644 Source/gs-entbase/server/func_ladder.cpp create mode 100644 Source/gs-entbase/server/func_recharge.cpp create mode 100644 Source/gs-entbase/server/func_rotating.cpp create mode 100644 Source/gs-entbase/server/func_train.cpp create mode 100644 Source/gs-entbase/server/func_wall.cpp create mode 100644 Source/gs-entbase/server/game_text.cpp create mode 100644 Source/gs-entbase/server/info_player_deathmatch.cpp create mode 100644 Source/gs-entbase/server/info_player_spectate.cpp create mode 100644 Source/gs-entbase/server/info_player_start.cpp create mode 100644 Source/gs-entbase/server/item_food.cpp create mode 100644 Source/gs-entbase/server/item_suit.cpp create mode 100644 Source/gs-entbase/server/light.cpp create mode 100644 Source/gs-entbase/server/monster_furniture.cpp create mode 100644 Source/gs-entbase/server/monster_generic.cpp create mode 100644 Source/gs-entbase/server/multi_manager.cpp create mode 100644 Source/gs-entbase/server/multisource.cpp create mode 100644 Source/gs-entbase/server/scripted_sequence.cpp create mode 100644 Source/gs-entbase/server/stubs.cpp create mode 100644 Source/gs-entbase/server/trigger_auto.cpp create mode 100644 Source/gs-entbase/server/trigger_camera.cpp create mode 100644 Source/gs-entbase/server/trigger_cdaudio.cpp create mode 100644 Source/gs-entbase/server/trigger_changelevel.cpp create mode 100644 Source/gs-entbase/server/trigger_endsection.cpp create mode 100644 Source/gs-entbase/server/trigger_hurt.cpp create mode 100644 Source/gs-entbase/server/trigger_multiple.cpp create mode 100644 Source/gs-entbase/server/trigger_once.cpp create mode 100644 Source/gs-entbase/server/trigger_push.cpp create mode 100644 Source/gs-entbase/server/trigger_relay.cpp create mode 100644 Source/gs-entbase/server/trigger_teleport.cpp create mode 100644 Source/gs-entbase/server/trigger_transition.cpp create mode 100644 Source/gs-entbase/server/world.cpp diff --git a/Source/Client/View.c b/Source/Client/View.c index 90601fdf..208f2316 100755 --- a/Source/Client/View.c +++ b/Source/Client/View.c @@ -24,36 +24,43 @@ OTHER DEALINGS IN THE SOFTWARE. */ +var string autocvar_skins_dir = ""; + string sViewModels[ CS_WEAPON_COUNT - 1 ] = { - "models/v_knife.mdl", - "models/v_usp.mdl", - "models/v_glock18.mdl", - "models/v_deagle.mdl", - "models/v_p228.mdl", - "models/v_elite.mdl", - "models/v_fiveseven.mdl", - "models/v_m3.mdl", - "models/v_xm1014.mdl", - "models/v_mp5.mdl", - "models/v_p90.mdl", - "models/v_ump45.mdl", - "models/v_mac10.mdl", - "models/v_tmp.mdl", - "models/v_ak47.mdl", - "models/v_sg552.mdl", - "models/v_m4a1.mdl", - "models/v_aug.mdl", - "models/v_scout.mdl", - "models/v_awp.mdl", - "models/v_g3sg1.mdl", - "models/v_sg550.mdl", - "models/v_m249.mdl", - "models/v_c4.mdl", - "models/v_flashbang.mdl", - "models/v_hegrenade.mdl", - "models/v_smokegrenade.mdl" + "v_knife.mdl", + "v_usp.mdl", + "v_glock18.mdl", + "v_deagle.mdl", + "v_p228.mdl", + "v_elite.mdl", + "v_fiveseven.mdl", + "v_m3.mdl", + "v_xm1014.mdl", + "v_mp5.mdl", + "v_p90.mdl", + "v_ump45.mdl", + "v_mac10.mdl", + "v_tmp.mdl", + "v_ak47.mdl", + "v_sg552.mdl", + "v_m4a1.mdl", + "v_aug.mdl", + "v_scout.mdl", + "v_awp.mdl", + "v_g3sg1.mdl", + "v_sg550.mdl", + "v_m249.mdl", + "v_c4.mdl", + "v_flashbang.mdl", + "v_hegrenade.mdl", + "v_smokegrenade.mdl" }; +void View_Init(void) +{ + +} + /* ==================== View_CalcBob @@ -210,7 +217,13 @@ void View_DrawViewModel( void ) { if ( pSeat->fLastWeapon != aw ) { pSeat->fLastWeapon = aw; if ( aw >= 1 ) { - setmodel( eViewModel, sViewModels[ aw - 1 ] ); + string wm; + if (autocvar_skins_dir != "") { + wm = sprintf("skins/%s/%s", autocvar_skins_dir, sViewModels[ aw - 1 ]); + } else { + wm = sprintf("models/%s", sViewModels[ aw - 1 ]); + } + setmodel( eViewModel, wm ); skel_delete( eMuzzleflash.skeletonindex ); eMuzzleflash.skeletonindex = skel_create( eViewModel.modelindex ); pSeat->fNumBones = skel_get_numbones( eMuzzleflash.skeletonindex ) + 1; diff --git a/Source/Menu-FN/m_creategame.cpp b/Source/Menu-FN/m_creategame.cpp index 16f8e0e5..e557a2d3 100644 --- a/Source/Menu-FN/m_creategame.cpp +++ b/Source/Menu-FN/m_creategame.cpp @@ -20,6 +20,9 @@ void create_btnok_start(void) { static string startmap; static void create_btnok_end(void) { + localcmd(sprintf("hostname %s\n", create_tbHostname.m_text)); + localcmd(sprintf("sv_playerslots %s\n", create_tbMaxplayers.m_text)); + localcmd(sprintf("password %s\n", create_tbPassword.m_text)); localcmd(sprintf("map %s\n", startmap)); g_menupage = PAGE_LANGAMES; } diff --git a/Source/Server/Bot/Bot.c b/Source/Server/Bot/Bot.c index fe4f09ef..ae80c4bd 100644 --- a/Source/Server/Bot/Bot.c +++ b/Source/Server/Bot/Bot.c @@ -39,6 +39,7 @@ float bot_skill[] = { Bot_AutoAdd ================= */ +.float delay; void Bot_AutoAdd( void ) { if ( self.delay == TRUE ) { CBot bot; diff --git a/Source/Server/Client.c b/Source/Server/Client.c index e3471720..f7f02ef0 100755 --- a/Source/Server/Client.c +++ b/Source/Server/Client.c @@ -95,6 +95,25 @@ void ClientDisconnect( void ) { Effect_RemoveSpray( self ); } +void DecodeChangeParms(void) +{ + g_landmarkpos[0] = parm1; + g_landmarkpos[1] = parm2; + g_landmarkpos[2] = parm3; + self.angles[0] = parm4; + self.angles[1] = parm5; + self.angles[2] = parm6; +} +void SetChangeParms(void) +{ + parm1 = g_landmarkpos[0]; + parm2 = g_landmarkpos[1]; + parm3 = g_landmarkpos[2]; + parm4 = self.angles[0]; + parm5 = self.angles[1]; + parm6 = self.angles[2]; +} + /* ================= PutClientInServer @@ -103,6 +122,46 @@ Puts a client into the world. ================= */ void PutClientInServer( void ) { + + if ( cvar( "sv_playerslots" ) == 1 ) { + entity spot; + self.SendEntity = Player_SendEntity; + + DecodeChangeParms(); + + if (startspot) { + self.origin = Landmark_GetSpot(); + self.fixangle = TRUE; + } else { + spot = find( world, classname, "info_player_start" ); + self.origin = spot.origin; + self.angles = spot.angles; + self.fixangle = TRUE; + } + + self.classname = "player"; + self.health = self.max_health = 100; + forceinfokey( self, "*dead", "0" ); + self.takedamage = DAMAGE_YES; + self.solid = SOLID_SLIDEBOX; + self.movetype = MOVETYPE_WALK; + self.flags = FL_CLIENT; + self.vPain = Player_Pain; + self.vDeath = Player_Death; + self.iBleeds = TRUE; + self.fSlotGrenade = 0; + self.viewzoom = 1.0; + setmodel( self, "models/player/vip/vip.mdl" ); + setsize( self, VEC_HULL_MIN, VEC_HULL_MAX ); + self.view_ofs = VEC_PLAYER_VIEWPOS; + self.velocity = '0 0 0'; + self.frame = 1; // Idle frame + self.fBombProgress = 0; + self.team = TEAM_CT; + forceinfokey( self, "*spec", "0" ); + return; + } + entity eTarget = world; Spawn_MakeSpectator(); diff --git a/Source/Server/Defs.h b/Source/Server/Defs.h index ec819303..be2b1b17 100755 --- a/Source/Server/Defs.h +++ b/Source/Server/Defs.h @@ -24,6 +24,8 @@ OTHER DEALINGS IN THE SOFTWARE. */ +#define CLASSEXPORT(classname,classa) void classname ( void ) { spawnfunc_##classa(); } + #define VEC_PLAYER_VIEWPOS '0 0 20' #define VEC_PLAYER_CVIEWPOS '0 0 12' @@ -148,6 +150,7 @@ void Animation_PlayerTop( float fFrame ); void Animation_PlayerTopTemp( float fFrame, float fTime ); void Footsteps_Update( void ); +string startspot; string __fullspawndata; hashtable hashMaterials; diff --git a/Source/Server/EntHostage.c b/Source/Server/EntHostage.c index b7825d33..47627398 100755 --- a/Source/Server/EntHostage.c +++ b/Source/Server/EntHostage.c @@ -288,10 +288,10 @@ void hostage_entity( void ) { self.eUser = world; self.eTargetPoint = world; - self.iUsable = TRUE; + self.gflags = GF_USABLE; + self.PlayerUse = hostage_use; self.iBleeds = TRUE; self.takedamage = DAMAGE_YES; - self.vUse = hostage_use; self.vPain = hostage_pain; self.vDeath = hostage_die; self.style = HOSTAGE_IDLE; diff --git a/Source/Server/Entities.c b/Source/Server/Entities.c index 682fed14..26b1a286 100755 --- a/Source/Server/Entities.c +++ b/Source/Server/Entities.c @@ -273,43 +273,3 @@ void Entities_RotateToDestination( vector vDestinationAngle, float fTravelSpeed, self.vThinkMove = func; self.think = Entities_RotateToDestination_End; } - -void func_wall( void ) { - static void func_wall_use( void ) { - self.skin = 1 - self.skin; - } - self.angles = '0 0 0'; - self.movetype = MOVETYPE_PUSH; - self.solid = SOLID_BSP; - - setmodel( self, self.model ); - self.vUse = func_wall_use; - Entities_RenderSetup(); -} - -void func_illusionary( void ){ - func_wall(); - self.solid = SOLID_NOT; -} - -void func_water( void ) { - func_wall(); - self.skin = CONTENT_WATER; - /*self.forceshader = shaderforname( "{\n" - "surfaceparm nodlight\n" - "surfaceparm nomarks\n" - "{\n" - "map $refraction\n" - "}\n" - "{\n" - "map $null\n" - "}\n" - "{\n" - "map $ripplemap\n" - "}\n" - "{\n" - "map $null\n" - "}\n" - "program altwater#RIPPLEMAP#FRESNEL=4\n" - "}\n" );*/ -} diff --git a/Source/Server/EnvObjects.c b/Source/Server/EnvObjects.c index b6a68407..502e0157 100755 --- a/Source/Server/EnvObjects.c +++ b/Source/Server/EnvObjects.c @@ -120,7 +120,7 @@ then become invisible, then let the door move (with a static doorhandle attached #define SF_NORENDERFX 1 #define SF_NORENDERAMT 2 -#define SF_NORENDERMODE 4 +#define SF_NORENDERMODE 4 #define SF_NORENDERCOLOR 8 void env_render( void ) { @@ -246,7 +246,7 @@ void env_spark( void ) { if ( self.MaxDelay <= 0 ) { self.MaxDelay = 1.0f; } - + if ( self.spawnflags & SPARK_TOGGLE ) { if ( self.spawnflags & SPARK_ON ) { self.think = env_spark_think; diff --git a/Source/Server/Footsteps.c b/Source/Server/Footsteps.c index e8fafa66..16f83e79 100755 --- a/Source/Server/Footsteps.c +++ b/Source/Server/Footsteps.c @@ -24,6 +24,8 @@ OTHER DEALINGS IN THE SOFTWARE. */ +.int iStep; + /* ================= Footsteps_Update @@ -32,67 +34,81 @@ Run every frame for each player, plays material based footsteps ================= */ void Footsteps_Update( void ) { - float fForce; - float fDelay; - vector vStep; - string sStepSound = ""; + float fSpeed; + float fVol; + string sMaterial = ""; + string sTexture = ""; if ( ( self.movetype == MOVETYPE_WALK ) && ( self.flags & FL_ONGROUND ) ) { if ( ( self.velocity_x == 0 && self.velocity_y == 0 ) || self.fStepTime > time ) { return; } - if ( vlen( self.velocity ) < 150 ) { - return; - } - - vStep_x = fabs( self.velocity_x ); - vStep_y = fabs( self.velocity_y ); - - fForce = ( vStep_x + vStep_y ); - fDelay = clamp( 0.1, 1 / ( fForce / 90 ), 1 ); - + fSpeed = vlen( self.velocity ); traceline( self.origin + self.view_ofs, self.origin + '0 0 -48', FALSE, self ); - - string sTexture = getsurfacetexture( trace_ent, getsurfacenearpoint( trace_ent, trace_endpos ) ); + sTexture = getsurfacetexture( trace_ent, getsurfacenearpoint( trace_ent, trace_endpos ) ); + + if ( fSpeed < 140 ) { + self.fStepTime = time + 0.35; + fVol = 0.15f; + } else if ( fSpeed < 270 ) { + self.fStepTime = time + 0.35; + fVol = 0.35f; + } else { + self.fStepTime = time + 0.35; + fVol = 0.75; + } switch( (float)hash_get( hashMaterials, sTexture ) ) { case 'M': - sStepSound = sprintf( "player/pl_metal%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "metal"; break; case 'V': - sStepSound = sprintf( "player/pl_duct%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "duct"; break; case 'D': - sStepSound = sprintf( "player/pl_dirt%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "dirt"; break; case 'S': - sStepSound = sprintf( "player/pl_slosh%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "slosh"; break; case 'T': - sStepSound = sprintf( "player/pl_tile%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "tile"; break; case 'G': - sStepSound = sprintf( "player/pl_grate%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "grate"; break; case 'W': - sStepSound = sprintf( "player/pl_step%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "step"; break; case 'P': - sStepSound = sprintf( "player/pl_step%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "step"; break; case 'Y': - sStepSound = sprintf( "player/pl_step%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "step"; break; case 'N': - sStepSound = sprintf( "player/pl_snow%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "snow"; break; default: - sStepSound = sprintf( "player/pl_step%d.wav", floor( ( random() * 4 ) + 1 ) ); + sMaterial = "step"; break; } - sound( self, CHAN_BODY, sStepSound, 0.5, ATTN_IDLE ); - self.fStepTime = time + fDelay; + if ( self.iStep ) { + if ( random() < 0.5f ) { + sound( self, CHAN_BODY, sprintf( "player/pl_%s1.wav", sMaterial), fVol, ATTN_STATIC ); + } else { + sound( self, CHAN_BODY, sprintf( "player/pl_%s2.wav", sMaterial), fVol, ATTN_STATIC ); + } + } else { + if ( random() < 0.5f ) { + sound( self, CHAN_BODY, sprintf( "player/pl_%s3.wav", sMaterial), fVol, ATTN_STATIC ); + } else { + sound( self, CHAN_BODY, sprintf( "player/pl_%s4.wav", sMaterial), fVol, ATTN_STATIC ); + } + } + + self.iStep = 1 - self.iStep; } } diff --git a/Source/Server/FuncButton.c b/Source/Server/FuncButton.c index c7ec669f..693b3600 100755 --- a/Source/Server/FuncButton.c +++ b/Source/Server/FuncButton.c @@ -25,7 +25,7 @@ */ #define SF_BTT_NOMOVE 1 -#define SF_BTT_TOGGLE 32 +#define SF_BTT_TOGGLE 32 #define SF_BTT_TOUCH_ONLY 256 void() FuncButton_MoveAway; diff --git a/Source/Server/FuncEscapeZone.c b/Source/Server/FuncEscapeZone.c index 948f69f8..218fa773 100755 --- a/Source/Server/FuncEscapeZone.c +++ b/Source/Server/FuncEscapeZone.c @@ -45,13 +45,12 @@ void func_escapezone_touch( void ) { forceinfokey( self, "*dead", "0" ); self.health = 0; Rules_CountPlayers(); - self = eOld; if ( iAlivePlayers_T == 0 ) { Rules_RoundOver( TEAM_T, 2500, FALSE ); } - } + } } /* @@ -65,13 +64,13 @@ void func_escapezone( void ) { self.angles = '0 0 0'; self.movetype = MOVETYPE_NONE; self.solid = SOLID_TRIGGER; - + if ( self.model ) { setmodel( self, self.model ); } else { setsize( self, self.mins, self.maxs ); } - + self.model = 0; self.touch = func_escapezone_touch; diff --git a/Source/Server/Main.c b/Source/Server/Main.c index 00914e17..edb6c9be 100755 --- a/Source/Server/Main.c +++ b/Source/Server/Main.c @@ -28,8 +28,6 @@ void main( void ) {} void SetNewParms( void ) {} -void SetChangeParms( void ) {} - void SV_SendChat( entity eSender, string sMessage, entity eEnt, float fType ) { WriteByte( MSG_MULTICAST, SVC_CGAMEPACKET ); WriteByte( MSG_MULTICAST, fType == 0 ? EV_CHAT:EV_CHAT_TEAM ); @@ -658,4 +656,5 @@ void worldspawn( void ) { pointerstat( STAT_WON_CT, EV_INTEGER, &iWon_CT ); iBombRadius = 1024; + localcmd(sprintf("serverinfo slots %d\n", cvar("sv_playerslots"))); } diff --git a/Source/Server/Player.c b/Source/Server/Player.c index 7d80e8f2..12f9e19c 100755 --- a/Source/Server/Player.c +++ b/Source/Server/Player.c @@ -155,6 +155,14 @@ void Player_Death( int iHitBody ) { Player_UseDown ==================== */ +void UseWorkaround( entity eTarget ) +{ + eActivator = self; + entity eOldSelf = self; + self = eTarget; + self.PlayerUse(); + self = eOldSelf; +} void Player_UseDown( void ) { if ( self.health <= 0 ) { return; @@ -163,23 +171,18 @@ void Player_UseDown( void ) { } vector vSource; - entity eOriginalSelf; makevectors(self.v_angle); vSource = self.origin + self.view_ofs; traceline ( vSource, vSource + ( v_forward * 64 ), FALSE, self); - if ( trace_ent.iUsable ) { + if (trace_ent.gflags & GF_USABLE) { if ( ( trace_ent.classname != "c4bomb" ) && ( trace_ent.classname != "func_pushable" ) ) { self.flags = ( self.flags - FL_USERELEASED ); sound( self, CHAN_ITEM, "common/wpn_select.wav", 0.25, ATTN_IDLE ); } - eActivator = self; - eOriginalSelf = self; - self = trace_ent; - self.vUse(); - self = eOriginalSelf; + UseWorkaround(trace_ent); } else { sound( self, CHAN_ITEM, "common/wpn_denyselect.wav", 0.25, ATTN_IDLE ); self.flags = ( self.flags - FL_USERELEASED ); diff --git a/Source/Server/Rules.c~ b/Source/Server/Rules.c~ new file mode 100644 index 00000000..7c4c8283 --- /dev/null +++ b/Source/Server/Rules.c~ @@ -0,0 +1,295 @@ +/* + Copyright 2016-2018 Marco "eukara" Hladik + + MIT LICENSE + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. +*/ + +enum { + BUY_BOTH, + BUY_CT, + BUY_T, + BUY_NEITHER +}; + +/* +================= +Rules_BuyingPossible + +Checks if it is possible for players to buy anything +================= +*/ +float Rules_BuyingPossible( void ) { + if ( self.health <= 0 ) { + return FALSE; + } + + if ( fGameState == GAME_ACTIVE ) { + if ( ( ( autocvar_mp_roundtime * 60 ) - fGameTime ) > autocvar_mp_buytime ) { + centerprint( self, sprintf( "%d seconds have passed...\nYou can't buy anything now!", autocvar_mp_buytime ) ); + self.fAttackFinished = time + 1.0; + return FALSE; + } + } + + if ( self.team == TEAM_VIP ) { + centerprint( self, "You are the VIP...\nYou can't buy anything!\n" ); + self.fAttackFinished = time + 1.0; + return FALSE; + } + + if ( iBuyRestriction == BUY_NEITHER ) { + centerprint( self, "Sorry, you aren't meant\nto be buying anything.\n" ); + self.fAttackFinished = time + 1.0; + return FALSE; + } + + if ( iBuyRestriction != BUY_BOTH ) { + if ( iBuyRestriction == BUY_CT && self.team == TEAM_T ) { + centerprint( self, "Terrorists aren't allowed to\nbuy anything on this map!\n" ); + self.fAttackFinished = time + 1.0; + return FALSE; + } else if ( iBuyRestriction == BUY_T && self.team == TEAM_CT ) { + centerprint( self, "CTs aren't allowed to buy\nanything on this map!\n" ); + self.fAttackFinished = time + 1.0; + return FALSE; + } + } + + if ( self.fInBuyZone == FALSE ) { + return FALSE; + } + + return TRUE; +} + +void Rules_MakeBomber( void ) { + Weapon_AddItem( WEAPON_C4BOMB ); + centerprint( self, "You have the bomb!\nFind the target zone or DROP\nthe bomb for another Terrorist." ); +} + +void Rules_MakeVIP( void ) { + self.team = TEAM_VIP; + Spawn_RespawnClient( self.team ); + centerprint( self, "You are the VIP\nMake your way to the safety zones!" ); + forceinfokey( self, "*dead", "2" ); +} + +/* +================= +Rules_Restart + +Loop through all ents and handle them +================= +*/ +void Rules_Restart( int iWipe ) { + iHostagesRescued = 0; + + entity eOld = self; + + // Spawn/Respawn everyone at their team position and give them $$$ + for ( entity eFind = world; ( eFind = find( eFind, classname, "player" ) ); ) { + self = eFind; + + if ( self.health > 0 && iWipe == FALSE ) { + Spawn_RespawnClient( self.team ); + } else { + Spawn_MakeSpectator(); + Spawn_CreateClient( self.fCharModel ); + } + + if ( iWipe == FALSE ) { + Money_GiveTeamReward(); + } else { + self.fMoney = autocvar_mp_startmoney; + } + } + + // Clear the corpses/items + for ( entity eFind = world; ( eFind = find( eFind, classname, "remove_me" ) ); ) { + remove( eFind ); + } + + // Find the bombs. Destory them! + for ( entity eFind = world; ( eFind = find( eFind, classname, "c4bomb" ) ); ) { + remove( eFind ); + } + + // Select a random Terrorist for the bomb, if needed + if ( iBombZones > 0 ) { + int iRandomT = floor( random( 1, (float)iAlivePlayers_T + 1 ) ); + int iPickT = 0; + + for ( entity eFind = world; ( eFind = find( eFind, classname, "player" ) ); ) { + if ( eFind.team == TEAM_T ) { + iPickT++; + + if ( iPickT == iRandomT ) { + self = eFind; + Rules_MakeBomber(); + } + } + } + } + + // If there is a VIP, select a random CT to be it + if ( iVIPZones > 0 ) { + int iRandomCT = floor( random( 1, (float)iAlivePlayers_CT + 1 ) ); + int iPickCT = 0; + + for ( entity eFind = world; ( eFind = find( eFind, classname, "player" ) ); ) { + if ( eFind.team == TEAM_CT ) { + iPickCT++; + if ( iPickCT == iRandomCT ) { + self = eFind; + Rules_MakeVIP(); + } + } + } + + } + + // Respawn all the entities + for ( entity eFind = world; ( eFind = findfloat( eFind, fRespawns, TRUE ) ); ) { + self = eFind; + Entities_Respawn(); + } + + self = eOld; + + Timer_Begin( autocvar_mp_freezetime, GAME_FREEZE ); + Money_ResetTeamReward(); +} + +/* +================= +Rules_RoundOver + +This happens whenever an objective is complete or time is up +================= +*/ +void Rules_RoundOver( int iTeamWon, int iMoneyReward, float fSilent ) { + + if ( fGameState != GAME_ACTIVE ) { + return; + } + + if ( iTeamWon == TEAM_T ) { + if ( fSilent == FALSE ) { + Radio_BroadcastMessage( RADIO_TERWIN ); + } + iWon_T++; + + // FIXME: Calculate the proper loss values + Money_QueTeamReward( TEAM_CT, 1400 ); + } else if ( iTeamWon == TEAM_CT ) { + if ( fSilent == FALSE ) { + Radio_BroadcastMessage( RADIO_CTWIN ); + } + iWon_CT++; + // FIXME: Calculate the proper loss values + Money_QueTeamReward( TEAM_T, 1400 ); + } else { + if ( fSilent == FALSE ) { + Radio_BroadcastMessage( RADIO_ROUNDDRAW ); + } + } + + Money_QueTeamReward( iTeamWon, iMoneyReward ); + Timer_Begin( 5, GAME_END); // Round is over, 5 seconds til a new round starts + + iBombPlanted = 0; + iRounds++; +} + +/* +================= +Rules_TimeOver + +Whenever mp_roundtime was being counted down to 0 +================= +*/ +void Rules_TimeOver( void ) { + if ( iVIPZones > 0 ) { + Rules_RoundOver( TEAM_T, 3250, FALSE ); + } else if ( iBombZones > 0 ) { + Rules_RoundOver( TEAM_CT, 3250, FALSE ); + } else if ( iHostagesMax > 0 ) { + // TODO: Broadcast_Print: Hostages have not been rescued! + Rules_RoundOver( TEAM_T, 3250, FALSE ); + } else { + Rules_RoundOver( 0, 0, FALSE ); + } +} + +/* +================= +Rules_SwitchTeams + +Happens rarely +================= +*/ +void Rules_SwitchTeams( void ) { + int iCTW, iTW; + + for ( entity eFind = world; ( eFind = find( eFind, classname, "player" ) ); ) { + if ( eFind.team == TEAM_CT ) { + eFind.team = TEAM_T; + eFind.fCharModel -= 4; + } else if ( eFind.team == TEAM_T ) { + eFind.team = TEAM_CT; + eFind.fCharModel += 4; + } + forceinfokey( eFind, "*team", ftos( eFind.team ) ); + } + + iCTW = iWon_CT; + iTW = iWon_T; + + iWon_T = iCTW; + iWon_CT = iTW; + + iCTW = iAlivePlayers_CT; + iTW = iAlivePlayers_T; + + iAlivePlayers_CT = iTW; + iAlivePlayers_T = iCTW; +} + +/* +================= +SPAWN: info_map_parameters + +Let's map authors decide who can buy stuff and who CAN'T. +Also allows people to set the bomb placing radius incase you want to use info_bomb_target. +================= +*/ +.float buying; +.float bombradius; +void info_map_parameters( void ) { + if ( self.bombradius ) { + iBombRadius = self.bombradius; + } + if ( self.buying ) { + iBuyRestriction = self.buying; + } +} diff --git a/Source/Server/Spawn.c b/Source/Server/Spawn.c index 6a1199b2..96e42bc6 100755 --- a/Source/Server/Spawn.c +++ b/Source/Server/Spawn.c @@ -362,17 +362,6 @@ void info_player_terrorist(void) info_player_deathmatch(); } -/* -================= -info_target - -Cameras use this thing -================= -*/ -void info_target( void ) { - setorigin( self, self.origin ); -} - /* ================= info_vip_start diff --git a/Source/Server/Timer.c b/Source/Server/Timer.c index 71ca6a26..6b8f55ff 100755 --- a/Source/Server/Timer.c +++ b/Source/Server/Timer.c @@ -57,6 +57,11 @@ Called once every frame to check the status of things void Timer_Update(void) { static float fVoxTimer; + if ( cvar( "sv_playerslots" ) == 1 ) { + fGameTime = -1; + return; + } + // This map has been played enough we think if (fGameState != GAME_OVER) { if (cvar("mp_timelimit") > 0) { diff --git a/Source/Server/progs.src b/Source/Server/progs.src index 22fa5b56..06fac785 100755 --- a/Source/Server/progs.src +++ b/Source/Server/progs.src @@ -1,5 +1,4 @@ #pragma target fte - #pragma progs_dat "../../freecs/progs.dat" #includelist @@ -8,6 +7,7 @@ ../Math.h Defs.h DefsFields.h +../gs-entbase/server/defs.h Money.c ../Shared/Animations.c @@ -53,30 +53,69 @@ Rules.c Timer.c EntHostage.c + +../gs-entbase/server/baseentity.cpp +../gs-entbase/server/basetrigger.cpp +../gs-entbase/server/ambient_generic.cpp +../gs-entbase/server/env_beam.cpp +../gs-entbase/server/env_fade.cpp +../gs-entbase/server/env_sprite.cpp +../gs-entbase/server/env_spark.cpp +../gs-entbase/server/env_explosion.cpp +../gs-entbase/server/env_render.cpp +../gs-entbase/server/env_glow.cpp +../gs-entbase/server/env_shake.cpp +../gs-entbase/server/func_recharge.cpp +../gs-entbase/server/func_healthcharger.cpp +../gs-entbase/server/func_breakable.cpp +../gs-entbase/server/func_button.cpp +../gs-entbase/server/func_door.cpp +../gs-entbase/server/func_door_rotating.cpp +../gs-entbase/server/func_illusionary.cpp +../gs-entbase/server/func_ladder.cpp +../gs-entbase/server/func_train.cpp +../gs-entbase/server/func_wall.cpp +../gs-entbase/server/func_conveyor.cpp +../gs-entbase/server/func_rotating.cpp +../gs-entbase/server/light.cpp +../gs-entbase/server/stubs.cpp +../gs-entbase/server/trigger_auto.cpp +../gs-entbase/server/trigger_cdaudio.cpp +../gs-entbase/server/trigger_camera.cpp +../gs-entbase/server/trigger_hurt.cpp +../gs-entbase/server/trigger_changelevel.cpp +../gs-entbase/server/trigger_once.cpp +../gs-entbase/server/trigger_multiple.cpp +../gs-entbase/server/trigger_push.cpp +../gs-entbase/server/trigger_teleport.cpp +../gs-entbase/server/trigger_transition.cpp +../gs-entbase/server/trigger_relay.cpp +../gs-entbase/server/env_shooter.cpp +../gs-entbase/server/env_beverage.cpp +../gs-entbase/server/env_global.cpp +../gs-entbase/server/item_food.cpp +../gs-entbase/server/item_suit.cpp +../gs-entbase/server/multi_manager.cpp +../gs-entbase/server/monster_furniture.cpp +../gs-entbase/server/monster_generic.cpp +../gs-entbase/server/multisource.cpp +../gs-entbase/server/scripted_sequence.cpp +//../gs-entbase/server/info_player_start.cpp +//../gs-entbase/server/info_player_deathmatch.cpp Entities.c -Triggers.c -EnvObjects.c -FuncBreakable.c -FuncPushable.c -FuncLadder.c FuncHostageRescue.c -FuncVIPSafetyZone.c FuncEscapeZone.c FuncBombTarget.c FuncBuyZone.c -FuncButton.c -FuncDoor.c -FuncDoorRotating.c -FuncVehicle.c -ArmouryEntity.c -AmbientSound.c -InfoDecal.c +FuncVIPSafetyZone.c +InfoDecal.c +ArmouryEntity.c + Bot/Bot.h Bot/Way.c -Light.c Main.c Player.c Spawn.c diff --git a/Source/Shared/WeaponC4Bomb.c b/Source/Shared/WeaponC4Bomb.c index 85787a92..f323f641 100755 --- a/Source/Shared/WeaponC4Bomb.c +++ b/Source/Shared/WeaponC4Bomb.c @@ -178,8 +178,8 @@ void WeaponC4BOMB_Drop( vector vBombPos, vector vNormal ) { eBomb.customphysics = WeaponC4BOMB_Think; eBomb.fAttackFinished = time + autocvar_mp_c4timer; - eBomb.vUse = WeaponC4BOMB_Use; - eBomb.iUsable = TRUE; + eBomb.gflags = GF_USABLE; + eBomb.PlayerUse = WeaponC4BOMB_Use; eBomb.owner = self; // Align the bomb to the wall diff --git a/Source/gs-entbase/client/fade.cpp b/Source/gs-entbase/client/fade.cpp new file mode 100644 index 00000000..672a57fe --- /dev/null +++ b/Source/gs-entbase/client/fade.cpp @@ -0,0 +1,95 @@ +/*** +* +* Copyright (c) 2000-2019, Vera Visions. All rights reserved. +* +****/ + +#ifndef FADEOVERLAY +#define FADEOVERLAY +#endif + +float g_flFadeDuration; +float g_flFadeHold; +float g_flFadeMaxAlpha; +float g_flFadeStyle; +float g_flFadeAlpha; +float g_flFadeTime; +vector g_vecFadeColor; +int g_iFadeActive; + +/*enum +{ + DRAWFLAG_NORMAL, + DRAWFLAG_ADDITIVE, + DRAWFLAG_MODULATE, // FTE doesn't support this + DRAWFLAG_2XMODULATE // FTE doesn't support this +};*/ + +enumflags +{ + EVF_FADEDROM, + EVF_MODULATE, + EVF_ONLYUSER +}; + +void Fade_Init ( void ) +{ + shaderforname( "fade_modulate","{\n{\nmap $whiteimage\nrgbGen vertex\nblendFunc GL_DST_COLOR GL_ONE_MINUS_SRC_ALPHA\nalphaGen vertex\n}\n}\n" ); +} + +void Fade_Update ( float x, float y, float w, float h ) +{ + if ( g_iFadeActive == FALSE ) { + return; + } + if ( g_flFadeStyle & EVF_FADEDROM ) { + if ( g_flFadeTime > g_flFadeHold ) { + g_flFadeAlpha -= ( frametime * ( 1.0f / g_flFadeDuration ) ) * g_flFadeMaxAlpha; + } + } else { + if ( g_flFadeTime < g_flFadeDuration ) { + g_flFadeAlpha += ( frametime * ( 1.0f / g_flFadeDuration ) ) * g_flFadeMaxAlpha; + } else { + g_flFadeAlpha -= ( frametime * ( 1.0f / g_flFadeHold ) ) * g_flFadeMaxAlpha; + } + } + + if ( g_flFadeAlpha > 1.0f ) { + g_flFadeAlpha = 1.0f; + } else if ( g_flFadeAlpha < 0.0f ) { + g_flFadeAlpha = 0.0f; + } + + if ( g_flFadeAlpha <= 0 ) { + g_iFadeActive = FALSE; + return; + } + + if ( g_flFadeStyle & EVF_MODULATE ) { + drawpic( [x, y], "fade_modulate", [w, h], g_vecFadeColor, g_flFadeAlpha, 0 ); + } else { + drawfill( [x, y], [w, h], g_vecFadeColor, g_flFadeAlpha, 0 ); + } + + g_flFadeTime += frametime; +} + +void Fade_Parse ( void ) +{ + g_vecFadeColor[0] = readbyte() / 255; + g_vecFadeColor[1] = readbyte() / 255; + g_vecFadeColor[2] = readbyte() / 255; + g_flFadeMaxAlpha = readbyte() / 255; + g_flFadeDuration = readfloat(); + g_flFadeHold = readfloat(); + g_flFadeStyle = readbyte(); + g_flFadeTime = 0.0f; + + if ( g_flFadeStyle & EVF_FADEDROM ) { + g_flFadeAlpha = 1.0f; + } else { + g_flFadeAlpha = 0.0f; + } + + g_iFadeActive = TRUE; +} diff --git a/Source/gs-entbase/server/README b/Source/gs-entbase/server/README new file mode 100644 index 00000000..81dc8682 --- /dev/null +++ b/Source/gs-entbase/server/README @@ -0,0 +1,29 @@ +HALF-LIFE ENTITY BASE - QUAKEC VERSION +====================================== + +This server-side logic is part of the FreeCS project. +It's a reverse-engineering effort to get Half-Life entities closely +compatible with FTE QuakeWorld. + +They are made possible through the documentation efforts of https://twhl.info + +It's created from scratch and is not C++ - it's QuakeC and meant to be used +within FTE QuakeWorld. The file extensions are only changed in order to help +with the syntax highlighting choice of your favorite editor. + +This codebase is to be compiled with FTEQCC, no other compiler is supported. + +The code has a LICENSE attached to it, I'd encourage you to read it. +If you don't want to comply with the LICENSE, you either don't use the software +or we could still negotiate a separate license agreement (for $$$). + +A few warnings to the uneducated: +If you're planning on merging or using any of this code in combination with the +original Half-Life SDK, you're violating the Half-Life SDK License Agreement. + +I hope this all does not discourage you from using it for your own project. + +Thanks to Spike for FTEQCC's advanced features and his engine, FTEQW, that makes +FreeCS and other projects even possible. + +Marco 'eukara' Hladik diff --git a/Source/gs-entbase/server/ambient_generic.cpp b/Source/gs-entbase/server/ambient_generic.cpp new file mode 100644 index 00000000..20746a22 --- /dev/null +++ b/Source/gs-entbase/server/ambient_generic.cpp @@ -0,0 +1,132 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags +{ + AS_ARADIUS, + AS_SRADIUS, + AS_MRADIUS, + AS_LRADIUS, + AS_SILENT, + AS_NOTTOGGLED +}; + +class CAmbientGeneric : CBaseTrigger { + string m_strActivePath; + string m_strSoundPath; + float m_flVolume; + float m_flRadius; + int m_iToggleSwitch; + float m_flPitch; + int m_iLoop; + +/* int m_iPreset; + float m_flVolume_Start; + float m_flFadeIn; + float m_flFadeOut;*/ // TODO: Do this in CSQC + void() CAmbientGeneric; +}; + +static float CAmbientGeneric::Network(entity ePEnt, float fChanged) +{ + WriteByte( MSG_ENTITY, ENT_AMBIENTSOUND ); + WriteCoord( MSG_ENTITY, origin[0] ); + WriteCoord( MSG_ENTITY, origin[1] ); + WriteCoord( MSG_ENTITY, origin[2] ); + WriteString( MSG_ENTITY, m_strActivePath ); + WriteFloat( MSG_ENTITY, m_flVolume ); + WriteByte( MSG_ENTITY, m_flRadius ); + WriteByte( MSG_ENTITY, m_iLoop ); + WriteByte( MSG_ENTITY, 0 ); + return TRUE; +} +void CAmbientGeneric::UseNormal( void ) +{ + sound(this, CHAN_VOICE, m_strActivePath, m_flVolume, m_flRadius, m_flPitch); +} +void CAmbientGeneric::UseLoop( void ) +{ + if ( m_iToggleSwitch == TRUE ) { + m_strActivePath = "common/null.wav"; + SendFlags = 128; + m_iToggleSwitch = FALSE; + } else { + m_strActivePath = m_strSoundPath; + SendFlags = 128; + m_iToggleSwitch = TRUE; + } +} + +void CAmbientGeneric::CAmbientGeneric ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "message": + m_strSoundPath = argv( i + 1 ); + m_strActivePath = m_strSoundPath; + message = __NULL__; + break; + case "health": + m_flVolume = stof( argv( i + 1 ) ) * 0.1f; + health = __NULL__; + break; + case "volume": + m_flVolume = stof( argv( i + 1 ) ); + //volume = __NULL__; + break; + case "pitch": + m_flPitch = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + if ( !m_strSoundPath ) { + objerror( "CAmbientGeneric: No sound file specified. Aborting." ); + } + + precache_sound( m_strSoundPath ); + + if ( !m_flVolume ) { + m_flVolume = 1.0f; + } + + // There can be only one + if ( spawnflags & AS_ARADIUS ) { + m_flRadius = ATTN_NONE; + } else if ( spawnflags & AS_SRADIUS ) { + m_flRadius = ATTN_IDLE; + } else if ( spawnflags & AS_MRADIUS ) { + m_flRadius = ATTN_STATIC; + } else if ( spawnflags & AS_LRADIUS ) { + m_flRadius = ATTN_NORM; + } else { + m_flRadius = ATTN_STATIC; + } + + if ( spawnflags & AS_NOTTOGGLED ) { + m_iLoop = FALSE; + } else { + m_iLoop = TRUE; + } + + if( spawnflags & AS_SILENT ) { + Trigger = UseNormal; + } else { + pvsflags = PVSF_NOREMOVE | PVSF_IGNOREPVS; + Trigger = UseLoop; + SendEntity = Network; + m_iToggleSwitch = FALSE; + } + + CBaseTrigger::CBaseTrigger(); +} + +CLASSEXPORT( ambient_generic, CAmbientGeneric ) + diff --git a/Source/gs-entbase/server/baseentity.cpp b/Source/gs-entbase/server/baseentity.cpp new file mode 100644 index 00000000..684f7e73 --- /dev/null +++ b/Source/gs-entbase/server/baseentity.cpp @@ -0,0 +1,98 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enum +{ + RM_NORMAL, + RM_COLOR, + RM_TEXTURE, + RM_GLOW, + RM_SOLID, + RM_ADDITIVE +}; + +class CBaseEntity +{ + string m_oldModel; + float m_oldSolid; + float m_oldHealth; + vector m_oldOrigin; + vector m_oldAngle; + + float m_rendermode; + float m_renderamt; + vector m_rendercolor; + + void() CBaseEntity; + virtual void() Respawn; + virtual void() Hide; + virtual void() RendermodeUpdate; +}; + +void CBaseEntity :: CBaseEntity ( void ) +{ + gflags |= GF_CANRESPAWN; + m_oldModel = model; + m_oldSolid = solid; + m_oldHealth = health; + m_oldOrigin = origin; + m_oldAngle = angles; + + int nfields = tokenize( __fullspawndata ); + for ( int i = 1; i < ( nfields - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "renderamt": + m_renderamt = stof( argv( i + 1 ) ); + break; + case "rendercolor": + m_rendercolor = stov( argv( i + 1 ) ); + break; + case "rendermode": + m_rendermode = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + RendermodeUpdate(); +} + +void CBaseEntity::RendermodeUpdate(void) +{ + if ( m_rendermode != RM_NORMAL ) { + alpha = ( m_renderamt / 255 ); + colormod = m_rendercolor; + if( alpha == 0 ) { + alpha = 0.0001; + } + if ( m_rendermode == RM_ADDITIVE ) { + effects = EF_ADDITIVE; // QWSSQC: EF_FLAG2 + } else if ( m_rendermode == RM_GLOW ) { + effects = EF_ADDITIVE | EF_FULLBRIGHT; + } + } +} + +void CBaseEntity :: Respawn ( void ) +{ + model = m_oldModel; + solid = m_oldSolid; + health = m_oldHealth; + origin = m_oldOrigin; + angles = m_oldAngle; + setorigin( this, origin ); + setmodel( this, model ); +} + +void CBaseEntity :: Hide ( void ) +{ + setmodel( this, "" ); + solid = SOLID_NOT; + movetype = MOVETYPE_NONE; +} diff --git a/Source/gs-entbase/server/basetrigger.cpp b/Source/gs-entbase/server/basetrigger.cpp new file mode 100644 index 00000000..3068fd25 --- /dev/null +++ b/Source/gs-entbase/server/basetrigger.cpp @@ -0,0 +1,122 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enum { + USE_TOGGLE, + USE_CONTINOUS +}; + +class CBaseTrigger : CBaseEntity +{ + int m_strGlobalState; + string m_strTarget; + string m_strTargetName; + string m_strKillTarget; + string m_strMessage; + int m_iUseType; + void() CBaseTrigger; + virtual void() Trigger; + virtual void() UseTargets; + virtual int() GetValue; + virtual void( float del ) UseTargets_Delay; + virtual void() InitBrushTrigger; + virtual void() InitPointTrigger; +}; + +void CBaseTrigger :: UseTargets ( void ) +{ + for ( entity eFind = world; ( eFind = find( eFind, CBaseTrigger::m_strTargetName, m_strTarget ) ); ) { + CBaseTrigger trigger = (CBaseTrigger) eFind; +#ifdef GS_DEVELOPER + print( sprintf( "%s: Triggering %s `%s`\n", + this.classname, eFind.classname, trigger.m_strTargetName ) ); +#endif + trigger.Trigger(); + } + + if ( m_strKillTarget ) { + entity eKill = find( world, CBaseTrigger::m_strTargetName, m_strKillTarget ); + if ( eKill ) { + remove( eKill ); + } + } +} + +int CBaseTrigger :: GetValue ( void ) +{ + return TRUE; +} + +void CBaseTrigger :: UseTargets_Delay ( float fDelay ) +{ + static void Entities_UseTargets_Delay_Think( void ) { + CBaseTrigger::UseTargets(); + remove( self ); + } + +#ifdef GS_DEVELOPER + print( sprintf( "CBaseTrigger: Delaying trigger of `%s`\n", m_strTarget ) ); +#endif + + CBaseTrigger eTimer = spawn( CBaseTrigger ); + eTimer.owner = self; + eTimer.think = Entities_UseTargets_Delay_Think; + eTimer.m_strTarget = m_strTarget; + eTimer.nextthink = time + fDelay; +} + +void CBaseTrigger :: Trigger ( void ) +{ + +} + +void CBaseTrigger :: InitPointTrigger ( void ) +{ + setsize( this, VEC_HULL_MIN, VEC_HULL_MAX ); + solid = SOLID_TRIGGER; +} + +void CBaseTrigger :: InitBrushTrigger ( void ) +{ + precache_model( model ); + setmodel( this, model ); + movetype = MOVETYPE_NONE; +#ifdef GS_DEVELOPER + alpha = 0.5f; + effects = EF_ADDITIVE; +#else + modelindex = 0; + model = ""; +#endif + solid = SOLID_TRIGGER; +} + +void CBaseTrigger :: CBaseTrigger ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "target": + m_strTarget = argv( i + 1 ); + target = __NULL__; + break; + case "targetname": + m_strTargetName = argv( i + 1 ); + targetname = __NULL__; + break; + case "killtarget": + m_strKillTarget = argv( i + 1 ); + break; + case "message": + m_strMessage = argv( i + 1); + break; + default: + break; + } + } + CBaseEntity::CBaseEntity(); +} diff --git a/Source/gs-entbase/server/cycler.cpp b/Source/gs-entbase/server/cycler.cpp new file mode 100644 index 00000000..3092f593 --- /dev/null +++ b/Source/gs-entbase/server/cycler.cpp @@ -0,0 +1,41 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// TODO: Complete this once damage is done + +/* + * cycler - Point Entity +The cycler entity is a model viewer of sorts. It places a model within the map which, when attacked, will cycle its animation. +Attributes +Name (targetname) - Name is a general attribute used to identify entities. +Pitch Yaw Roll (Y Z X) (angles) - Sets the pitch, yaw and roll angles of the model. +Animation Sequence (editor) (sequence) - Sets the animation the model should start in. Setting this to anything other than 0 seems to place the cycler into its triggered mode (see notes). +Model (model) - This defines which model file will be displayed by the entity. This accepts an input of the form "path/filename.mdl" (starting from the root folder). (Example: "models/scientist.mdl"). +Render FX (renderfx) - Gives the model certain visual effects depending on Render Mode. +Render Mode (rendermode) - Allows special rendering modes to be applied to the given entity. +FX Amount (1 - 255) (renderamt) - In all but "Normal" Render Mode, alters how transparent the model is. Scales from 0 (invisible) to 255 (solid, normal). +FX Color (R G B) (rendercolour) - Seemingly unused. +Notes + Triggering or pressing use on the cycler will freeze the model in its current animation. In this state, shooting the cycler will have it step through frames of the animation it was in. Triggering it or using it again will return it to its normal function. + Given the way this entity behaves, there is little practical use for this entity beyond viewing animations (for which there are programs that are far more convenient). +*/ + +class CCycler : CBaseEntity +{ + void() CCycler; +}; + +void CCycler :: CCycler ( void ) +{ + precache_model( model ); + CBaseEntity::CBaseEntity(); + setmodel( this, model ); + solid = SOLID_BBOX; +} + + diff --git a/Source/gs-entbase/server/defs.h b/Source/gs-entbase/server/defs.h new file mode 100644 index 00000000..8952ae12 --- /dev/null +++ b/Source/gs-entbase/server/defs.h @@ -0,0 +1,30 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define GS_DEVELOPER + +.float gflags; + +enumflags +{ + GF_USABLE, + GF_CANRESPAWN, + GF_CANBLEED, + GF_USE_RELEASED, + GF_BUFF_BLEED, + GF_BUFF_COMPUSURE, + GF_BUFF_WILLPOWER, + GF_CARRIES_FLAG, + GF_IN_VEHICLE, + GF_IS_HEALING, + GF_FROZEN, + GF_TORCH, + GF_SEMI_TOGGLED, + GF_BLOCKING, + GF_BOT_POI +}; diff --git a/Source/gs-entbase/server/env_beam.cpp b/Source/gs-entbase/server/env_beam.cpp new file mode 100644 index 00000000..14f18965 --- /dev/null +++ b/Source/gs-entbase/server/env_beam.cpp @@ -0,0 +1,18 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CEnvBeam { + void() CEnvBeam; +}; + +void CEnvBeam :: CEnvBeam ( void ) +{ + +} + +CLASSEXPORT( env_beam, CEnvBeam ) diff --git a/Source/gs-entbase/server/env_beverage.cpp b/Source/gs-entbase/server/env_beverage.cpp new file mode 100644 index 00000000..3eb72649 --- /dev/null +++ b/Source/gs-entbase/server/env_beverage.cpp @@ -0,0 +1,72 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// Dependency from item_food.cpp +void item_sodacan( void ); + +// TODO: Implement support for skins +enum +{ + SKIN_COCACOLA, + SKIN_SPRITE, + SKIN_DIETCOKE, + SKIN_ORANGE, + SKIN_SURGE, + SKIN_MOXIE, + SKIN_RANDOM +}; + +class CEnvBeverage : CBaseTrigger +{ + int m_iUses; + int m_iReady; + int m_iSkin; + void() CEnvBeverage; + virtual void() Trigger; +}; + +void CEnvBeverage :: Trigger ( void ) +{ + if ( m_iReady == FALSE || m_iUses <= 0 ) { + return; + } + + entity eCan = spawn(); + setorigin( eCan, origin ); + eCan.angles = angles; + eCan.owner = this; + eCan.think = item_sodacan; + eCan.nextthink = time; + + m_iUses--; + m_iReady = FALSE; +} + +void CEnvBeverage :: CEnvBeverage ( void ) +{ + precache_model( "models/can.mdl" ); + precache_sound( "weapons/g_bounce3.wav" ); + CBaseTrigger::CBaseTrigger(); + + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "health": + m_iUses = stoi( argv( i + 1 ) ); + break; + default: + break; + } + } + + if ( !m_iUses ) { + m_iUses = 10; + } + m_iReady = TRUE; +} + +CLASSEXPORT( env_beverage, CEnvBeverage ) diff --git a/Source/gs-entbase/server/env_explosion.cpp b/Source/gs-entbase/server/env_explosion.cpp new file mode 100644 index 00000000..8912e5cb --- /dev/null +++ b/Source/gs-entbase/server/env_explosion.cpp @@ -0,0 +1,54 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags { + ENVEXPLO_NODAMAGE, + ENVEXPLO_REPEATABLE, + ENVEXPLO_NOBALL, + ENVEXPLO_NOSMOKE, + ENVEXPLO_NODECAL, + ENVEXPLO_NOSPARKS +}; + +class CEnvExplosion:CBaseTrigger +{ + int m_iMagnitude; + float m_flMaxDelay; + + void() CEnvExplosion; + virtual void() Trigger; +}; + +void CEnvExplosion::CEnvExplosion(void) +{ + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { + case "iMagnitude": + m_iMagnitude = stoi(argv(i + 1)); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); +} + +void CEnvExplosion::Trigger(void) +{ + Effect_CreateExplosion(origin); + + if (!(spawnflags & ENVEXPLO_NODAMAGE)) { + Damage_Radius(origin, this, 500, m_iMagnitude, TRUE); + } + // TODO: Respawn after round instead? + if (!(spawnflags & ENVEXPLO_REPEATABLE)) { + remove(this); + } +} + +CLASSEXPORT(env_explosion, CEnvExplosion) diff --git a/Source/gs-entbase/server/env_fade.cpp b/Source/gs-entbase/server/env_fade.cpp new file mode 100644 index 00000000..612075da --- /dev/null +++ b/Source/gs-entbase/server/env_fade.cpp @@ -0,0 +1,62 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags +{ + EVF_FADEDROM, + EVF_MODULATE, + EVF_ONLYUSER +}; + +class CEnvFade : CBaseTrigger +{ + float m_flFadeDuration; + float m_flFadeHold; + + void() CEnvFade; + virtual void() Trigger; +}; + +void CEnvFade :: Trigger (void) +{ + WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET); + WriteByte(MSG_MULTICAST, EV_FADE); + WriteByte(MSG_MULTICAST, m_rendercolor[0]); + WriteByte(MSG_MULTICAST, m_rendercolor[1]); + WriteByte(MSG_MULTICAST, m_rendercolor[2]); + WriteByte(MSG_MULTICAST, m_renderamt); + WriteFloat(MSG_MULTICAST, m_flFadeDuration); + WriteFloat(MSG_MULTICAST, m_flFadeHold); + WriteByte(MSG_MULTICAST, spawnflags); + msg_entity = eActivator; + + if (spawnflags & EVF_ONLYUSER) { + multicast('0 0 0', MULTICAST_ONE_R); + } else { + multicast('0 0 0', MULTICAST_ALL); + } +} + +void CEnvFade :: CEnvFade (void) +{ + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { + case "duration": + m_flFadeDuration = stof(argv(i + 1)); + break; + case "holdtime": + m_flFadeHold = stof(argv(i + 1)); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); +} + +CLASSEXPORT(env_fade, CEnvFade) diff --git a/Source/gs-entbase/server/env_global.cpp b/Source/gs-entbase/server/env_global.cpp new file mode 100644 index 00000000..7707d3cd --- /dev/null +++ b/Source/gs-entbase/server/env_global.cpp @@ -0,0 +1,127 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define GLOBAL_SETSPAWN 1 + +enum +{ + GLOBAL_OFF, + GLOBAL_ON, + GLOBAL_DEAD +}; + +const string CENVGLOBAL_CVAR = "env_global_data"; + +class CEnvGlobal : CBaseTrigger +{ + string m_strGlobalState; + int m_iTriggerMode; + int m_iInitialState; + + void() CEnvGlobal; + virtual void() Trigger; + + virtual int( string ) GlobalPresent; + virtual void( string, int ) AddNewGlobal; + virtual void( string, int ) SetGlobal; + virtual int( string ) GetGlobal; +}; + +void CEnvGlobal :: Trigger ( void ) { + int iOldValue = GetGlobal( m_strGlobalState ); + int iNewValue = 0; + + switch( m_iTriggerMode ) { + case 0: + iNewValue = GLOBAL_OFF; + break; + case 1: + iNewValue = GLOBAL_ON; + break; + case 2: + iNewValue = GLOBAL_DEAD; + break; + default: + if ( iOldValue == GLOBAL_ON ) { + iNewValue = GLOBAL_OFF; + } else if ( iOldValue == GLOBAL_OFF ) { + iNewValue = GLOBAL_ON; + } else { + iNewValue = iOldValue; + } + } + + if ( GlobalPresent( m_strGlobalState ) ) { + SetGlobal( m_strGlobalState, iNewValue ); + } else { + AddNewGlobal( m_strGlobalState, iNewValue ); + } +} + +int CEnvGlobal :: GlobalPresent ( string strName ) { + for ( int i = 1; i < ( tokenize( cvar_string( CENVGLOBAL_CVAR ) ) - 1 ); i += 2 ) { + if ( argv( i ) == strName ) { + return 1; + } + } + return 0; +} + +void CEnvGlobal :: AddNewGlobal ( string strName, int iValue ) { + cvar_set( CENVGLOBAL_CVAR, sprintf( "%s %s %i", cvar_string( CENVGLOBAL_CVAR ), strName, iValue ) ); +} + +void CEnvGlobal :: SetGlobal ( string strName, int iValue ) { + string strNewData = ""; + for ( int i = 1; i < ( tokenize( cvar_string( CENVGLOBAL_CVAR ) ) - 1 ); i += 2 ) { + if ( argv( i ) != strName ) { + strNewData = sprintf( "%s %s %s", strNewData, argv( i ), argv( i + 1 ) ); + } + } + cvar_set( CENVGLOBAL_CVAR, sprintf( "%s %s %i", strNewData, strName, iValue ) ); +} + +int CEnvGlobal :: GetGlobal ( string strName ) { + for ( int i = 1; i < ( tokenize( cvar_string( CENVGLOBAL_CVAR ) ) - 1 ); i += 2 ) { + if ( argv( i ) == strName ) { + return stoi( argv( i + 1 ) ); + } + } + return 0; +} + +void CEnvGlobal :: CEnvGlobal ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "globalstate": + m_strGlobalState = argv( i + 1 ); + break; + case "triggermode": + m_iTriggerMode = stoi( argv( i + 1 ) ); + break; + case "initialstate": + m_iInitialState = stoi( argv( i + 1 ) ); + break; + default: + break; + } + } + + if ( !m_strGlobalState ) { + objerror( "CEnvGlobal: No globalstate name given! Aborting\n" ); + } + + if ( spawnflags & GLOBAL_SETSPAWN ) { + if ( !GlobalPresent( m_strGlobalState ) ) { + AddNewGlobal( m_strGlobalState, m_iInitialState ); + } + } +} + +CLASSEXPORT( env_global, CEnvGlobal ) diff --git a/Source/gs-entbase/server/env_glow.cpp b/Source/gs-entbase/server/env_glow.cpp new file mode 100644 index 00000000..c89e40c3 --- /dev/null +++ b/Source/gs-entbase/server/env_glow.cpp @@ -0,0 +1,28 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +/* https://twhl.info/wiki/page/env_sprite_(Half-Life) */ + +enumflags { + ENVS_STARTON, + ENVS_PLAYONCE +}; + +class CEnvGlow : CBaseEntity +{ + void() CEnvGlow; +}; + +void CEnvGlow::CEnvGlow(void) +{ + CBaseEntity::CBaseEntity(); + precache_model(m_oldModel); + Respawn(); +} + +CLASSEXPORT(env_glow, CEnvGlow) diff --git a/Source/gs-entbase/server/env_render.cpp b/Source/gs-entbase/server/env_render.cpp new file mode 100644 index 00000000..a72e8888 --- /dev/null +++ b/Source/gs-entbase/server/env_render.cpp @@ -0,0 +1,39 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags { + SF_NORENDERFX, + SF_NORENDERAMT, + SF_NORENDERMODE, + SF_NORENDERCOLOR +}; + +class CEnvRender:CBaseTrigger +{ + virtual void() Trigger; +}; + +void CEnvRender::Trigger(void) +{ + for (entity eFind = world; + (eFind = find(eFind, CBaseTrigger::m_strTargetName, m_strTarget));) { + CBaseEntity trigger = (CBaseEntity) eFind; + if (!(spawnflags & SF_NORENDERMODE)) { + trigger.m_rendermode = m_rendermode; + } + if (!(spawnflags & SF_NORENDERCOLOR)) { + trigger.m_rendercolor = m_rendercolor; + } + if (!(spawnflags & SF_NORENDERAMT)) { + trigger.m_renderamt = m_renderamt; + } + trigger.RendermodeUpdate(); + } +} + +CLASSEXPORT(env_render, CEnvRender) diff --git a/Source/gs-entbase/server/env_shake.cpp b/Source/gs-entbase/server/env_shake.cpp new file mode 100644 index 00000000..40412e3f --- /dev/null +++ b/Source/gs-entbase/server/env_shake.cpp @@ -0,0 +1,59 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define EVS_GLOBAL 1 + +class CEnvShake : CBaseTrigger +{ + float m_flRadius; + float m_flAmplitude; + float m_flDuration; + float m_flFrequency; + + void() CEnvShake; + virtual void() Trigger; +}; + +void CEnvShake :: Trigger (void) +{ + for (entity eClients = world; (eClients = find(eClients, ::classname, "Player"));) { + WriteByte(MSG_MULTICAST, SVC_CGAMEPACKET); + WriteByte(MSG_MULTICAST, EV_SHAKE); + WriteFloat(MSG_MULTICAST, m_flRadius); + WriteFloat(MSG_MULTICAST, m_flAmplitude); + WriteFloat(MSG_MULTICAST, m_flDuration); + WriteFloat(MSG_MULTICAST, m_flFrequency); + msg_entity = eClients; + multicast('0 0 0', MULTICAST_ONE_R); + } +} + +void CEnvShake :: CEnvShake (void) +{ + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { + case "radius": + m_flRadius = stof(argv(i + 1)); + break; + case "amplitude": + m_flAmplitude = stof(argv(i + 1)); + break; + case "duration": + m_flDuration = stof(argv(i + 1)); + break; + case "frequency": + m_flFrequency = stof(argv(i + 1)); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); +} + +CLASSEXPORT(env_shake, CEnvShake) diff --git a/Source/gs-entbase/server/env_shooter.cpp b/Source/gs-entbase/server/env_shooter.cpp new file mode 100644 index 00000000..42d1a6ad --- /dev/null +++ b/Source/gs-entbase/server/env_shooter.cpp @@ -0,0 +1,77 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CEnvShooter : CBaseTrigger +{ + float m_iGibs; + float m_flDelay; + float m_flVelocity; + float m_flVariance; + float m_flGibLife; + string m_strShootModel; + float m_flShootSounds; + float m_flScale; + float m_flSkin; +}; + +void CEnvShooter :: Trigger ( void ) +{ + static void Gib_Remove ( void ) { remove( self ); } + for ( int i = 0; i < m_iGibs; i++ ) { + entity eGib = spawn(); + eGib.movetype = MOVETYPE_BOUNCE; + setmodel( eGib, m_strShootModel ); + + makevectors( angles ); + eGib.velocity = v_forward * m_flVelocity; + eGib.think = Gib_Remove; + eGib.nextthink = m_flGibLife; + } +} + +void CEnvShooter :: CEnvShooter ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "m_iGibs": + m_iGibs = stoi( argv( i + 1 ) ); + break; + case "m_flDelay": + m_flDelay = stof( argv( i + 1 ) ); + break; + case "m_flVelocity": + m_flVelocity = stof( argv( i + 1 ) ); + break; + case "m_flVariance": + m_flVariance = stof( argv( i + 1 ) ); + break; + case "m_flGibLife": + m_flGibLife = stof( argv( i + 1 ) ); + break; + case "shootmodel": + m_strShootModel = argv( i + 1 ); + break; + case "shootsounds": + m_flShootSounds = stof( argv( i + 1 ) ); + break; + case "scale": + m_flScale = stof( argv( i + 1 ) ); + break; + case "skin": + m_flSkin = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + precache_model( m_strShootModel ); + CBaseTrigger::CBaseTrigger(); +} + +CLASSEXPORT( env_shooter, CEnvShooter ) diff --git a/Source/gs-entbase/server/env_spark.cpp b/Source/gs-entbase/server/env_spark.cpp new file mode 100644 index 00000000..987e1706 --- /dev/null +++ b/Source/gs-entbase/server/env_spark.cpp @@ -0,0 +1,98 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags { + EVSPARK_UNUSED1, + EVSPARK_UNUSED2, + EVSPARK_UNUSED3, + EVSPARK_UNUSED4, + EVSPARK_UNUSED5, + EVSPARK_TOGGLE, + EVSPARK_STARTON +}; + +string spark_snd[] = { + "buttons/spark1.wav", + "buttons/spark2.wav", + "buttons/spark3.wav", + "buttons/spark4.wav", + "buttons/spark5.wav", + "buttons/spark6.wav" +}; + +class CEnvSpark:CBaseTrigger +{ + float m_flMaxDelay; + + void() CEnvSpark; + virtual void() CreateSpark; + virtual void() TimedSpark; + virtual void() Trigger; + virtual void() Respawn; +}; + +void CEnvSpark::CEnvSpark(void) +{ + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { + case "MaxDelay": + m_flMaxDelay = stof(argv(i + 1)); + break; + default: + break; + } + } + for (int i = 0; i < spark_snd.length; i++) { + precache_sound(spark_snd[i]); + } + CBaseTrigger::CBaseTrigger(); + Respawn(); +} + +void CEnvSpark::CreateSpark(void) +{ + int r = floor((random() * 6)); + sound(this, CHAN_AUTO, spark_snd[r], 1.0f, ATTN_IDLE); +} + +void CEnvSpark::TimedSpark(void) +{ + CreateSpark(); + nextthink = time + (random() * m_flMaxDelay); +} + +void CEnvSpark::Trigger(void) +{ + if (spawnflags & EVSPARK_TOGGLE) { + if (think != __NULL__) { + think = __NULL__; + nextthink = 0; + } else { + think = TimedSpark; + nextthink = time + (random() * m_flMaxDelay); + } + } else { + CreateSpark(); + } +} + +void CEnvSpark::Respawn(void) +{ + if (m_flMaxDelay <= 0) { + m_flMaxDelay = 1.0f; + } + + if (spawnflags & EVSPARK_TOGGLE) { + if (spawnflags & EVSPARK_STARTON) { + think = TimedSpark; + nextthink = time + (random() * m_flMaxDelay); + } + } +} + +CLASSEXPORT(env_spark, CEnvSpark) diff --git a/Source/gs-entbase/server/env_sprite.cpp b/Source/gs-entbase/server/env_sprite.cpp new file mode 100644 index 00000000..57df42fc --- /dev/null +++ b/Source/gs-entbase/server/env_sprite.cpp @@ -0,0 +1,41 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +/* https://twhl.info/wiki/page/env_sprite_(Half-Life) */ + +enumflags { + ENVS_STARTON, + ENVS_PLAYONCE +}; + +class CEnvSprite : CBaseTrigger +{ + void() CEnvSprite; + virtual void() Trigger; +}; + +void CEnvSprite::Trigger(void) +{ + Respawn(); + if (spawnflags & ENVS_PLAYONCE) { + + } +} + +void CEnvSprite::CEnvSprite(void) +{ + CBaseTrigger::CBaseTrigger(); + precache_model(m_oldModel); + Respawn(); + + if (!(spawnflags & ENVS_STARTON)) { + Hide(); + } +} + +CLASSEXPORT(env_sprite, CEnvSprite) diff --git a/Source/gs-entbase/server/func_breakable.cpp b/Source/gs-entbase/server/func_breakable.cpp new file mode 100755 index 00000000..bd215744 --- /dev/null +++ b/Source/gs-entbase/server/func_breakable.cpp @@ -0,0 +1,123 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +/* + Flags + Only Trigger (1) - Entity can only be activated (broken) by being triggered. + Touch (2) - Brush will break on touch. + Pressure (4) - Brush will break when pressured (e.g. player walking on it). +*/ + +enumflags +{ + SF_TRIGGER, + SF_TOUCH, + SF_PRESSURE +}; + +class CFuncBreakable : CBaseTrigger +{ + float m_iMaterial; + virtual void() Trigger; + virtual void() touch; + virtual void( entity eAttacker, int iType, int iDamage ) vPain; + virtual void( entity eAttacker, int iType, int iDamage ) vDeath; +}; + +void CFuncBreakable :: Respawn ( void ) +{ + if ( spawnflags & SF_TRIGGER ) { + takedamage = DAMAGE_NO; + } else { + takedamage = DAMAGE_YES; + } +} + +void CFuncBreakable :: vPain ( entity attacker, int type, int damage ) +{ + if (serverkeyfloat("*bspversion") != 30) { + return; + } + switch ( m_iMaterial ) { + case MATERIAL_GLASS: + case MATERIAL_COMPUTER: + case MATERIAL_GLASS_UNBREAKABLE: + sound( self, CHAN_VOICE, sprintf( "debris/glass%d.wav", random( 1, 4 ) ), 1.0, ATTN_NORM ); + break; + case MATERIAL_WOOD: + sound( self, CHAN_VOICE, sprintf( "debris/wood%d.wav", random( 1, 4 ) ), 1.0, ATTN_NORM ); + break; + case MATERIAL_METAL: + sound( self, CHAN_VOICE, sprintf( "debris/metal%d.wav", random( 1, 4 ) ), 1.0, ATTN_NORM ); + break; + case MATERIAL_FLESH: + float fRand = floor( random( 1, 8 ) ); + if ( fRand == 4 ) { // sigh + fRand = 5; + } + sound( self, CHAN_VOICE, sprintf( "debris/flesh%d.wav", fRand ), 1.0, ATTN_NORM ); + break; + case MATERIAL_CINDER: + case MATERIAL_ROCK: + sound( self, CHAN_VOICE, sprintf( "debris/concrete%d.wav", random( 1, 4 ) ), 1.0, ATTN_NORM ); + break; + } +} + +void CFuncBreakable :: vDeath ( entity attacker, int type, int damage ) +{ + health = 0; + Effect_BreakModel( absmin, absmax, '0 0 0', m_iMaterial ); + CBaseTrigger::UseTargets(); + CBaseEntity::Hide(); +} + +void CFuncBreakable :: Trigger ( void ) +{ + CFuncBreakable::vDeath( world, 0, 0 ); +} + +void CFuncBreakable :: touch ( void ) +{ + if ( other.classname == classname ) { + return; + } + + if ( m_iMaterial == MATERIAL_GLASS ) { + if (vlen(other.velocity) > 200) { + vDeath( other, 0, 1 ); + } + } +} + +void CFuncBreakable :: CFuncBreakable( void ) +{ + precache_model( model ); + angles = [0,0,0]; + movetype = MOVETYPE_NONE; + solid = SOLID_BSP; + setmodel( this, model ); + CBaseEntity::CBaseEntity(); + CFuncBreakable::Respawn(); + + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "material": + m_iMaterial = stoi( argv( i + 1 ) ); + break; + default: + break; + } + } + + if ( !health ) { + health = 15; + } +} + +CLASSEXPORT( func_breakable, CFuncBreakable ) diff --git a/Source/gs-entbase/server/func_button.cpp b/Source/gs-entbase/server/func_button.cpp new file mode 100644 index 00000000..ebf8a2fd --- /dev/null +++ b/Source/gs-entbase/server/func_button.cpp @@ -0,0 +1,368 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define SF_BTT_NOMOVE 1 +#define SF_BTT_TOGGLE 32 +#define SF_BTT_SPARKS 64 +#define SF_BTT_TOUCH_ONLY 256 + +enum +{ + STATE_RAISED, + STATE_LOWERED, + STATE_UP, + STATE_DOWN +}; + +enum +{ + FRAME_OFF, + FRAME_ON +}; + +class CButton : CBaseTrigger +{ + float m_flSpeed; + float m_flLip; + int m_iDamage; + int m_iState; + vector m_vecPos1; + vector m_vecPos2; + int m_iSounds; + float m_flNextTrigger; + vector m_vecDest; + string m_strNoise; + float m_flWait; + float m_flDelay; + virtual void() m_pMove = 0; + + virtual void() Precache; + virtual void() Arrived; + virtual void() Returned; + virtual void() MoveBack; + virtual void() MoveAway; + virtual void() Touch; + virtual void() Blocked; + virtual void() Trigger; + virtual void() PlayerUse; + + virtual void() SetMovementDirection; + virtual void(vector vdest, void() func) MoveToDestination; + virtual void() MoveToDestination_End; +}; + +void CButton :: Precache( void ) +{ + precache_model( model ); + switch( m_iSounds ) { + case 0: + m_strNoise = "common/null.wav"; + break; + case 1: + m_strNoise = "buttons/button1.wav"; + break; + case 2: + m_strNoise = "buttons/button2.wav"; + break; + case 3: + m_strNoise = "buttons/button3.wav"; + break; + case 4: + m_strNoise = "buttons/button4.wav"; + break; + case 5: + m_strNoise = "buttons/button5.wav"; + break; + case 6: + m_strNoise = "buttons/button6.wav"; + break; + case 7: + m_strNoise = "buttons/button7.wav"; + break; + case 8: + m_strNoise = "buttons/button8.wav"; + break; + case 9: + m_strNoise = "buttons/button9.wav"; + break; + case 10: + m_strNoise = "buttons/button10.wav"; + break; + case 11: + m_strNoise = "buttons/button11.wav"; + break; + case 12: + m_strNoise = "buttons/latchlocked1.wav"; + break; + case 13: + m_strNoise = "buttons/latchunlocked1.wav"; + break; + case 14: + m_strNoise = "buttons/lightswitch2.wav"; + break; + case 21: + m_strNoise = "buttons/lever1.wav"; + break; + case 22: + m_strNoise = "buttons/lever2.wav"; + break; + case 23: + m_strNoise = "buttons/lever3.wav"; + break; + case 24: + m_strNoise = "buttons/lever4.wav"; + break; + case 25: + m_strNoise = "buttons/lever5.wav"; + break; + default: + m_strNoise = "buttons/button9.wav"; + } + + precache_sound( m_strNoise ); +} + +void CButton :: Arrived( void ) +{ + m_iState = STATE_RAISED; + + if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + touch = Touch; + } + if ( spawnflags & SF_BTT_TOGGLE ) { + return; + } + + if ( m_flWait != -1 ) { + think = MoveBack; + nextthink = ( ltime + m_flWait ); + } +} + +void CButton :: Returned( void ) +{ + if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + touch = Touch; + } + + m_iState = STATE_LOWERED; + frame = FRAME_OFF; +} + +void CButton :: MoveBack( void ) +{ + if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + touch = __NULL__; + } + + m_iState = STATE_DOWN; + + if ( m_vecPos2 != m_vecPos1 ) { + CButton::MoveToDestination ( m_vecPos1, Returned ); + } else { + CButton::Returned(); + } +} + +void CButton :: MoveAway( void ) +{ + if ( m_iState == STATE_UP ) { + return; + } + + if ( m_iState == STATE_RAISED ) { + nextthink = ( ltime + m_flWait ); + return; + } + + m_iState = STATE_UP; + + if ( m_vecPos2 != m_vecPos1 ) { + CButton::MoveToDestination( m_vecPos2, Arrived ); + } else { + CButton::Arrived(); + } + + frame = FRAME_ON; +} + +void CButton :: Trigger( void ) +{ + if ( m_flNextTrigger > time ) { + return; + } + + m_flNextTrigger = time + m_flWait; + + if ( ( m_iState == STATE_UP ) || ( m_iState == STATE_RAISED ) ){ + if ( m_flWait != -1 ) { + CButton::MoveBack(); + } + return; + } + + sound( this, CHAN_VOICE, m_strNoise, 1.0, ATTN_NORM ); + CButton::MoveAway(); + + if ( m_flDelay ) { +#ifdef GS_DEVELOPER + dprint( sprintf( "CButton: Delayed trigger of `%s`\n", m_strTarget ) ); +#endif + CBaseTrigger::UseTargets_Delay( m_flDelay ); + } else { +#ifdef GS_DEVELOPER + print( sprintf( "CButton: Normal trigger of `%s`\n", m_strTarget ) ); +#endif + CBaseTrigger::UseTargets(); + } +} + +void CButton :: Touch( void ) +{ + if ( other.movetype == MOVETYPE_WALK ) { + CButton::Trigger(); + + if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + touch = __NULL__; + } + } +} + +void CButton :: PlayerUse ( void ) +{ + Trigger(); +} + +void CButton :: Blocked( void ) +{ + if ( m_iDamage ) { + //Damage_Apply( other, this, dmg, other.origin, FALSE ); + } + + if ( m_flWait >= 0 ) { + if ( m_iState == STATE_DOWN ) { + CButton::MoveAway (); + } else { + CButton::MoveBack (); + } + } +} + +void CButton :: SetMovementDirection( void ) +{ + if ( angles == '0 -1 0' ) { + movedir = '0 0 1'; + } else if ( angles == '0 -2 0' ) { + movedir = '0 0 -1'; + } else { + makevectors( angles ); + movedir = v_forward; + } + + angles = '0 0 0'; +} + +void CButton :: MoveToDestination_End( void ) +{ + setorigin( this, m_vecDest ); + velocity = '0 0 0'; + nextthink = -1; + m_pMove(); +} + +void CButton :: MoveToDestination( vector vDestination, void() func ) +{ + vector vecDifference; + float flTravel, fTravelTime; + + if ( !m_flSpeed ) { + objerror( "No speed defined for moving entity! Will not divide by zero." ); + } + + m_pMove = func; + m_vecDest = vDestination; + think = MoveToDestination_End; + + if ( vDestination == origin ) { + velocity = '0 0 0'; + nextthink = ( ltime + 0.1 ); + return; + } + + vecDifference = ( vDestination - origin ); + flTravel = vlen( vecDifference ); + fTravelTime = ( flTravel / m_flSpeed ); + + if ( fTravelTime < 0.1 ) { + velocity = '0 0 0'; + nextthink = ltime + 0.1; + return; + } + + nextthink = ( ltime + fTravelTime ); + velocity = ( vecDifference * ( 1 / fTravelTime ) ); +} + +void CButton :: CButton( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "speed": + m_flSpeed = stof( argv( i + 1 ) ); + break; + case "lip": + m_flLip = stof( argv( i + 1 ) ); + break; + case "sounds": + m_iSounds = stoi( argv( i + 1 ) ); + break; + case "wait": + m_flWait = stof( argv( i + 1 ) ); + break; + case "delay": + m_flDelay = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + CButton::Precache(); + CButton::SetMovementDirection(); + CBaseTrigger::CBaseTrigger(); + + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + setorigin( this, origin ); + setmodel( this, model ); + blocked = Blocked; + + if ( !m_flSpeed ) { + m_flSpeed = 100; + } + + if ( spawnflags & SF_BTT_TOUCH_ONLY ) { + touch = Touch; + gflags -= gflags & GF_USABLE; + } else { + touch = __NULL__; + gflags |= GF_USABLE; + } + + m_vecPos1 = origin; + + if ( spawnflags & SF_BTT_NOMOVE ) { + m_vecPos2 = m_vecPos1; + } else { + m_vecPos2 = ( m_vecPos1 + movedir * ( fabs( movedir * size ) - m_flLip ) ); + } + + m_iState = STATE_LOWERED; +} + +CLASSEXPORT( func_button, CButton ) diff --git a/Source/gs-entbase/server/func_conveyor.cpp b/Source/gs-entbase/server/func_conveyor.cpp new file mode 100644 index 00000000..09a3a243 --- /dev/null +++ b/Source/gs-entbase/server/func_conveyor.cpp @@ -0,0 +1,88 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define SF_CONVEYOR_VISUAL 1 +#define SF_CONVEYOR_NOTSOLID 2 + +class CFuncConveyor : CFuncWall +{ + float m_flSpeed; + vector m_vecMoveDir; + void() CFuncConveyor; + virtual void() Trigger; + virtual void() touch; + virtual void() SetMovementDirection; + virtual void( float ) UpdateSpeed; +}; + +void CFuncConveyor :: SetMovementDirection ( void ) +{ + if ( angles == '0 -1 0' ) { + m_vecMoveDir = '0 0 1'; + } else if ( angles == '0 -2 0' ) { + m_vecMoveDir = '0 0 -1'; + } else { + makevectors( angles ); + m_vecMoveDir = v_forward; + } + + angles = '0 0 0'; +} + + +// HACKHACK -- This is ugly, but encode the speed in the rendercolor to avoid adding more data to the network stream +void CFuncConveyor :: UpdateSpeed( float flSpeed ) +{ + // Encode it as an integer with 4 fractional bits + /*int speedCode = (int)( fabs( flSpeed ) * 16.0f ); + + if ( flSpeed < 0 ) { + pev->rendercolor.x = 1; + } else { + pev->rendercolor.x = 0; + } + + pev->rendercolor.y = (speedCode >> 8); + pev->rendercolor.z = (speedCode & 0xFF);*/ +} + +void CFuncConveyor :: touch ( void ) +{ + //other.basevelocity = m_vecMoveDir * m_flSpeed; +} + + +void CFuncConveyor :: Trigger ( void ) +{ + m_flSpeed = -m_flSpeed; + UpdateSpeed( m_flSpeed ); +} + +void CFuncConveyor :: CFuncConveyor ( void ) +{ + SetMovementDirection(); + CFuncWall::CFuncWall(); + + if ( !( spawnflags & SF_CONVEYOR_VISUAL ) ) { + //SetBits( pev->flags, FL_CONVEYOR ); + } + + // HACKHACK - This is to allow for some special effects + if ( spawnflags & SF_CONVEYOR_NOTSOLID ) { + solid = SOLID_NOT; + skin = 0; + } + + if ( m_flSpeed == 0 ) { + m_flSpeed = 100; + } + + UpdateSpeed( m_flSpeed ); +} + +CLASSEXPORT( func_conveyor, CFuncConveyor ) diff --git a/Source/gs-entbase/server/func_door.cpp b/Source/gs-entbase/server/func_door.cpp new file mode 100644 index 00000000..e8054949 --- /dev/null +++ b/Source/gs-entbase/server/func_door.cpp @@ -0,0 +1,361 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// TODO: Finish these +#define SF_MOV_OPEN 1 +#define SF_MOV_UNLINK 4 +#define SF_MOV_PASSABLE 8 +#define SF_MOV_TOGGLE 32 +#define SF_MOV_USE 256 + +enum +{ + STATE_RAISED = 0, + STATE_LOWERED, + STATE_UP, + STATE_DOWN +}; + +class CFuncDoor : CBaseTrigger +{ + vector m_vecPos1; + vector m_vecPos2; + vector m_vecDest; + vector m_vecMoveDir; + float m_flSpeed; + float m_flLip; + float m_iState; + float m_flNextTrigger; + float m_flWait; + float m_flDelay; + int m_iMoveSnd; + int m_iStopSnd; + int m_iDamage; + int m_iLocked; + + void() CFuncDoor; + virtual void() SetMovementDirection; + virtual void(vector vdest, void() func) MoveToDestination; + virtual void() MoveToDestination_End; + virtual void() MoveAway; + virtual void() MoveBack; + virtual void() Precache; + virtual void() Arrived; + virtual void() Returned; + virtual void() Trigger; + virtual void() Blocked; + virtual void() Touch; + virtual void() PlayerUse; + virtual void() m_pMove = 0; +}; + +void CFuncDoor :: Precache ( void ) +{ + if( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { + precache_sound( sprintf( "doors/doormove%i.wav", m_iMoveSnd ) ); + } else { + precache_sound( "common/null.wav" ); + } + + if( m_iStopSnd > 0 && m_iStopSnd <= 8 ) { + precache_sound( sprintf( "doors/doorstop%i.wav", m_iStopSnd ) ); + } else { + precache_sound( "common/null.wav" ); + } +} + +void CFuncDoor :: PlayerUse ( void ) +{ + eActivator.gflags &= ~GF_USE_RELEASED; + Trigger(); +} + +void CFuncDoor :: Arrived ( void ) +{ + m_iState = STATE_RAISED; + + if( m_iStopSnd > 0 && m_iStopSnd <= 8 ) { + sound( self, CHAN_VOICE, sprintf( "doors/doorstop%i.wav", m_iStopSnd ), 1.0, ATTN_NORM ); + } else { + sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); + } + + if ( !( spawnflags & SF_MOV_USE ) ) { + touch = Touch; + } + if ( m_flWait < 0 ) { + return; + } + + if ( !( spawnflags & SF_MOV_TOGGLE ) ) { + think = MoveBack; + nextthink = ( ltime + m_flWait ); + } +} + +void CFuncDoor :: Returned ( void ) +{ + if( m_iStopSnd > 0 && m_iStopSnd <= 8 ) { + sound( self, CHAN_VOICE, sprintf( "doors/doorstop%i.wav", m_iStopSnd ), 1.0, ATTN_NORM ); + } else { + sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); + } + + if ( !( spawnflags & SF_MOV_USE ) ) { + touch = Touch; + } + + m_iState = STATE_LOWERED; +} + +void CFuncDoor :: MoveBack ( void ) +{ + if( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { + sound( self, CHAN_VOICE, sprintf( "doors/doormove%i.wav", m_iMoveSnd ), 1.0, ATTN_NORM ); + } else { + sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); + } + + if ( !( spawnflags & SF_MOV_USE ) ) { + touch = __NULL__; + } + + m_iState = STATE_DOWN; + MoveToDestination( m_vecPos1, Returned ); +} + +void CFuncDoor :: MoveAway ( void ) +{ + if ( m_iState == STATE_UP ) { + return; + } + + if( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { + sound( self, CHAN_VOICE, sprintf( "doors/doormove%i.wav", m_iMoveSnd ), 1.0, ATTN_NORM ); + } else { + sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); + } + + if ( !( spawnflags & SF_MOV_TOGGLE ) ) { + if ( m_iState == STATE_RAISED ) { + nextthink = ( ltime + m_flWait ); + return; + } + } + + m_iState = STATE_UP; + MoveToDestination( m_vecPos2, Arrived ); +} + +void CFuncDoor :: Trigger ( void ) +{ + if ( m_flNextTrigger > ltime ) { + if ( !( spawnflags & SF_MOV_TOGGLE ) ) { + return; + } + } + m_flNextTrigger = ltime + m_flWait; + + // Only trigger stuff when we are done moving + if ( ( m_iState == STATE_RAISED ) || ( m_iState == STATE_LOWERED ) ) { + if ( m_flDelay > 0 ) { +#ifdef GS_DEVELOPER + print( sprintf( "CFuncDoor: Delayed trigger of `%s`\n", m_strTarget ) ); +#endif + CBaseTrigger::UseTargets_Delay( m_flDelay ); + } else { +#ifdef GS_DEVELOPER + dprint( sprintf( "CFuncDoor: Normal trigger of `%s`\n", m_strTarget ) ); +#endif + CBaseTrigger::UseTargets(); + } + } + + if ( ( m_iState == STATE_UP ) || ( m_iState == STATE_RAISED ) ){ + MoveBack(); + return; + } + + MoveAway(); +} + +void CFuncDoor :: Touch ( void ) +{ + if ( spawnflags & SF_MOV_TOGGLE ) { + return; + } + + if ( m_iLocked ) { + return; + } + + if ( other.movetype == MOVETYPE_WALK ) { + if ( other.absmin[2] <= maxs[2] - 2 ) { + Trigger(); + } + } +} + +void CFuncDoor :: Blocked ( void ) +{ + if( m_iDamage ) { + //Damage_Apply( other, self, dmg, other.origin, FALSE ); + } + + if ( m_flWait >= 0 ) { + if ( m_iState == STATE_DOWN ) { + MoveAway (); + } else { + MoveBack (); + } + } +} + + +void CFuncDoor :: Respawn ( void ) +{ + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + setorigin( this, origin ); + setmodel( this, model ); + + blocked = Blocked; + //Use = Trigger; + + if ( m_flWait == -1 ) { + spawnflags |= SF_MOV_TOGGLE; + } + + if ( !m_flSpeed ) { + m_flSpeed = 100; + } + + if ( !m_iDamage ) { + m_iDamage = 2; + } + + if ( spawnflags & SF_MOV_USE ) { + touch = __NULL__; + gflags |= GF_USABLE; + } else { + touch = Touch; + gflags -= gflags & GF_USABLE; + } + + m_iState = STATE_LOWERED; + m_vecPos1 = origin; + m_vecPos2 = ( m_vecPos1 + m_vecMoveDir * ( fabs( m_vecMoveDir * size ) - m_flLip ) ); + + if ( spawnflags & SF_MOV_OPEN ) { + setorigin( this, m_vecPos2 ); + m_vecPos2 = m_vecPos1; + m_vecPos1 = origin; + } +} + +void CFuncDoor :: CFuncDoor ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "speed": + m_flSpeed = stof( argv( i + 1 ) ); + break; + case "lip": + m_flLip = stof( argv( i + 1 ) ); + break; + case "movesnd": + m_iMoveSnd = stoi( argv( i + 1 ) ); + break; + case "stopsnd": + m_iStopSnd = stoi( argv( i + 1 ) ); + break; + case "delay": + m_flDelay = stof( argv( i + 1 ) ); + break; + case "wait": + m_flWait = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + CFuncDoor::Precache(); + CFuncDoor::SetMovementDirection(); + CFuncDoor::Respawn(); + CBaseTrigger::CBaseTrigger(); + + if ( m_strTargetName ) { + m_iLocked = TRUE; + } +} + +void CFuncDoor :: SetMovementDirection ( void ) +{ + if ( angles == '0 -1 0' ) { + m_vecMoveDir = '0 0 1'; + } else if ( angles == '0 -2 0' ) { + m_vecMoveDir = '0 0 -1'; + } else { + makevectors( angles ); + m_vecMoveDir = v_forward; + } + + angles = '0 0 0'; +} + +void CFuncDoor :: MoveToDestination_End ( void ) +{ + setorigin( this, m_vecDest ); + velocity = '0 0 0'; + nextthink = -1; + m_pMove(); +} + +void CFuncDoor :: MoveToDestination ( vector vDestination, void() func ) +{ + vector vecDifference; + float flTravel, fTravelTime; + + if ( !m_flSpeed ) { + objerror( "No speed defined for moving entity! Will not divide by zero." ); + } + + m_pMove = func; + m_vecDest = vDestination; + think = MoveToDestination_End; + + if ( vDestination == origin ) { + velocity = '0 0 0'; + nextthink = ( ltime + 0.1 ); + return; + } + + vecDifference = ( vDestination - origin ); + flTravel = vlen( vecDifference ); + fTravelTime = ( flTravel / m_flSpeed ); + + if ( fTravelTime < 0.1 ) { + velocity = '0 0 0'; + nextthink = ltime + 0.1; + return; + } + + nextthink = ( ltime + fTravelTime ); + velocity = ( vecDifference * ( 1 / fTravelTime ) ); +} + +CLASSEXPORT( func_door, CFuncDoor ) + +void func_water ( void ) +{ + spawnfunc_CFuncDoor(); + self.classname = "CFuncWater"; + self.solid = SOLID_BSP; + self.skin = CONTENT_WATER; +} diff --git a/Source/gs-entbase/server/func_door_rotating.cpp b/Source/gs-entbase/server/func_door_rotating.cpp new file mode 100644 index 00000000..4ebbdcaa --- /dev/null +++ b/Source/gs-entbase/server/func_door_rotating.cpp @@ -0,0 +1,331 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define SF_ROT_YAXIS 0 +#define SF_ROT_OPEN 1 +#define SF_ROT_BACKWARDS 2 +#define SF_ROT_PASSABLE 8 +#define SF_ROT_ONEWAY 16 +#define SF_ROT_TOGGLE 32 +#define SF_ROT_ZAXIS 64 +#define SF_ROT_XAXIS 128 +#define SF_ROT_USE 256 +#define SF_DOOR_NOMONSTERS 512 +#define SF_DOOR_SILENT 0x80000000i + +class CDoorRotating : CBaseTrigger +{ + int m_iMoveSnd; + int m_iStopSnd; + int m_iDamage; + float m_flDistance; + float m_flSpeed; + float m_flLip; + float m_iState; + float m_flNextAction; + float m_flWait; + float m_flDelay; + vector m_vecDest; + vector m_vecPos1; + vector m_vecPos2; + vector m_vecMoveDir; + virtual void() m_pMove = 0; + + void() CDoorRotating; + virtual void() Precache; + virtual void() Arrived; + virtual void() Returned; + virtual void() RotateBack; + virtual void() RotateAway; + virtual void() Trigger; + virtual void() PlayerUse; + virtual void() Touch; + virtual void() Blocked; + virtual void() SetMovementDirection; + virtual void( vector angle, void() func ) RotateToDestination; + virtual void() RotateToDestination_End; +}; + +void CDoorRotating :: Precache ( void ) +{ + if ( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { + precache_sound( sprintf( "doors/doormove%i.wav", m_iMoveSnd ) ); + } else { + precache_sound( "common/null.wav" ); + } + + if ( m_iStopSnd > 0 && m_iStopSnd <= 8 ) { + precache_sound( sprintf( "doors/doorstop%i.wav", m_iStopSnd ) ); + } else { + precache_sound( "common/null.wav" ); + } +} + +void CDoorRotating :: Arrived ( void ) +{ + m_iState = STATE_RAISED; + + if ( m_iStopSnd > 0 && m_iStopSnd <= 8 ) { + sound( this, CHAN_VOICE, sprintf( "doors/doorstop%i.wav", m_iStopSnd ), 1.0, ATTN_NORM ); + } else { + sound( this, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); + } + + if ( !(spawnflags & SF_ROT_USE) ) { + touch = Touch; + } + if ( m_flWait < 0 ) { + return; + } + + think = RotateBack; + nextthink = ( ltime + m_flWait ); +} + +void CDoorRotating :: Returned ( void ) +{ + if ( !(spawnflags & SF_ROT_USE) ) { + touch = Touch; + } + + m_iState = STATE_LOWERED; +} + +void CDoorRotating :: RotateBack ( void ) +{ + if ( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { + sound( this, CHAN_VOICE, sprintf( "doors/doormove%i.wav", m_iMoveSnd ), 1.0, ATTN_NORM ); + } else { + sound( this, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); + } + + if ( !(spawnflags & SF_ROT_USE) ) { + touch = __NULL__; + } + + m_iState = STATE_DOWN; + RotateToDestination( m_vecPos1, Returned ); +} + +void CDoorRotating :: RotateAway ( void ) +{ + float fDirection = 1.0; + + if ( m_iState == STATE_UP ) { + return; + } + + if ( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { + sound( this, CHAN_VOICE, sprintf( "doors/doormove%i.wav", m_iMoveSnd ), 1.0, ATTN_NORM ); + } else { + sound( this, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); + } + + if ( m_iState == STATE_RAISED ) { + nextthink = ( ltime + m_flWait ); + return; + } + + m_iState = STATE_UP; + + if ( !( spawnflags & SF_ROT_ONEWAY ) ) { + vector vDifference = eActivator.origin - origin; + vector vAngles = eActivator.angles; + vAngles[0] = vAngles[2] = 0; + + makevectors( vAngles ); + vector vNext = ( eActivator.origin + ( v_forward * 10 ) ) - origin; + + if ( ( ( vDifference[0] * vNext[1] ) - ( vDifference[1] * vNext[0] ) ) < 0 ) { + fDirection = -1.0f; + } + } + RotateToDestination( m_vecPos2 * fDirection, Arrived ); +} + +void CDoorRotating :: Trigger ( void ) +{ + if ( m_flNextAction > time ) { + return; + } + m_flNextAction = time + m_flWait; + + if ( ( m_iState == STATE_UP ) || ( m_iState == STATE_RAISED ) ) { + RotateBack(); + return; + } + + RotateAway(); + + if ( m_flDelay ) { +#ifdef GS_DEVELOPER + print( sprintf( "CDoorRotating: Delayed trigger of `%s`\n", m_strTarget ) ); +#endif + CBaseTrigger::UseTargets_Delay( m_flDelay ); + } else { +#ifdef GS_DEVELOPER + print( sprintf( "CDoorRotating: Normal trigger of `%s`\n", m_strTarget ) ); +#endif + CBaseTrigger::UseTargets(); + } +} + +void CDoorRotating :: PlayerUse ( void ) +{ + eActivator.gflags &= ~GF_USE_RELEASED; + Trigger(); +} + +void CDoorRotating :: Touch ( void ) +{ + if ( spawnflags & SF_ROT_USE ) { + return; + } + + if ( other.movetype == MOVETYPE_WALK ) { + if ( other.absmin[2] <= maxs[2] - 2 ) { + eActivator = other; + Trigger(); + } + } + touch = __NULL__; +} + +void CDoorRotating :: Blocked ( void ) +{ + if ( m_iDamage ) { +// Damage_Apply( other, this, m_iDamage, other.origin, FALSE ); + } + + if ( m_flWait >= 0 ) { + if ( m_iState == STATE_DOWN ) { + RotateAway (); + } else { + RotateBack (); + } + } +} + +void CDoorRotating :: Respawn ( void ) +{ + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + setorigin( this, origin ); + setmodel( this, model ); + + blocked = Blocked; + use = Trigger; + + if ( spawnflags & SF_ROT_USE ) { + touch = __NULL__; + gflags |= GF_USABLE; + } else { + touch = Touch; + gflags -= gflags & GF_USABLE; + } + + if ( !m_flSpeed ) { + m_flSpeed = 100; + } + + m_iState = STATE_LOWERED; + m_vecPos1 = angles; + m_vecPos2 = angles + m_vecMoveDir * m_flDistance; + + if ( spawnflags & SF_ROT_OPEN ) { + vector vTemp = m_vecPos2; + m_vecPos2 = m_vecPos1; + m_vecPos1 = vTemp; + angles = m_vecPos1; + movedir = movedir * -1; + } +} + +void CDoorRotating :: SetMovementDirection ( void ) +{ + if ( spawnflags & SF_ROT_ZAXIS ) { + m_vecMoveDir = '0 0 1'; + } else if ( spawnflags & SF_ROT_XAXIS ) { + m_vecMoveDir = '1 0 0'; + } else { + m_vecMoveDir = '0 1 0'; + } +} + +void CDoorRotating :: RotateToDestination_End ( void ) +{ + angles = m_vecDest; + avelocity = '0 0 0'; + nextthink = -1; + m_pMove(); +} + +void CDoorRotating :: RotateToDestination ( vector vDestinationAngle, void() func ) +{ + vector vecAngleDifference; + float flTravelLength, flTravelTime; + + if ( !m_flSpeed ) { + objerror( "No speed defined for moving entity! Will not divide by zero." ); + } + vecAngleDifference = ( vDestinationAngle - angles ); + flTravelLength = vlen( vecAngleDifference ); + flTravelTime = ( flTravelLength / m_flSpeed ); + avelocity = ( vecAngleDifference * ( 1 / flTravelTime ) ); + m_vecDest = vDestinationAngle; + m_pMove = func; + think = RotateToDestination_End; + nextthink = ( ltime + flTravelTime ); +} + +void CDoorRotating :: CDoorRotating ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "speed": + m_flSpeed = stof( argv( i + 1 ) ); + break; + case "lip": + m_flLip = stof( argv( i + 1 ) ); + break; + case "movesnd": + m_iMoveSnd = stoi( argv( i + 1 ) ); + break; + case "stopsnd": + m_iStopSnd = stoi( argv( i + 1 ) ); + break; + case "distance": + m_flDistance = stof( argv( i + 1 ) ); + break; + case "delay": + m_flDelay = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + if ( !m_flSpeed ) { + m_flSpeed = 100; + } + if ( !m_flLip ) { + m_flLip = 90; + } + if ( !m_flDelay ) { + m_flDelay = 4; + } + if ( !m_flDistance ) { + m_flDistance = 90; + } + CDoorRotating::Precache(); + CBaseEntity::CBaseEntity(); + CDoorRotating::SetMovementDirection(); + CDoorRotating::Respawn(); +} + +CLASSEXPORT( func_door_rotating, CDoorRotating ) diff --git a/Source/gs-entbase/server/func_healthcharger.cpp b/Source/gs-entbase/server/func_healthcharger.cpp new file mode 100644 index 00000000..aadb1826 --- /dev/null +++ b/Source/gs-entbase/server/func_healthcharger.cpp @@ -0,0 +1,38 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CFuncHealthCharger:CBaseTrigger +{ + float m_flDelay; + + void() CFuncHealthCharger; + virtual void() PlayerUse; +}; + +void CFuncHealthCharger::PlayerUse(void) +{ + eActivator.flags = (eActivator.flags - FL_USERELEASED); + + if (m_flDelay > time) { + return; + } + + eActivator.health = bound(0, eActivator.health += 15, 100); + m_flDelay = time + 1.0f; +} + +void CFuncHealthCharger::CFuncHealthCharger(void) +{ + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + setorigin(this, origin); + setmodel(this, model); + gflags = GF_USABLE; +} + +CLASSEXPORT(func_healthcharger, CFuncHealthCharger) diff --git a/Source/gs-entbase/server/func_illusionary.cpp b/Source/gs-entbase/server/func_illusionary.cpp new file mode 100644 index 00000000..0b4c25df --- /dev/null +++ b/Source/gs-entbase/server/func_illusionary.cpp @@ -0,0 +1,29 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CFuncIllusionary : CBaseEntity +{ + virtual void() Use; +}; + +void CFuncIllusionary :: CFuncIllusionary ( void ) +{ + precache_model( model ); + //angles = '0 0 0'; + movetype = MOVETYPE_PUSH; + self.solid = SOLID_NOT; + setmodel( this, model ); + CBaseEntity::CBaseEntity(); +} + +void CFuncIllusionary :: Use ( void ) +{ + skin = 1 - skin; +} + +CLASSEXPORT( func_illusionary, CFuncIllusionary ) diff --git a/Source/gs-entbase/server/func_ladder.cpp b/Source/gs-entbase/server/func_ladder.cpp new file mode 100644 index 00000000..ee882fba --- /dev/null +++ b/Source/gs-entbase/server/func_ladder.cpp @@ -0,0 +1,21 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CFuncLadder : CBaseEntity { + void() CFuncLadder; +}; + +void CFuncLadder :: CFuncLadder ( void ) +{ + setmodel( this, model ); + movetype = MOVETYPE_NONE; + skin = CONTENT_LADDER; + solid = SOLID_BSP; +} + +CLASSEXPORT( func_ladder, CFuncLadder ) diff --git a/Source/gs-entbase/server/func_recharge.cpp b/Source/gs-entbase/server/func_recharge.cpp new file mode 100644 index 00000000..071c1070 --- /dev/null +++ b/Source/gs-entbase/server/func_recharge.cpp @@ -0,0 +1,38 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CFuncSuitCharger:CBaseTrigger +{ + float m_flDelay; + + void() CFuncSuitCharger; + virtual void() PlayerUse; +}; + +void CFuncSuitCharger::PlayerUse(void) +{ + eActivator.flags = (eActivator.flags - FL_USERELEASED); + + if (m_flDelay > time) { + return; + } + + eActivator.armor = bound(0, eActivator.armor += 15, 100); + m_flDelay = time + 1.0f; +} + +void CFuncSuitCharger::CFuncSuitCharger(void) +{ + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + setorigin(this, origin); + setmodel(this, model); + gflags = GF_USABLE; +} + +CLASSEXPORT(func_recharge, CFuncSuitCharger) diff --git a/Source/gs-entbase/server/func_rotating.cpp b/Source/gs-entbase/server/func_rotating.cpp new file mode 100644 index 00000000..e1c31d37 --- /dev/null +++ b/Source/gs-entbase/server/func_rotating.cpp @@ -0,0 +1,113 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags +{ + FR_STARTON, + FR_REVERSE, + FR_ZAXIS, + FR_XAXIS, + FR_ACCDCC, + FR_FANPAIN, + FR_NOTSOLID, + FR_SMALLRADIUS, + FR_MRADIUS, + FR_LRADIUS +}; + +class CFuncRotating : CBaseTrigger +{ + vector m_vecMoveDir; + float m_flSpeed; + void() CFuncRotating; + virtual void() Respawn; + virtual void() Trigger; + virtual void() Rotate; + virtual void() SetMovementDirection; +}; + +void CFuncRotating :: Rotate( void ) +{ + nextthink = ltime + 10.0f; +} +void CFuncRotating :: Trigger ( void ) +{ + if ( vlen( avelocity ) ) { + avelocity = '0 0 0'; + } else { + avelocity = m_vecMoveDir * m_flSpeed; + } +} + +void CFuncRotating :: Blocked ( void ) +{ + if ( spawnflags & FR_FANPAIN ) { +// Damage_Apply( other, this, m_iDamage, other.origin, FALSE ); + } +} + +void CFuncRotating :: Respawn ( void ) +{ + movetype = MOVETYPE_PUSH; + setorigin( this, origin ); + setmodel( this, model ); + + if ( spawnflags & FR_NOTSOLID ) { + solid = SOLID_NOT; + } else { + solid = SOLID_BSP; + } + + if ( spawnflags & FR_STARTON ) { + avelocity = m_vecMoveDir * m_flSpeed; + think = Rotate; + nextthink = ltime + 1.5f; + } +} + +void CFuncRotating :: SetMovementDirection ( void ) +{ + if ( spawnflags & FR_ZAXIS ) { + m_vecMoveDir = '0 0 1'; + } else if ( spawnflags & FR_XAXIS ) { + m_vecMoveDir = '1 0 0'; + } else { + m_vecMoveDir = '0 1 0'; + } + + if ( spawnflags & FR_REVERSE ) { + m_vecMoveDir *= -1; + } +} + +void CFuncRotating :: CFuncRotating ( void ) +{ + precache_model( model ); + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + /*case "spawnorigin": + setorigin( this, stov( argv( i + 1 ) ) ); + break;*/ + case "speed": + m_flSpeed = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + if ( !m_flSpeed ) { + m_flSpeed = 100; + } + + CBaseTrigger::CBaseTrigger(); + CFuncRotating::SetMovementDirection(); + CFuncRotating::Respawn(); +} + +CLASSEXPORT( func_rotating, CFuncRotating ) diff --git a/Source/gs-entbase/server/func_train.cpp b/Source/gs-entbase/server/func_train.cpp new file mode 100644 index 00000000..2bcbe324 --- /dev/null +++ b/Source/gs-entbase/server/func_train.cpp @@ -0,0 +1,194 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +/*class CPathCorner +{ + float m_flSpeed; + float m_flWait; + string m_strTarget; + void() CPathCorner; +}; + +void CPathCorner :: CPathCorner ( void ) +{ + m_flSpeed = 100; + m_flWait = 1.0f; +} + +CLASSEXPORT(path_corner, CPathCorner) + +class CFuncTrain +{ + int m_iDamage; + float m_flNextBlockAttack; + float m_flTraveltime; + float m_flWait; + float m_flSpeed; + vector m_vecDestination; + vector m_vecDestDelta; + + // We don't need to inherit CBaseTrigger for these yet + string m_strTarget; + entity m_eTarget; + + void() CFuncTrain; + virtual void() Move; + virtual void() Blocked; + virtual void() Trigger; + virtual void() Find; + virtual void() Trigger; + virtual void() Wait; + virtual void() Next; + virtual void() m_pMove = 0; +}; + +void CFuncTrain :: Done ( void ) +{ + setorigin( this, m_vecDestination ); + velocity = '0 0 0'; + nextthink = -1; + + if ( m_pMove ) { + m_pMove(); + } +} + +void CFuncTrain :: Blocked ( void ) +{ + if ( time < m_flNextBlockAttack ) { + return; + } + m_flNextBlockAttack = time + 0.5; + //other.deathtype = "squish"; + //T_Damage (other, self, self, m_iDamage); +} + +void CFuncTrain :: Trigger ( void ) +{ + // already activated + if ( think != Find ) { + return; + } + Next(); +} + +void CFuncTrain :: Wait ( void ) +{ + if ( m_flWait ) { + nextthink = ltime + m_flWait; + sound (self, CHAN_VOICE, noise, 1, ATTN_NORM); + } else { + nextthink = ltime + 0.1f; + } + + think = Next; +} + +void CFuncTrain :: Next ( void ) +{ + float flLen; + CPathCorner pTarget; + + m_eTarget = find( world, ::targetname, m_strTarget ); + pTarget = (CPathCorner) m_eTarget; + m_strTarget = pTarget.m_strTarget; + + if ( !m_strTarget ) { + objerror( "train_next: no next target" ); + } + + if ( pTarget.m_flWait ) { + m_flWait = pTarget.m_flWait; + } else { + m_flWait = 0; + } + + sound( self, CHAN_VOICE, noise1, 1, ATTN_NORM ); + + m_vecDestination = pTarget.origin - mins; + m_flSpeed = pTarget.m_flSpeed; + m_pMove = Wait; + think = Done; + + if ( m_vecDestination == origin ) { + velocity = '0 0 0'; + nextthink = ltime + 0.1; + return; + } + + // set destdelta to the vector needed to move + m_vecDestDelta = m_vecDestination - origin; + flLen = vlen( m_vecDestDelta ); // calculate length of vector + m_flTraveltime = flLen / m_flSpeed; // divide by speed to get time to reach dest + + if ( m_flTraveltime < 0.1 ) { + velocity = '0 0 0'; + nextthink = ltime + 0.1; + return; + } + + nextthink = ltime + m_flTraveltime; // set nextthink to trigger a think when dest is reached + velocity = m_vecDestDelta * ( 1 / m_flTraveltime ); // scale the destdelta vector by the time spent traveling to get velocity +} + +void CFuncTrain :: Find ( void ) +{ + CPathCorner pTarget; + m_eTarget = find(world, ::targetname, m_strTarget); + pTarget = (CPathCorner) m_eTarget; + m_strTarget = pTarget.m_strTarget; + setorigin (this, m_eTarget.origin - mins); + + // not triggered, so start immediately + if ( !targetname ) { + nextthink = ltime + 0.1; + think = Next; + } +} + +void CFuncTrain :: CFuncTrain ( void ) +{ + if ( !m_flSpeed ) { + m_flSpeed = 100; + } + if ( !m_strTarget ) { + objerror ("func_train without a target"); + } + if ( !m_iDamage ) { + m_iDamage = 2; + } + + if ( sounds == 0 ) { + noise = ("misc/null.wav"); + precache_sound ("misc/null.wav"); + noise1 = ("misc/null.wav"); + precache_sound ("misc/null.wav"); + } + + if ( sounds == 1 ) { + noise = ("plats/train2.wav"); + precache_sound ("plats/train2.wav"); + noise1 = ("plats/train1.wav"); + precache_sound ("plats/train1.wav"); + } + + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + blocked = Blocked; + + setmodel( this, model ); + setsize( this, mins , maxs ); + setorigin( this, origin ); + + // start trains on the second frame, to make sure their targets have had + // a chance to spawn + nextthink = ltime + 0.1; + think = Find; +} + +CLASSEXPORT(func_train, CFuncTrain)*/ diff --git a/Source/gs-entbase/server/func_wall.cpp b/Source/gs-entbase/server/func_wall.cpp new file mode 100644 index 00000000..c45963f5 --- /dev/null +++ b/Source/gs-entbase/server/func_wall.cpp @@ -0,0 +1,31 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CFuncWall : CBaseTrigger +{ + void() CFuncWall; + virtual void() Trigger; +}; + +void CFuncWall :: CFuncWall ( void ) +{ + precache_model( model ); + //angles = '0 0 0'; + movetype = MOVETYPE_PUSH; + solid = SOLID_BSP; + setmodel( this, model ); + CBaseTrigger::CBaseTrigger(); +} + +void CFuncWall :: Trigger ( void ) +{ + frame = 1 - frame; +} + +CLASSEXPORT( func_wall, CFuncWall ) +CLASSEXPORT( func_train, CFuncWall ) diff --git a/Source/gs-entbase/server/game_text.cpp b/Source/gs-entbase/server/game_text.cpp new file mode 100644 index 00000000..12fc8983 --- /dev/null +++ b/Source/gs-entbase/server/game_text.cpp @@ -0,0 +1,9 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + + diff --git a/Source/gs-entbase/server/info_player_deathmatch.cpp b/Source/gs-entbase/server/info_player_deathmatch.cpp new file mode 100644 index 00000000..111d83ba --- /dev/null +++ b/Source/gs-entbase/server/info_player_deathmatch.cpp @@ -0,0 +1,18 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CStartDM +{ + void(void) CStartDM; +}; + +void CStartDM::CStartDM(void) +{ +} + +CLASSEXPORT( info_player_deathmatch, CStartDM ) diff --git a/Source/gs-entbase/server/info_player_spectate.cpp b/Source/gs-entbase/server/info_player_spectate.cpp new file mode 100644 index 00000000..78618965 --- /dev/null +++ b/Source/gs-entbase/server/info_player_spectate.cpp @@ -0,0 +1,15 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CStartOBS +{ + +}; + +CLASSEXPORT( info_player_spectator, CStartOBS ) +CLASSEXPORT( info_player_spectate, CStartOBS ) diff --git a/Source/gs-entbase/server/info_player_start.cpp b/Source/gs-entbase/server/info_player_start.cpp new file mode 100644 index 00000000..e7d778ca --- /dev/null +++ b/Source/gs-entbase/server/info_player_start.cpp @@ -0,0 +1,18 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CStartSP +{ + void(void) CStartSP; +}; + +void CStartSP::CStartSP(void) +{ +} + +CLASSEXPORT( info_player_start, CStartSP ) diff --git a/Source/gs-entbase/server/item_food.cpp b/Source/gs-entbase/server/item_food.cpp new file mode 100644 index 00000000..40bd072c --- /dev/null +++ b/Source/gs-entbase/server/item_food.cpp @@ -0,0 +1,61 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CItemFood +{ + int m_iIsCan; + void() CItemFood; + virtual void() Setup; + virtual void() Touch; +}; + +void CItemFood :: Touch ( void ) +{ + if ( other.classname != "Player" ) { + return; + } + + if ( owner != __NULL__ ) { + CEnvBeverage bevOwner = (CEnvBeverage)owner; + bevOwner.m_iReady = TRUE; + } + + solid = SOLID_NOT; + remove( this ); +} + +void CItemFood :: Setup ( void ) +{ + solid = SOLID_TRIGGER; + setsize( this, '-8 -8 -8', '8 8 8' ); + touch = Touch; + + if ( m_iIsCan ) { + sound( this, CHAN_ITEM, "weapons/g_bounce3.wav", 1.0f, ATTN_NORM ); + } +} + +void CItemFood :: CItemFood ( void ) +{ + // TODO: differentiate between item_sodacan and item_food + m_iIsCan = 1; + + solid = SOLID_NOT; + movetype = MOVETYPE_TOSS; + + if ( m_iIsCan ) { + setmodel( this, "models/can.mdl" ); + } + + setsize( this, '0 0 0', '0 0 0' ); + think = Setup; + nextthink = time + 1.0f; +} + +CLASSEXPORT( item_sodacan, CItemFood ) +CLASSEXPORT( item_food, CItemFood ) diff --git a/Source/gs-entbase/server/item_suit.cpp b/Source/gs-entbase/server/item_suit.cpp new file mode 100644 index 00000000..39d2a8d2 --- /dev/null +++ b/Source/gs-entbase/server/item_suit.cpp @@ -0,0 +1,30 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CItemSuit:CBaseTrigger +{ + void() CItemSuit; + virtual void() touch; +}; + +void CItemSuit::touch(void) +{ + Trigger(); + Hide(); +} + +void CItemSuit::CItemSuit(void) +{ + CBaseTrigger::CBaseTrigger(); + + precache_model("models/w_kevlar.mdl"); + setmodel( self, "models/w_kevlar.mdl"); + InitPointTrigger(); +} + +CLASSEXPORT(item_suit, CItemSuit) diff --git a/Source/gs-entbase/server/light.cpp b/Source/gs-entbase/server/light.cpp new file mode 100644 index 00000000..af51245b --- /dev/null +++ b/Source/gs-entbase/server/light.cpp @@ -0,0 +1,66 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CLight : CBaseTrigger +{ + string m_strPattern; + int m_iEnabled; + float m_flStyle; + void() CLight; + virtual void() Trigger; +}; + +void CLight :: Trigger ( void ) +{ + if ( m_iEnabled == TRUE ) { + //dprint( "CLight: Turned off!\n" ); + lightstyle( m_flStyle, "a" ); + m_iEnabled = FALSE; + } else { + //dprint( "CLight: Turned on!\n" ); + lightstyle( m_flStyle, m_strPattern ); + m_iEnabled = TRUE; + } +} + +void CLight :: CLight ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "pattern": + m_strPattern = argv( i + 1 ); + break; + case "style": + m_flStyle = stof( argv( i + 1 ) ); + style = __NULL__; + break; + default: + break; + } + } + + /*if ( !m_strPattern ) { + m_strPattern = getlightstyle( m_flStyle ); + }*/ + + if ( !m_strPattern ) { + m_strPattern = "m"; + } + + if ( spawnflags & 1 ) { + lightstyle( m_flStyle, "a" ); + m_iEnabled = FALSE; + } else { + lightstyle( m_flStyle, m_strPattern ); + m_iEnabled = TRUE; + } +} + +CLASSEXPORT( light, CLight ) +CLASSEXPORT( light_spot, CLight ) + diff --git a/Source/gs-entbase/server/monster_furniture.cpp b/Source/gs-entbase/server/monster_furniture.cpp new file mode 100644 index 00000000..3d4a9445 --- /dev/null +++ b/Source/gs-entbase/server/monster_furniture.cpp @@ -0,0 +1,41 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags +{ + MF_WAITTILSEEN, + MF_GAG, + MF_MONSTERCLIP, + MF_PRISONER, + MF_UNUSED, + MF_WAITFORSCRIPT, + MF_PREDISASTER, + MF_FADECORPSE +}; + +class CMonsterFurniture : CBaseEntity +{ + void() CMonsterFurniture; + //virtual void() Respawn; +}; + +void CMonsterFurniture :: CMonsterFurniture ( void ) +{ + precache_model( model ); + setmodel( this, model ); + CBaseEntity::CBaseEntity(); + +#if 1 + self.movetype = MOVETYPE_NOCLIP; + self.solid = SOLID_NOT; + //self.avelocity = '0 90 0 '; + //self.modelflags = MF_ROTATE; +#endif +} + +CLASSEXPORT( monster_furniture, CMonsterFurniture ) diff --git a/Source/gs-entbase/server/monster_generic.cpp b/Source/gs-entbase/server/monster_generic.cpp new file mode 100644 index 00000000..2d54bba5 --- /dev/null +++ b/Source/gs-entbase/server/monster_generic.cpp @@ -0,0 +1,51 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enumflags +{ + MF_WAITTILLSEEN, + MF_GAG, + MF_MONSTERCLIP, + MF_PRISONER, + MF_UNUSED, + MF_WAITFORSCRIPT, + MF_PREDISASTER, + MF_FADECORPSE +}; + +class CMonsterGeneric : CBaseEntity +{ + void() CMonsterGeneric; + //virtual void() Respawn; +}; + +void CMonsterGeneric :: CMonsterGeneric ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "sequence": + frame = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + precache_model( model ); + setmodel( this, model ); + CBaseEntity::CBaseEntity(); + +#if 0 + self.movetype = MOVETYPE_NOCLIP; + self.solid = SOLID_NOT; + self.avelocity = '0 90 0 '; + self.modelflags = MF_ROTATE; +#endif +} + +CLASSEXPORT( monster_generic, CMonsterGeneric ) + diff --git a/Source/gs-entbase/server/multi_manager.cpp b/Source/gs-entbase/server/multi_manager.cpp new file mode 100644 index 00000000..fed8a631 --- /dev/null +++ b/Source/gs-entbase/server/multi_manager.cpp @@ -0,0 +1,71 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CMultiManager : CBaseTrigger +{ + string m_strBuffer; + int m_iBusy; + virtual void() Trigger; +}; + +void CMultiManager :: Trigger ( void ) +{ + static void mm_enttrigger ( void ) { + spawnfunc_CBaseTrigger(); + CBaseTrigger wow = (CBaseTrigger) self; + wow.m_strTarget = wow.netname; + + entity eFind = find( world, CBaseTrigger::m_strTargetName, self.netname ); + //dprint( sprintf( "CMultiManager: %s (%s)\n", wow.m_strTarget, eFind.classname ) ); + + CBaseTrigger::UseTargets(); + remove( wow ); + } + + int iFields = tokenizebyseparator( m_strBuffer, " " ); + for ( int i = 0; i < iFields; i+=2 ) { + // HACK: Avoid infinite loops + if ( m_strTargetName != argv( i ) ) { + entity eTemp = spawn(); + eTemp.netname = argv( i ); + eTemp.think = mm_enttrigger; + eTemp.nextthink = time + stof( argv( i + 1 ) ); + } + } +} + +void CMultiManager :: CMultiManager ( void ) +{ + m_strBuffer = ""; + int iFields = tokenize( __fullspawndata ); + for ( int i = 1; i < ( iFields - 1 ); i += 2 ) { + // Sigh, let's attempt to sanitize this + switch ( argv( i ) ) { + case "{": + case "}": + case "classname": + case "origin": + case "targetname": + case "spawnflags": + continue; + break; + default: + if ( substring( argv( i ), strlen( argv( i ) ) - 3, 1 ) == "#" ) { + m_strBuffer = sprintf( "%s%s %s ", m_strBuffer, substring( argv( i ), 0, strlen( argv( i ) ) - 3 ), argv( i + 1 ) ); + } else if ( substring( argv( i ), strlen( argv( i ) ) - 2, 1 ) == "#" ) { + m_strBuffer = sprintf( "%s%s %s ", m_strBuffer, substring( argv( i ), 0, strlen( argv( i ) ) - 2 ), argv( i + 1 ) ); + } else { + m_strBuffer = sprintf( "%s%s %s ", m_strBuffer, argv( i ), argv( i + 1 ) ); + } + } + } + + CBaseTrigger::CBaseTrigger(); +} + +CLASSEXPORT( multi_manager, CMultiManager ) diff --git a/Source/gs-entbase/server/multisource.cpp b/Source/gs-entbase/server/multisource.cpp new file mode 100644 index 00000000..39e423e1 --- /dev/null +++ b/Source/gs-entbase/server/multisource.cpp @@ -0,0 +1,46 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CMultiSource : CBaseTrigger +{ + void() CMultiSource; + virtual int() GetValue; + virtual void() Trigger; +}; + +int CMultiSource :: GetValue ( void ) +{ + int iWillTrigger = TRUE; + + for ( entity eTemp = world; ( eTemp = find( eTemp, CBaseTrigger::m_strTarget, m_strTargetName ) ); ) { + CBaseTrigger tTemp = (CBaseTrigger) eTemp; + if ( tTemp.GetValue() == FALSE ) { + iWillTrigger = FALSE; + break; + } + } + + return iWillTrigger; +} + +void CMultiSource :: Trigger ( void ) +{ + if ( GetValue() == FALSE ) { + return; + } + + //dprint( sprintf( "CMultiSource: Trigger of %s\n", m_strTarget ) ); + CBaseTrigger::UseTargets(); +} + +void CMultiSource :: CMultiSource ( void ) +{ + CBaseTrigger::CBaseTrigger(); +} + +CLASSEXPORT( multisource, CMultiSource ) diff --git a/Source/gs-entbase/server/scripted_sequence.cpp b/Source/gs-entbase/server/scripted_sequence.cpp new file mode 100644 index 00000000..e69de29b diff --git a/Source/gs-entbase/server/stubs.cpp b/Source/gs-entbase/server/stubs.cpp new file mode 100644 index 00000000..9d424a61 --- /dev/null +++ b/Source/gs-entbase/server/stubs.cpp @@ -0,0 +1,57 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CInfoNull +{ + void() CInfoNull; +}; + +void CInfoNull :: CInfoNull ( void ) +{ + remove( self ); +} + +class CInfoNotNull +{ + void() CInfoNotNull; +}; + +void CInfoNotNull :: CInfoNotNull ( void ) +{ + +} + +CLASSEXPORT( info_null, CInfoNull ) +CLASSEXPORT( info_notnull, CInfoNotNull ) +CLASSEXPORT( info_node, CInfoNotNull ) +CLASSEXPORT( info_target, CInfoNotNull ) + +/*class CSuit : CBaseTrigger +{ + void CSuit; + virtual void() Trigger; +}; + +void CSuit :: Trigger ( void ) +{ + CBaseTrigger::UseTargets(); + remove( self ); +} + +void CSuit :: CSuit ( void ) +{ + CBaseTrigger::CBaseTrigger(); + + solid = SOLID_TRIGGER; + model = "models/w_suit.mdl"; + precache_model( model ); + setmodel( this, model ); + touch = Trigger; +} +SPAWNEXPORT item_suit ( void ) { spawnfunc_CSuit(); } +SPAWNEXPORT world_items ( void ) { spawnfunc_CSuit(); }*/ diff --git a/Source/gs-entbase/server/trigger_auto.cpp b/Source/gs-entbase/server/trigger_auto.cpp new file mode 100644 index 00000000..c2c3a497 --- /dev/null +++ b/Source/gs-entbase/server/trigger_auto.cpp @@ -0,0 +1,44 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CTriggerAuto : CBaseTrigger +{ + float m_flDelay; + + void() CTriggerAuto; + virtual void() think; +}; + +void CTriggerAuto :: think ( void ) +{ + // This is weird, because ents may not be spawned yet. + // However, Half-Life doesn't care about this, either. + // So why should we? + CBaseTrigger::UseTargets_Delay( m_flDelay ); + + if ( spawnflags & 1 ) { + remove( this ); + } +} + +void CTriggerAuto :: CTriggerAuto ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "delay": + m_flDelay = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); + nextthink = time + 0.2f; +} + +CLASSEXPORT( trigger_auto, CTriggerAuto ) diff --git a/Source/gs-entbase/server/trigger_camera.cpp b/Source/gs-entbase/server/trigger_camera.cpp new file mode 100644 index 00000000..080ffb8a --- /dev/null +++ b/Source/gs-entbase/server/trigger_camera.cpp @@ -0,0 +1,43 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CTriggerCamera:CBaseTrigger +{ + float m_flWait; + + void() CTriggerCamera; + virtual void() Trigger; +}; + +void CTriggerCamera::Trigger(void) +{ + if (m_strTarget) { + entity e = find(world, CBaseTrigger::m_strTargetName, m_strTarget); + if (e) { + angles = vectoangles(e.origin - origin); + angles_x *= -1; + } + } + Client_TriggerCamera(eActivator, origin, angles, m_flWait); +} + +void CTriggerCamera::CTriggerCamera(void) +{ + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { + case "wait": + m_flWait = stof(argv(i + 1)); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); +} + +CLASSEXPORT(trigger_camera, CTriggerCamera) diff --git a/Source/gs-entbase/server/trigger_cdaudio.cpp b/Source/gs-entbase/server/trigger_cdaudio.cpp new file mode 100644 index 00000000..7329dc3b --- /dev/null +++ b/Source/gs-entbase/server/trigger_cdaudio.cpp @@ -0,0 +1,40 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CTriggerCDAudio : CBaseTrigger +{ + int m_iCDTrack; + void() CTriggerCDAudio; + virtual void() Trigger; +}; + +void CTriggerCDAudio :: Trigger ( void ) +{ + //dprint( sprintf( "CTriggerCDAudio: Now playing CD track %i", m_iCDTrack ) ); + WriteByte( MSG_ALL, 32 ); // aka SVC_CDTRACK + WriteByte( MSG_ALL, m_iCDTrack ); + remove( this ); +} + +void CTriggerCDAudio :: CTriggerCDAudio ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "health": + m_iCDTrack = stoi( argv( i + 1 ) ); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); + CBaseTrigger::InitBrushTrigger(); + touch = Trigger; +} + +CLASSEXPORT( trigger_cdaudio, CTriggerCDAudio ) diff --git a/Source/gs-entbase/server/trigger_changelevel.cpp b/Source/gs-entbase/server/trigger_changelevel.cpp new file mode 100644 index 00000000..4c98b167 --- /dev/null +++ b/Source/gs-entbase/server/trigger_changelevel.cpp @@ -0,0 +1,108 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +vector g_landmarkpos; + +enumflags { + LC_NOINTERMISSION, // Unused? + LC_USEONLY +}; + +class CLevelChanger : CBaseTrigger +{ + string m_strMap; + string m_strLandmark; + float m_flChangeDelay; + entity m_activator; + + void() CLevelChanger; + virtual void() Change; + virtual void() Trigger; + virtual int( entity, entity ) IsInside; +}; + +int CLevelChanger :: IsInside ( entity ePlayer, entity eVolume ) { + if ( ePlayer.absmin[0] > eVolume.absmax[0] || + ePlayer.absmin[1] > eVolume.absmax[1] || + ePlayer.absmin[2] > eVolume.absmax[2] || + ePlayer.absmax[0] < eVolume.absmin[0] || + ePlayer.absmax[1] < eVolume.absmin[1] || + ePlayer.absmax[2] < eVolume.absmin[2] ) + return FALSE; + return TRUE; +} + +void CLevelChanger :: Change ( void ) +{ + if ( m_strLandmark ) { + entity landmark = find( world, ::targetname, m_strLandmark ); + g_landmarkpos = landmark.origin - m_activator.origin; + changelevel( m_strMap, m_strLandmark ); + } else { + changelevel( m_strMap ); + } +} + +void CLevelChanger :: Trigger ( void ) +{ + //entity eVolume; + + if ( time < 5 ) { + return; + } + + /*eVolume = find( world, ::targetname, m_strLandmark ); + if ( eVolume && eVolume.classname == "CTriggerVolume" ) { + if ( IsInside( other, eVolume ) == FALSE ) { + return; + } + }*/ + + m_activator = other; + if ( m_flChangeDelay ) { + think = Change; + nextthink = time + m_flChangeDelay; + } else { + Change(); + } +} + +void CLevelChanger :: CLevelChanger ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "map": + m_strMap = argv( i + 1 ); + break; + case "landmark": + m_strLandmark = argv( i + 1 ); + break; + case "changedelay": + m_flChangeDelay = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); + + if ( !( spawnflags & LC_USEONLY ) ) { + touch = Trigger; + } + + CBaseTrigger::InitBrushTrigger(); +} + +CLASSEXPORT( info_landmark, CInfoNull ) +CLASSEXPORT( trigger_changelevel, CLevelChanger ) + +vector Landmark_GetSpot(void) +{ + entity landmark = find(world, targetname, startspot); + return landmark.origin + g_landmarkpos; +} diff --git a/Source/gs-entbase/server/trigger_endsection.cpp b/Source/gs-entbase/server/trigger_endsection.cpp new file mode 100644 index 00000000..76ca9ed3 --- /dev/null +++ b/Source/gs-entbase/server/trigger_endsection.cpp @@ -0,0 +1,19 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CTriggerEnd : CBaseTrigger +{ + virtual void() Trigger; +} + +void CTriggerEnd :: Trigger ( void ) +{ + localcmd( "disconnect\n" ); +} + +CLASSEXPORT( trigger_endsection, CTriggerEnd ) diff --git a/Source/gs-entbase/server/trigger_hurt.cpp b/Source/gs-entbase/server/trigger_hurt.cpp new file mode 100644 index 00000000..02f49079 --- /dev/null +++ b/Source/gs-entbase/server/trigger_hurt.cpp @@ -0,0 +1,100 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define SF_HURT_ONCE 1 // Turn off once it fired the first time +#define SF_HURT_OFF 2 // Needs to be triggered in order to work again +#define SF_HURT_NOPLAYERS 8 // Don't hurt players +#define SF_HURT_FIREONPLAYER 16 // Only call UseTarget functions when it's a player +#define SF_HURT_TOUCHPLAYER 32 // Only hurt players + +class CTriggerHurt : CBaseTrigger +{ + float m_flNextTrigger; + int m_iDamage; + float m_flDelay; + void() CTriggerHurt; +}; + +void CTriggerHurt :: Trigger ( void ) +{ + if ( solid == SOLID_NOT ) { + solid = SOLID_TRIGGER; + } else { + solid = SOLID_NOT; + } +} + +void CTriggerHurt :: Touch ( void ) +{ + if ( m_flNextTrigger > ltime ) { + return; + } else if ( other.takedamage == DAMAGE_NO ) { + return; + } else if ( ( spawnflags & SF_HURT_TOUCHPLAYER ) && !( other.flags & FL_CLIENT ) ) { + return; + } else if ( ( spawnflags & SF_HURT_NOPLAYERS ) && ( other.flags & FL_CLIENT ) ) { + return; + } + + if ( spawnflags & SF_HURT_FIREONPLAYER ) { + if ( other.flags & FL_CLIENT ) { + if ( m_flDelay > 0 ) { + CBaseTrigger::UseTargets_Delay( m_flDelay ); + } else { + CBaseTrigger::UseTargets(); + } + } + } else { + if ( m_flDelay > 0 ) { + CBaseTrigger::UseTargets_Delay( m_flDelay ); + } else { + CBaseTrigger::UseTargets(); + } + } + + // Damage_Apply( other, this, m_iDamage, other.origin, FALSE ); + //Damage_Apply( other, world, m_iDamage, DAMAGE_BLEED, WEAPON_NONE ); + + // Shut it down if used once + if ( spawnflags & SF_HURT_ONCE ) { + solid = SOLID_NOT; + } + + m_flNextTrigger = ltime + 0.5; +} + +void CTriggerHurt :: Respawn ( void ) +{ + solid = SOLID_TRIGGER; + if ( spawnflags & SF_HURT_OFF ) { + solid = SOLID_NOT; + } + touch = Touch; +} + +void CTriggerHurt :: CTriggerHurt ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "dmg": + m_iDamage = stoi( argv( i + 1 ) ); + break; + case "wait": + case "delay": + m_flDelay = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + CBaseTrigger::InitBrushTrigger(); + CTriggerHurt::Respawn(); + CBaseEntity::CBaseEntity(); +} + +CLASSEXPORT( trigger_hurt, CTriggerHurt ) diff --git a/Source/gs-entbase/server/trigger_multiple.cpp b/Source/gs-entbase/server/trigger_multiple.cpp new file mode 100644 index 00000000..839bde99 --- /dev/null +++ b/Source/gs-entbase/server/trigger_multiple.cpp @@ -0,0 +1,69 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// TODO: These are missing +enumflags +{ + TM_MONSTERS, + TM_NOCLIENTS, + TM_PUSHABLES +}; + +class CTriggerMultiple : CBaseTrigger +{ + float m_flDelay; + float m_flWait; + void() CTriggerMultiple; + virtual void() touch; + virtual void() Respawn; +}; + +void CTriggerMultiple :: touch ( void ) +{ + if ( m_flDelay > 0 ) { + CBaseTrigger::UseTargets_Delay( m_flDelay ); + } else { + CBaseTrigger::UseTargets(); + } + think = Respawn; + nextthink = time + m_flWait; + solid = SOLID_NOT; + +#ifdef GS_DEVELOPER + alpha = 0.001f; +#endif +} + +void CTriggerMultiple :: Respawn ( void ) +{ + solid = SOLID_TRIGGER; +#ifdef GS_DEVELOPER + alpha = 0.5f; +#endif +} + +void CTriggerMultiple :: CTriggerMultiple ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "delay": + m_flDelay = stof( argv( i + 1 ) ); + break; + case "wait": + m_flWait = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + CTriggerMultiple::Respawn(); + CBaseEntity::CBaseEntity(); + CBaseTrigger::InitBrushTrigger(); +} + +CLASSEXPORT( trigger_multiple, CTriggerMultiple ) diff --git a/Source/gs-entbase/server/trigger_once.cpp b/Source/gs-entbase/server/trigger_once.cpp new file mode 100644 index 00000000..dafcc766 --- /dev/null +++ b/Source/gs-entbase/server/trigger_once.cpp @@ -0,0 +1,62 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +// TODO: These are missing +enumflags +{ + TO_MONSTERS, + TO_NOCLIENTS, + TO_PUSHABLES +}; + +class CTriggerOnce : CBaseTrigger +{ + float m_flDelay; + void() CTriggerOnce; + virtual void() touch; + virtual void() Respawn; +}; + +void CTriggerOnce :: touch ( void ) +{ + if ( m_flDelay > 0 ) { + CBaseTrigger::UseTargets_Delay( m_flDelay ); + } else { + CBaseTrigger::UseTargets(); + } + solid = SOLID_NOT; +#ifdef GS_DEVELOPER + alpha = 0.001f; +#endif +} + +void CTriggerOnce :: Respawn ( void ) +{ + solid = SOLID_TRIGGER; +#ifdef GS_DEVELOPER + alpha = 0.5f; +#endif +} + +void CTriggerOnce :: CTriggerOnce ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "delay": + m_flDelay = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + CTriggerOnce::Respawn(); + CBaseEntity::CBaseEntity(); + CBaseTrigger::InitBrushTrigger(); +} + +CLASSEXPORT( trigger_once, CTriggerOnce ) diff --git a/Source/gs-entbase/server/trigger_push.cpp b/Source/gs-entbase/server/trigger_push.cpp new file mode 100644 index 00000000..5e677381 --- /dev/null +++ b/Source/gs-entbase/server/trigger_push.cpp @@ -0,0 +1,111 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +#define TP_ONCE 1 +#define TP_STARTOFF 2 +#define TP_AAAA 4 + +class CTriggerPush : CBaseTrigger +{ + vector m_vecMoveDir; + float m_flDelay; + float m_flSpeed; + void() CTriggerPush; + virtual void() touch; + virtual void() Respawn; + virtual void() Trigger; + virtual void() SetMovementDirection; +}; + +void CTriggerPush :: SetMovementDirection ( void ) +{ + if ( angles == '0 -1 0' ) { + m_vecMoveDir = '0 0 1'; + } else if ( angles == '0 -2 0' ) { + m_vecMoveDir = '0 0 -1'; + } else { + makevectors( angles ); + m_vecMoveDir = v_forward; + } + + angles = '0 0 0'; + //m_vecMoveDir *= 1; +} + +void CTriggerPush :: Trigger ( void ) +{ + if ( solid == SOLID_NOT ) { + solid = SOLID_TRIGGER; + } else { + solid = SOLID_NOT; + } +} + +void CTriggerPush :: touch ( void ) +{ + switch( other.movetype ) + { + case MOVETYPE_NONE: + case MOVETYPE_PUSH: + case MOVETYPE_NOCLIP: + case MOVETYPE_FOLLOW: + return; + } + + if ( other.solid != SOLID_NOT && other.solid != SOLID_BSP ) { + if ( spawnflags & TP_ONCE ) { + other.velocity = other.velocity + (m_flSpeed * m_vecMoveDir); + if ( other.velocity[2] > 0 ) + other.flags &= ~FL_ONGROUND; + remove( self ); + } else { + /*vector vecPush = m_flSpeed * m_vecMoveDir; + if ( other.flags & FL_BASEVELOCITY ) { + vecPush = vecPush + other.basevelocity; + } + + other.basevelocity = vecPush; + other.flags |= FL_BASEVELOCITY;*/ + } + } +} + +void CTriggerPush :: Respawn ( void ) +{ + if ( angles == '0 0 0' ) { + angles[1] = 360; + } + SetMovementDirection(); + + if ( m_flSpeed == 0 ) { + m_flSpeed = 100; + } + + if ( spawnflags & TP_STARTOFF ) { + solid = SOLID_NOT; + } +} + +void CTriggerPush :: CTriggerPush ( void ) +{ + for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { + switch ( argv( i ) ) { + case "speed": + m_flSpeed = stof( argv( i + 1 ) ); + break; + default: + break; + } + } + + CBaseTrigger::CBaseTrigger(); + CBaseTrigger::InitBrushTrigger(); + CTriggerPush::Respawn(); +} + +CLASSEXPORT( trigger_push, CTriggerPush ) diff --git a/Source/gs-entbase/server/trigger_relay.cpp b/Source/gs-entbase/server/trigger_relay.cpp new file mode 100644 index 00000000..578e481d --- /dev/null +++ b/Source/gs-entbase/server/trigger_relay.cpp @@ -0,0 +1,9 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +CLASSEXPORT( trigger_relay, CTriggerOnce ) diff --git a/Source/gs-entbase/server/trigger_teleport.cpp b/Source/gs-entbase/server/trigger_teleport.cpp new file mode 100644 index 00000000..67a6712e --- /dev/null +++ b/Source/gs-entbase/server/trigger_teleport.cpp @@ -0,0 +1,30 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CTriggerTeleport : CBaseTrigger +{ + void() CTriggerTeleport; + virtual void() touch; +}; + +void CTriggerTeleport :: touch ( void ) +{ + if ( other.health > 0 || other.solid == SOLID_SLIDEBOX ) { + entity eTarget = find( world, ::targetname, target ); + setorigin( other, eTarget.origin ); + } +} + +void CTriggerTeleport :: CTriggerTeleport ( void ) +{ + CBaseTrigger::CBaseTrigger(); + CBaseTrigger::InitBrushTrigger(); +} + +CLASSEXPORT( trigger_teleport, CTriggerTeleport ) +CLASSEXPORT( info_teleport_destination, CInfoNull ) diff --git a/Source/gs-entbase/server/trigger_transition.cpp b/Source/gs-entbase/server/trigger_transition.cpp new file mode 100644 index 00000000..7bd47152 --- /dev/null +++ b/Source/gs-entbase/server/trigger_transition.cpp @@ -0,0 +1,23 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CTriggerVolume +{ + void() CTriggerVolume; +}; + +void CTriggerVolume :: CTriggerVolume ( void ) +{ + solid = SOLID_NOT; + movetype = MOVETYPE_NONE; + setmodel( this, model ); + model = __NULL__; + modelindex = 0; +} + +CLASSEXPORT( trigger_transition, CTriggerVolume ) diff --git a/Source/gs-entbase/server/world.cpp b/Source/gs-entbase/server/world.cpp new file mode 100644 index 00000000..98118458 --- /dev/null +++ b/Source/gs-entbase/server/world.cpp @@ -0,0 +1,49 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class CWorld +{ + void() CWorld; + virtual void() Precaches; + virtual void() SetupLight; +}; + +void CWorld :: Precaches ( void ) +{ + Material_Init(); + Weapon_Init(); +} + +void CWorld :: SetupLight ( void ) +{ + // Valve BSP only + if ( serverkeyfloat( "*bspversion" ) == 30 ) { + lightstyle( 0, "m" ); + lightstyle( 1, "mmnmmommommnonmmonqnmmo" ); + lightstyle( 2, "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba" ); + lightstyle( 3, "mmmmmaaaaammmmmaaaaaabcdefgabcdefg" ); + lightstyle( 4, "mamamamamama" ); + lightstyle( 5, "jklmnopqrstuvwxyzyxwvutsrqponmlkj" ); + lightstyle( 6, "nmonqnmomnmomomno" ); + lightstyle( 7, "mmmaaaabcdefgmmmmaaaammmaamm" ); + lightstyle( 8, "mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa" ); + lightstyle( 9, "aaaaaaaazzzzzzzz" ); + lightstyle( 10, "mmamammmmammamamaaamammma" ); + lightstyle( 11, "abcdefghijklmnopqrrqponmlkjihgfedcba" ); + } + + clientstat( 16, EV_FLOAT, ::view_ofs[2] ); +} + +void CWorld :: CWorld ( void ) +{ + CWorld::Precaches(); + CWorld::SetupLight(); +} + +//CLASSEXPORT( worldspawn, CWorld ) diff --git a/freecs/csprogs.dat b/freecs/csprogs.dat index 2cb440a03a9a54457c70cf1639b18aa0bf1cdb63..bb1a037bbb45ae3e745d2a0089e6c4bec5e0786b 100644 GIT binary patch literal 250642 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%0Ac$*RmhS@ro*cV3d7wZDFPR@gtD9+~<5a8`MK zIO>x0to;7|W`+Iz&9=Sn|Cr3}oi17J>xZ+_{r1ZW`}Jpqv)V`EVs!K3)GExMf%qomrNfM$_Q z!nU3JlkLj=({}#8)Fpn=zu4{&@sVS=v`lT6f3ck$L!`{mpX|#K+wRZOGX6zcF3ODT zOX%f)ZkHzibbQ(R#9yRIxqocWtaBv$rwhLHJS6|qcK_Tz<@dV&c9$b9#dhw0lb+OT zJ{R|faE+|vik$acnde~v`S^&|mJF_QIahL@lm2rSd@3Z0ozSt;={VBP2Q4?~sqIN6x#fhpPI>x{mMcIHe6|>Ha(wEouL1 znL_?Z8%m#uw9S;v_OvZ``j-5gt&V#y$-mj!vPrf)cV^4egmgd8(|@^7+4t4sHSu(s zf9#q2$uURvvp8u2pABf4@;_B}jf7)stst&pVJ(kxoba!fog@e>z1e?3mk@si_Y7sN zglB>GC6tv5BK=C%!yKzD;z)dg)ESakS-SZ9;s@;SD$1Kg{AxT0KZlp#P4Fgs45z>q zp(nwOP#Nk%E9ee`VLU8`7a#-Pf{)=O`~-1D*&d2OIj9MZpcV9j;V>2E!wT2}Z^9us z2H%7Hb4dc^gOX4Y(xEwYfPOF*=D<=|0~xRnK7`}&1LVAsu?!T1QgAz@Lo?_M17JMN zg%z+7cENja6wbo$kWh>=pfps0y3iatLLV3c6Jahq0~_I0cn^-jS&)Bz&IN^_3{-=L z&=z{bP?!u0VJ&Qjeee;SfS=*Y;=HGVvQQlwLwo246JQ=Z3tQlI_yA78IfyC2drT+< zWuZDWgf`Fx2E#O137cUz9D*<59K@Dnd${8!rjmTdcXh}15;rUJP#T07JLHVLTqWii-Tft8`OuE&=vZ_SeOY*VH3Ot z@4<061M(xi0OW`APz#ztXLuAQz#>=&ufTio75oUXWvLr(fbx(EjiD`chXF7Kro&=* z4z|NSI1H!Z0>s_SH3CH-1=64?+zSuFP?!Ys;2GEm8L$@)!$~*~vE}IBa3hq15Hx}| z&;tg-SeOn=VKuxA``|0hp&p*{41K`z*=|(K7bSOGsH8fN`ho41-C*vG=p}~69&QYqf zs0B@+J@kP7Fc#*(YS;$5;a&I)PQrP(@-~hK%0e}00Ii`b41m!v3zoxrcm>{ukKrU- zfU7H029$*mG=$dB0|vokFdLqRP4F7L569srxbk-HV^9jJK@(^TJz+3RfyMAVY=yVr zb2tOPL7)n+4NwXyK|0(6U0?u=gW0egHp3n`4Bx;n5YH=nUML1BPy-r58|VrHVIs_d zXJ9kD4hP```~+7p%E$x7;8v&&&7m_q0^?vdJPjM*RX6}g;d_u#oCgJCgn)K@S)J zV_+IQ39CT9z1R((z)AQS;%m{rp)^#72G9Z?fW9ysrosYP1zTVb9E79r9bAM!I>!Vh zp%T=BrqB)^gh4PKX2Eh;4;ioz4ny`ONA^Ir^>gI=4c0_wi)1zNkHP<|&|1olt<60W z$6>DeommCyIJo!K#BU^h6O>^67N`z&U<+}N;mI%)=D}iE4y$1uya?N27aW2k@GYDN zc~HxhkOQEaR!9CCcqVm$txDO13;V=&F4027vOqfJ?I$WQ`cmnpr zT4)Yap%0vfl6iP7fI83#cECtj3`bxtWh{kNupYL-PDstoYZE>I2d|~S;!of>oPqOj z5#s9ddlkq7g`hZ;hpJE$>cL%bFLZ-`FdW9gRG0@(!&=x1ufqZO1Wv#|;CG0x$7?Le z)l(E#hT3o^bb*25n76uyVp2IPnGPzTyV zA9xHF!UlK~j>37!bqD7ZLeK(w!6{M`b7x4_>m@OKOR|Jnjg8sv=4zVE*th#~lY04{)xRsaA1 literal 250598 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 diff --git a/freecs/menu.dat b/freecs/menu.dat index 7863e852c8500ff8812a877f6c7a605bfb8da92b..0b7c183f15d19be71d6c38cb88f31a7f08b6a1fd 100755 GIT binary patch delta 23 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 z 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 literal 281958 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 I9f9co0R36FX8-^I