From 4621358ffd521f5d7b62b6e074ba434cda59f559 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Sat, 5 Jan 2019 02:02:12 +0100 Subject: [PATCH] Added custom GLSL with support for the new gl_fake16bit, gl_affinemodels Added support for respawns of map entities Started redoing hostages... they don't have any animations right now. Don't be surprised. Moved most/if-not-all CS specific entities into their own class files --- Source/Server/AmbientSound.c | 116 ------- Source/Server/Defs.h | 4 - Source/Server/DefsFields.h | 18 - Source/Server/EntHostage.c | 68 +--- Source/Server/Entities.c | 275 --------------- Source/Server/EnvObjects.c | 260 --------------- Source/Server/FuncBombTarget.c | 57 ---- Source/Server/FuncBreakable.c | 172 ---------- Source/Server/FuncButton.c | 312 ------------------ Source/Server/FuncDoor.c | 283 ---------------- Source/Server/FuncDoorRotating.c | 275 --------------- Source/Server/FuncEscapeZone.c | 78 ----- Source/Server/FuncHostageRescue.c | 114 ------- Source/Server/FuncLadder.c | 104 ------ Source/Server/FuncPushable.c | 84 ----- Source/Server/FuncVIPSafetyZone.c | 70 ---- Source/Server/FuncVehicle.c | 188 ----------- Source/Server/Player.c | 2 +- Source/Server/Rules.c | 12 +- Source/Server/func_bomb_target.cpp | 35 ++ .../{FuncBuyZone.c => func_buyzone.cpp} | 68 ++-- Source/Server/func_escapezone.cpp | 70 ++++ Source/Server/func_hostage_rescue.cpp | 58 ++++ Source/Server/func_vip_safetyzone.cpp | 50 +++ Source/Server/hostage_entity.cpp | 187 +++++++++++ Source/Server/info_hostage_rescue.cpp | 33 ++ Source/Server/progs.src | 18 +- Source/Shared/WeaponC4Bomb.c | 3 +- Source/gs-entbase/client/fade.cpp | 4 +- Source/gs-entbase/server/cycler.cpp | 19 +- Source/gs-entbase/server/cycler_sprite.cpp | 27 ++ Source/gs-entbase/server/defs.h | 12 +- Source/gs-entbase/server/env_glow.cpp | 2 +- Source/gs-entbase/server/env_sprite.cpp | 36 +- Source/gs-entbase/server/func_breakable.cpp | 69 ++-- Source/gs-entbase/server/func_button.cpp | 215 ++++++------ Source/gs-entbase/server/func_door.cpp | 160 ++++----- .../gs-entbase/server/func_door_rotating.cpp | 239 +++++++------- .../gs-entbase/server/func_healthcharger.cpp | 3 +- Source/gs-entbase/server/func_recharge.cpp | 3 +- freecs/csprogs.dat | Bin 259346 -> 260870 bytes freecs/glsl/default2d.glsl | 36 ++ freecs/glsl/defaultfill.glsl | 21 ++ freecs/glsl/defaultskin.glsl | 34 +- freecs/glsl/defaultskybox.glsl | 4 + freecs/glsl/defaultsprite.glsl | 42 +++ freecs/glsl/defaultwall.glsl | 21 +- freecs/menu.dat | Bin 213266 -> 213266 bytes freecs/progs.dat | Bin 290110 -> 286810 bytes 49 files changed, 1057 insertions(+), 2904 deletions(-) delete mode 100755 Source/Server/AmbientSound.c delete mode 100755 Source/Server/Entities.c delete mode 100755 Source/Server/EnvObjects.c delete mode 100755 Source/Server/FuncBombTarget.c delete mode 100755 Source/Server/FuncBreakable.c delete mode 100755 Source/Server/FuncButton.c delete mode 100755 Source/Server/FuncDoor.c delete mode 100755 Source/Server/FuncDoorRotating.c delete mode 100755 Source/Server/FuncEscapeZone.c delete mode 100755 Source/Server/FuncHostageRescue.c delete mode 100755 Source/Server/FuncLadder.c delete mode 100755 Source/Server/FuncPushable.c delete mode 100755 Source/Server/FuncVIPSafetyZone.c delete mode 100755 Source/Server/FuncVehicle.c create mode 100755 Source/Server/func_bomb_target.cpp rename Source/Server/{FuncBuyZone.c => func_buyzone.cpp} (69%) create mode 100644 Source/Server/func_escapezone.cpp create mode 100644 Source/Server/func_hostage_rescue.cpp create mode 100644 Source/Server/func_vip_safetyzone.cpp create mode 100644 Source/Server/hostage_entity.cpp create mode 100644 Source/Server/info_hostage_rescue.cpp create mode 100644 Source/gs-entbase/server/cycler_sprite.cpp create mode 100644 freecs/glsl/default2d.glsl create mode 100644 freecs/glsl/defaultfill.glsl create mode 100644 freecs/glsl/defaultsprite.glsl diff --git a/Source/Server/AmbientSound.c b/Source/Server/AmbientSound.c deleted file mode 100755 index 88d24827..00000000 --- a/Source/Server/AmbientSound.c +++ /dev/null @@ -1,116 +0,0 @@ -/* - 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. -*/ - -/* -ambient_generic - -The ambient_generic allows you to play a specific sound. - -Attributes: -Name (targetname) - Property used to identify entities. -WAV name (message) - This is the path/filename of the .wav file. -Volume (health) - Volume of the sound. Range: 0-10. -Dynamic Presets (preset) - Various effects that can be applied to the sound: - -Flags: -Play Everywhere (1) - Sound will be heard in the entire level. -Small Radius (2) - Sound range is about 800 units at max volume. -Medium Radius (4) - Sound range is about 1250 units at max volume. -Large Radius (8) - Sound range is about 2000 units at max volume. -Start Silent (16) - Checking this means the entity must be triggered to work. -Not Toggled (32) - Older FGDs show this as Not Looped. - Makes the entity interpret each call as "turn on" instead of "toggle state". - Must be left unchecked for looping sound files. - Note that actual looping depends purely on cue points defined in the .wav file (see notes). -*/ -void ambient_generic( void ) { - static float ambient_generic_send( entity ePEnt, float fChanged ) { - WriteByte( MSG_ENTITY, ENT_AMBIENTSOUND ); - WriteCoord( MSG_ENTITY, self.origin_x ); - WriteCoord( MSG_ENTITY, self.origin_y ); - WriteCoord( MSG_ENTITY, self.origin_z ); - WriteString( MSG_ENTITY, self.message ); - WriteFloat( MSG_ENTITY, self.health ); - WriteByte( MSG_ENTITY, self.style ); - WriteByte( MSG_ENTITY, self.loop ); - WriteByte( MSG_ENTITY, self.lforate ); - return TRUE; - } - static void ambient_generic_use( void ) { - sound( self, CHAN_VOICE, self.message, self.health, self.style, self.pitch ); - } - static void ambient_generic_useloop( void ) { - if ( self.state == TRUE ) { - self.message = "common/null.wav"; - self.SendFlags = 128; - self.state = FALSE; - } else { - self.message = self.noise; - self.SendFlags = 128; - self.state = TRUE; - } - } - static void ambient_generic_respawn( void ) { - // If we are supposed to be looping, but have stopped playing... make sure we do again - if( !( self.spawnflags & 32 ) && ( self.state == FALSE ) ) { - ambient_generic_useloop(); - } - } - - precache_sound( self.message ); - setorigin( self, self.origin ); - self.health = self.health / 10; - - if ( self.spawnflags & 1 ) { - self.style = ATTN_NONE; - } else if ( self.spawnflags & 2 ) { - self.style = ATTN_IDLE; - } else if ( self.spawnflags & 4 ) { - self.style = ATTN_STATIC; - } else if ( self.spawnflags & 8 ) { - self.style = ATTN_NORM; - } else { - self.style = ATTN_STATIC; - } - - if ( self.spawnflags & 32 ) { - self.loop = FALSE; - } else { - self.loop = TRUE; - } - - if( self.spawnflags & 16 ) { - self.vUse = ambient_generic_use; - } else { - self.noise = self.message; // Needed later for resuming - self.pvsflags = PVSF_NOREMOVE | PVSF_IGNOREPVS; - self.vUse = ambient_generic_useloop; - self.SendEntity = ambient_generic_send; - self.state = TRUE; - } - - Entities_InitRespawnable( ambient_generic_respawn ); -} diff --git a/Source/Server/Defs.h b/Source/Server/Defs.h index be2b1b17..6e82c01e 100755 --- a/Source/Server/Defs.h +++ b/Source/Server/Defs.h @@ -136,10 +136,6 @@ void TraceAttack_FireBullets( int iShots, vector vPos ); void Damage_Radius( vector vOrigin, entity eAttacker, float fDamage, float fRadius, int iCheckClip ); void Damage_Apply( entity eTarget, entity eAttacker, int iDamage, vector vHitPos, int iSkipArmor ); -void Entities_UseTargets( void ); -void Entities_InitRespawnable( void() vRespawnFunc ); -void Entities_Respawn( void ); - void Ammo_AutoFill(float fWeapon); void Ammo_BuyPrimary(void); void Ammo_BuySecondary(void); diff --git a/Source/Server/DefsFields.h b/Source/Server/DefsFields.h index bc5edbd1..62ec2c73 100644 --- a/Source/Server/DefsFields.h +++ b/Source/Server/DefsFields.h @@ -24,11 +24,6 @@ OTHER DEALINGS IN THE SOFTWARE. */ -// GoldSrc-Rendermode Fields -.vector rendercolor; -.float rendermode; -.float renderamt; -.float alpha; // All about +use .void(void) vUse; @@ -78,24 +73,11 @@ /* Map Entity Specific Fields /* * They used to be in their respective files, but there is not much point */ - - /* ambient_generic */ -.float pitch; -.float loop; -.float lforate; /* armoury_entity */ .float item; .float count; -/* hostage_entity */ -.entity eTargetPoint; -.entity eLastCreated; -.int iHasBeenUsed; - -/* env_sprite */ -.float framerate; - /* env_explosion */ .int iMagnitude; diff --git a/Source/Server/EntHostage.c b/Source/Server/EntHostage.c index ebae1735..a1194f00 100755 --- a/Source/Server/EntHostage.c +++ b/Source/Server/EntHostage.c @@ -6,57 +6,7 @@ * ****/ -enum { - HOSTAGE_IDLE, - HOSTAGE_WALK, - HOSTAGE_RUN -}; -enum { - HOSA_WALK, - HOSA_WALKSCARED, - HOSA_RUN, - HOSA_RUNSCARED, - HOSA_RUNLOOK, - HOSA_180LEFT, - HOSA_180RIGHT, - HOSA_FLINCH, - HOSA_PAIN, - HOSA_PAINLEFT, - HOSA_PAINRIGHT, - HOSA_PAINLEGLEFT, - HOSA_PAINLEGRIGHT, - HOSA_IDLE1, - HOSA_IDLE2, - HOSA_IDLE3, - HOSA_IDLE4, - HOSA_IDLE5, - HOSA_IDLE6, - HOSA_SCARED_END, - HOSA_SCARED1, - HOSA_SCARED2, - HOSA_SCARED3, - HOSA_SCARED4, - HOSA_PANIC, - HOSA_FEAR1, - HOSA_FEAR2, - HOSA_CRY, - HOSA_SCI1, - HOSA_SCI2, - HOSA_SCI3, - HOSA_DIE_SIMPLE, - HOSA_DIE_FORWARD1, - HOSA_DIE_FORWARD2, - HOSA_DIE_BACKWARD, - HOSA_DIE_HEADSHOT, - HOSA_DIE_GUTSHOT, - HOSA_LYING1, - HOSA_LYING2, - HOSA_DEADSIT, - HOSA_DEADTABLE1, - HOSA_DEADTABLE2, - HOSA_DEADTABLE3 -}; /* ================= @@ -132,23 +82,7 @@ hostage_use Whenever a hostage is 'used' ================= */ -void hostage_use(void) { - if (eActivator.team == TEAM_CT) { - if ((self.eUser == world)) { - // Only give cash to the CT for using it for the first time - if (self.iHasBeenUsed == FALSE) { - Money_AddMoney(eActivator, 150); - sound(self, CHAN_VOICE, sprintf("hostage/hos%d.wav", random(1, 6)), 1.0, ATTN_IDLE); - self.iHasBeenUsed = TRUE; - } - - self.eUser = eActivator; - self.eTargetPoint = self.eUser; - } else { - self.eUser = world; - } - } -} + /* ================= diff --git a/Source/Server/Entities.c b/Source/Server/Entities.c deleted file mode 100755 index 26b1a286..00000000 --- a/Source/Server/Entities.c +++ /dev/null @@ -1,275 +0,0 @@ -/* - 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. -*/ - -/* -==================== -GOLDSRC-RENDERMODE STUFF -==================== -*/ -enum { - RENDERMODE_NORMAL = 0, - RENDERMODE_COLOR, - RENDERMODE_TEXTURE, - RENDERMODE_GLOW, - RENDERMODE_SOLID, - RENDERMODE_ADDITIVE -}; - -void Entities_RenderSetup( void ) { - // GoldSrc-Rendermode support - if ( self.rendermode != RENDERMODE_NORMAL ) { - self.alpha = ( self.renderamt / 255 ); - self.colormod = self.rendercolor; - - if( self.alpha == 0 ) { - self.alpha = 0.0001; - } - - if ( self.rendermode == RENDERMODE_ADDITIVE ) { - self.effects = EF_ADDITIVE; - } else if ( self.rendermode == RENDERMODE_GLOW ) { - self.effects = EF_ADDITIVE | EF_FULLBRIGHT; - } - } -} - -/* -==================== -Entities_UseTargets -==================== -*/ -void Entities_UseTargets( void ) { - entity eFind = findchain( targetname, self.target ); - - entity eOld = self; - while ( eFind ) { - self = eFind; - dprint( sprintf( "Triggering %s %s\n", self.classname, self.targetname ) ); - - // Make sure we really do have a target... - if ( self.vUse != __NULL__ ) { - self.vUse(); - } - - eFind = eFind.chain; - } - self = eOld; -} - -/* -==================== -Entities_UseTargets_Delay -==================== -*/ -void Entities_UseTargets_Delay( float fDelay ) { - static void Entities_UseTargets_Delay_Think( void ) { - entity eOld = self; - self = self.owner; - Entities_UseTargets(); - remove( eOld ); - } - - entity eTimer = spawn(); - eTimer.owner = self; - eTimer.think = Entities_UseTargets_Delay_Think; - eTimer.nextthink = time + fDelay; -} - -/* -==================== -Entities_InitRespawnable - -Called -==================== -*/ -void Entities_InitRespawnable( void() vRespawnFunc ) { - self.sOldModel = self.model; - self.fOldSolid = self.solid; - self.fOldHealth = self.health; - self.vOldOrigin = self.origin; - self.vOldAngle = self.angles; - self.vRespawn = vRespawnFunc; - self.vOldUse = self.vUse; - self.fRespawns = TRUE; -} - -void Entities_Respawn( void ) { - self.model = self.sOldModel; - self.solid = self.fOldSolid; - self.health = self.fOldHealth; - self.origin = self.vOldOrigin; - self.angles = self.vOldAngle; - self.vUse = self.vOldUse; - Entities_RenderSetup(); - self.vRespawn(); -} - -/* -==================== -Entities_Remove - -Technically, it doesn't remove everything -==================== -*/ -void Entities_Remove( void ) { - if ( self.fRespawns == TRUE ) { - setorigin( self, self.vOldOrigin ); - self.solid = SOLID_NOT; - self.model = 0; - } else { - remove( self ); - } -} - -/* -==================== -Entities_SetMovedir - -Returns the movement direction based on angles -==================== -*/ -void Entities_SetMovementDirection( void ) -{ - if ( self.angles == '0 -1 0' ) { - self.movedir = '0 0 1'; - } else if ( self.angles == '0 -2 0' ) { - self.movedir = '0 0 -1'; - } else { - makevectors( self.angles ); - self.movedir = v_forward; - } - - self.angles = '0 0 0'; -} - -/* -==================== -Entities_InitTrigger - - Prepares an entity to have the properties of a TRIGGER -==================== -*/ -void Entities_InitTrigger( void ) { - if ( self.angles != '0 0 0' ) { - Entities_SetMovementDirection(); - } - self.solid = SOLID_TRIGGER; - setmodel ( self, self.model ); - self.movetype = MOVETYPE_NONE; - self.modelindex = 0; - self.model = ""; -} - -/* -==================== -Entities_MoveToDestination_End -==================== -*/ -.vector vFinalDestination; -.void() vThinkMove; -void Entities_MoveToDestination_End( void ) { - setorigin( self, self.vFinalDestination ); - self.velocity = '0 0 0'; - self.nextthink = -1; - self.vThinkMove(); -} - -/* -==================== -Entities_MoveToDestination - -Sets velocity of an ent to move to a destination at the desired speed -==================== -*/ -void Entities_MoveToDestination(vector vDestination, float fMoveSpeed, void() func) { - local vector vPositionDifference; - local float fTravelLength, fTravelTime; - - if ( !fMoveSpeed ) { - objerror("No speed defined for moving entity! Will not divide by zero."); - } - - self.vThinkMove = func; - self.vFinalDestination = vDestination; - self.think = Entities_MoveToDestination_End; - - if ( vDestination == self.origin ) { - self.velocity = '0 0 0'; - self.nextthink = ( self.ltime + 0.1 ); - return; - } - - vPositionDifference = ( vDestination - self.origin ); - fTravelLength = vlen( vPositionDifference ); - fTravelTime = ( fTravelLength / fMoveSpeed ); - - if ( fTravelTime < 0.1 ) { - self.velocity = '0 0 0'; - self.nextthink = self.ltime + 0.1; - return; - } - - self.nextthink = ( self.ltime + fTravelTime ); - self.velocity = ( vPositionDifference * ( 1 / fTravelTime ) ); -} - -/* -==================== -Entities_CalcAngleMoveDone -==================== -*/ -.vector vFinalAngle; -void Entities_RotateToDestination_End( void ) { - self.angles = self.vFinalAngle; - self.avelocity = '0 0 0'; - self.nextthink = -1; - self.vThinkMove(); -} - -/* -==================== -Entities_RotateToDestination - -Rotate to a given destination at a given pace -==================== -*/ -void Entities_RotateToDestination( vector vDestinationAngle, float fTravelSpeed, void() func ) { - local vector vAngleDifference; - local float fTravelLength, fTravelTime; - - if ( !fTravelSpeed ) { - objerror("No speed defined for moving entity! Will not divide by zero."); - } - - vAngleDifference = ( vDestinationAngle - self.angles ); - fTravelLength = vlen( vAngleDifference ); - fTravelTime = ( fTravelLength / fTravelSpeed ); - self.nextthink = ( self.ltime + fTravelTime ); - self.avelocity = ( vAngleDifference * ( 1 / fTravelTime ) ); - self.vFinalAngle = vDestinationAngle; - self.vThinkMove = func; - self.think = Entities_RotateToDestination_End; -} diff --git a/Source/Server/EnvObjects.c b/Source/Server/EnvObjects.c deleted file mode 100755 index 502e0157..00000000 --- a/Source/Server/EnvObjects.c +++ /dev/null @@ -1,260 +0,0 @@ -/* - 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. -*/ - -/* -================= -cycler_sprite - -This entity lets you display and cycle through the animation of a sprite (or a model, engine doesn't care). - -Attributes: -Name (targetname) - Property used to identify entities. -Pitch Yaw Roll (angles) - Sets the pitch (up / down), yaw (left / right) and roll (bank) respectively. The compass in WorldCraft / Hammer corresponds to Yaw. The settings are not always (or not all) used. -Sprite (model) - A sprite must be specified here (sprites/spritename.spr). -Frames per second (framerate) - Framerate the sprite will run at if animated. -================= -*/ -void cycler_sprite( void ) { - static void cycler_sprite_respawn( void ) { - // Find something to do here... - } - - precache_model( self.model ); - setmodel( self, self.model ); - - Entities_RenderSetup(); - Entities_InitRespawnable( cycler_sprite_respawn ); - self.vUse = cycler_sprite_respawn; -} - -void env_glow( void ) { - cycler_sprite(); -} - -/* -================= -env_sprite - -This entity lets you display and cycle through the animation of a sprite. - -Attributes: -Name (targetname) - Property used to identify entities. -Pitch Yaw Roll (angles) - Sets the pitch (up / down), yaw (left / right) and roll (bank) respectively. The compass in WorldCraft / Hammer corresponds to Yaw. The settings are not always (or not all) used. -Sprite (model) - A sprite must be specified here (sprites/spritename.spr). -Frames per second (framerate) - Framerate the sprite will run at if animated. -================= -*/ -void env_sprite( void ) { - static float env_sprite_send( entity ePEnt, float fChanged ) { - WriteByte( MSG_ENTITY, ENT_SPRITE ); // Identifier - WriteCoord( MSG_ENTITY, self.origin_x ); - WriteCoord( MSG_ENTITY, self.origin_y ); - WriteCoord( MSG_ENTITY, self.origin_z ); - WriteFloat( MSG_ENTITY, self.modelindex ); - WriteFloat( MSG_ENTITY, self.framerate ); - WriteFloat( MSG_ENTITY, self.scale ); - WriteFloat( MSG_ENTITY, self.alpha ); - WriteFloat( MSG_ENTITY, self.effects ); - return TRUE; - } - static void env_sprite_use( void ) { - } - - precache_model( self.model ); - setmodel( self, self.model ); - setorigin( self, self.origin ); - Entities_RenderSetup(); - self.pvsflags = PVSF_NOREMOVE | PVSF_IGNOREPVS; - self.SendEntity = env_sprite_send; - self.vUse = env_sprite_use; -} - -/* -================= -env_render - -This entity allows you to change the rendering properties -of most of the visible entities in the game (monsters, func_walls etc.), while the map is running. -The four render properties of the env_render will be copied to its target. - -Attributes: -Name (targetname) - Property used to identify entities. -Target (target) - When an entity is activated, it triggers the entity with the name specified by Target. - -Flags: -No Renderfx (1) - Render FX will not be copied. -No Renderamt (2) - Render Amount will not be copied. -No Rendermode (4) - Render Mode will not be copied. -No Rendercolor (8) - Render Color will not be copied. - -Notes: -Use this entity to fake situations that would be impossible for the game engine, -such as apparently binding multiple entities together (e.g. a moving doorhandle on a rotating door). -With a bit of careful setup, it is possible to let the the doorhandle move first, -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_NORENDERCOLOR 8 - -void env_render( void ) { - static void env_render_use( void ) { - entity eFind = findchain( targetname, self.target ); - - while ( eFind ) { - if ( !( self.spawnflags & SF_NORENDERMODE ) ) { - eFind.rendermode = self.rendermode; - } - if ( !( self.spawnflags & SF_NORENDERCOLOR ) ) { - eFind.colormod = self.colormod; - } - eFind.alpha = self.alpha; - eFind = eFind.chain; - } - } - - self.colormod = self.rendercolor; - - Entities_RenderSetup(); - self.vUse = env_render_use; -} - -/* -================= -env_explosion - -This entity creates any combination of fireball, -smoke, sparks, decals and sound, also known as an explosion. - -Attributes: -Name (targetname) - Property used to identify entities. -Magnitude (iMagnitude) - The size of the explosion. 100 is average. - -Flags: -No Damage (1) - Explosion won't cause any damage. -Repeatable (2) - Entity can be triggered more than once. -No Fireball (4) - There is no orange fireball. It won't look much like an explosion... -No Smoke (8) - Creates a pollution-free explosion. -No Decals (16) - No scorch marks are left behind. -No Sparks (32) - No sparks fly out. - -Notes: -It's possible to create a similar effect with a combination of other entities, -but it wouldn't be much fun, so this quick and easy one is here instead! -================= -*/ - -enumflags { - ENVEXPLO_NODAMAGE, - ENVEXPLO_REPEATABLE, - ENVEXPLO_NOBALL, - ENVEXPLO_NOSMOKE, - ENVEXPLO_NODECAL, - ENVEXPLO_NOSPARKS -}; - -void env_explosion( void ) { - static void env_explosion_use( void ) { - Effect_CreateExplosion( self.origin ); - - if ( !( self.spawnflags & ENVEXPLO_NODAMAGE ) ) { - Damage_Radius( self.origin, self, 500, self.iMagnitude, TRUE ); - } - if ( !( self.spawnflags & ENVEXPLO_REPEATABLE ) ) { - self.vUse = __NULL__; - remove( self ); - } - } - - self.vUse = env_explosion_use; -} - -/* -================= -env_spark - -Produces an electrical spark effect. - -Attributes: -Name (targetname) - Property used to identify entities. -Pitch Yaw Roll (angles) - Sets the angles respectively. -Max Delay (MaxDelay) - Maximum delay between sparks. - -Flags: -Toggle (32) -Start On (64) - - -Notes: -According to the fieldname MaxDelay, it is probably going to use -a random number to create a delay between the individual sparks. -I have no idea why they didn't just reuse the delay field. -We may never know. -================= -*/ -#define SPARK_TOGGLE 32 -#define SPARK_ON 64 - -void env_spark( void ) { - static void env_spark_fire( void ) { - Effect_CreateSpark( self.origin, self.angles ); - } - static void env_spark_think( void ) { - env_spark_fire(); - self.nextthink = time + ( random() * self.MaxDelay ); - } - static void env_spark_use( void ) { - if ( self.spawnflags & SPARK_TOGGLE ) { - if ( self.think != __NULL__ ) { - self.think = __NULL__; - self.nextthink = 0; - } else { - self.think = env_spark_think; - self.nextthink = time + ( random() * self.MaxDelay ); - } - } else { - env_spark_fire(); - } - } - static void env_spark_respawn( void ) { - if ( self.MaxDelay <= 0 ) { - self.MaxDelay = 1.0f; - } - - if ( self.spawnflags & SPARK_TOGGLE ) { - if ( self.spawnflags & SPARK_ON ) { - self.think = env_spark_think; - self.nextthink = time + ( random() * self.MaxDelay ); - } - } - } - - self.vUse = env_spark_use; - Entities_InitRespawnable( env_spark_respawn ); -} diff --git a/Source/Server/FuncBombTarget.c b/Source/Server/FuncBombTarget.c deleted file mode 100755 index eb022eef..00000000 --- a/Source/Server/FuncBombTarget.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - 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. -*/ - -/* -================= -func_bomb_target_touch - -Only for Ts, will give feedback whenever they are able to plant a bomb -================= -*/ -void func_bomb_target_touch( void ) { - if ( iBombPlanted == TRUE ) { - return; - } - if ( ( other.classname == "player" ) && ( other.team == TEAM_T ) ) { - other.fInBombZone = TRUE; // Note: this will be cleared every frame inside SV_RunClientCommand - } -} - -/* -================= -SPAWN: func_bomb_target -================= -*/ -void func_bomb_target( void ) { - self.angles = '0 0 0'; - self.movetype = MOVETYPE_NONE; - self.solid = SOLID_TRIGGER; - setmodel( self, self.model ); - self.model = 0; - self.touch = func_bomb_target_touch; - - iBombZones++; -} diff --git a/Source/Server/FuncBreakable.c b/Source/Server/FuncBreakable.c deleted file mode 100755 index c8139315..00000000 --- a/Source/Server/FuncBreakable.c +++ /dev/null @@ -1,172 +0,0 @@ -/* - 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. -*/ - -// Entity information from http://twhl.info/wiki.php?id=164 -/* - - 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). -*/ - -#define SF_TRIGGER 1 -#define SF_TOUCH 2 -#define SF_PRESSURE 4 - -/* -================= -func_breakable_pain -================= -*/ -void func_breakable_pain( int iNull ) { - switch ( self.material ) { - 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; - } -} - -/* -================= -func_breakable_die -================= -*/ -void func_breakable_die( int iNull ) { - // Make sure this is dead - if ( self.vUse == __NULL__ ) { - return; - } - - self.health = 0; - self.vUse = __NULL__; - Effect_BreakModel( self.absmin, self.absmax, self.velocity, self.material ); - Entities_UseTargets(); - Entities_Remove(); -} - -/* -================= -func_breakable_use -================= -*/ -void func_breakable_use( void ) { - func_breakable_die( 0 ); -} - -/* -================= -func_breakable_touch -================= -*/ -void func_breakable_touch( void ) { - static void func_breakable_touch_NULL( void ) { } - - if( other.classname != "player" ) { - return; - } - - if ( self.spawnflags & SF_TOUCH ) { - int fDamage = (float)(vlen( self.velocity ) * 0.01f ); - - if ( fDamage >= self.health ) { - self.touch = func_breakable_touch_NULL; - Damage_Apply( self, other, fDamage, self.absmin, FALSE ); - - if ( ( self.material == MATERIAL_GLASS ) || ( self.material == MATERIAL_COMPUTER ) ) { - Damage_Apply( other, self, fDamage / 4, other.origin, FALSE ); - } - } - } - - if ( ( self.spawnflags & SF_PRESSURE ) && ( other.absmin_z >= self.maxs_z - 2 ) ) { - self.think = func_breakable_use; - - if ( self.delay == 0 ) { - self.delay = 0.1f; - } - - self.nextthink = self.ltime + self.delay; - } -} - -/* -================= -func_breakable_respawn - -Respawns the breakable entity -================= -*/ -void func_breakable_respawn( void ) { - if ( self.spawnflags & SF_TRIGGER ) { - self.takedamage = DAMAGE_NO; - } else { - self.takedamage = DAMAGE_YES; - self.vPain = func_breakable_pain; - self.vDeath = func_breakable_die; - self.iBleeds = FALSE; - } - - if ( ( self.spawnflags & SF_TOUCH ) || ( self.spawnflags & SF_PRESSURE ) ) { - self.touch = func_breakable_touch; - } - - self.vUse = func_breakable_use; -} - -/* -================= -SPAWN: func_breakable - -Entry function for the brushes that can die etc. -================= -*/ -void func_breakable( void ) { - func_wall(); - func_breakable_respawn(); - - Entities_InitRespawnable( func_breakable_respawn ); -} diff --git a/Source/Server/FuncButton.c b/Source/Server/FuncButton.c deleted file mode 100755 index 693b3600..00000000 --- a/Source/Server/FuncButton.c +++ /dev/null @@ -1,312 +0,0 @@ -/* - 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. -*/ - -#define SF_BTT_NOMOVE 1 -#define SF_BTT_TOGGLE 32 -#define SF_BTT_TOUCH_ONLY 256 - -void() FuncButton_MoveAway; -void() FuncButton_MoveBack; -void() FuncButton_Touch; - -enum { - STATE_RAISED = 0, - STATE_LOWERED, - STATE_UP, - STATE_DOWN -}; - -enum { - FRAME_OFF, - FRAME_ON -}; - -.float speed; -.float lip; -.float dmg; -.float state; -.vector pos1, pos2; - -// Not all that customizable... but better than QUAKE. -.float movesnd; -.float stopsnd; - -/* -==================== -FuncButton_PrecacheSounds -==================== -*/ -void FuncButton_PrecacheSounds( void ) { - switch( self.sounds ) { - case 0: - // if you ever wondered why a silent button sounded a bit noisey... it's because this one kinda blows - self.noise = "common/null.wav"; - break; - case 1: - self.noise = "buttons/button1.wav"; - break; - case 2: - self.noise = "buttons/button2.wav"; - break; - case 3: - self.noise = "buttons/button3.wav"; - break; - case 4: - self.noise = "buttons/button4.wav"; - break; - case 5: - self.noise = "buttons/button5.wav"; - break; - case 6: - self.noise = "buttons/button6.wav"; - break; - case 7: - self.noise = "buttons/button7.wav"; - break; - case 8: - self.noise = "buttons/button8.wav"; - break; - case 9: - self.noise = "buttons/button9.wav"; - break; - case 10: - self.noise = "buttons/button10.wav"; - break; - case 11: - self.noise = "buttons/button11.wav"; - break; - case 12: - self.noise = "buttons/latchlocked1.wav"; - break; - case 13: - self.noise = "buttons/latchunlocked1.wav"; - break; - case 14: - self.noise = "buttons/lightswitch2.wav"; - break; - case 21: - self.noise = "buttons/lever1.wav"; - break; - case 22: - self.noise = "buttons/lever2.wav"; - break; - case 23: - self.noise = "buttons/lever3.wav"; - break; - case 24: - self.noise = "buttons/lever4.wav"; - break; - case 25: - self.noise = "buttons/lever5.wav"; - break; - default: - self.noise = "buttons/button9.wav"; - } - - precache_sound( self.noise ); -} - -/* -==================== -FuncButton_Arrived -==================== -*/ -void FuncButton_Arrived( void ) { - self.state = STATE_RAISED; - - if ( !( self.spawnflags & SF_BTT_TOUCH_ONLY ) ) { - self.touch = FuncButton_Touch; - } - if ( self.spawnflags & SF_BTT_TOGGLE ) { - return; - } - - if ( self.wait != -1 ) { - self.think = FuncButton_MoveBack; - self.nextthink = ( self.ltime + self.wait ); - } -} - -/* -==================== -FuncButton_Returned -==================== -*/ -void FuncButton_Returned( void ) { - if ( !( self.spawnflags & SF_BTT_TOUCH_ONLY ) ) { - self.touch = FuncButton_Touch; - } - - self.state = STATE_LOWERED; - self.frame = FRAME_OFF; -} - -/* -==================== -FuncButton_MoveBack -==================== -*/ -void FuncButton_MoveBack( void ) { - - if ( !( self.spawnflags & SF_BTT_TOUCH_ONLY ) ) { - self.touch = __NULL__; - } - - self.state = STATE_DOWN; - - if ( self.pos2 != self.pos1 ) { - Entities_MoveToDestination ( self.pos1, self.speed, FuncButton_Returned ); - } else { - FuncButton_Returned(); - } -} - -/* -==================== -FuncButton_MoveAway -==================== -*/ -void FuncButton_MoveAway( void ) { - if ( self.state == STATE_UP ) { - return; - } - - if ( self.state == STATE_RAISED ) { - self.nextthink = ( self.ltime + self.wait ); - return; - } - - self.state = STATE_UP; - - if ( self.pos2 != self.pos1 ) { - Entities_MoveToDestination ( self.pos2, self.speed, FuncButton_Arrived ); - } else { - FuncButton_Arrived(); - } - - self.frame = FRAME_ON; -} - -/* -==================== -FuncButton_Trigger -==================== -*/ -void FuncButton_Trigger( void ) { - if ( self.fAttackFinished > time ) { - return; - } - self.fAttackFinished = time + self.wait; - - if ( ( self.state == STATE_UP ) || ( self.state == STATE_RAISED ) ){ - if ( self.wait != -1 ) { - FuncButton_MoveBack(); - } - return; - } - - sound( self, CHAN_VOICE, self.noise, 1.0, ATTN_NORM ); - FuncButton_MoveAway(); - - if ( self.delay ) { - Entities_UseTargets_Delay( self.delay ); - } else { - Entities_UseTargets(); - } -} - -/* -==================== -FuncButton_Touch -==================== -*/ -void FuncButton_Touch( void ) { - if ( other.classname == "player" ) { - FuncButton_Trigger(); - - if ( !( self.spawnflags & SF_BTT_TOUCH_ONLY ) ) { - self.touch = __NULL__; - } - } -} - -/* -==================== -FuncButton_Blocked -==================== -*/ -void FuncButton_Blocked( void ) { - if ( self.dmg ) { - Damage_Apply( other, self, self.dmg, other.origin, FALSE ); - } - - if ( self.wait >= 0 ) { - if ( self.state == STATE_DOWN ) { - FuncButton_MoveAway (); - } else { - FuncButton_MoveBack (); - } - } -} - -/* -==================== -func_button - -Spawn function of a moving door entity -==================== -*/ -void func_button( void ) { - FuncButton_PrecacheSounds(); - Entities_SetMovementDirection(); - self.solid = SOLID_BSP; - self.movetype = MOVETYPE_PUSH; - setorigin( self, self.origin ); - setmodel( self, self.model ); - - self.blocked = FuncButton_Blocked; - self.vUse = FuncButton_Trigger; - - if ( !self.speed ) { - self.speed = 100; - } - - if ( self.spawnflags & SF_BTT_TOUCH_ONLY ) { - self.touch = FuncButton_Touch; - } - - self.iUsable = TRUE; - self.pos1 = self.origin; - - if ( self.spawnflags & SF_BTT_NOMOVE ) { - self.pos2 = self.pos1; - } else { - self.pos2 = ( self.pos1 + self.movedir * ( fabs( self.movedir * self.size ) - self.lip ) ); - } - - self.state = STATE_LOWERED; - Entities_RenderSetup(); -} diff --git a/Source/Server/FuncDoor.c b/Source/Server/FuncDoor.c deleted file mode 100755 index 1ca6697f..00000000 --- a/Source/Server/FuncDoor.c +++ /dev/null @@ -1,283 +0,0 @@ -/* - 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. -*/ - -/* -================= -func_door Spawnflags -================= -*/ - -void() FuncDoor_MoveAway; -void() FuncDoor_MoveBack; -void() FuncDoor_Touch; - -// 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 -}; - -/* -==================== -FuncDoor_PrecacheSounds - -CS/HL have a lot of door sounds... -==================== -*/ -void FuncDoor_PrecacheSounds( void ) { - - if( self.movesnd > 0 && self.movesnd <= 10 ) { - precache_sound( sprintf( "doors/doormove%d.wav", self.movesnd ) ); - } else { - precache_sound( "common/null.wav" ); - } - - if( self.stopsnd > 0 && self.stopsnd <= 8 ) { - precache_sound( sprintf( "doors/doorstop%d.wav", self.stopsnd ) ); - } else { - precache_sound( "common/null.wav" ); - } -} - -/* -==================== -FuncDoor_Arrived -==================== -*/ -void FuncDoor_Arrived( void ) { - self.state = STATE_RAISED; - - if( self.stopsnd > 0 && self.stopsnd <= 8 ) { - sound( self, CHAN_VOICE, sprintf( "doors/doorstop%d.wav", self.stopsnd ), 1.0, ATTN_NORM ); - } else { - sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); - } - - if ( ( self.spawnflags & SF_MOV_USE ) ) { - self.touch = FuncDoor_Touch; - } - if ( self.wait < 0 ) { - return; - } - - if ( !( self.spawnflags & SF_MOV_TOGGLE ) ) { - self.think = FuncDoor_MoveBack; - self.nextthink = ( self.ltime + self.wait ); - } -} - -/* -==================== -FuncDoor_Returned -==================== -*/ -void FuncDoor_Returned( void ) { - - if( self.stopsnd > 0 && self.stopsnd <= 8 ) { - sound( self, CHAN_VOICE, sprintf( "doors/doorstop%d.wav", self.stopsnd ), 1.0, ATTN_NORM ); - } else { - sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); - } - - if ( ( self.spawnflags & SF_MOV_USE ) ) { - self.touch = FuncDoor_Touch; - } - - self.state = STATE_LOWERED; -} - -/* -==================== -FuncDoor_MoveBack -==================== -*/ -void FuncDoor_MoveBack( void ) { - - if( self.movesnd > 0 && self.movesnd <= 10 ) { - sound( self, CHAN_VOICE, sprintf( "doors/doormove%d.wav", self.movesnd ), 1.0, ATTN_NORM ); - } else { - sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); - } - - if ( ( self.spawnflags & SF_MOV_USE ) ) { - self.touch = __NULL__; - } - - self.state = STATE_DOWN; - Entities_MoveToDestination ( self.pos1, self.speed, FuncDoor_Returned ); -} - -/* -==================== -FuncDoor_MoveAway -==================== -*/ -void FuncDoor_MoveAway( void ) { - if ( self.state == STATE_UP ) { - return; - } - - if( self.movesnd > 0 && self.movesnd <= 10 ) { - sound( self, CHAN_VOICE, sprintf( "doors/doormove%d.wav", self.movesnd ), 1.0, ATTN_NORM ); - } else { - sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); - } - - if ( !( self.spawnflags & SF_MOV_TOGGLE ) ) { - if ( self.state == STATE_RAISED ) { - self.nextthink = ( self.ltime + self.wait ); - return; - } - } - - self.state = STATE_UP; - Entities_MoveToDestination ( self.pos2, self.speed, FuncDoor_Arrived ); -} - -/* -==================== -FuncDoor_Trigger -==================== -*/ -void FuncDoor_Trigger( void ) { - if ( self.fAttackFinished > self.ltime ) { - return; - } - self.fAttackFinished = self.ltime + self.wait; - - // Only trigger stuff when we are done moving - if ( ( self.state == STATE_RAISED ) || ( self.state == STATE_LOWERED ) ) { - if ( self.delay > 0 ) { - Entities_UseTargets_Delay( self.delay ); - } else { - Entities_UseTargets(); - } - } - - if ( ( self.state == STATE_UP ) || ( self.state == STATE_RAISED ) ){ - FuncDoor_MoveBack(); - return; - } - - FuncDoor_MoveAway(); -} - -/* -==================== -FuncDoor_Touch -==================== -*/ -void FuncDoor_Touch( void ) { - if ( self.spawnflags & SF_MOV_TOGGLE ) { - return; - } - - if ( other.movetype == MOVETYPE_WALK ) { - if ( other.absmin_z <= self.maxs_z - 2 ) { - FuncDoor_Trigger(); - } - } -} - -/* -==================== -FuncDoor_Blocked -==================== -*/ -void FuncDoor_Blocked( void ) { - if( self.dmg ) { - Damage_Apply( other, self, self.dmg, other.origin, FALSE ); - } - - if ( self.wait >= 0 ) { - if ( self.state == STATE_DOWN ) { - FuncDoor_MoveAway (); - } else { - FuncDoor_MoveBack (); - } - } -} - -/* -==================== -func_door - -Spawn function of a moving door entity -==================== -*/ -void func_door( void ) { - static void func_door_respawn( void ) { - self.solid = SOLID_BSP; - self.movetype = MOVETYPE_PUSH; - setorigin( self, self.origin ); - setmodel( self, self.model ); - - self.blocked = FuncDoor_Blocked; - self.vUse = FuncDoor_Trigger; - - if ( self.wait == -1 ) { - self.spawnflags = self.spawnflags | SF_MOV_TOGGLE; - } - - if ( !self.speed ) { - self.speed = 100; - } - - if ( !self.dmg ) { - self.dmg = 2; - } - - if ( self.spawnflags & SF_MOV_USE ) { - self.iUsable = TRUE; - } else { - self.touch = FuncDoor_Touch; - } - - self.state = STATE_LOWERED; - self.pos1 = self.origin; - self.pos2 = ( self.pos1 + self.movedir * ( fabs( self.movedir * self.size ) - self.lip ) ); - - if ( self.spawnflags & SF_MOV_OPEN ) { - setorigin( self, self.pos2 ); - self.pos2 = self.pos1; - self.pos1 = self.origin; - } - } - - FuncDoor_PrecacheSounds(); - Entities_SetMovementDirection(); - func_door_respawn(); - Entities_InitRespawnable( func_door_respawn ); - Entities_RenderSetup(); -} diff --git a/Source/Server/FuncDoorRotating.c b/Source/Server/FuncDoorRotating.c deleted file mode 100755 index 8b4573fd..00000000 --- a/Source/Server/FuncDoorRotating.c +++ /dev/null @@ -1,275 +0,0 @@ -/* - 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. -*/ - -/* -================= -func_door_rotating Spawnflags -================= -*/ - -enumflags { - SF_ROT_OPEN, - SF_ROT_REVERSE, - SF_ROT_UNLINK, - SF_ROT_ONEWAY, - SF_ROT_TOGGLE, - SF_ROT_XAXIS, - SF_ROT_YAXIS, - SF_ROT_USE -}; - -void FuncDoorRotate_RotateAway( void ); -void FuncDoorRotate_RotateBack( void ); -void FuncDoorRotate_Touch( void ); - -/* -================= -FuncDoorRotate_Arrived -================= -*/ -void FuncDoorRotate_Arrived( void ) { - self.state = STATE_RAISED; - - if( self.stopsnd > 0 && self.stopsnd <= 8 ) { - sound( self, CHAN_VOICE, sprintf( "doors/doorstop%d.wav", self.stopsnd ), 1.0, ATTN_NORM ); - } else { - sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); - } - - if ( !(self.spawnflags & SF_ROT_USE) ) { - self.touch = FuncDoorRotate_Touch; - } - if ( self.wait < 0 ) { - return; - } - - self.think = FuncDoorRotate_RotateBack; - self.nextthink = ( self.ltime + self.wait ); -} - -/* -================= -FuncDoorRotate_Returned -================= -*/ -void FuncDoorRotate_Returned( void ) { - if ( !(self.spawnflags & SF_ROT_USE) ) { - self.touch = FuncDoorRotate_Touch; - } - - self.state = STATE_LOWERED; -} - -/* -================= -FuncDoorRotate_RotateBack -================= -*/ -void FuncDoorRotate_RotateBack( void ) { - - if ( self.movesnd > 0 && self.movesnd <= 10 ) { - sound( self, CHAN_VOICE, sprintf( "doors/doormove%d.wav", self.movesnd ), 1.0, ATTN_NORM ); - } else { - sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); - } - - if ( !(self.spawnflags & SF_ROT_USE) ) { - self.touch = __NULL__; - } - - self.state = STATE_DOWN; - Entities_RotateToDestination( self.pos1, self.speed, FuncDoorRotate_Returned ); -} - -/* -================= -FuncDoorRotate_Away -================= -*/ -void FuncDoorRotate_RotateAway( void ) { - float fDirection = 1.0; - - if ( self.state == STATE_UP ) { - return; - } - - if ( self.movesnd > 0 && self.movesnd <= 10 ) { - sound( self, CHAN_VOICE, sprintf( "doors/doormove%d.wav", self.movesnd ), 1.0, ATTN_NORM ); - } else { - sound( self, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM ); - } - - if ( self.state == STATE_RAISED ) { - self.nextthink = ( self.ltime + self.wait ); - return; - } - - self.state = STATE_UP; - - if ( !( self.spawnflags & SF_ROT_ONEWAY ) ) { - vector vDifference = eActivator.origin - self.origin; - vector vAngles = eActivator.angles; - vAngles_x = vAngles_z = 0; - - makevectors( vAngles ); - - vector vNext = ( eActivator.origin + ( v_forward * 10 ) ) - self.origin; - - if ( ( ( vDifference_x * vNext_y ) - ( vDifference_y * vNext_x ) ) < 0 ) { - fDirection = -1.0; - } - } - - Entities_RotateToDestination( self.pos2 * fDirection, self.speed, FuncDoorRotate_Arrived ); -} - -/* -================= -brush_rotate_trigger - What happens when you +use the brush or trigger it -================= -*/ -void FuncDoorRotate_Trigger( void ) { - if ( self.fAttackFinished > time ) { - return; - } - self.fAttackFinished = time + self.wait; - - if ( ( self.state == STATE_UP ) || ( self.state == STATE_RAISED ) ) { - FuncDoorRotate_RotateBack(); - return; - } - - FuncDoorRotate_RotateAway(); - - if ( self.delay ) { - Entities_UseTargets_Delay( self.delay ); - } else { - Entities_UseTargets(); - } -} - -/* -================= -FuncDoorRotate_Touch -================= -*/ -void FuncDoorRotate_Touch( void ) { - if ( self.spawnflags & SF_ROT_TOGGLE ) { - return; - } - - if ( other.movetype == MOVETYPE_WALK ) { - if ( other.absmin_z <= self.maxs_z - 2 ) { - eActivator = other; - FuncDoorRotate_Trigger(); - } - } -} - -/* -================= -FuncDoorRotate_Blocked -================= -*/ -void FuncDoorRotate_Blocked( void ) { - if ( self.dmg ) { - Damage_Apply( other, self, self.dmg, other.origin, FALSE ); - } - - if ( self.wait >= 0 ) { - if ( self.state == STATE_DOWN ) { - FuncDoorRotate_RotateAway (); - } else { - FuncDoorRotate_RotateBack (); - } - } -} - -/* -================= -BrushRotate - - Brush entity that rotates into a specific direction. - Has the ability to trigger an object once touched, used or triggered otherwise. -================= -*/ -void func_door_rotating( void ) { - static void func_door_rotating_respawn( void ) { - self.solid = SOLID_BSP; - self.movetype = MOVETYPE_PUSH; - setorigin( self, self.origin ); - setmodel( self, self.model ); - - self.blocked = FuncDoorRotate_Blocked; - self.vUse = FuncDoorRotate_Trigger; - - if ( self.spawnflags & SF_ROT_USE ) { - self.iUsable = TRUE; - } else { - self.touch = FuncDoorRotate_Touch; - } - - if ( !self.speed ) { - self.speed = 100; - } - - if ( self.wait == 0 ) { - self.wait = 4; - } - - self.state = STATE_LOWERED; - self.pos1 = self.angles; - - // Only do Y - if ( self.spawnflags & SF_ROT_XAXIS ) { - self.pos2_y = self.pos1_y + self.distance; - - } - - // Only do X - if ( self.spawnflags & SF_ROT_YAXIS ) { - self.pos2_x = self.pos1_x + self.distance; - - } - - // only do Y by default - if ( !( self.spawnflags & SF_ROT_YAXIS ) && !( self.spawnflags & SF_ROT_XAXIS ) ) { - self.pos2_y = self.pos1_y + self.distance; - } - - if ( self.spawnflags & SF_ROT_OPEN ) { - vector vTemp = self.pos2; - self.pos2 = self.pos1; - self.pos1 = vTemp; - self.angles = self.pos1; - } - } - FuncDoor_PrecacheSounds(); - Entities_SetMovementDirection(); - func_door_rotating_respawn(); - Entities_InitRespawnable( func_door_rotating_respawn ); - Entities_RenderSetup(); -} diff --git a/Source/Server/FuncEscapeZone.c b/Source/Server/FuncEscapeZone.c deleted file mode 100755 index 218fa773..00000000 --- a/Source/Server/FuncEscapeZone.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - 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. -*/ - -/* - -TODO: This gamemode is odd about balancing, right now the last surviving terrorist - will decide the match. Still have to think about what rules to set up. -*/ - -/* -================= -func_escapezone_touch -================= -*/ -void func_escapezone_touch( void ) { - if ( ( other.classname == "player" ) && ( other.team == TEAM_T ) ) { - entity eOld = self; - self = other; - - Spawn_MakeSpectator(); - self.classname = "player"; - forceinfokey( self, "*dead", "0" ); - self.health = 0; - Rules_CountPlayers(); - self = eOld; - - if ( iAlivePlayers_T == 0 ) { - Rules_RoundOver( TEAM_T, 2500, FALSE ); - } - } -} - -/* -================= -SPAWN: func_escapezone - -Entry function for the terrorist escape zone -================= -*/ -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; - - iEscapeZones++; -} diff --git a/Source/Server/FuncHostageRescue.c b/Source/Server/FuncHostageRescue.c deleted file mode 100755 index b77cd5f2..00000000 --- a/Source/Server/FuncHostageRescue.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - 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. -*/ - -/* -================= -func_hostage_rescue_touch -================= -*/ -void func_hostage_rescue_touch( void ) { - if ( ( other.classname == "player" ) && ( other.team == TEAM_CT ) ) { - other.fInHostageZone = TRUE; // Note: this will be cleared every frame inside SV_RunClientCommand - } else if ( other.classname == "hostage_entity" ) { - if ( self.solid == SOLID_NOT ) { - return; - } - - Radio_BroadcastMessage( RADIO_RESCUED ); - iHostagesRescued++; - - Money_AddMoney( other.eUser, 1000 ); - Money_QueTeamReward( TEAM_CT, 800 ); - - if ( other.eTargetPoint != other.eUser ) { - remove( other.eTargetPoint ); - } - - other.eTargetPoint = other.eUser = world; - - entity eOld = self; - self = other; - Entities_Remove(); - self = eOld; - - if ( iHostagesRescued >= iHostagesMax ) { - // TODO: Broadcast_Print: All Hostages have been rescued! - Rules_RoundOver( TEAM_CT, 0, FALSE ); - } - } -} - -/* -================= -SPAWN: func_hostage_rescue - -Entry function for the rescue area-markings. -================= -*/ -void func_hostage_rescue( 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_hostage_rescue_touch; - - iRescueZones++; -} - -void info_hostage_rescue( void ) { - self.mins = '-128 -128 -36'; - self.maxs = '128 128 36'; - func_hostage_rescue(); -} - -/* -================= -Game_CreateRescueZones - -Called by StartFrame if we somehow got no rescue zones -================= -*/ -void Game_CreateRescueZones( void ) { - entity eFind = findchain( classname, "info_player_start" ); - - while ( eFind ) { - entity eRescueZone = spawn(); - setorigin( eRescueZone, eFind.origin ); - - entity eOld = self; - self = eRescueZone; - info_hostage_rescue(); - self = eOld; - eFind = eFind.chain; - } -} diff --git a/Source/Server/FuncLadder.c b/Source/Server/FuncLadder.c deleted file mode 100755 index 22b2ef98..00000000 --- a/Source/Server/FuncLadder.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - 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. -*/ - -// Uncomment this once FTEs engine ladder is fixed? -//#define FTE_LADDER - -/* -================= -func_ladder_sound -================= -*/ -void func_ladder_sound( entity target ) { - if ( ( target.velocity_z == 0 ) || ( target.fStepTime > time ) ) { - return; - } - - float vStep = target.velocity_z; - - if ( vStep < 0 ) { - vStep *= -1.0; - } - - float fForce = vStep; - float fDelay = clamp( 0.1, 1 / ( fForce / 90 ), 1 ); - - sound( target, CHAN_BODY, sprintf( "player/pl_ladder%d.wav", floor( random() * 4 ) + 1 ), 0.5, ATTN_IDLE ); - target.fStepTime = ( time + fDelay ); -} - -/* -================= -func_ladder_touch -================= -*/ -void func_ladder_touch( void ) { - if ( other.classname != "player" ) { - return; - } - -#ifndef FTE_LADDER - vector vPlayerVector; - makevectors( other.v_angle ); - vPlayerVector = v_forward; - vPlayerVector = ( vPlayerVector * 240 ); - - if ( other.movement_x > 0 ) { - other.velocity = vPlayerVector; - } else { - other.velocity = '0 0 0'; - } -#endif - - func_ladder_sound( other ); -} - -/* -================= -SPAWN: func_ladder - -A trigger like brush that allows you to 'climb' up or down -================= -*/ -void func_ladder( void ) { - precache_sound( "player/pl_ladder1.wav" ); - precache_sound( "player/pl_ladder2.wav" ); - precache_sound( "player/pl_ladder3.wav" ); - precache_sound( "player/pl_ladder4.wav" ); - - self.angles = '0 0 0'; - self.movetype = MOVETYPE_NONE; - self.solid = SOLID_TRIGGER; - setmodel( self, self.model ); - self.model = 0; - -#ifdef FTE_LADDER - self.skin = CONTENT_LADDER; - self.alpha = 0.001; -#endif - - self.touch = func_ladder_touch; -} diff --git a/Source/Server/FuncPushable.c b/Source/Server/FuncPushable.c deleted file mode 100755 index f9dea6e1..00000000 --- a/Source/Server/FuncPushable.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - 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. -*/ - -/* -================= -SPAWN: func_pushable - -Entry function for the brushes that players can push. -Pushables are an extension of breakables, so they mostly -explain themselves. -================= -*/ -void func_pushable( void ) { - static void func_pushable_touch( void ) { - if ( other.classname == "player" ) { - func_breakable_touch(); - - if ( other.absmin_z <= self.maxs_z - 2 ) { - self.movedir = other.movement; - self.v_angle = other.angles; - } - } - } - static void func_pushable_use( void ) { - if ( eActivator.classname != "player" ) { - if ( self.health > 0 ) { - func_breakable_use(); - return; - } - } - - self.movedir = eActivator.movement; - self.v_angle = eActivator.angles; - } - static void func_pushable_physics( void ) { - input_movevalues = [ self.movedir_x * 100, self.movedir_y * 100, 0 ]; - input_impulse = input_buttons = 0; - input_angles = self.v_angle; - input_timelength = frametime; - self.movedir = '0 0 0'; - - runstandardplayerphysics( self ); - } - static void func_pushable_respawn( void ) { - self.takedamage = DAMAGE_YES; - self.solid = SOLID_SLIDEBOX; - self.movetype = MOVETYPE_WALK; - self.customphysics = func_pushable_physics; - self.touch = func_pushable_touch; - self.vUse = func_pushable_use; - self.vPain = func_breakable_pain; - self.vDeath = func_breakable_die; - self.iBleeds = FALSE; - self.iUsable = TRUE; - } - - func_wall(); - func_pushable_respawn(); - - Entities_InitRespawnable( func_pushable_respawn ); -} diff --git a/Source/Server/FuncVIPSafetyZone.c b/Source/Server/FuncVIPSafetyZone.c deleted file mode 100755 index 9c0da629..00000000 --- a/Source/Server/FuncVIPSafetyZone.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - 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. -*/ - -/* -================= -func_vip_safetyzone_touch -================= -*/ -void func_vip_safetyzone_touch( void ) { - if ( ( other.classname == "player" ) && ( other.team == TEAM_VIP ) ) { - Rules_RoundOver( TEAM_CT, 2500, FALSE ); - - entity eOld = self; - self = other; - - Spawn_MakeSpectator(); - self.classname = "player"; - self.team = TEAM_CT; - forceinfokey( self, "*dead", "0" ); - iAlivePlayers_CT--; - - self = eOld; - } -} - -/* -================= -SPAWN: func_vip_safetyzone - -Entry function for the VIP escape zone -================= -*/ -void func_vip_safetyzone( 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_vip_safetyzone_touch; - iVIPZones++; -} diff --git a/Source/Server/FuncVehicle.c b/Source/Server/FuncVehicle.c deleted file mode 100755 index 610ba868..00000000 --- a/Source/Server/FuncVehicle.c +++ /dev/null @@ -1,188 +0,0 @@ -/* - 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. -*/ - -.entity eDriver; -.entity eVehicle; - -.float height; - -enum { - STATE_REVERSE = -1, - STATE_OFF, - STATE_GEAR1, - STATE_GEAR2, - STATE_GEAR3 -}; - -/* -================= -SPAWN: func_vehicle - -The function that creates life -================= -*/ -void func_vehicle_physics( void ) { - if ( self.eDriver ) { - // Input, gears - if ( self.fAttackFinished < time ) { - if ( self.eDriver.movement_x > 0 ) { - self.state++; - if ( self.state > STATE_GEAR3 ) { - self.state = STATE_GEAR3; - } - } else if ( self.eDriver.movement_x < 0 ) { - self.state--; - if ( self.state < STATE_REVERSE ) { - self.state = STATE_REVERSE; - } - } - self.fAttackFinished = time + 0.25f; - } - - if ( self.eDriver.movement_y > 0 ) { - self.angles_y -= frametime * 100; - } else if ( self.eDriver.movement_y < 0 ) { - self.angles_y += frametime * 100; - } - } else { - - } - - // Figure out the next position - makevectors( self.angles + self.v_angle ); - tracebox( self.origin, self.mins, self.maxs, self.origin + ( ( v_forward * ( 100 * self.state ) ) * frametime ), FALSE, self ); - setorigin( self, self.origin + ( ( v_forward * ( 100 * self.state ) ) * frametime ) ); - - // Update driver position as well - if ( self.eDriver ) { - setorigin( self.eDriver, self.eDriver.origin + ( ( v_forward * ( 100 * self.state ) ) * frametime ) ); - } -} - -/* -================= -SPAWN: func_vehicle - -The function that creates life -================= -*/ -void func_vehicle( void ) { - static void func_vehicle_setup( void ) { - entity eStop1 = find( world, targetname, self.target ); - bprint( sprintf( "self.origin: %v targetpos: %v\n", self.origin, eStop1.origin ) ); - setorigin( self, eStop1.origin ); - - - entity eStop2 = find( world, targetname, eStop1.target ); - self.v_angle = vectoangles( eStop2.origin - self.origin ); - bprint( sprintf( "self.origin: %v target2pos: %v & angles: %v\n", self.origin, eStop2.origin, self.v_angle ) ); - setorigin( self, self.origin + [ 0, 0, self.height ] ); - } - static void func_vehicle_use( void ) { - bprint( "Used!\n" ); - if ( self.eDriver ) { - if ( self.eDriver != eActivator ) { - // Someone else is using it, don't let him - return; - } else { - // Unassign driver - self.eDriver = __NULL__; - } - } else { - self.eDriver = eActivator; - } - } - static void func_vehicle_respawn( void ) { - func_vehicle_setup(); - self.angles = '0 0 0'; - } - - self.solid = SOLID_BSP; - self.customphysics = func_vehicle_physics; - - self.iUsable = TRUE; - self.vUse = func_vehicle_use; - - setmodel( self, self.model ); - Entities_RenderSetup(); - - Entities_InitRespawnable( func_vehicle_respawn ); -} - -void path_track( void ) { - -} - -/* -================= -SPAWN: func_vehiclecontrols - -The function that enables life -================= -*/ -/*void func_vehiclecontrols2( void ) { - static void func_vehiclecontrols_setup( void ) { - if ( !self.target ) { - objerror( "func_vehiclecontrols without func_vehicle" ); - } - - self.owner = find( world, targetname, self.target ); - - if ( !self.owner ) { - objerror( "func_vehiclecontrols' target cannot be found" ); - } else { - self.owner.owner = self; - } - self.owner.vControlPos = self.owner.origin - self.origin; - } - static void func_vehiclecontrols_respawn( void ) { - self.angles = '0 0 0'; - } - static void func_vehiclecontrols_use( void ) { - bprint( "Used!\n" ); - if ( self.owner.eDriver ) { - if ( self.owner.eDriver != eActivator ) { - // Someone else is using it, don't let him - return; - } else { - // Unassign driver - self.owner.eDriver == __NULL__; - } - } else { - self.owner.eDriver = eActivator; - self.owner.vPlayerPos = self.owner.origin - eActivator.origin; - } - } - - self.solid = SOLID_BSP; - self.iUsable = TRUE; - self.vUse = func_vehiclecontrols_use; - setmodel( self, self.model ); - Entities_RenderSetup(); - Entities_InitRespawnable( func_vehiclecontrols_respawn ); - self.think = func_vehiclecontrols_setup; - self.nextthink = time + 0.1f; -}*/ diff --git a/Source/Server/Player.c b/Source/Server/Player.c index 15fe73cb..e748f21b 100755 --- a/Source/Server/Player.c +++ b/Source/Server/Player.c @@ -180,7 +180,7 @@ void Player_UseDown( void ) { vSource = self.origin + self.view_ofs; traceline ( vSource, vSource + ( v_forward * 64 ), FALSE, self); - if (trace_ent.gflags & GF_USABLE) { + if (trace_ent.PlayerUse) { 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 ); diff --git a/Source/Server/Rules.c b/Source/Server/Rules.c index 523bb223..04c82812 100755 --- a/Source/Server/Rules.c +++ b/Source/Server/Rules.c @@ -194,15 +194,15 @@ void Rules_Restart( int iWipe ) { } } - + // Respawn all the entities - for ( entity eFind = world; ( eFind = findfloat( eFind, fRespawns, TRUE ) ); ) { - self = eFind; - Entities_Respawn(); + for (entity a = world; (a = findfloat(a, gflags, GF_CANRESPAWN));) { + CBaseEntity caw = (CBaseEntity)a; + caw.Respawn(); } - + self = eOld; - + Timer_Begin( autocvar_mp_freezetime, GAME_FREEZE ); Money_ResetTeamReward(); fDefuseProgress = 0; diff --git a/Source/Server/func_bomb_target.cpp b/Source/Server/func_bomb_target.cpp new file mode 100755 index 00000000..bee35639 --- /dev/null +++ b/Source/Server/func_bomb_target.cpp @@ -0,0 +1,35 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class func_bomb_target +{ + void() func_bomb_target; + virtual void() touch; +}; + +void func_bomb_target::touch(void) +{ + if (iBombPlanted == TRUE) { + return; + } + + /* This will be cleared every frame inside SV_RunClientCommand */ + if ((other.classname == "player") && (other.team == TEAM_T)) { + other.fInBombZone = TRUE; + } +} + +void func_bomb_target::func_bomb_target(void) +{ + angles = [0,0,0]; + movetype = MOVETYPE_NONE; + solid = SOLID_TRIGGER; + setmodel(this, model); + model = 0; + iBombZones++; +} diff --git a/Source/Server/FuncBuyZone.c b/Source/Server/func_buyzone.cpp similarity index 69% rename from Source/Server/FuncBuyZone.c rename to Source/Server/func_buyzone.cpp index 26ba7ad9..59e280df 100755 --- a/Source/Server/FuncBuyZone.c +++ b/Source/Server/func_buyzone.cpp @@ -24,52 +24,48 @@ OTHER DEALINGS IN THE SOFTWARE. */ -/* -================= -func_buyzone_touch -================= -*/ -void func_buyzone_touch( void ) { - if( ( other.classname == "player" ) && ( other.team == self.team ) ) { - other.fInBuyZone = TRUE; // Note: this will be cleared every frame inside SV_RunClientCommand +class func_buyzone +{ + void() func_buyzone; + virtual void() touch; +}; + +void func_buyzone::touch(void) +{ + /* This will be cleared every frame inside SV_RunClientCommand */ + if((other.classname == "player" ) && (other.team == self.team)) { + other.fInBuyZone = TRUE; } } -/* -================= -SPAWN: func_buyzone - -Entry function for the buyzone area-markings. -================= -*/ -void func_buyzone( void ) { - if ( autocvar_fcs_knifeonly == TRUE ) { +void func_buyzone::func_buyzone(void) +{ + if (autocvar_fcs_knifeonly == TRUE) { remove( self ); return; } - if ( autocvar_fcs_swapteams == TRUE ) { - if (self.team == TEAM_T) { - self.team = TEAM_CT; - } else if (self.team == TEAM_CT) { - self.team = TEAM_T; + if (autocvar_fcs_swapteams == TRUE) { + if (team == TEAM_T) { + team = TEAM_CT; + } else if (team == TEAM_CT) { + team = TEAM_T; } } - self.angles = '0 0 0'; - self.movetype = MOVETYPE_NONE; - self.solid = SOLID_TRIGGER; - - if ( self.model ) { - setmodel( self, self.model ); + angles = '0 0 0'; + movetype = MOVETYPE_NONE; + solid = SOLID_TRIGGER; + + if (model) { + setmodel(this, model); } else { - self.mins = '-128 -128 -36'; - self.maxs = '128 128 36'; - setsize( self, self.mins, self.maxs ); + mins = '-128 -128 -36'; + maxs = '128 128 36'; + setsize(this, mins, maxs); } - - self.model = 0; - self.touch = func_buyzone_touch; + + model = 0; iBuyZones++; } @@ -95,7 +91,7 @@ void Game_CreateBuyZones( void ) { entity eBuyZoneT = spawn(); setorigin( eBuyZoneT, eFind.origin ); self = eBuyZoneT; - func_buyzone(); + spawnfunc_func_buyzone(); self.team = TEAM_T; eFind = eFind.chain; @@ -111,7 +107,7 @@ void Game_CreateBuyZones( void ) { entity eBuyZoneCT = spawn(); setorigin( eBuyZoneCT, eFind.origin ); self = eBuyZoneCT; - func_buyzone(); + spawnfunc_func_buyzone(); self.team = TEAM_CT; eFind = eFind.chain; diff --git a/Source/Server/func_escapezone.cpp b/Source/Server/func_escapezone.cpp new file mode 100644 index 00000000..0425de78 --- /dev/null +++ b/Source/Server/func_escapezone.cpp @@ -0,0 +1,70 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +/* + +TODO: This gamemode is odd about balancing, right now the last surviving terrorist + will decide the match. Still have to think about what rules to set up. +*/ + +class func_escapezone +{ + void() func_escapezone; + virtual void() touch; +}; + +void Escape_Touch(entity targ) +{ + entity eOld = self; + self = targ; + Spawn_MakeSpectator(); + self.classname = "player"; + forceinfokey( self, "*dead", "0" ); + self.health = 0; + Rules_CountPlayers(); + self = eOld; +} + +/* +================= +func_escapezone_touch +================= +*/ +void func_escapezone::touch(void) +{ + if ((other.classname == "player") && (other.team == TEAM_T)) { + Escape_Touch(other); + + if (iAlivePlayers_T == 0) { + Rules_RoundOver(TEAM_T, 2500, FALSE); + } + } +} + +/* +================= +SPAWN: func_escapezone + +Entry function for the terrorist escape zone +================= +*/ +void func_escapezone::func_escapezone(void) +{ + angles = [0,0,0]; + movetype = MOVETYPE_NONE; + solid = SOLID_TRIGGER; + + if ( model ) { + setmodel( self, model ); + } else { + setsize( self, mins, maxs ); + } + + model = 0; + iEscapeZones++; +} diff --git a/Source/Server/func_hostage_rescue.cpp b/Source/Server/func_hostage_rescue.cpp new file mode 100644 index 00000000..c9719237 --- /dev/null +++ b/Source/Server/func_hostage_rescue.cpp @@ -0,0 +1,58 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class func_hostage_rescue +{ + void() func_hostage_rescue; + virtual void() touch; +}; + +void func_hostage_rescue::touch(void) +{ + if ((other.classname == "player" ) && ( other.team == TEAM_CT )) { + /* This will be cleared every frame inside SV_RunClientCommand */ + other.fInHostageZone = TRUE; + } else if (other.classname == "hostage_entity") { + hostage_entity hosty = (hostage_entity)other; + if (solid == SOLID_NOT) { + return; + } + + Radio_BroadcastMessage(RADIO_RESCUED); + iHostagesRescued++; + + Money_AddMoney(hosty.m_eUser, 1000); + Money_QueTeamReward(TEAM_CT, 800); + + CBaseEntity targa = (CBaseEntity)other; + targa.Hide(); + + if (iHostagesRescued >= iHostagesMax) { + // TODO: Broadcast_Print: All Hostages have been rescued! + Rules_RoundOver(TEAM_CT, 0, FALSE); + } + } +} + +void func_hostage_rescue::func_hostage_rescue( void ) +{ + angles = '0 0 0'; + movetype = MOVETYPE_NONE; + solid = SOLID_TRIGGER; + + if (model) { + setmodel(this, model); + } else { + mins = '-128 -128 -36'; + maxs = '128 128 36'; + setsize(this, mins, maxs); + } + model = 0; + + iRescueZones++; +} diff --git a/Source/Server/func_vip_safetyzone.cpp b/Source/Server/func_vip_safetyzone.cpp new file mode 100644 index 00000000..195f8dd1 --- /dev/null +++ b/Source/Server/func_vip_safetyzone.cpp @@ -0,0 +1,50 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +class func_vip_safetyzone +{ + void() func_vip_safetyzone; + virtual void() touch; +}; + +/* Hack! Make this better? */ +void VIP_Rescue(entity targ) +{ + entity eOld = self; + self = other; + Spawn_MakeSpectator(); + self.classname = "player"; + self.team = TEAM_CT; + forceinfokey(self, "*dead", "0"); + iAlivePlayers_CT--; + self = eOld; +} + +void func_vip_safetyzone::touch(void) +{ + if ((other.classname == "player") && (other.team == TEAM_VIP)) { + Rules_RoundOver(TEAM_CT, 2500, FALSE); + VIP_Rescue(other); + } +} + +void func_vip_safetyzone::func_vip_safetyzone(void) +{ + angles = '0 0 0'; + movetype = MOVETYPE_NONE; + solid = SOLID_TRIGGER; + + if (model) { + setmodel(this, model); + } else { + setsize(this, mins, maxs); + } + + model = 0; + iVIPZones++; +} diff --git a/Source/Server/hostage_entity.cpp b/Source/Server/hostage_entity.cpp new file mode 100644 index 00000000..8b772158 --- /dev/null +++ b/Source/Server/hostage_entity.cpp @@ -0,0 +1,187 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +enum { + HOSTAGE_IDLE, + HOSTAGE_WALK, + HOSTAGE_RUN +}; + +enum { + HOSA_WALK, + HOSA_WALKSCARED, + HOSA_RUN, + HOSA_RUNSCARED, + HOSA_RUNLOOK, + HOSA_180LEFT, + HOSA_180RIGHT, + HOSA_FLINCH, + HOSA_PAIN, + HOSA_PAINLEFT, + HOSA_PAINRIGHT, + HOSA_PAINLEGLEFT, + HOSA_PAINLEGRIGHT, + HOSA_IDLE1, + HOSA_IDLE2, + HOSA_IDLE3, + HOSA_IDLE4, + HOSA_IDLE5, + HOSA_IDLE6, + HOSA_SCARED_END, + HOSA_SCARED1, + HOSA_SCARED2, + HOSA_SCARED3, + HOSA_SCARED4, + HOSA_PANIC, + HOSA_FEAR1, + HOSA_FEAR2, + HOSA_CRY, + HOSA_SCI1, + HOSA_SCI2, + HOSA_SCI3, + HOSA_DIE_SIMPLE, + HOSA_DIE_FORWARD1, + HOSA_DIE_FORWARD2, + HOSA_DIE_BACKWARD, + HOSA_DIE_HEADSHOT, + HOSA_DIE_GUTSHOT, + HOSA_LYING1, + HOSA_LYING2, + HOSA_DEADSIT, + HOSA_DEADTABLE1, + HOSA_DEADTABLE2, + HOSA_DEADTABLE3 +}; + +class hostage_entity:CBaseEntity +{ + entity m_eUser; + int m_iUsed; + void() hostage_entity; + + virtual void() Hide; + virtual void() Respawn; + virtual void() PlayerUse; + virtual void(int) vPain; + virtual void(int) vDeath; + virtual void() Physics; +}; + +void hostage_entity::Physics(void) +{ + input_movevalues = [0,0,0]; + input_impulse = 0; + input_buttons = 0; + if (m_eUser!= world) { + vector enda = vectoangles(m_eUser.origin - origin); + enda[0] = 0; + enda[1] = Math_FixDelta(enda[1]); + enda[2] = 0; + v_angle = enda; + + if (vlen(m_eUser.origin - origin) > 128) { + input_movevalues[0] = 240; + } + } + + input_timelength = frametime; + input_angles = v_angle; + movetype = MOVETYPE_WALK; + + runstandardplayerphysics(this); + Footsteps_Update(); + + angles = v_angle; + movetype = MOVETYPE_NONE; +} + +void hostage_entity::PlayerUse(void) +{ + if (eActivator.team == TEAM_CT) { + if ((m_eUser == world)) { + // Only give cash to the CT for using it for the first time + if (m_iUsed == FALSE) { + Money_AddMoney(eActivator, 150); + sound(this, CHAN_VOICE, sprintf("hostage/hos%d.wav", random(1, 6)), 1.0, ATTN_IDLE); + m_iUsed = TRUE; + } + + m_eUser = eActivator; + } else { + m_eUser = world; + } + } +} + +void hostage_entity::vPain(int iHitBody) +{ + frame = HOSA_FLINCH + floor(random(0, 5)); +} + +void hostage_entity::vDeath(int iHitBody) +{ + Radio_BroadcastMessage(RADIO_HOSDOWN); + frame = HOSA_DIE_SIMPLE + floor(random(0, 6)); + + solid = SOLID_NOT; + takedamage = DAMAGE_NO; + customphysics = Empty; +} + +void hostage_entity::Hide(void) +{ + setmodel(this, ""); + m_eUser = world; + solid = SOLID_NOT; + movetype = MOVETYPE_NONE; + customphysics = __NULL__; +} + +void hostage_entity::Respawn(void) +{ + v_angle[0] = Math_FixDelta(m_oldAngle[0]); + v_angle[1] = Math_FixDelta(m_oldAngle[1]); + v_angle[2] = Math_FixDelta(m_oldAngle[2]); + + setorigin(this, m_oldOrigin); + angles = v_angle; + solid = SOLID_SLIDEBOX; + movetype = MOVETYPE_NONE; + setmodel(this, m_oldModel); + setsize(this, VEC_HULL_MIN + [0,0,36], VEC_HULL_MAX + [0,0,36]); + + m_eUser = world; + iBleeds = TRUE; + takedamage = DAMAGE_YES; + style = HOSTAGE_IDLE; + customphysics = Physics; + + frame = HOSA_IDLE1; + health = 100; + velocity = [0,0,0]; + m_iUsed = FALSE; +} + +void hostage_entity::hostage_entity(void) +{ + // Path hack, FIXME do it a better way + if (model == "/models/hostage.mdl") { + model = ""; + } + + if (!model) { + model = "models/hostage.mdl"; + } + + CBaseEntity::CBaseEntity(); + + precache_model(m_oldModel); + setmodel(this, m_oldModel); + iHostagesMax = iHostagesMax + 1; + Respawn(); +} diff --git a/Source/Server/info_hostage_rescue.cpp b/Source/Server/info_hostage_rescue.cpp new file mode 100644 index 00000000..73d98bee --- /dev/null +++ b/Source/Server/info_hostage_rescue.cpp @@ -0,0 +1,33 @@ +/*** +* +* Copyright (c) 2016-2019 Marco 'eukara' Hladik. All rights reserved. +* +* See the file LICENSE attached with the sources for usage details. +* +****/ + +void info_hostage_rescue(void) +{ + spawnfunc_func_hostage_rescue(); +} + +/* +================= +Game_CreateRescueZones + +Called by StartFrame if we somehow got no rescue zones +================= +*/ +void Game_CreateRescueZones(void) +{ + entity a; + int count = 0; + + for (a = world; (a = find(a, classname, "info_player_start"));) { + func_hostage_rescue zone = spawn(func_hostage_rescue); + setorigin(zone, a.origin); + count++; + } + + print(sprintf("Game: Created %i func_hostage_rescue\n", count)); +} diff --git a/Source/Server/progs.src b/Source/Server/progs.src index ae148a1f..6d13433b 100755 --- a/Source/Server/progs.src +++ b/Source/Server/progs.src @@ -48,7 +48,10 @@ Money.c ../Shared/spraylogo.cpp ../Shared/pmove.c - +hostage_entity.cpp +func_hostage_rescue.cpp +info_hostage_rescue.cpp +func_vip_safetyzone.cpp info_map_parameters.cpp Vox.c @@ -58,16 +61,9 @@ TraceAttack.c Rules.c Timer.c -EntHostage.c - -Entities.c -FuncHostageRescue.c -FuncEscapeZone.c -FuncBombTarget.c -FuncBuyZone.c -FuncVIPSafetyZone.c - -ArmouryEntity.c +func_bomb_target.cpp +func_buyzone.cpp +func_escapezone.cpp Bot/Bot.h Bot/Way.c diff --git a/Source/Shared/WeaponC4Bomb.c b/Source/Shared/WeaponC4Bomb.c index 3eed9340..a869dd32 100755 --- a/Source/Shared/WeaponC4Bomb.c +++ b/Source/Shared/WeaponC4Bomb.c @@ -114,7 +114,7 @@ static void WeaponC4BOMB_Think( void ) { if ( ( eBombChain.classname == "func_bomb_target" ) ) { entity eOld = self; self = eBombChain; - Entities_UseTargets(); + //Entities_UseTargets(); self = eOld; } eBombChain = eBombChain.chain; @@ -160,7 +160,6 @@ void WeaponC4BOMB_Drop( vector vBombPos, vector vNormal ) { eBomb.customphysics = WeaponC4BOMB_Think; eBomb.fAttackFinished = time + autocvar_mp_c4timer; - eBomb.gflags = GF_USABLE; eBomb.PlayerUse = WeaponC4BOMB_Use; eBomb.owner = self; diff --git a/Source/gs-entbase/client/fade.cpp b/Source/gs-entbase/client/fade.cpp index bc56067b..8a728e3d 100644 --- a/Source/gs-entbase/client/fade.cpp +++ b/Source/gs-entbase/client/fade.cpp @@ -1,6 +1,8 @@ /*** * -* Copyright (c) 2000-2019, Vera Visions. All rights reserved. +* 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/cycler.cpp b/Source/gs-entbase/server/cycler.cpp index 78d13b13..93d9721d 100644 --- a/Source/gs-entbase/server/cycler.cpp +++ b/Source/gs-entbase/server/cycler.cpp @@ -28,14 +28,25 @@ Notes class cycler:CBaseEntity { void() cycler; + virtual void(entity, int, int) vPain; }; +void cycler::vPain(entity attacker, int type, int damage) +{ + if (frame >= modelframecount(modelindex)) { + frame = 0; + } else { + frame += 1; + } + health = 9999; +} + void cycler::cycler(void) { - precache_model(model); CBaseEntity::CBaseEntity(); - setmodel(this, model); + precache_model(m_oldModel); + setmodel(this, m_oldModel); solid = SOLID_BBOX; + takedamage = DAMAGE_YES; + health = 9999; } - - diff --git a/Source/gs-entbase/server/cycler_sprite.cpp b/Source/gs-entbase/server/cycler_sprite.cpp new file mode 100644 index 00000000..cef5cb01 --- /dev/null +++ b/Source/gs-entbase/server/cycler_sprite.cpp @@ -0,0 +1,27 @@ +/*** +* +* 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/cycler_sprite_(Half-Life) */ + +enumflags +{ + ENVS_STARTON, + ENVS_PLAYONCE +}; + +class cycler_sprite:CBaseEntity +{ + void() cycler_sprite; +}; + +void cycler_sprite::cycler_sprite(void) +{ + CBaseEntity::CBaseEntity(); + precache_model(m_oldModel); + Respawn(); +} diff --git a/Source/gs-entbase/server/defs.h b/Source/gs-entbase/server/defs.h index b3714c77..7a711501 100644 --- a/Source/gs-entbase/server/defs.h +++ b/Source/gs-entbase/server/defs.h @@ -12,21 +12,11 @@ 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 + GF_SEMI_TOGGLED }; void Effect_CreateSpark(vector pos, vector ang); diff --git a/Source/gs-entbase/server/env_glow.cpp b/Source/gs-entbase/server/env_glow.cpp index 62e272e3..ee8b30c4 100644 --- a/Source/gs-entbase/server/env_glow.cpp +++ b/Source/gs-entbase/server/env_glow.cpp @@ -6,7 +6,7 @@ * ****/ -/* https://twhl.info/wiki/page/env_sprite_(Half-Life) */ +/* https://twhl.info/wiki/page/env_glow_(Half-Life) */ enumflags { diff --git a/Source/gs-entbase/server/env_sprite.cpp b/Source/gs-entbase/server/env_sprite.cpp index 3d909ad0..e154662c 100644 --- a/Source/gs-entbase/server/env_sprite.cpp +++ b/Source/gs-entbase/server/env_sprite.cpp @@ -17,6 +17,11 @@ enumflags class env_sprite:CBaseTrigger { int m_iToggled; + float m_flFramerate; + float m_flScale; + float m_flAlpha; + float m_flEffects; + void() env_sprite; virtual void() Trigger; virtual float(entity, float) Network; @@ -33,24 +38,27 @@ float env_sprite::Network(entity pvsent, float flags) WriteCoord(MSG_ENTITY, origin_y); WriteCoord(MSG_ENTITY, origin_z); WriteFloat(MSG_ENTITY, modelindex); - WriteFloat(MSG_ENTITY, framerate); - WriteFloat(MSG_ENTITY, scale); - WriteFloat(MSG_ENTITY, alpha); + WriteFloat(MSG_ENTITY, m_flFramerate); + WriteFloat(MSG_ENTITY, m_flScale); + WriteFloat(MSG_ENTITY, m_flAlpha); WriteFloat(MSG_ENTITY, effects); return TRUE; } void env_sprite::NetworkOnce(void) { + WriteByte( MSG_MULTICAST, SVC_CGAMEPACKET ); WriteByte(MSG_ENTITY, EV_SPRITE); WriteCoord(MSG_ENTITY, origin_x); WriteCoord(MSG_ENTITY, origin_y); WriteCoord(MSG_ENTITY, origin_z); WriteFloat(MSG_ENTITY, modelindex); - WriteFloat(MSG_ENTITY, framerate); - WriteFloat(MSG_ENTITY, scale); - WriteFloat(MSG_ENTITY, alpha); + WriteFloat(MSG_ENTITY, m_flFramerate); + WriteFloat(MSG_ENTITY, m_flScale); + WriteFloat(MSG_ENTITY, m_flAlpha); WriteFloat(MSG_ENTITY, effects); + msg_entity = this; + multicast( origin, MULTICAST_PVS ); } void env_sprite::Trigger(void) @@ -65,6 +73,22 @@ void env_sprite::Trigger(void) void env_sprite::env_sprite(void) { + for (int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2) { + switch ( argv( i ) ) { + case "framerate": + m_flFramerate = stof(argv(i + 1)); + break; + case "scale": + m_flScale = stof(argv(i + 1)); + break; + case "alpha": + m_flAlpha = stof(argv(i + 1)); + break; + default: + break; + } + } + CBaseTrigger::CBaseTrigger(); precache_model(m_oldModel); Respawn(); diff --git a/Source/gs-entbase/server/func_breakable.cpp b/Source/gs-entbase/server/func_breakable.cpp index 3135ccfe..c5bf388f 100755 --- a/Source/gs-entbase/server/func_breakable.cpp +++ b/Source/gs-entbase/server/func_breakable.cpp @@ -20,7 +20,7 @@ enumflags SF_PRESSURE }; -class func_breakable : CBaseTrigger +class func_breakable:CBaseTrigger { float m_iMaterial; float m_flDelay; @@ -33,70 +33,70 @@ class func_breakable : CBaseTrigger virtual void() Trigger; virtual void() PlayerTouch; /*virtual void() PressureDeath;*/ - virtual void( entity eAttacker, int iType, int iDamage ) vPain; - virtual void( entity eAttacker, int iType, int iDamage ) vDeath; + virtual void(entity eAttacker, int iType, int iDamage) vPain; + virtual void(entity eAttacker, int iType, int iDamage) vDeath; }; -void func_breakable :: vPain ( entity attacker, int type, int damage ) +void func_breakable::vPain (entity attacker, int type, int damage) { if (spawnflags & SF_TRIGGER) { return; } - if (serverkeyfloat("*bspversion") != 30) { return; } - switch ( m_iMaterial ) { + + 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 ); + 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 ); + 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 ); + 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 ) ); + float fRand = floor(random(1, 8)); /* There never was a flesh4.wav */ - if ( fRand == 4 ) { + if (fRand == 4) { fRand = 5; } - sound( self, CHAN_VOICE, sprintf( "debris/flesh%d.wav", fRand ), 1.0, ATTN_NORM ); + 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 ); + sound(self, CHAN_VOICE, sprintf("debris/concrete%d.wav", random(1, 4)), 1.0, ATTN_NORM); break; } } -void func_breakable :: vDeath ( entity attacker, int type, int damage ) +void func_breakable::vDeath (entity attacker, int type, int damage) { if (m_iMaterial == MATERIAL_GLASS_UNBREAKABLE) { return; } health = 0; - Effect_BreakModel( absmin, absmax, '0 0 0', m_iMaterial ); + Effect_BreakModel(absmin, absmax, '0 0 0', m_iMaterial); CBaseTrigger::UseTargets(); CBaseEntity::Hide(); } -void func_breakable :: Trigger ( void ) +void func_breakable::Trigger(void) { - func_breakable::vDeath( world, 0, 0 ); + func_breakable::vDeath(world, 0, 0); } -/*void func_breakable :: PressureDeath ( void ) +/*void func_breakable::PressureDeath(void) { func_breakable::vDeath(m_pressAttacker, m_pressType, m_pressDamage); }*/ -void func_breakable :: PlayerTouch ( void ) +void func_breakable::PlayerTouch(void) { - if ( other.classname == classname ) { + if (other.classname == classname) { return; } @@ -105,7 +105,7 @@ void func_breakable :: PlayerTouch ( void ) if (fDamage >= health) { touch = __NULL__; - Damage_Apply( this, other, fDamage, absmin, FALSE ); + Damage_Apply(this, other, fDamage, absmin, FALSE); if ((m_iMaterial == MATERIAL_GLASS) || (m_iMaterial == MATERIAL_COMPUTER)) { Damage_Apply(other, this, fDamage / 4, other.origin, FALSE); @@ -126,14 +126,18 @@ void func_breakable :: PlayerTouch ( void ) } -void func_breakable :: Respawn ( void ) +void func_breakable::Respawn(void) { - setorigin(this, m_oldOrigin); + precache_model(m_oldModel); + angles = [0,0,0]; + movetype = MOVETYPE_NONE; + solid = SOLID_BSP; setmodel(this, m_oldModel); + setorigin(this, m_oldOrigin); touch = PlayerTouch; think = __NULL__; - if ( spawnflags & SF_TRIGGER ) { + if (spawnflags & SF_TRIGGER) { takedamage = DAMAGE_NO; } else { takedamage = DAMAGE_YES; @@ -141,28 +145,23 @@ void func_breakable :: Respawn ( void ) health = m_oldHealth; - if ( !health ) { + if (!health) { health = 15; } } -void func_breakable :: func_breakable( void ) +void func_breakable::func_breakable(void) { - precache_model( model ); - angles = [0,0,0]; - movetype = MOVETYPE_NONE; - solid = SOLID_BSP; - setmodel( this, model ); CBaseEntity::CBaseEntity(); func_breakable::Respawn(); - for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { - switch ( argv( i ) ) { + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { case "material": - m_iMaterial = stof( argv( i + 1 ) ); + m_iMaterial = stof(argv(i + 1)); break; case "delay": - m_flDelay = stof( argv( i + 1 ) ); + m_flDelay = stof(argv(i + 1)); break; default: break; diff --git a/Source/gs-entbase/server/func_button.cpp b/Source/gs-entbase/server/func_button.cpp index 6e2d2971..47d342ca 100644 --- a/Source/gs-entbase/server/func_button.cpp +++ b/Source/gs-entbase/server/func_button.cpp @@ -25,7 +25,7 @@ enum FRAME_ON }; -class func_button : CBaseTrigger +class func_button:CBaseTrigger { float m_flSpeed; float m_flLip; @@ -39,9 +39,11 @@ class func_button : CBaseTrigger string m_strNoise; float m_flWait; float m_flDelay; + vector m_vecMoveDir; virtual void() m_pMove = 0; virtual void() Precache; + virtual void() Respawn; virtual void() Arrived; virtual void() Returned; virtual void() MoveBack; @@ -49,17 +51,17 @@ class func_button : CBaseTrigger virtual void() Touch; virtual void() Blocked; virtual void() Trigger; - virtual void() PlayerUse; + virtual void() Use; virtual void() SetMovementDirection; virtual void(vector vdest, void() func) MoveToDestination; virtual void() MoveToDestination_End; }; -void func_button :: Precache( void ) +void func_button::Precache(void) { - precache_model( model ); - switch( m_iSounds ) { + precache_model(model); + switch(m_iSounds) { case 0: m_strNoise = "common/null.wav"; break; @@ -124,29 +126,29 @@ void func_button :: Precache( void ) m_strNoise = "buttons/button9.wav"; } - precache_sound( m_strNoise ); + precache_sound(m_strNoise); } -void func_button :: Arrived( void ) +void func_button::Arrived(void) { m_iState = STATE_RAISED; - if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + if (!(spawnflags & SF_BTT_TOUCH_ONLY)) { touch = Touch; } - if ( spawnflags & SF_BTT_TOGGLE ) { + if (spawnflags & SF_BTT_TOGGLE) { return; } - if ( m_flWait != -1 ) { + if (m_flWait != -1) { think = MoveBack; - nextthink = ( ltime + m_flWait ); + nextthink = (ltime + m_flWait); } } -void func_button :: Returned( void ) +void func_button::Returned(void) { - if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + if (!(spawnflags & SF_BTT_TOUCH_ONLY)) { touch = Touch; } @@ -154,36 +156,36 @@ void func_button :: Returned( void ) frame = FRAME_OFF; } -void func_button :: MoveBack( void ) +void func_button::MoveBack(void) { - if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + if (!(spawnflags & SF_BTT_TOUCH_ONLY)) { touch = __NULL__; } m_iState = STATE_DOWN; - if ( m_vecPos2 != m_vecPos1 ) { - func_button::MoveToDestination ( m_vecPos1, Returned ); + if (m_vecPos2 != m_vecPos1) { + func_button::MoveToDestination (m_vecPos1, Returned); } else { func_button::Returned(); } } -void func_button :: MoveAway( void ) +void func_button::MoveAway(void) { - if ( m_iState == STATE_UP ) { + if (m_iState == STATE_UP) { return; } - if ( m_iState == STATE_RAISED ) { - nextthink = ( ltime + m_flWait ); + if (m_iState == STATE_RAISED) { + nextthink = (ltime + m_flWait); return; } m_iState = STATE_UP; - if ( m_vecPos2 != m_vecPos1 ) { - func_button::MoveToDestination( m_vecPos2, Arrived ); + if (m_vecPos2 != m_vecPos1) { + func_button::MoveToDestination(m_vecPos2, Arrived); } else { func_button::Arrived(); } @@ -191,61 +193,61 @@ void func_button :: MoveAway( void ) frame = FRAME_ON; } -void func_button :: Trigger( void ) +void func_button::Trigger(void) { - if ( m_flNextTrigger > time ) { + if (m_flNextTrigger > time) { return; } m_flNextTrigger = time + m_flWait; - if ( ( m_iState == STATE_UP ) || ( m_iState == STATE_RAISED ) ){ - if ( m_flWait != -1 ) { + if ((m_iState == STATE_UP) || (m_iState == STATE_RAISED)){ + if (m_flWait != -1) { func_button::MoveBack(); } return; } - sound( this, CHAN_VOICE, m_strNoise, 1.0, ATTN_NORM ); + sound(this, CHAN_VOICE, m_strNoise, 1.0, ATTN_NORM); func_button::MoveAway(); - if ( m_flDelay ) { + if (m_flDelay) { #ifdef GS_DEVELOPER - dprint( sprintf( "func_button: Delayed trigger of `%s`\n", m_strTarget ) ); + dprint(sprintf("func_button: Delayed trigger of `%s`\n", m_strTarget)); #endif - CBaseTrigger::UseTargets_Delay( m_flDelay ); + CBaseTrigger::UseTargets_Delay(m_flDelay); } else { #ifdef GS_DEVELOPER - print( sprintf( "func_button: Normal trigger of `%s`\n", m_strTarget ) ); + print(sprintf("func_button: Normal trigger of `%s`\n", m_strTarget)); #endif CBaseTrigger::UseTargets(); } } -void func_button :: Touch( void ) +void func_button::Touch(void) { - if ( other.movetype == MOVETYPE_WALK ) { + if (other.movetype == MOVETYPE_WALK) { func_button::Trigger(); - if ( !( spawnflags & SF_BTT_TOUCH_ONLY ) ) { + if (!(spawnflags & SF_BTT_TOUCH_ONLY)) { touch = __NULL__; } } } -void func_button :: PlayerUse ( void ) +void func_button::Use(void) { Trigger(); } -void func_button :: Blocked( void ) +void func_button::Blocked(void) { - if ( m_iDamage ) { - //Damage_Apply( other, this, dmg, other.origin, FALSE ); + if (m_iDamage) { + //Damage_Apply(other, this, dmg, other.origin, FALSE); } - if ( m_flWait >= 0 ) { - if ( m_iState == STATE_DOWN ) { + if (m_flWait >= 0) { + if (m_iState == STATE_DOWN) { func_button::MoveAway (); } else { func_button::MoveBack (); @@ -253,114 +255,121 @@ void func_button :: Blocked( void ) } } -void func_button :: SetMovementDirection( void ) +void func_button::SetMovementDirection(void) { - if ( angles == '0 -1 0' ) { - movedir = '0 0 1'; - } else if ( angles == '0 -2 0' ) { - movedir = '0 0 -1'; + if (m_oldAngle == '0 -1 0') { + m_vecMoveDir = '0 0 1'; + } else if (m_oldAngle == '0 -2 0') { + m_vecMoveDir = '0 0 -1'; } else { - makevectors( angles ); - movedir = v_forward; + makevectors(m_oldAngle); + m_vecMoveDir = v_forward; } - - angles = '0 0 0'; } -void func_button :: MoveToDestination_End( void ) +void func_button::MoveToDestination_End(void) { - setorigin( this, m_vecDest ); - velocity = '0 0 0'; + setorigin(this, m_vecDest); + velocity = [0,0,0]; nextthink = -1; m_pMove(); } -void func_button :: MoveToDestination( vector vDestination, void() func ) +void func_button::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." ); + 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 ) { + if (vDestination == origin) { velocity = '0 0 0'; - nextthink = ( ltime + 0.1 ); + nextthink = (ltime + 0.1); return; } - vecDifference = ( vDestination - origin ); - flTravel = vlen( vecDifference ); - fTravelTime = ( flTravel / m_flSpeed ); + vecDifference = (vDestination - origin); + flTravel = vlen(vecDifference); + fTravelTime = (flTravel / m_flSpeed); - if ( fTravelTime < 0.1 ) { + if (fTravelTime < 0.1) { velocity = '0 0 0'; nextthink = ltime + 0.1; return; } - nextthink = ( ltime + fTravelTime ); - velocity = ( vecDifference * ( 1 / fTravelTime ) ); + nextthink = (ltime + fTravelTime); + velocity = (vecDifference * (1 / fTravelTime)); } -void func_button :: func_button( void ) +void func_button::Respawn(void) { - for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { - switch ( argv( i ) ) { + func_button::SetMovementDirection(); + + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + setorigin(this, m_oldOrigin); + setmodel(this, m_oldModel); + blocked = Blocked; + velocity = [0,0,0]; + nextthink = -1; + + if (!m_flSpeed) { + m_flSpeed = 100; + } + + if (spawnflags & SF_BTT_TOUCH_ONLY) { + touch = Touch; + PlayerUse = __NULL__; + } else { + touch = __NULL__; + PlayerUse = Use; + } + + m_vecPos1 = m_oldOrigin; + + if (spawnflags & SF_BTT_NOMOVE) { + m_vecPos2 = m_vecPos1; + } else { + m_vecPos2 = (m_vecPos1 + m_vecMoveDir * (fabs(m_vecMoveDir * size) - m_flLip)); + } + + m_iState = STATE_LOWERED; +} + +void func_button::func_button(void) +{ + func_button::Precache(); + CBaseTrigger::CBaseTrigger(); + + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { case "speed": - m_flSpeed = stof( argv( i + 1 ) ); + m_flSpeed = stof(argv(i + 1)); break; case "lip": - m_flLip = stof( argv( i + 1 ) ); + m_flLip = stof(argv(i + 1)); break; case "sounds": - m_iSounds = stoi( argv( i + 1 ) ); + m_iSounds = stoi(argv(i + 1)); break; case "wait": - m_flWait = stof( argv( i + 1 ) ); + m_flWait = stof(argv(i + 1)); break; case "delay": - m_flDelay = stof( argv( i + 1 ) ); + m_flDelay = stof(argv(i + 1)); break; default: break; } } - func_button::Precache(); - func_button::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; + func_button::Respawn(); + angles = [0,0,0]; } diff --git a/Source/gs-entbase/server/func_door.cpp b/Source/gs-entbase/server/func_door.cpp index 6682209c..362f16fc 100644 --- a/Source/gs-entbase/server/func_door.cpp +++ b/Source/gs-entbase/server/func_door.cpp @@ -21,7 +21,7 @@ enum STATE_DOWN }; -class func_door : CBaseTrigger +class func_door:CBaseTrigger { vector m_vecPos1; vector m_vecPos2; @@ -50,11 +50,11 @@ class func_door : CBaseTrigger virtual void() Trigger; virtual void() Blocked; virtual void() Touch; - virtual void() PlayerUse; + virtual void() Use; virtual void() m_pMove = 0; }; -void func_door :: Precache (void) +void func_door::Precache(void) { if(m_iMoveSnd > 0 && m_iMoveSnd <= 10) { precache_sound(sprintf("doors/doormove%i.wav", m_iMoveSnd)); @@ -69,13 +69,13 @@ void func_door :: Precache (void) } } -void func_door :: PlayerUse (void) +void func_door::Use(void) { eActivator.gflags &= ~GF_USE_RELEASED; Trigger(); } -void func_door :: Arrived (void) +void func_door::Arrived(void) { m_iState = STATE_RAISED; @@ -98,7 +98,7 @@ void func_door :: Arrived (void) } } -void func_door :: Returned (void) +void func_door::Returned(void) { if(m_iStopSnd > 0 && m_iStopSnd <= 8) { sound(self, CHAN_VOICE, sprintf("doors/doorstop%i.wav", m_iStopSnd), 1.0, ATTN_NORM); @@ -113,7 +113,7 @@ void func_door :: Returned (void) m_iState = STATE_LOWERED; } -void func_door :: MoveBack (void) +void func_door::MoveBack(void) { if(m_iMoveSnd > 0 && m_iMoveSnd <= 10) { sound(self, CHAN_VOICE, sprintf("doors/doormove%i.wav", m_iMoveSnd), 1.0, ATTN_NORM); @@ -129,7 +129,7 @@ void func_door :: MoveBack (void) MoveToDestination(m_vecPos1, Returned); } -void func_door :: MoveAway (void) +void func_door::MoveAway(void) { if (m_iState == STATE_UP) { return; @@ -152,7 +152,7 @@ void func_door :: MoveAway (void) MoveToDestination(m_vecPos2, Arrived); } -void func_door :: Trigger (void) +void func_door::Trigger(void) { if (m_flNextTrigger > ltime) { if (!(spawnflags & SF_MOV_TOGGLE)) { @@ -184,7 +184,7 @@ void func_door :: Trigger (void) MoveAway(); } -void func_door :: Touch (void) +void func_door::Touch(void) { if (spawnflags & SF_MOV_TOGGLE) { return; @@ -201,7 +201,7 @@ void func_door :: Touch (void) } } -void func_door :: Blocked (void) +void func_door::Blocked(void) { if(m_iDamage) { //Damage_Apply(other, self, dmg, other.origin, FALSE); @@ -216,13 +216,69 @@ void func_door :: Blocked (void) } } - -void func_door :: Respawn (void) +void func_door::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; + } +} + +void func_door::MoveToDestination_End(void) +{ + setorigin(this, m_vecDest); + velocity = [0,0,0]; + nextthink = -1; + m_pMove(); +} + +void func_door::MoveToDestination(vector vDestination, void() func) +{ + vector vecDifference; + float flTravel; + float fTravelTime; + + if (!m_flSpeed) { + objerror("func_door: No speed defined!"); + return; + } + + m_pMove = func; + m_vecDest = vDestination; + think = MoveToDestination_End; + + if (vDestination == origin) { + velocity = [0,0,0]; + nextthink = (ltime + 0.1f); + return; + } + + vecDifference = (vDestination - origin); + flTravel = vlen(vecDifference); + fTravelTime = (flTravel / m_flSpeed); + + if (fTravelTime < 0.1) { + velocity = [0,0,0]; + nextthink = ltime + 0.1f; + return; + } + + nextthink = (ltime + fTravelTime); + velocity = (vecDifference * (1 / fTravelTime)); +} + +void func_door::Respawn(void) +{ + func_door::SetMovementDirection(); + solid = SOLID_BSP; movetype = MOVETYPE_PUSH; - setorigin(this, origin); - setmodel(this, model); + setorigin(this, m_oldOrigin); + setmodel(this, m_oldModel); blocked = Blocked; //Use = Trigger; @@ -241,81 +297,24 @@ void func_door :: Respawn (void) if (spawnflags & SF_MOV_USE) { touch = __NULL__; - gflags |= GF_USABLE; + PlayerUse = Use; } else { touch = Touch; - gflags -= gflags & GF_USABLE; + PlayerUse = __NULL__; } m_iState = STATE_LOWERED; - m_vecPos1 = origin; + m_vecPos1 = m_oldOrigin; 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; + m_vecPos1 = m_oldOrigin; } } -void func_door :: 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 func_door :: MoveToDestination_End (void) -{ - setorigin(this, m_vecDest); - velocity = [0,0,0]; - nextthink = -1; - m_pMove(); -} - -void func_door :: MoveToDestination (vector vDestination, void() func) -{ - vector vecDifference; - float flTravel; - float fTravelTime; - - if (!m_flSpeed) { - objerror("func_door: No speed defined!"); - return; - } - - 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 func_door :: func_door (void) +void func_door::func_door(void) { for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { switch (argv(i)) { @@ -342,10 +341,11 @@ void func_door :: func_door (void) } } - func_door::Precache(); - func_door::SetMovementDirection(); - func_door::Respawn(); CBaseTrigger::CBaseTrigger(); + func_door::Precache(); + func_door::Respawn(); + + angles = [0,0,0]; if (m_strTargetName) { m_iLocked = TRUE; diff --git a/Source/gs-entbase/server/func_door_rotating.cpp b/Source/gs-entbase/server/func_door_rotating.cpp index 4cf615b4..89da2874 100644 --- a/Source/gs-entbase/server/func_door_rotating.cpp +++ b/Source/gs-entbase/server/func_door_rotating.cpp @@ -37,32 +37,33 @@ class func_door_rotating:CBaseTrigger virtual void() m_pMove = 0; void() func_door_rotating; + virtual void() Respawn; virtual void() Precache; virtual void() Arrived; virtual void() Returned; virtual void() RotateBack; virtual void() RotateAway; virtual void() Trigger; - virtual void() PlayerUse; + virtual void() Use; virtual void() Touch; virtual void() Blocked; virtual void() SetMovementDirection; - virtual void( vector angle, void() func ) RotateToDestination; + virtual void(vector angle, void() func) RotateToDestination; virtual void() RotateToDestination_End; }; void func_door_rotating::Precache(void) { - if ( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { - precache_sound( sprintf( "doors/doormove%i.wav", m_iMoveSnd ) ); + if (m_iMoveSnd > 0 && m_iMoveSnd <= 10) { + precache_sound(sprintf("doors/doormove%i.wav", m_iMoveSnd)); } else { - precache_sound( "common/null.wav" ); + precache_sound("common/null.wav"); } - if ( m_iStopSnd > 0 && m_iStopSnd <= 8 ) { - precache_sound( sprintf( "doors/doorstop%i.wav", m_iStopSnd ) ); + if (m_iStopSnd > 0 && m_iStopSnd <= 8) { + precache_sound(sprintf("doors/doorstop%i.wav", m_iStopSnd)); } else { - precache_sound( "common/null.wav" ); + precache_sound("common/null.wav"); } } @@ -70,26 +71,26 @@ void func_door_rotating::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 ); + 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 ); + sound(this, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM); } - if ( !(spawnflags & SF_ROT_USE) ) { + if (!(spawnflags & SF_ROT_USE)) { touch = Touch; } - if ( m_flWait < 0 ) { + if (m_flWait < 0) { return; } think = RotateBack; - nextthink = ( ltime + m_flWait ); + nextthink = (ltime + m_flWait); } void func_door_rotating::Returned(void) { - if ( !(spawnflags & SF_ROT_USE) ) { + if (!(spawnflags & SF_ROT_USE)) { touch = Touch; } @@ -98,84 +99,84 @@ void func_door_rotating::Returned(void) void func_door_rotating::RotateBack(void) { - if ( m_iMoveSnd > 0 && m_iMoveSnd <= 10 ) { - sound( this, CHAN_VOICE, sprintf( "doors/doormove%i.wav", m_iMoveSnd ), 1.0, ATTN_NORM ); + 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 ); + sound(this, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM); } - if ( !(spawnflags & SF_ROT_USE) ) { + if (!(spawnflags & SF_ROT_USE)) { touch = __NULL__; } m_iState = STATE_DOWN; - RotateToDestination( m_vecPos1, Returned ); + RotateToDestination(m_vecPos1, Returned); } void func_door_rotating::RotateAway(void) { float fDirection = 1.0; - if ( m_iState == STATE_UP ) { + 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 ); + 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 ); + sound(this, CHAN_VOICE, "common/null.wav", 1.0, ATTN_NORM); } - if ( m_iState == STATE_RAISED ) { - nextthink = ( ltime + m_flWait ); + if (m_iState == STATE_RAISED) { + nextthink = (ltime + m_flWait); return; } m_iState = STATE_UP; - if ( !( spawnflags & SF_ROT_ONEWAY ) ) { + 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; + makevectors(vAngles); + vector vNext = (eActivator.origin + (v_forward * 10)) - origin; - if ( ( ( vDifference[0] * vNext[1] ) - ( vDifference[1] * vNext[0] ) ) < 0 ) { + if (((vDifference[0] * vNext[1]) - (vDifference[1] * vNext[0])) < 0) { fDirection = -1.0f; } } - RotateToDestination( m_vecPos2 * fDirection, Arrived ); + RotateToDestination(m_vecPos2 * fDirection, Arrived); } void func_door_rotating::Trigger(void) { - if ( m_flNextAction > time ) { + if (m_flNextAction > time) { return; } m_flNextAction = time + m_flWait; - if ( ( m_iState == STATE_UP ) || ( m_iState == STATE_RAISED ) ) { + if ((m_iState == STATE_UP) || (m_iState == STATE_RAISED)) { RotateBack(); return; } RotateAway(); - if ( m_flDelay ) { + if (m_flDelay) { #ifdef GS_DEVELOPER - print( sprintf( "func_door_rotating: Delayed trigger of `%s`\n", m_strTarget ) ); + print(sprintf("func_door_rotating: Delayed trigger of `%s`\n", m_strTarget)); #endif - CBaseTrigger::UseTargets_Delay( m_flDelay ); + CBaseTrigger::UseTargets_Delay(m_flDelay); } else { #ifdef GS_DEVELOPER - print( sprintf( "func_door_rotating: Normal trigger of `%s`\n", m_strTarget ) ); + print(sprintf("func_door_rotating: Normal trigger of `%s`\n", m_strTarget)); #endif CBaseTrigger::UseTargets(); } } -void func_door_rotating::PlayerUse(void) +void func_door_rotating::Use(void) { eActivator.gflags &= ~GF_USE_RELEASED; Trigger(); @@ -183,12 +184,12 @@ void func_door_rotating::PlayerUse(void) void func_door_rotating::Touch(void) { - if ( spawnflags & SF_ROT_USE ) { + if (spawnflags & SF_ROT_USE) { return; } - if ( other.movetype == MOVETYPE_WALK ) { - if ( other.absmin[2] <= maxs[2] - 2 ) { + if (other.movetype == MOVETYPE_WALK) { + if (other.absmin[2] <= maxs[2] - 2) { eActivator = other; Trigger(); } @@ -198,69 +199,34 @@ void func_door_rotating::Touch(void) void func_door_rotating::Blocked(void) { - if ( m_iDamage ) { - Damage_Apply( other, this, m_iDamage, other.origin, FALSE ); + if (m_iDamage) { + Damage_Apply(other, this, m_iDamage, other.origin, FALSE); } - if ( m_flWait >= 0 ) { - if ( m_iState == STATE_DOWN ) { - RotateAway (); + if (m_flWait >= 0) { + if (m_iState == STATE_DOWN) { + RotateAway(); } else { - RotateBack (); + RotateBack(); } } } -void func_door_rotating::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 func_door_rotating::SetMovementDirection(void) { - if ( spawnflags & SF_ROT_ZAXIS ) { - m_vecMoveDir = '0 0 1'; - } else if ( spawnflags & SF_ROT_XAXIS ) { - m_vecMoveDir = '1 0 0'; + 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'; + m_vecMoveDir = [0,1,0]; } } void func_door_rotating::RotateToDestination_End(void) { angles = m_vecDest; - avelocity = '0 0 0'; + avelocity = [0,0,0]; nextthink = -1; m_pMove(); } @@ -270,61 +236,100 @@ void func_door_rotating::RotateToDestination(vector vDestinationAngle, void() fu vector vecAngleDifference; float flTravelLength, flTravelTime; - if ( !m_flSpeed ) { - objerror( "No speed defined for moving entity! Will not divide by zero." ); + 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 ) ); + 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 ); + nextthink = (ltime + flTravelTime); +} + +void func_door_rotating::Respawn(void) +{ + func_door_rotating::SetMovementDirection(); + + if (!m_flSpeed) { + m_flSpeed = 100; + } + if (!m_flLip) { + m_flLip = 90; + } + if (!m_flDelay) { + m_flDelay = 4; + } + if (!m_flDistance) { + m_flDistance = 90; + } + + solid = SOLID_BSP; + movetype = MOVETYPE_PUSH; + setorigin(this, m_oldOrigin); + setmodel(this, m_oldModel); + think = __NULL__; + nextthink = -1; + m_pMove = 0; + avelocity = [0,0,0]; + + blocked = Blocked; + + if (spawnflags & SF_ROT_USE) { + touch = __NULL__; + PlayerUse = Use; + } else { + touch = Touch; + PlayerUse = __NULL__; + } + + m_iState = STATE_LOWERED; + m_vecPos1 = m_oldAngle; + m_vecPos2 = m_oldAngle + m_vecMoveDir * m_flDistance; + + if (spawnflags & SF_ROT_OPEN) { + vector vTemp = m_vecPos2; + m_vecPos2 = m_vecPos1; + m_vecPos1 = vTemp; + //m_vecMoveDir = m_vecMoveDir * -1; + } + + angles = m_vecPos1; } void func_door_rotating::func_door_rotating(void) { - for ( int i = 1; i < ( tokenize( __fullspawndata ) - 1 ); i += 2 ) { - switch ( argv( i ) ) { + for (int i = 1; i < (tokenize(__fullspawndata) - 1); i += 2) { + switch (argv(i)) { case "speed": - m_flSpeed = stof( argv( i + 1 ) ); + m_flSpeed = stof(argv(i+1)); break; case "lip": - m_flLip = stof( argv( i + 1 ) ); + m_flLip = stof(argv(i+1)); break; case "movesnd": - m_iMoveSnd = stoi( argv( i + 1 ) ); + m_iMoveSnd = stoi(argv(i+1)); break; case "stopsnd": - m_iStopSnd = stoi( argv( i + 1 ) ); + m_iStopSnd = stoi(argv(i+1)); break; case "distance": - m_flDistance = stof( argv( i + 1 ) ); + m_flDistance = stof(argv(i+1)); break; case "delay": - m_flDelay = stof( argv( i + 1 ) ); + m_flDelay = stof(argv(i+1)); + break; + case "dmg": + m_iDamage = stoi(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; - } - func_door_rotating::Precache(); CBaseEntity::CBaseEntity(); - func_door_rotating::SetMovementDirection(); func_door_rotating::Respawn(); } diff --git a/Source/gs-entbase/server/func_healthcharger.cpp b/Source/gs-entbase/server/func_healthcharger.cpp index 2a6ebf2f..8c29429c 100644 --- a/Source/gs-entbase/server/func_healthcharger.cpp +++ b/Source/gs-entbase/server/func_healthcharger.cpp @@ -16,7 +16,7 @@ class func_healthcharger:CBaseTrigger void func_healthcharger::PlayerUse(void) { - eActivator.flags = (eActivator.flags - FL_USERELEASED); + eActivator.gflags &= ~GF_USE_RELEASED; if (m_flDelay > time) { return; @@ -32,5 +32,4 @@ void func_healthcharger::func_healthcharger(void) movetype = MOVETYPE_PUSH; setorigin(this, origin); setmodel(this, model); - gflags = GF_USABLE; } diff --git a/Source/gs-entbase/server/func_recharge.cpp b/Source/gs-entbase/server/func_recharge.cpp index 86d430a7..8b6b095c 100644 --- a/Source/gs-entbase/server/func_recharge.cpp +++ b/Source/gs-entbase/server/func_recharge.cpp @@ -16,7 +16,7 @@ class func_recharge:CBaseTrigger void func_recharge::PlayerUse(void) { - eActivator.flags = (eActivator.flags - FL_USERELEASED); + eActivator.gflags &= ~GF_USE_RELEASED; if (m_flDelay > time) { return; @@ -32,5 +32,4 @@ void func_recharge::func_recharge(void) movetype = MOVETYPE_PUSH; setorigin(this, origin); setmodel(this, model); - gflags = GF_USABLE; } diff --git a/freecs/csprogs.dat b/freecs/csprogs.dat index 119c746acee21e102969e6c9e5870e3f9e414288..945cf8dcfdc7cbb70546803eece2d8cbdecbcbaa 100644 GIT binary patch literal 260870 zcmd44S#xAbb|!YKxixEsYxdNT8V;GFSR&c2&ddOEEwV`lfB+IKY>hx>RyEZO1tM+$ z(HUFC0wl7HX41<%&*MDno$q?lUl_B|3?+(^MkCE1m?w=)l9}{<$G79l%_1q9OlegJ zKi_dbzJ0#?z4vFTs=9eoRsZ={A65VMKdP$h|Lq&qvu{<^{eSioRrjN+`e*<28`Z!1 zMpgY&`1^N@kE;Lbzx;{n=Rc{ce*xM3`*;7xPdKOl?SJbZedFgo{<)8L=hMY_QV;L{ z$=0LRi-(U|4<9}G;e-487oG3#?tXT^y}7!7fBQak&ntRI_}$64o~<7)mh-FCgVl0S z?QF)A^?0^=a9u6Nv#V;>pVrm4SBrYE?yu*|YCT^J<`XzB=j-)+YTOR&Ew3)MLgew) zY`(0A)s1r?!g{$L!|rI=zgks`Np&+HFAzunEu*9`nQw-(dbO&?i)vLbZ|bEaWH6tt zkdC@qFZ;9As9r7^U^4Fy4ZP@YR<&^sCl*@H*K;JZn)cr?*(@*nvxoAxpuJjMy?Dq!1>LH@dWioEnk!VsL;exn;`*+K;z13d zo{szLYm|Xy#$G*QiA?&_%VFPVe05z0qI?iue86_^?ZG`nFZh7>psZw@J-!c z%xCS-A3u9AsABBZK?c1!OQGGzJM-yfitg3@t4W=roymAzuTpe>d{cMpn|hWhCjHel zYTznW9Bg+FS{XQ*58k$(r|`?p!Lpw9hgo7ipN&Tuc)Xp4KYrZKqB`ymT8}c1XHQb- zY-=k^&)JJC*@I7GM8U)2Yjtm;%HcSa+0VFXr-CF}p;s78M;_8(VZ*6M0}88y(` z`FxmSVh+90x=uBtNxiyG!9hKqpkK^jj1C)gW+}b|V^eG}o(+}HVSR}%^Wo)YwU$KN zd?>Nh-K3LWzJ2p#F&`4`_RnMoZdVT-V{ZB_9yAI>LKOE0d!%O}? zyqwH$#lIENKMdt*LNqyNLyw%{O?k}}GpY}%c35*Zs(*(b&F?25Gs}!Cm zz_MPwzFvoy3tz)pB)ziBu;&l(^>hbJ)jxLaVHsvr_ z_r_BYH-XY*uX~I6c$WBb>Ap&mejCY>l;QkVXK#dNk`ydc2mX(BqD{d@c|)194+ie+SSmh63#nkr|0nEpo?C6fB*2@o4DvP!dGWOzkB++bAH?j zK{MepqN@I+}{nhsR5-gvh}w|Dx+C3(Mn zbfgM}vA4V3Lzf^^C_cR?kJDE!t^-#RNSuUmikGKd6~j^IqU*gLo$h{qa&+3>v$;8L zUv!k;<4)(oM|O;&3bCDZ4%!!ouU)C2QVuT;PhB?7I|t{dzMRiH-Q8Cm7svVOLB~}z zJe}lkQ9Z0zAcR+h4+%+QA;nF%iz6&*cHhc=wtR6qXs#~)Ao zi~GNIi+;UEEnd|hV@Y{X&+c=LR=@lBa#GKR`!P$NkCTy01e2*~fqOah^s@@HiuUFhF|j(gR5UZZgN1K~SXXPj-(E zJ0}-Eyx*nrKDylLeX~L|eEspqgUw`ee>h(Ck;;!3^U2-Se0Dk-VV>ghwOoG&YKKhp zheJt|#Lxpru_C?VuU&neBHK6P`WAHMpik%O;iszy>v!ww{d_*H=F2e#;|gnBj$YND zuwQ(A*m?8A`@8eaWH|fn^?eR=_tVfHdwWvoT>mfo)BBhp^*59C*3eXgNv@$B~cxk~)g-8nYy`NRHqYSCLwS9vu5K)y{bF zsCEDR{>%PsSY3_YJ-oTvj315%v-RX{51UGsIIm6nxlw$%@kF`lX@=ZrYTWcZCvJLy z3^$loYZlz}Z1vytRJ{YW6%I4DrV*>JV(5L{-t=6h-t>HJ-t!n3PC_^=fR55C5L z+Nwf+d>t7RrgC7y)yj>l4&)@Nhnrqp0SKR#yls2zsBD{^Zr;D2)M5zz5>V{()wlOe z4H;+fQ9Y_w*y3XshW~s89lSa`z5J0~p1WEDh<&F&efO-ri@&?u+x)vrH;~^!@5Wuk z?_S8>+<3MA-TTJZ?mEj*;@R``@uMEMCYRNx$#ytNL_U zy+&$!-LuYa?_w8oAIx7AwCgc#eSl5R%Xxn}g!%67>3OGjad>gm5i1vM%#b4VB9eAv zkuxM?Vy}ZapK%go@4CKTRbN`{?5O=^=e%2C1+vlGG$MtLj^_x!n?DV8}f&tjMKR-F#_X0L>;_^i&?K~cE zCX3zZsQhh)CRhwsUlN(dou|Y0l2WKIX&S&g;%e?8i5A z=kIts_AuRc8nYc0YfWe1d>o%WiPh*HoDO?&u?`)E)5(@ttd&m0>5tpHtt7N`EKZMI zwm3Ap8mHrKYpi7N-V`%RK& zbZ$;3d#-U<>F}JMsZPp6MkuF0YoE8{;OrNx&i7v(o*iR$*ZaKl`Unf!D0Oe^n@NAE zJiY839e0u}7*FUzC)o3H(d{3#yDxXzCrM%We%JZK_V9V&L*19B7b$dnpnaSl?xT524{NN%>h|&RX-lgKY-zw(o&h^w zAhSM^=3pVne!W=jy!x_tc8)IZqJ1F3Zu{tP2R%C#=V!;pnyl(ozkY$WXBX?W0T-Mm z(Jj-n$EAkB35Q0(#}^ka6Y&1Uh0A~l+uGY>Ej-b}Q!8wh;^X;K(1+OIIm9M{i%kR< zn+Ps85nOEBrP%s%tYzbaj}V^-E_Wih_(X8=iQwWB!NvEu6rVdCvoXR?h*1O=qX;fW z5nPNSxEMvSG45UzD^SkcOnl|TiEBNfRBp<0rK2j8Q9x09pU7S)CK2DK*oFe%+Me=cqrjhBk{tBX@5a-OHB zI__BE)8X%O8%e}toK0hQ!ftp;{#sht(!zH2NJ6S^#CIMtC*(xSCO~8+u^R#1&XJaP zFA@NK78b_qA+|@Z);z$5b3Cgtf5m=^-!fQD=4(Ig-s^LJ1qpFedCq+oeQf0eu*>(N zYD-r3MOCX=wJj>MM}U)ciD^srv2C%OgmDImk}C%lR^Zds!`aPM&u*tHU}Vm6Z0MJ- z_I8)^)#@5Mbt+E-hsoN+<|+ii`Q}0w!D=>M)Jv|c0O!Sk&A1*GJL|HljP|fYb6pD2 zV5rHvxo^=Fz0np@V1uPrLlKw((hq5>TCX=loG<640G?3Qtl4T-J#JP#ZB#vJ)HKJm zt-|1-ZaSYmyj{$CNVsK^0=Xf)GGqEJ&dK5;c-CylGSJL5y0_!?;Mz_%lyPM^6#D7% za=hO3mt(ny5OBp@oYwW1C~6hGpO)D@j@6B{DI2`Y^CB3ynZM%}A#=jkCVT0`{5CI+ zhD95Jb940MumyG#BTp-1(dggK=C`Eh2gAl4TFYf0 zx9hZx9q{18M|Y`Xs}*G~>k;;bfytR*4dL=|+pnon$O%?iRQO;KczCV3agLUloZ;n5m*1^cQQ+ ze_WO+Z&Xb|4mxwkM#+=aST)B1h^)F7ieu$@hVCg;+29)2>$GoNio@|)@PAzo-iGsh zmN-h=UQ@9W+L5-1TPrhr;Xpj_77P2oVAJ1gG5Wcp?g0Dis>C3LV7U4+#?>GNOwo>l z?;gj#(0@=uM>mK&W1zTr`A!>=t4Ru&4ddPscY|0tQ7BR#@A63P2tYRX>OON#;U^lv*@&4VHJf!hyVo(B3t~Ip;8x%24Lsq0o%1 ze9zon5JodpJqdO`an2l%ki(kgiB6V#G{Fc^6j@e0!@8b_mWz#`dZwy=$deY#N?ZZp zpk=MnjqE9A3~St=yUPF-7{hSlK@jC5YH>qc{u=1PAHY1R-eG++Ry-b#RWYhIGsG_b zj0K`v#c-^~aU9fQv4ka%4!;V+AoRG&6NSc&V%>z`1D9{2@oG3901DaD-RW>1X_O~> zRZ8l5qhs7CDu!g@+Eid@J-80Fsq#|Gg-0I=t5tQ8a?wE#N&*DmT(g9MPUgnA;1KlO z0K)-zA9Ei)*uo>Isj^8x4Sm>m7e0pm1k;)&8qGjOHUpx?xQJoBm*fxoFS_*E{stXrv0TSL#@axJRlx5sFLF5tl+$ z00(MlqWfC8jvBRTAoGcf@<&+TEUk;S4Z)%k{?+Mo| zgBv#o!=(2LMRj=>ij}hRx^xR_8oyF$yyBISxV5SE53ZY_sVYO5Fsc+FKVc+uXaBAw zuds4fAvY7V6C?@1CGg;FeT@}%ki82{m)m0@k8I2KmM^VbY#0M%uKMpBOHPMViCay903Q?k))~)RtvQnz}-5p@b z9ZrYQii5}bT2TTIXeiBQsY*gK@*33EOZ)4);WDIuj1_q>g9lu2OE$1>JjFV4jE;2@ z=LXF$v_trME1yfdSoHhTyb5tUMAf-u;oTi zcgM3ETxC{s4gyghtrigWZZivA^`T)M@T2+lY^A1bKiXi{AIj~mT5G;VA^M_$5X$EdQaw&9VOztPfH=5Ngw+QfjC$ggtZz3RjjgS=~_lysT}A-3Mr}B#x)*1nCVHl zUfxXj2#mKX+oeHLYl+Di+ee|n@nW0i0oJn7#*vYOVX8F)lC`ghD$Q6KyQ|);K&q9k zTb;f6t!{WK*zO zSBc0WQVi|!GyyZ6IH%(oh@~UIE!|LuyoD63;W@zNLXYe?B~i^^t_Axd)q4^%tetfQ zV~H2c&XCAxSQj7^D@C7%8MeFhh`pg+d&uC9z7Fs-ZUxUR>g!eX9JBIJr)ZN=*RISigq~AmG!rz=U@cYD&(&T$&eZyjt{Us%yho z!`+-K-46C1+=+&vEwQ^qcXs&2VCtXGx*kUJe@vBB1uA`pD6 z>H*rV_QZ9+rtM;*mf~M+Fm$L6?yF6GS%=jqM9gUBXlY?a=P(}!h7Q$%Lkcy>2czN! zLIiu_QHp>CN-z5hH4>$}pYi4=CEd~JY16XC5sgnHB-U&waIDWTPUw7LL58`MVlPCb=eo3wtbK2A^*s>492P19sMAB1CcAPy_{e4S zX!J3Nwy5`Cs8x%JReh@md5EgzuCAjMIz;oFjW6YEJtM+{-D>oL6q~Y7@JSwYf4mx_ zgAUV1pn2jI9n`Q;=0Q$6+&hg-s^K7xx&b#66!35o4$TvQrInE6D3>-QI{O z?_uOyVP{yyk6|dxpjYUyLL;W63mrS2OMMi@_Y|m;1I}Rd^32HN_i+!!oyVx|Hka5K z!WNE7?ItV+R-0%CW2L*l)dn3ld5+!2DC-8t(oyAQvskEATOK90&-vtVD6$Ri!C|c! z*)UM>BS+^!yhE1NmdZ+GuU@lX)>B$O?5MPpFoQv_rM4U(X%)JW&}s3JvS6d0qC`+B zs@9MqjI3&4#e`l3kUhAt{6Q6(O}S8V4$>nbrmiXp*J{H6yJ*UMv;zQDi1-?(e~}cm z5l~rgDM1V!7YH`wOWFNVPa44w_GO726P&>X9adTHiub1`E zC|}-*eQXSpO4J(|H+b_#NIymkqz^Mr%~OIQG#+%+0dOQ8ExT_7h=R{?hNKpg=!ttg z#tt=tw>h{ozt>~p`_067v-gbl_(=KyPut*0U0jFc`P2R1{B-r3 zA6KLKjofC%oCl+$yF%Fkq1NW2)3+~I3rs+`8mMq+*`M%H#~){pN)E7fwcvB0(X)~x zyqKt7;t9?_^Ol8|xWI^Ojd%_bfAOFp{%*_P$MW}y{Cz5apUL0n^7n=O#j_JQPVBKC z<}N?4WZhM=$bvsya&uRqtkCPq^UJ)4fxW{D|IctZ!(SZX-c;Y=+zA&DF%Pf4tK8ULU6@xmw9L|v_W?8&oAo@>DymAH=M?R><^Ula~XTLD`YZoIAK54M`8m3h#hx><3ny~2IV z%D!Zx@^2ErLq(GzPM<3KE(6pyX*b2YnB=uhe4Rseg$Dxcn;t6nt^&NP0~uvV7P5I& z0gSK%$8)PV=dR4VD;D#0HN$Gtyz+u6hIhP=15aK^aJdd(1EQhhsaNxA2m~^(U@&(0 z3Wo~sb;6>vzK^G^opUQVw}TT;Yda5kzS=pT2IsTj#8ctU!;9c-;qhv7>u--W6g{h6 zU7*vr&)q*fq&OLU_lO&vcwLEmy4Vr<5I4cp)jxB=QZ63)%ZU2wsRnsHP|M-EsYl&K zQxEvdpdLvsmnL`=M|z>u`%Ul8dWCvKP%e#ng}&nGL3O({#pH%)0?G~01T(i*Q?Te$ z?xQ9?(xX1pUlXz)|4Rc@qbLwAU~Eoh49$lx*$%)+t44M+6svmu`D z$4lz)Xfrm6aX>(rySwsO(GBkTqxVJ+dDp*1vG73$>=j{mlW)eu`y{aGT;XJVh@k*I zKMvA*#+DaNeDuP-uFa|%V$hhatI--A^$q`U2pZyHLt_ymwphm2aa9|yoU}=l9Gcd1 zIYO@{T*0r_cayr}JDV`#;hvi5Gb*{k243)z=L!SGB_g>&_m1(aKN(DsQ(k94B3J`s zbo~g;OBT$dWEKLB6Y!FR8B&MeuP}rdFAHA2HYr5fF)LvXm^i#FXWpNLV!$k-#xoIb zG5leUJCFqQQ0x_M;PF+6rDEC&!9}fPn%lzoGy~Shpi}LO>`zT*2HknnK;x_MatfaV5 z(I6%E?5ojWg2_iULXuGWxNnEQSmZ%{%l9u-cu_@-d4v!Ux3owx{9xr!t+2U(cP8Rh zi^w4^$gh{2A@X-K6PMJWDLPmeZt(?T?<%HjIYaeMD!l80o5iRb!ElVasjZvk&m_vC z4n8kAH*h3CXt=?n!ZT@^2a~l7;`~BThJ$TZ8K*3Te3oH)YUI zGO$3tS#3y_{36*@&juhoyHI+1$sMj=cq=7uZY`3M*D?5j6yo4&-X9TZJLtCfe} zu{xATv+<+~){Ra=E+p|^-I^L*++d<5FZJ-2(cvLw^D!QZA@|qw>*|^=v{=DLFker4 z+}=cGiu)2o7%FFP!9t)fWVbiN(GjWx z2eMm~PD!o>qa)+?y6{-XWtHPB=34nBeo?4m#S|nR!DGMC*Dj?-+vInGKy1`SM0LGdTI4 zii)pg!|RCFayl)NjJRWD44EA+FtGTMmcp{P!A)5Vw0z_a61!dFrX|E7g7mz+%Ecg5 zU~I!^jviDb04RL+!qhoG7=b1NAp6K88*ATq$3aev*wE(Zc09y`g0zI*-5EodqnuWO zKVqpAc>w!^I5ld5SaiY;lsSso~o#M$yAi(N(Sq8 zhlIxf3c?TPh7dTi#qJ9lsB8_fqz1T!f%kl(hms5`vCm@&CEJrzg-mgDiVX_9FRI3# zLybvaJsm8ty8{tT<~bcm6zY&JL}pzWBH2d}!#sksZcG{2%QL}r3Moh8Wa|-!(1|I= z8y2wv!3Re;^l%=x>hT64=!CyRY*CSGY<-*{qe|kasiB*F3*6I4<*ef#*T1 zg+hF^-V4iI-fqFrrZ&82ZF{@o@HQ!VdlYa{D3Wi-?g6VHKpDlfe~GgM=?l$y8`^^%$w?A} z384MR5>5deJaD|E5MDA$gRwtfU^rp7h&QjJ#gmU1K{18J8-}?LdChC(ka&iVRGZbL z2tkQOTVnsTaZmr14rmQH8FH@7REQiKsqQo&tJ{GEF=XK{i9 z)A~nfK)j76Gf!+yj@(?8PV^`OA)F*a)My(5VmBF+Ecn9y8*j+djn--AUdGARX;C&` z>y(C%>zT8v&jn*2UAp|);v63(Fq1dK!_7x%@K$>%r1f$nd3FVUd52*G12I;M4b@NDQH%Qhg`>cqYS3Li@6W-b*|P?O6sUN=oX;MSol7bDmymsQR1 z%13N>I-eLKOmA=e$`B_rRU>0Y$1E8Ek)mw~@6aw}q3soZjx)gQR#uC2m<1zUC|)yK zQef(3=%j!s&{EMgE(h2QVUO2C2Uk~U7N%d5Ig;Uu0&Gtx%4Ll`1?d%ppz% zxq?QKg>V);$4GSsma%zZo$b29RfQ9q!8PuDy(KwKxC+-VdUiTW=LX9mJ_5qj<1Noi zPV_O|qY7bs6T~xaxVMXS9-AWG9E$w+4DAI#%d;Xm%Oc@W=~#jrCu1`_z@!ijm5BJ< z1gAHjUfp7n#l{8A3dwMD=Nv*yG-(*cR}`?vgDa`<2XV#rImhv~?48c++}#gc$cEihg8|zkIgBz0vm<8`1 zj~i*PeC?0l?QxcAq}_9~Bl`U_OTfcbcg?dk51emi*l7L!Zf_5hvI`Uj)9)wdm^fY9 zV;a8pOgw4%%-nq3=OLCk%@J?s=3vhvuMVPc5DUS8cHONpZ4P*B?af(a4PwC>(4sZq zku`k(0x#{>1}y?#yi#a0Wx+fm^O8Ls-Xe`&qv*{$_H=NI9GkzMlw#6s0O&)&AJLWf6|{rlsz z?EvQK4!Stw^5#Zu!~nSggQtl*-qv9unN*&hr)Xfqv$9X zq9Ysyl$SH=kOs(u8r&DP>gtRpw#wHsMpgwVSQWfzRWzB^t<>sPA)E3p%RmdAR#@Fi zN%r8%qvc{NsE|xRSUOx9+y?5kwtbY`z4=V7iX@=cojKLhH+u{B}RWt3@&g9vv)F= z8@e{BIz_Hj+j2q2dGPVYa8zELz3{UE7hJiR(Vh^Aa?Zt8fK0Fpu89LEv!3IsBahto zcClBst~>m?ketbt;hyyaBMJ zFXw^htOEWq&&0oPE!bJ8kuU}AwcXboxc_J1z4--?YOHjQw?gwk*XS_I?VXxS0KtZe zmb2P@?7W(^ip!RbxX-x6;e8_1xvO16ix?X^KN6rL`@`W@!e^i1utN4S{Y8bIv3!bM zXuibTMDHa|v5(~S{}E*0vf9I!xO(Qh2M%EX?S4JSQw$C`Th>|+(Pq(b2HeBy11Oi` zELFbH-6Tj{yEqZs!R%fH-oZNK)2wFYAy|7jOrb6xx9-SMj(7=jZx4<4+88@CCx@oE ztoi;e9j2L>puEnH3nA#0Y$!0;leEHn3E7kE;&S&ccbGEZW#@|$#`nycH$Lu?dB;4v zF!CF$$*^lHudg)jE_YoGup{3rGwyxda?r9YiX_-M_d$cm()VveM}kdoyc-c~N9kWf zVl0RzW>a8W^y%p0y57Tacp~>q0`Tr|iP*k1ym!ofXf5b|H zm@2&zkuG=L>)jmZTT*-2Y7IV#c*!&b%d8XZ$QAfJ-<vpjvi`_z*3aT&$Rv|gmbI_I3 zJ@IH}3dD@HARqC%1rB4xo4wqJO?+$tgRn>Yr!U#li?TCY_w00!@_ptA#WO_a&Mpal}rd}*JAISXZOo`i3tyn6tIyhFv@l^WOf|Tz22{oH4rt+CY{L6mXj5XX*C;&P_^ z+QSFAr~~7?m=HnOAC?mv%;Wjgo4kas!nb8?i^NxN77)>NuJOPDr*3w~SuR5MFmu8F z^cbhjytiu3QZ#^Q&8*MpQ9``IVFcu6R`<;H*a+f_*(`vJSeLve#@=GZ@yuY$etPem z13UPl=)D&QE_hPzzq3BzFh1aTFV}N;0%5MQa&d|^3Qkzz**fl=<9&taGYlA9^yg66 z4es|i+y)D9G~ylb>o9orP9#%q-7)m&Mm{;EkSTEXF)ntwfUAWZ^+`3Fa97-`H^RLRwy@=Cp7p&4S%5F z&wJb*eqRHWAKb2?^d9GWT%U1U;cbPJ0zR)NcaaT(K4XeYY@EIGLLIJ%gE+3X?dhhe zboY%tyk`)12C)i}f>KVz9B?E`3Gb_G-W4a=%q0-{OL536COojjX%(J)G|$2K*Bjzu zH=9q8@#(w@|GO}x<D66R47lPPl}Pn~=CKEnmvBH}a%@_$phu=ShduMP;sYxQkFY z>BpfU57+Pj(3L&!eh?gK$3q|a0!{*18WAe6l zJ;ohv-n^7c!Idxbt>84RB50&ZP;|zSgPFYY6YoB4X#qxpW?Ku7wSXt(Hka~gLTO}9 z*b<2mIV1y&7k4x)m+uabk2`yZ_`DQP((QPHg*6^CU?K9x+CDxH+Qa8*+OLizEHpdFc&4ViR=Ti_Te)_K&^{!o_K~8>F*W-IqZ+ImI^|ntK709P_iz^<-a0)x+(X{*g)ebk zoF5+W!>UHw+2O=W6kYi11aSvn(J~5rOY98gWQ3#k-kuN5ujsaqtj0#z3nm=WJ$u$U3p1-2PIPwbS82yyLdg|qVzx> zn+?-bW*ziph{-`eP>@Y{6w+ZjsKb6x{V_jVD|y^M{Gzj`Wb;AWpnrLIa?nwFslamu zygI>$#?J9ICWT3$Eu^q_-2MXJpX$=t-jz@E!gUIE;G@HE?Vp~%X`k=W3GC$s9r#i& z{&w-*q7EI#Gd{uey0eS#%NbMr4l0%Moz&w~F>uyKL;^_omxt&0f*n4iD$?gBK72}5 z3?Ny?&`uW+eYD|fv*>#;htpgzA(13Mo&9|zL&EN#w~r--{A4gbiFMGecG3FzxvkFe z*~OP$GQ@GZH|RdjgYF1a^wLrLbz2G22yD2W!wb`QC^<4r4>~+$R93J~z(n3XYxlan z_80h)GoAP_wR4^a=SAm>-P6M*^y)$rMiKuYYaZn>a zXZWg48{9gm_K$k(u<_G+_1 z2dzNNo?f6EJv~8I@S$w!A&em>NfmhASsPzC$EVW+fCBVh+31`A)?B$LA_m_Nk0olcj1+;R9o58~N z9unx{6tjSCXZIYRj5lTk@r^({?Xw|8o<2W30%2lb?0u{aepUKqM}{6TKzYlUr}GD= zr^iNm)kSf=-si`-?GJ`qBlo_fqkH%ReDBZv8Wj4$)<_{WvK&6HrOljyKSQ_kq8HG7H)k!d+Ks_DE4M7@1#>sf^Po_yx zad17ymhZg?5T_Y~o>!yUcQ8LjC!`=&NQ{A#J)KX=x)vzwSSib=v@1-#yBIl7yBE9d z-IpD<&!R#GF|9#Hk@fGt!Xzz+SvV1lQ3=zz%(sDa-(aDc8kppDA@8AufySIw7!aS8 zW+qN9Fek()Dfti#Gd2rr6ys1A->T&bJ$NOk<;(--O0o`8VJwt+MYI_veKscAoRx%F z;ZrFvFY3L-w9O3JUce%cn%zicC95+Z9G5ZY>=dIcyjy6O^+;^Y6R6&kN9~SvK6|=# zeC*&SPh&Ut3QUOY?dQk%Fs~6_cwalOc0cDgg{|W8llJbJ3-RPx_t1rS@(e+4<<(x* zk8op0w#(%BfiDJd4s6|dC-%H~Isr8{@Wvm#mHP_zp-~>u)%xGoooJbpL#Ue$0^8b+`E!J zF+4>hzhF>>*Uio4ks9pg;-M4XAMwx)KJk%a^3-|;@`3wH6|f)qjzLeuf?bF<)!3h|y)kI$LIE#5y zMEfRa3dXIldRXtCe_na7vu+tjDABC2cN5zD%*5bIxjFk8Z)@(H*R^_bLvJ zSjLi$#(9AI-V@^sF77=O6}8%=OAuyuDUCgc*6sJ>y(3a<6g-#qc}B&fBjYnkJQ_yjLfs3PPPyrhO2PlompoTB1IL+R z0*m&>;Oqg8=y3Y1icX{Ef(JT)P=pAhZ)e0&jS{U7Ns3GLwtkp%msrkSpec6=rQ8LU zbC(`7?h=f-YY~++L$CluByE5LcO@-y44-h95#`*a_msN<)7)kFjJpI=?s`mfmtcXr zfOGB=Ot?!ZoLt;f(7mZ&bdo4;Vz++yEGYdR{}P0m%f|0OI-tZX|l*&Dst{7Xu@5_)6Ct1 z)^pcS9<~eIC6;p+Xv$qeDR+V8+@;5iy98tITEub}Qaon>Q0jM6IB+*;67E7#;4ZzV z+zpuKF2iTsC75#8W171J3)}^qbC+PkT|y~$X)@-n1Z?0geK&EJx(4pjWRbg6D(mJ9{BRF1=;g=dc!A5hZe%LkHP4~nborKt8?%TQ z8G4a^d_~9p9P3nY@!bJ z9`9hmjAzKb2SzE$@;>Y(WiOxMVihjw$TJ-d9N{@{ydf(VQC?%*vr>_p#LLrK-m9su z{V~4%j#qFg6IdejhZ#P$IT~SA;cPI?S{~tP9=t|waJPqdL-Cc?&ZAe@CB4V7pg)}T zZ7A=3>>C)U>F4DxP|(UgL8iA%kQ=~w8f`rHc1L{9Bq{~8Nj%vi(3p?R+nRrMAYon| zB=t_fS38AJ>y&h*L)LXpwXSl?y2dH13a6OXH!xM*UW#g)Xj0jP3Uw{v^Qs2yvf*l$ zkg900SEy%=t7;~k*D`H3R&u1w>zEcz9+N7jBC25;QWcC$^xALEq-x)sB~?qnS1pB5 zwUl(#Le^DFwXRyqx@sw_s->7#EihHJUW%%gXi~L=3RNrN^Qr~xvf-+hkg8g-SEyQz ztEwfOS1oNeR&AurtCkjvRZB%wwKSxvc4t1lbhq_czvjgaaTPnv)v}X)MLR&%wS`o5 zJ5Q>{9i%GVL80Cql2pBgL+wX^CV*4K9B^n(1E(*$V2MK#mRLBjBmy)`oFZn4LvxlmP0kXlNm%00z!GPnz>-uISmHDpOPu{CmSp;j zCC+q-B~GVV;w&aCG4EZe?7R;}T=y&l;uu#<9EUmLIN1}&0g5;lQp9nd6mcA+h~uC@ z9ET*tv2Y+x1Zd(oMNAxr=EQNDoH$mK5XYf`IL<7oKH%bQz|GERw+dwRsj9FLoG-O+CVR*%orAQjq{t5myBn@Q*o}N)S7Jp*7F`Y zEZ%o-WfI0YAz@sAJ>vot7#A?jIFD+^c`#yJKsDn6su&l*lyP387?)rXTu>Ak z7nB9Yd1cDDpiqqSV3BdTRxvIpbH;gHGvf+ga>jX2WyS?{#5fOY#v#)^c~=+7CXSeB z7IGxBq9>S@6}b$eh-JN~5zr!vP!Jd$$icbm+j8b62sh|n0N-@nVrHh%R6gjt)GG|v%CLNSg1cn9B^GMC1 z3fjOjrObF1bb(089&gD@#uiDWz8Ck$BeOH&K74S8^(+xVTlC;L!8}w7)vyP8CH?8!rE>c z#!_|025Yy}?^u;)fifOk?;swz)Z@lQLH;Ar#gQ&_kKwA5Ps_IvARR0D~2w=bh1FV&t z0-{JcU_eCzYq!9HSfglQ6gdx!?M5Ob>YNG2ZjlN`6>-6sOUZEdM5u7~Bq0I;PXh{p z1e7!dAZr3pt*f81u6)X>>M5ob4@_0Nm!e81np8QVLWN8Cyt)CqY`8w2kg962SEy)> zt7;~kS2ArjR&k`vE0`9G)k{TGxipkiE#Cvpy5($hx+v)|E|J*EMBT)fCg32Bs?7 zOHn-&O{$qtp_V0lUde!6Hf(d2QczVa_6jwuaaF;D^ZJ!&+prhtS}azs zq(I%n5kqO!;yvrqobj7ft{}d4MGDm`qOM;8x`M@nu3-Um6$_y1Smd;l394ESVpPon zC-p2?p`wk6yrzk#RV|pRYh$xe*^xrkw%~bni(Ox(X?@4qyu!t3vBpIcHD|Gv)VaI{ zpOr3-xYjM?s@;md-mR=E-XN;xtru1G7EyI?kx=;-NNV4pq58F~>)+xr0W6p^z*)&C zU=#@lEEq`O?B*;;G=TDp490Ge3`P}^!I&$MVat(WD<=aWO$LY&86YQQ*wSNyeC#3`_AQc- z0cK({FrN5It_c{E0ddJ4-INT#b20!dlYv%>WC)qF6M>NU2q^91+T^-3gqRG7u}B6+ z*f1rqQG0cf3_joSM1-?c40`0WkH7!TBNT+%vjTgCC^q?pi z>2qdkbu&TBzH**wf5lmBRL9ZkG}5HYRD86C{TO~?rV8K)DuU;wNQ#b>6$?eJ1~QQq z=R^)v6ER^Ju|TXKX+8-W(@3D4JtlnCR}oIQB2b`+v6l~75grI3aK;0%={ulg3L7i4 zS{I9@fl3s5m=Z&(UqU8&@>L;Lt~lcAwUDb|EBY$7vZ`c*sA{%eR7G1vRkcMzWm_Pr zZi9vj*Rrm1i^r92!Mxg?m8{~8BB^={hRSz#^XgADfdE#KQNY@6B0;LoXkhJ@h+tKk z3f5do27V?gI((2%LlCN)JI5J(L{L z!{7-$3|OFtwUX0A6e&FnsOVws7U&Uc6g`Y0r-!lKNRLFF)5F*;(!;1CdKhyFJ9H2;IA;l8sNzueXiYE>VL~%&M6blEcM1basQ^aI(XwDX= z$>$zclkml%fiTX3o7<|p3#lql#%VInIQvbc$@Cd(oaqv6oKEw`Sq#MCw1J-#<||8- zJLZY=5f(%N@mvXzVv7eAUp%H~w*gd~31DDNz!KhgMPN<>Y3>A7%$|Vf{0X|8L0*?| zDByub9xKgQb7f#s&}Cfms>WGr!AHg?@25CB4O-19kE&UzXA)i}qTD4`@l_D6|1qYB zB&;Hov5GH(2#>#pu&N&lV8$w%Oj#u{$7^qIA!QX~&sN~UcZpRD(!?q;mkndyp3A*m z4+T7BmBf*cXFhib%pLLK&+7W~`#ej8z0PRuN2DMXcCYL6Ne`LwR3CRf$!^n^-008dwFL%YDQu z;wh^njwV)VWy&h*8d$}6nnu1*iQY#8s~ABut0ZX|s~B@(1jGwCJgfMkgq&4GV^$GK zSVbsf6~K&D^q8@VV8$wfDXWMTSp`MPDi7tXqN>Cy;!Ug)a}BJ5&gDL074ei+5=RrO zv@&HCbq%ayJf1V@LR}_0k&gyeF@k1RQJar|v|C`+W5ue+@RGBNXv``i39ATYtOA&^ ziXJmo5zJUcFl807BCDWCS>>UeRaBK&MZAesVy=Nz(7D`4tRkMWO5$i@l~$&#qOO5e zjOW9wihMM%iV-xkirSo2v|C`+6UC}0@RGBNXv``i39ATYtOA&^iXJmo5zJUcFl807 zBCDWCS>>UeRaBK&MZAesVy=Nz(7D`4tRkMWO5$i@l~$&#qOO5ejOW9wihMM%iV-xk zirSo2v|C`+Q^l&M@RGBNXv``i39ATYtOA&^iXJmo5zJUcFl807BCDWCS>>UeRaBK& zMZAesVy=Nz(7D`4tRkMWO5$i@l~$&#qOO5ejOW9wihMM%iV-xkirSo2v|C`+GsUWB z@RGBNXv``i39ATYtOA&^iXJmo5zJUcFl807BCDWCS>>UeRaBK&MZAesVy=Nz(7D`4 ztRkMWO5$i@l~$&#qOO5ejOW9wihMM%iV-xkirSo2v|C`+bH%FX@RGBNXv``i39ATY ztOA&^iXJmo5zJUcFl807BCDWCS>>UeRaBK&MZAesVy=Nz(7D`4tRkMWO5$i@l~$&# zqOO5ejOW9wihMM%iV-xkirSo2v|C`+3&pAz@RGBNXv``i39ATYtOA&^iXJmo5zJUc zFl807BCDWCS>>UeRaBK&MZAesVy=Nz(7D`4tRkMWO5$i@l~$&#qOO5ejOW9wihMM% ziV-xkirSo2v|C_ROK+}2DDg_*m{ zO>~3O6-3mjNkL|GlXx2GrnMQ}sBEH}B%bd$~4 zm~Mnpx)ICi1~jJ|z2vJV;mo#8`TB6(R7J!dIP`3?brg{WS2Ik8=;hL#B#a; z&FMz3Io*inbR(M4jbNE>&}4M;Sb=WT73oGrBi+Pe6WyS61rgJYii~a&Pb1y5HlrJr zO>|>iUqiRZOB3A~#|P*}b%Aa)U80-b*>7>5wm>)8zK!WdD5V>*oNhpKy3uP+H=;S+ zh-P#nSf(2^8QnZqpc{2Xx>3=%%;)Tin1c&`tJrW4aMa=|(K48_=9?^qSL+Xihhx8Qln$=>|%N>>mu-KfauCh;`VO=~l{QQ1T{#`QIHi@Y?^jd6T{Zd4cO zM$;v_>9c?qcXkVOlMUaPZiG_05zFZYG^ZQA=5!;P(~W3GH-crlL6gzVV+FcVSEL&i zjdT->O>~3O6+}!oDl)oBJdJeI+Kg^gHqni7eGT0rFHLk~93P+?)djlIbct^Ikf6ma z-vZraCpe}Xp_FdKa=HP{=|- zx(S-mP0*BX0v72;O-i?b<#ZEWiEg53qMNbUKsPFjbQ48NHxo}2-6CyDH&HgwP2&16 z-C{2dbdxxm=_cx&ZeqGbH+`zG#l2u-TAwNioY0LvQ@Rn$=>{~X8@=XqBbw8VXht`J zWx7F=(amE8x=~l88x@Uo6N^oBgVGg5)VoPRW^|Ky8tJCB8QrLCqMIb*gQp6T9M8xm zx-pIq&`r{pU&dzaCA#TTg)Qy{7w9Hi#L-|XK2y5UTTVBiIo;?rryJ3nZbUP>5iHXU znv8B9E6|O)BHgHHq?=f5q8pU1AY!^vkuPRAGyI!3Da>7I92BLMh#d<#Yp@(~Vwpx)IIkMl_=v!7|;T$>`>> z0^O)9(v6Bnx{1XmxeVMku8lv7Bx|bGp%MPB)@C-H2v%BUq*zG#TAIR-hYoMY>VZ zNH?+AL^mj1LBw>UBBPtc(?~b1&FDsD6Wtis*U&BU(nL4L@d3I~U7#CHm*}QX6}Gq+ zT%en55yx~Rl+uk@PB)-A-RL!^8_}F@L^HY(EYl5|jBXw)(2cqx-Kc1!n^|%N>>mu-KfauCh;`V zO=~l{QQ1T{#`QIHi@Y?^jd6T{Zd4cOM$;v_=~IO*?gbaxnrl4N zYU53$M$c)*@g7N|=d|j03!u?+T6sLfZS%x;v}pb1qh)_uFZ*k_4rjyqT{YT2>sF)gpigCIG^z*a7sv9o`uM$LYGkCFH}mCWcs5^E^}+bETAlZY<9W9~T}-AG;e2V-pV5#!VZQX6fYoq>PE{bUXajSN7#C9DtkK5B z6xeFCaX|&18f{!ufuW)e^fY2zR)LsC8<$m}q|wG@7076`aajc#8f{!wfq@yEwJ5JShoT}|ORgdFTJ&sfLI8N2$ZOjeo)vAAmNy6Ere^)P0 zHq)y9O1+;@3lGLPca8zGln)r%oEDN0Ja$Y&paFysJSd9dAdrSY%MBs8*B^x-kcL2) z6GCviHVQ!?4T1I_LU6||3PB(ZfsQML;HF6wf`AEe*0(+DGYOTD9xOy|c#gvef#A5Tvs=p8L}`rp5N4xx6x#$9?h3^byE-Cj91s3lUnEAcuD6)JzXFKmGV|Wxc8T1 zvxFZ_{&+K8(2(pfK!qN2JlmPiHkkSDkKdVss@C)Mb-k?St9mk`O*w2-MU7DpF$Jn_+qAQZD-I>s&cLoT2dg zlks~nC<(e)*2880wiUwRZ)!`I<^%;|6?d-}jG4h0^-*Vlu9z@vE!nPJ3S7R~RT@I}4&3Fjw2DN65 zVAqeP#h%{O%bRh1Th;qxwE4vpO`dH9g*dChL&=bLp)P~_PPyOH-RFXL6m8JDb%B0G) zK1rKYoYp6)lj_s@Bz;neN-y=O<)q-GHnlz}I;m5wN8#O0QKxqU>?Uz%$+W=HQN3JX z!)iE`kzclvWb58cNiZkC;6C2P=2NxW>#zIOXa{p28Po&k~ZOq)+ebGo@jlNKH-Vd3s1D16rAux>!s-W3tb6b zlDv9JEO|-t>803;5gF3UjPgv z<6VO%an7H_y9Q65RyQom%=okF=4xY4=l#)X4n0_%aQaqK$P_WtplnmmSl^eeP*Jvm zDoL$i&0n@cMcE2!GPQzzfU*@T%2q(`)C%?n%2uc-TS5PkTETun*$Ne9D`?=U73?9D ztx!?6f_@>jf}^Lh6)MVB(4C}KaH?3gLPgmM`o`1>jvLEXs3==uPoJ6r)?i084Tehm zZ6MYRarT|3sFBh2`KInT%p zH8LB%8&gzZHqYkEgcMCfiVDoee5c7!a}SO4`#fun%;sr-Q(+gFjX73Rikg|tnOIiX zjm+jPfuaNub?A9)%d4m^zy2cE{0kEikE<7qtkcp6Wg zp2kzBr*W#D#;JN1r|Maps%LSkp2ewp7N_c2oT_JWs-DHEdKRbZS)8ipajKqU?uJ=Z z=c~q zXK9Ei>W%VHHX_}PJdYdQ^SIGHj~m_dxY0e28{PA`(LIkF-SfE7y@(s#i?}Oz5vS@! zoT?Xbs$RsYdJ(7U#j|RBgmX1)$zzuiyX`vnFXA-5h|}156eqIvs8y|YaVobuoQ>wP zH5DYZTctzeQW9E#l0Z`>flEq4g)50`{SX6}`a$CULy%-wM2T@~WLHFK zl3fv{jngE%B1#*lN_ItpR(3^{7#EW4iYRSdOtLGYv~fYnw4#lo*$l z?20IDTvl>sd^lj)#Er- zkK?j>9H;6D?^K0kJc-NdNt~)DajKrgsd^Hp>PeicCvmEt#Ho4`r|M~(s;6H(@JjQw34eht>i9FE4hr* zN^aw{lIu9F<#?PEISil+#LX<+PG(Ij!VgPAj>X(@JjUw34ei zE!@qC_?c{bwy^IR>l6MZyO*tG`?7`o%P4%ZSJ`@!@b5{|KAt4$OExE4$?jwe+mms8 z7=g{c>FUC}b}tf7Nux>DGp%Gn)53~ogd0qkxDFzF%@rQ#!HwqK`E=UHrZNZT1VJZ} zAm}F&1YJdfpbtwBbYliN!0nwy9$^goSYy~n9m78U81{*XVV{!odbOC(R^}$RNnC(@ z3IgO~50H;JKt9$06=Fm;p2mo-JcZDmN1RAjpsi#H+QJ$X_tj<_Sz6H{HOh6C6CSvu z2aTzl_Q5X-Knr<5ETM`4QA{Bqmp}Hf!^a4$7!ZXS0&+Q%1_V|Nh$0UGxjab&0xJeY z#e{%dZlnQ$6$7IBLO?Db(tyB<0a3{zAh#&efWV3YL4^>In{8=8V8wu#1B8IwTuTE2 zD+Y8M$%Z$HO5G@o?5}pwa$( zdD~y&vfR1cNLt|@UA6ANt*h|~f!E^|Z@q;_2lvJ+-0i`+{`hD-t6e%gI*OkgI7C12*b$9G@jBuF;VOF@)#`|wKIMiFzJo&m^bnm8@^NHV| zNr4A0Or~)6uwn)Ji4G zf_+cX1QcZx?15q%(hC)hP}5)~XDE07%2paV%FTczEsZSY5mrN5GM>sQRXHtr`OEg4(oe5#z5M!s^RBS}jmV|k#}kd}KeH&j4?!c+M{vm^8$xDL+CT^zb>0zN zvdBh}S(Nq=f<}!Yf=d?JKr)NcuZN&fryjv2i|pt#i_*u3pwZkUf=d?J>1P(rWF>@+ zrz$aCGAa|8+-llznp#fO`K#E9ZO2Szl&^-?6HjDf|Ai7r8c;m7QK6&3A;I$!NE(sc z)A3!j3LOm=37%U`8d5y6ZNGHEs9g7BD0EZ z%1oA2+zqWNo+!os3mixqRy=i5p`(dYf@kGwCR4#zJe7*^QVGZeE4P}oExG7ZsI7Qn zrD7|#EljPV+KQ)IDs(i_O7J|bN!yakL8Y`dv@MyC`{pTDolQR{% zVU&s|X0iW*)ue63Q#BR3p>5HB!D`aB;90hgi8FHeW4_-kwH_t z2E|iw-Z0vU7K#~STgWm5FwcE`A%cYr5zaFd(9~|8A@mL*L!7u4GQ^%C%Mkr$8S*}L!~pXQ5iDegaGs%n zrgmM1(05Vwy`18S?2-If58|f& zW@mH9UR&Jf-nHXgV}v&kx5)GROB(ejrIMC@A=Fu0rBsTK~DOq-}-1{Zu5Wp?X`RWrfDhV}+XAE^F3Hyn10~;~6Q$rXhIYNd+D?R9;k)a+FESQ6@1* znbaIbk_#wWLjgsrD4=K^1r)8MfTFb&P_~*9T+SUAS0&%&{F!THp@401^1*_Vk#ZKf zLby?7Cl!kaMa{G7Be?97>Z1cZ!n8jh-~|!0x*p;w(-j)%%J8uoy`E1tc*KdFE)I|F zvDVRizNjYqr|0srwaMWMPj%r9Yq;XeH(?CxL4P7I2N2il8t-0!#m#b5t(v-T3{_<^b$*T#leKnoGHSN2L_i3=FF~4|Xn!WuN*lga%0-$q)Vv|IS zKA~2RQ(*w3%@^q?-%ZU^vO>%t&mgyA6372?-#}YFWvhkehz>sv_AFXHbn;`f*E3rh(9Em-)D_;$Htx&4ECzjE(a zq5lNG{{epgA%6eSz5CU#-upOstNuatYxn*QJh47lbKivguRr>=d*7>mQha?2^8ae} z-vIK{R{tIRDl^r8YJ^X|Y3u2u>YuZwvU2#9>L1^G1I;hs|Nj>MGhW*LPW7+E!mmRA zMfHtOeg^;l`n_*_V&tEK{8NyB>XZA`Z%O*^L;g90_zi^nMfv^5EUs!+bwB#XC;#ES zA6HLluMq!ldmjEhm2cYlT^I=b{q1}I8Nz>)>H6e%@BId}zXSca`m2wA8^6C^{r0`T zMEFlp(q!az^>5(_|9+!-dhcICyk9-A>22LJ>3w|9r1yzU@9jt5zV}^NH2=oc|MHFh z(+T+fQ`Gx^hZx4y?<2OV`Z42!{1yIxhERWAJ-hc8aBty%)*r+FU-bUl}JJ^z|?J^x#!%O$ClK2tQt$A`-8g{1FA zmOkb;l-r9eea!#&s!(n$=d|2R?54a}&hB3+y=44X;Meb)E>pa^`qSZbzQ)y$Kl-mx zUmpV`GhMrN;atDy+T*w2hyAAZXYv{H!F;9ppuIHx|A|n~r0hfG`U#Z1 z`|m?`O}h-~BEQ_f zw46RvPfVZt_o4Vo{gMlp);DFATl(*BYTuQ!vytC1ahx*mulYaI0eE-N9aLImJj&VQqdwyJN3ZIU1rk`^CP@W&wujU{7t+ZTO zj(_OO@efgsxt+8fuzz*`O8!~SI$quWSdYwy`}d)8{e3Cd-}mKOo=5$@FE^)8#Jvb^2Dze&0Np`_~%vve6AyLA0wmae~TeKVZ<_jlbtG2efe_FXz@m*wI9{eKzH zU$@=u`VFe6%GW?XSs4`)`#G)|*Zr<-cyab|hUp zUz4t#|A)HofRC!!{-3)Ll1&1U&F*4B5D_7p7_*f?@ymT>|z2IFk(SP#V!`q zhrMCJh7Ih!BTA7JIw&Cah9!#a|NWjhv$y1K2tMEE^Z#u=cfXl4XU?2CbEe+8cmEQ- zCYoUd(Q!389&q03K5_k%9nV_IiMCsgx7B8C5!G7%HBibwFjxM3@@;?S&y(zU>E`_d zbN0!XKHA@f=lw0qWBVyTKaP9R{!!-t1#aFltRT+5(fM6)eHX{i{x&$?2FGXmRdD=p z_4HTwcP!VKT)D=eTw_}JO;pcd|9GdFmiPzO!}nudv{=`H-08YT>7xw111l!C58(Jm zfOlu?-;I>@l*w9tFFOih?DrYR_cX%X6ZOmreE+?CkogoEb6?YBcY#0Em=6+v2Sz`0 z&2HtaQS2Mar_3x*^gtS}lY{h;-~&Up9#>cVb0HAr%Z@X<6+!Q875=vp?6;FM(fo$} z9WVPD;<-P`^)FWzmB@!H&>`j!ubVl*^nmepM-C}`yLAfluQ8t|NO$^;H2*-z*W()O z|1$qSqer-Wdqm`-b^J-W`O3GKly9#{`MyYy?w4=Rh#qKlt>`h*>>c7~y=(OTi&AO1&h<(+A%FhP> zM&=dzGj=g6%&Yj1^mF0Ay%5Lt#xVCldzmHpw&4RM%+|*H4+oX+iT`TMaj=GsUz+gu zYirDP-u|?Ne%8eOjv?SDE=_pZ4E|?3@%O3L_t@Ut{xI*4kbie+-3I&qPS36;sHc-( zX%3ZrU{~&;<{Ynm;^6Y2-Pmsg?Z%SOZf}a+8r5!1Vz;5@7Vlu}>bp;{evZ)kIimdV z@^0n`wddPnPlnHh++NVv+U1CHmZO*XQoybZd7@clwc^`f{KC$UuFQPXFj-j^+Iu@#n7QD3O1?(2o~7`Nm0ja4u~9 z?u1NNWmiLf-p@h4;x|O*6Z9L}FYLecOXkzEKJxi3$2H2e z_1nPw^7=3HYl~ja6ROR&@-O|_)|>B_wdK=_s?9)&uQodgR+Fwmgnr0D86A zE^oTxJn7o!p;KO5K82FcW`9{et>s^By64R&DSE7%H~z0GZwJYTcc177xC4hzUsF>) z1s(szK#t&ja81?luNr0sf>299z z&PBgcVV0Uvz@yEXGRE5pjVqpNz~ocE4@kSw%)s&2Bm+dbh|$3ZW@(7 zTj^a?PE&+#?b_YUR{9sp-&y(RDBb02*C*Z0T%|8i{u1FIjQazhprnIw2l`{dM)RrQ zbo04jllf9`j`><}uK8AQzM+K%dJ?O z=nS0?`f26ELv)5ND5rgULY`Z<(NE@~KlS~@&MP=Ro`;dC+F-^I;h*0se?^YJ34TQR z3tHu8ZCiaD|H4-J?I0A?e^IOaoF&=$Qh0o1`4*#}<=q9^yTL3HyEmGpg44DB=4$;l z8TvEp#nsa{5}qUV)CJzl5rXp__Uys=#AvA8&5SNT0deb_51_5zer>&as8>5*vh_ML zH?Ohv8;ocDo*js1JqP1i&*xxXxwbdDe5A}TN0*l&~HDg8jtZ*pDXvv4MGIT>NpXh(A6MPkCn}zm3fMVkgc| zs0r!8@x2&+OpS>1kbXz}@8+94??HY$&v5hG(dFa7)64Y0T^!DPMqxfQ3iFlG8aB^MAp0ple&hf4@%Zd<>^qaEXn>x^&aaEg@Aw5T$i$wDIgbX>s{(!uapq*K8@l1FNi_X+W(}TO5VLv0yCCKkm zoYA;c^kjaQVusSz{A$ew-o@nuk~L<340~K3FG&!&zPS{VZG3@e^YKtFk7rR(t~HV# zPOi9h&`|jCj>${m=VATm-$Rm@VV-@i$hTVC`P_|C-%p7>Id9t+<%2EI7Hs<+0cO(c z!BJyg5I$oarr7n1Xlgnc=P6*-wz z$a%)QJ|yRP3Hx#oD{@Lj&S3P`x1nbmZ04JL1*e;df{o@$!FlFI!3E|`!P#b-V1sEC zoNE>eHkpqE=g2&Xe!%v_eD^~S;Px?s{=xHTbHNi{w~@m3X6?@Yc@WmiHKsexxrNUG zaefe#=h}5x9%tK>$JTEBWC$p|WLzcP&O4*|WYK?|h<=9igSO?vS$JGNO-i@(nrJ>< z0{L)ev+DBX%V)Oa!}KTPKg^o59B-*V<$9Q*GbQWeWc1B@|o9 z)$3LK*P7f{BXY?fCzte~T-FEmH~@aabCPaez!^K~LqVfHCqaJDj}AcnkbYu>PI;tL zp5yn+W9JPFQ*KZX`YZE0FpnNDtK3&2`5mZwycD53|EIj59=80x9+Vr@<0#GNwSYY8 zdrW|jVe$pjosaMUT&`WYdbIv-+ZD^VKlCM@5BURd&G*7~r@v7Ce&BQR8Rod_!Zy7> zo-%&_Ksg~oKBUtQz07~4-|^+za7(^%!pC{!4fxOI>)X%quW4?S^Vs>v`x|rTUR}RH zdsLWXlQ)I>$Kxg34f3p>h=tSo<9$9k|4QB*l5@C(eL08~Ic~hqCufnlB_!u_3Hx#o zD{>B$qO;ttp2OuzdAEk-WF_p&L9EExV-<1^N!}KcbFhScIfxZGZoJQ@&r!+SLvoIm zurCL(B4^uG=rhT?BP8c33Hx#oD{|a;pHH7M@6M2%rG{Z&4niWwjraNFyzJc-lJlB` zeL08~Ic~hqC+9;mJ|t(kgnc=P6*+Fa&nM?u@9vPC7bNV&nnvQJ$d~6xa7T|@(z}8H^{T?7qL=aH($>u=g{PRAvuRh*q4J?k>lEL zJ~@lcgpiysB<#yUtjKZgH=mrecYjFEniBTqAXenK_M1=6Ka&rHH%@XASS+kep?PVP6hHBFDAg zd~#m#CWhp^E@58|VnvQ?zxm`WF^`1gd@NyK4q`=)YrpyAJm))PW>k@kB}Z2PS-yLcloQ6QeKc!uJcif1W~R6JYp9H9F|=MkK*@;)}l{o(k(x4BQ& z{S2Qb;RkZzM*P>?JSt)L9Dtwh&K#djcXuvq(>*L<&c}H_E{SVYlF#2TTp&2y6bYV& z{h~_5hxcW=%DxPrzbVKTVI8xzVGU(XKUrCH!3?5jdoQ~KNNzss)+HRj4>g>nah_2i zrU=^M0-aBCe&*(l=R&V*k&b(0kBi^i@F?>;C`R_NSPtqxT=l2kwmjT_ar;TW-ia)p zF;cms45UKN1?IHmN=W3smYpwsXC4#(jM2I$tm?0g>wm*lxM`X%!Z`dLtZ zP#*Jf>j~?>%q6^DEd_;q^c32c>vpH7XTBr9?3;H7kBu*&Ow?C_v_IAx^%(?OZ=|Js z_aXmLpw*bQq+S_5#5{q0^2z1%anZl2dyVPlZ3t{{HZvMR~=LVk%JU944-sc9n&;35yX_YxwdTZ+2;MJG! zZC)#{#~;IWNk2@x9c=26XMOoxT=Q_z4x}H6|M}eO7)bK)_Zseh6oH0aVv%#C^m7b{ z{oBcFQh8fK-T?Ct(+PS|zH67~+aj&}#y|KT$gS2kQSXgn534^~d%TybogS zu+j_Kf&Go^=jtG@8CSL3J#+nNgWR`*XP|!9@&do?7`ZU;hT6xd*)5LCrAZHC+P7fs4{*HF& z?lq`f`Xl}RdhvUBJ^Z`~_Q%~n^n)zVbmTW3_r+{}?5}OVNIBg^PJ8GF4)MQ1;OmWi zt)H{>wq7lr+OWQ;HOtk2bOxsnrj<_*l*je&MM|fB|Iv1dQbI4BnFQ9F10m1eZ={@{ zUbLIli~UUldYhK|xqN6p_7h#8JIk3x?KB{d9q>QfKkdwt*!p?{{$=+`na;I;=P%YD zZ9OyIwa=1(KeRJDn{i3&kE{pl4-M)MPTx1g-<&_X{)KvUFmILbhAU{tw;+f0!E#rk zKHiq_>iJJxdDyWA%W*+WKhqw$O^dDn`;j`F-r1plgkB2!uutw6p?6ffxqg-HmG$zv z`b!_>XaAkW<@}U(Vt+z9_XFv7EJw86^TZ12r=naO7rw*A`gZ-cP2bes`Yo*y=KnsH zzp-7^|E-)?P#V9#a{BFVb}3?erXC!>oF7sT_KS|r@#tje$>-ne%Vz*jPR>9&BGa?I z(mupt!gmV3XX^OHesw0e>^Q-EdPzDf-}z}={W5`wke4Qnqf z-_`#fS}yhrlz#-;+m86(wYO~$Z`<=!nK!+s{yY`P{?N7eL(sPA_oTDECuDwY+dJF+ zP06X~U#FJeiuM*aznTiaweuod?+_#X;T@>zEOMbOSr42qvL7P7K=P-Z?L5QpKdtQ< zz7u>*%ZvRfY6k7q_6t5g`&&Eji09{M>E|2Nhx3-U>f`56ueRy@{@&M*@?HCJ{vYnQ z?fSs=v+ZHuxPIToClLR(_$SA!@Hpbnzgd5N|4xh2CQQNpo#O)g7fx&L%8S?#5EhuN$Gs{)p63AOD@)nA`g*ka?k+-mgypKcj7M3&YnU7W8Qpo#2 z=b_eacAsUjzBi=he#K&}bGXmq+Rq`dMQ^hha=325Ivbx3W+Bc^Eku97(_aiPKzISd zA82?H!ix}Ykg$6X3wimWpC1gl!F4zL1J-F8eIpVUCmkwfHahGd>YJx%`9sJC){>y!K+sd9WA#xysxv z1MFPX0OwIoziPwL!j9)we~b>WXK-D-3*swrKKXO0zppuuz&sYE$$pLY{dM_{h`0K0 zBlbHV@dI$V_sy`r*l$dL1|3X)XwW~mt|0yX06l1ja5=Y$oQn$YW3k@;C3<1@ll=;Q z+RuCoeW~{fAmwsDqCKv!;YWpL8~pbP`1+gAG=4ZJytq2KlTG!@JWPI!Q^$HzQ2nYkgS=;w&q`h-O*Bs>>A&3P4ccjdc`WJt zfc;(<^F;CyNTlDeAK`Nx6A|Wl66S+UvX3HMWFE)&5-1!vR~N%AorXJ+}*b;zZo zbj!#5^2zT4ey5)u2OB9N;Kz?kxt#xV9nAPNzFm7|I_{G^1-k18S#DSVT!9WZKckl* zt}Jf{q@4B={sp}<>A#kDPZF~{3ya#N_wsb zP>=9aKaBc8*ve=8V+gaH%suEo;rgMMSw7YW_s?j5_hCC60$(9UpGPAb>7U|xAdbty z`giAjUBAP2KsoN5N|f%NU!%O$dH#oT_Y}EsCDb?1Yj-uj$$IU2p(lh+zHt(6mkSS* zaQj@?K0oE-mmeQ8HEqby%)X#tZFZ}!z^`iZpU7X#6=iUp_tk)}~ z-n*HCH0J}oP`}h8NIx_W{a+!v^%u&qc5`xky4peI`*ds1mi*SPE$P<2md^ab_AE%Z z&7KA6;Cc0y_AE#TpGRXp)}FSWoITHlou{HE&yrGcZqR_ayY+jv+o9$w)WXc8$oEpRD9ih@ED!r% zmZ#FxYrh*j&tC+)#GmJ{GBczX;(D(L_UeZ317SyZKGgU7qV!A9w`F@MO23?k{z@MD zt9j_J<)ObGpi@6v|MUvB%d6n{oHuz~0p~-=`W6-I`G4BwHS6JmME42xj!@)mgaM>^MH(B2&6xJm0TZqD9-&ifDdmL z1%Da7KQ*1x^KezE+%nK>%wZnmyMwPIun)dDvQ)!Q_^C1f@kp;Rfs_E$y%f`PZ4UbTh7MGfU?0HRfMpcQ^lM zy?uvzbL|_?^O?m+=jKxrQM-+(yS}*Ce-vQ9axU_1hw%4k-$^qM-ybHU^g^M3maH%z zBA)j7JQ3>zeF25SHlShA`Uwr_5x|@|r z+J|=g1^=<%Ta0$Z@UO7r5Ob>d=`g(K*S4QxX+P}8laQ0bcLQw4_CR~G{j34{h2Snp zcTV4pP-pzn-mLjM!B5J?2>%AVlg|0rHA)|a^wh5o>6&p>n`Wu!3gl|Xhop`V!=Yz! zn*BZXaGzRJ>wRNtao?2nY{xI|lhv3L!5^$2SAUC=oIh8ZKXe}Jo?AQ#y?Z_C`(v%o zPqaQ;-x~io$X}-NKWc;gl^%W=gWU$&;W|>}KUc1m-s+W$c37Qq(GIIq zu5p;x+j8|lkB^rXAbp~k^*zLF?3JfakoR4X-WPs{GdY-dm!}Uv{lceY-fhQ?0ZI0! z?TYRCj($b^w1*(~d}e&Qf?}rY5J^`k>FoM|a*7aU`hAfn){a@8G+}se+{eH;hcMqe zy(pRRO5_pe%pqu zLG51?nD5nki_nLYm!EYo@A?QcV$SD|GV7+hf%_<2z41TiA)JSQg7{i|_rza*q|Npl}}U3|C9-^nNcA>iS<&w$U-^X2RG zrk*GX`gyB=5+Tp5op$mVUOVl}bMmcqT={yYH#a>Yr6>CTp3*LGH$Xn* zu=@0b9ebiR_e`&EwknR&M}xir(veO*J0d;hOo6ZV0+sVc(mw{BSTE0qkZ$vbjU~R` zvtd@ed5XZi`WC+2JQ z`WWx0aeCF78{h|97gOI)pdaVs!ScC$$meCr*E1dDt1?5yPnrH@#O-dDL5j`il}Pxc zNO))7x|7xxIIoK^u&xWcz%uh(Ft6en@X|sAn+CA zYQV*GN1#6N-fOJ?cwWM{Kj&?1f89}k#2!Gm@851``?Gfpb!l&Ek={P@O z`YgVi+S~eMjTC5@X?mu+ry2gXU5|7Y;U!w{?6Er_yvXaG?gIQEKraf=`=Q3^x8%n@ zc`@~-oNYq%ZG>K+blUOlfIl)!JMN8m))z#{$JRq|d>W1RS?J*zbBtwff0_MHBHO=s zJ0DIH_=#}jMYuHcc`elY0@9xhD6TWQ!XU}_w&mr%TClt+r3cTwvRoOIpXEJY+JRli zla5Y7=z{}vXHUB?>5s2mCv1fBOu#p`S)@L>KBz~S{ql9@Z^ekmIC+P6IOK9&y&?E( z%w`_34t&kHs?ATKd4jEvEz$$b7U>di3-nuCV7z*(ALQ;ytrzdQ)(AP=5YC z$rcjtnQy(#5x;r5M?3Oup6=Pc5Bih6kUP`&0nMe`9CByNzTXh@Pw$B0&C|3)B_wfN zpgi~SV3*nO2kMF15k43?`*+h9wc^(!)04i3sS43qj`h5))3*T|5Kp`Q3cuidgC4{A z$F|7N^?RI;ZJVx!T^dY(NMgUj^9hBf8uOoO*me`Moy>=9nC}(CJQ=NfG*+uVU!mC= zQntq4jQ^gz?U4`tZ+p;d%vs(-6cX=&fX8y3>KXTbz%8NK4f=k-dgRXf#Jm8rJo@1} zNKgOXK7BCa{P&t{AKI7Wcv=OW$!F(_)ktNGt=H=GAX8G%5B|*Z1j{$byyBJM&4esJ z^NW_B@@zY_@)$lFoEw>=A&ui*g}EH*Ne}K9yZUtZBV2f*`CIx}q+~zJa=LR;L(IRu zozTNnn|*|pe8(wY3KZ67GtzKAJPw!Jj||eU7rMM(D96wG{{{8Wbf-u>d+}htha=xc z*>^a;*vqA(-Qh3j=Z}(pzS?Y`(`&Hm#rs&n{QrzzTo3UC?0>J{208ss_>1+M{+H;7 z#()p&wdOCZSK6=XFVIhv!aC1L+Vi?H2O|%oE6M--BC$ zl?CSzTqoTJy4(M%1Vd-DWAPJ6&wPszK2zh}{TcRm9CycJ+~q(%1mo^W#XA;r+}#B^ zxaZjNrQ>)FJBG$7F?GNl>2Wr=12*5(|C6u!{ z|CPTVaS>+tobPXFngh>`aXk1b6yC)A90*gt;QXzx`O)LKeWv>q7vt%_hhh~$`!oC^ z!o5r>%a^NPmVhwC&cV!z_sJ;Bq951Y8=DtI zx|`23-qoLte_7*MTJpaZ(1!KBZ$#dk5qbMYP<_jW|yei3=^MC9!kkvBCW@7<8R zO0$3Z5Lk+M7_dUaMdkp=IUMuu{nG~_rUSwUrw>nO%)$itvuWUA*n!#swxVTOpInz_ z%%a4h62B;McqE<{a_i3MIZuB-^E-VGY=n12`e@ACkJkHgjV65Gsk6K{obxw(-<UiQZ;45=&^&e;jtb3>HNb3;rYJ~z}-E_WWtXXPBD_Xn+Ot+D z9tosBGL(+;Z2rfj+me4F$}t`5(n|Bbv~T9ia#IfbTO#L!6=peyLA+DwOT4{!P@3r) zkZyI$3lZ{(tC!=`HK>=GHrLDXQZIwkwK;q6Tmz}pH(D<>f3jX`L-viU7pn)g57x`z zP&&U}YTH;Z$EWA4cD)>jdO1ElU+QJ`%IoT7f_bj^VD!IS$FN=1A>53s!VF8FF73F{ zoFUj?&Xo4u(oatUX9sg~dU(zrtQS&ky#&)!Zd=>S>ENUtt(@WMpq#jRv3i`89+uPN zbokfFp>%$|3}0ovF#irHN5ZSaKErV7FWDc=#>Mhtyh=}mtr{@{aO=P-b0SL3a^pQ} zFsSRNYR!Aa)QtO=Y*)o*K_b}y2h%M;y47i)b?Kq-gSzzM;?pq>+jc#~oZ$^c&&z$U z)v>qJ*PSzHkN)91&zD1^b30rqJ+Cl+GH1~y8_*vQ{Bd^%IPtt*;wdx{ z?gL>q3cn`x7PRA83G2sCdEs#``o8@U-YxJ5_ul*h`2V4hWY=jo$U5^?&zQ-e-XQgg z0OlPw{>Jpv=EgMkw={fHdNSUlcoX=}1l{Mm8G6o2loU{}r6yP|r!Su0(DC&TJ=g1g zAL2CV_i-`PC-5K635D$9(pMl?POvJ>&3azr4)62g8*=Tt(tJ^D+u?H0u9KD(-+~&W z+-3JHK-E>5u!jq`wa68844^o&*zepZOc?JNbU=F>2F1k?@_{h<)R+1s~$hJQ4cFG-u{&LhRXY~4f5Fb_^C9vr|*S-bASGRV4=A; z{af+9>0#!+L2?gx(thUFFDoC?l)gHHK9O@UX65Gj<)^)2=DN*;kUk#zeK-oJ{GFXukm61mcN1$mn?kMpSk*DWP z+Lmw0pUT%RZ)l&m@~mz-%21mPYIm;JDYvwRojQ0e<@)W1_F%fQ7U@!`AJ?v(U0bFr zZ;`J3D)S55y%7F`_or%oJO9Z-uAjf_?}GWSRpQpY)PL3dYnPC3osxUgb!bJ+xa!bO z*n+CfjksOX((j#pi^a}f_I{+nNmV?L=VeQ!(3G zvOQS8q&z&aBl5T($^4x>*AKQu9@A}5^581%z^jlk%RF`GH&i zlS)354W_5u`1y59xzB-<`CBp|_^I`cV{+vDkNkbd>jZHM;!czXNQPPe0^8?f5x21>e}S3BLV zl5RJot2MtCKL=0axcW5eo#Cg^;=0VR8IOIAL-4^Rz#ddX9bj>>-K4d~5uPv+81E_ncU zdn5g9g#Jv)gF=5XLVuy;A)&t-p}$h{u+ZO((BCMTDD-zC^eH8e2z^?F{$9!BLVrI( zpIP#R&~3SW{ToUq#gvXwoe7@(G^hS_VXhsw-MtjXCkNPx+f=kF)dezf&hkVm;+s@$(zk?Zbr#_1cb zmj&uiONytY&n(98;uJ5zg{qKGg?UH);~n_NRQShKS+86O`~_DXu4Y^}n4OYS(^CWf zF%>#bg?~&%-P1o>rvDXjF8y`p`Vyx1{lxDVrl#krpG<|HOvOD5>nGodpX8TI{d~Et z`N>rHNlQ6#<+FZ58;mIau~qwXHn=+Felk}NQ)B9((7cQO{>rzd)1Nr#>n>87tD-TS$8=#eEIdQ8E^z||?&XW(C*a(xc|Li7GA^lK3P zTC*!HNjrU^$a7r`cUD}gblx|PljH2|(o}II6O8955f`6X! zuPDLDgnU<&z;6Vt->p!;TTw#4YpopCZ&sAhFDZxqhUdUmk^jQH^R*jrf2GhYO#iL) z1I*W&%~JG86Y%{pe46|IT+h`b+!J`6xuF>Gx&7PleCz|v$3Db->_hZFOVNKV#eB>@ zpGEo6dDYIP+m(_Yomc(6bbF!iiUYR6dDt$c)k5DRLf^e~2cg?}&)%hW9=fQwp=1EJ zY~72i^p6if%Gp;)1(~PUy@Ympsxd$}pm%A_Hm&2CNJ)hvy!{rOk$962uKOghc zH-zlt)2S^rvLCLVKZag*zuEpy*Z@RbXMVx#o__PG?%#i*`@V~Cn&A`B{PP}v13$-s z14=(vhax{;PrKg~_V2Jhv~--D!&g%d zYbH+45vwVOGut>hN3W(Ft_6FOB>7(wD+&m z!z1)YGgRoOMd;Jbi9$akLT@rB2|e0x{9LkMuHWGP1O1BYk=EKt1=f*m<7;XopF4-$ zdcK8bMGO1PHX~846)o&D$DA$nsD0*|bA%qX&pdOk&|A09oHmwcZX5aLwUKXroA^4I zAF!)IKl~B>boBTA>^a68OXJ5g&opB^`yu@@diG-8?bh=gt3ptr+e&vT<|;&@1G^IzooGc zsQJ$>zP%?3Z!lcr{Mg@)IoAXOP3T{#Tdljy&b^q+DK}axpeou1i{!3mhnyhjMv= za;+)l^6TZ!|GHl8%ASpUCOYdR>Z(>!|Ui zKbOSqmw8gRjft1wk8Zur6x(}b=)aotsAZk9gV@pE5&1R9;&S7*C=0ha85ao%J{ z6c?bqaUMYWF8Jk;4(4>wPcL@zNpHjz9KX02yAZTra9wBa)p~gmqYB4|X(D%+`3)y# z{PwXbIdzcLjBA|A)<~-J|8|%T(b;Q+JM<6})02lnB4)kVR)#gW;-}1d3 zl*9KdzJYQF=ZA5AwlQS#L%otncQ?KvC}59dhUqQ@eLwjB)uuc8^Jxj+UmL+qJ(AEP znX`uo#a9>eCgvTs{QVJjer5fL=eJEZg?w>8I*XUc0~-uCR4Pp>Qw*#zr+6PB9iL}n zJuu95c+$LupPxvfe!6)~&;9p~zy!WGG;6?i9W$Go&Y3RwzX>OpX@A-oZ`;UBEoHi$ zyfwh@;qOg&WTlxd{^-wxO*VM$k?(U$Wu}$7_qk;u_kE}ZHt6je@D-FJHg6+WhDf?Ia4zn46dYg|tIYtNL&pB~WPAE!@e zn;Fsv`Pn}XH*04&Zy9dZ$pq&u!%f!=@8bt@2|o4&|nSNncIr$6n*{VUt=+40ft zr<<&MK5q-OYxjKKS+J8am1rNUPRH~7;dI?IEEn55?ajirH(z4>NhjRKP2Bmk9<6BV9(w6fE@JQS^FHkecqkt{QF^q zVLPRtFx|=RDl>Ote)$jZ6aS9qd+tFz&zVziO5}L9E8@9+?v9?8@16bv|FhpC-91lJ zEz?1tzYBOO!O#3s0XZltp0#!9{pVtw9`_@Tc4NM~K_C2%5&A|i`!Z-wFOE-q9&rlB zUFt!;UN+u1IUE=7!?`xb{{!)(BJrfNypHb5iAvAu&3f?5$ip*K2Li&eVbC5jGV*Rip!+FNWh#_vE*h{eo(2Wxv3_{r+88`2! zLw*$*FMEb97wV@c;(H?Ao&)G$ASK%?$A235x`9Hy8gbz{afEv3_*=?@HrWkw={uMW z5#BJz-%=h*k=;1JzX`&dWZ2Kx_FNHa&y^+}dai(c?mSfw^Z9?g7W~Gi#zsP=KrTM*-<>R<&pC4$X`@oAE9{7s6}fQNj*Rb}3s-jRiSS0b@cI(oEEnEb`1|I6c^Ch@(MpU!wp_M7;NXGS89gKW8d%%P36C@G+>9@W=atpmm|t#{ar&@- zVt@U#XAIA?vmbHuaW~G^n5R3U9fA%fe5(2D)%Z{j+b7HA3G!d8I{XT^V>%H$+o0_E;jwvZBCEpEydp9{QI>jz0=Q)*BhHAv18EAr1*B;R^pj%PvkHW zHpu{)o{f<9aOJ_65U__Wk1wCAAtJrLf_S-Kr z50~Fw`eoQ&`k_K;mzMs;_^g$@E*dIlc3baQbc9 zn7+04ZuPb8-Rirl^0@fED66$|w7opjG2CAME~ciP8s-WuN?SZ~(ue!H?mcYM3|>)Ge0SBL$| z?Mv*58g+i<_?@2AFN=8U$8r3Bm7jZ`VKCpc=4;!d-yT}io9(gn@#~q6!SPFsg0Et; zO>R7;eAljByRA01-z1+KFC8EKz~|%WX63o@(D6|(pN~|(KROHjID%QMw~4urE6*k} zZf`4oLpe6g=XAG4dtZI}JfsV*-?<*y$J;hj40;1D#^a15<~PsFJgCAfl=G6Dzu9>+ z_Ys=JPX0P~+e|&u*>&!=nXMqN4&i28T(54M*%s@PZP9yC-={nBzZ&ywM-)fKE9TGj z9qI19ycOn!R`Yjyk5svTRsLM>H9;o()xBlCM?2@LMau2hL;sk1=@0(Zr_VF}W9p?p z>ZL#Gr9bMW|DULr{-~G!S}*-kFa1$3{ZTLdrC$1H`lDX@!|K%cnU4G~Trd5lUPxcP zdg-4TsdE3S{B6DT57Z0o?AOakvjeoW`z>r?7vle4ab0U3!mOL`vv^JXsnWdO(XNj= zCBo~Y#@za7yUfe%^5jE5+uIwM$(n&!V-7?;3`CvS_4z)aGt6A0ipkM9Kf1hZ3SHaPm?x*l@RLfGK{TJsXP24cTwr%aQ^4+-co5;XGF zU$vSd!W?!KuJF^m;Pv^56(9r0J}RoX5Q<#Gs=3W+Uu^4GzRvOR%y4L zGc!Bdew=y^%w&*1%VGCxo!kdh?oq2Hw}TmwdEOfUKlSIkVSR5^xwoyB+@QYc|B=3K zJ{8vY9@Y2WKdo=}f1cg2&$hE2Gc(ZBxc%b}=nt0SszblijH}uV{X-0;U#u6-1NeMn6FLf8 zE}mDo)SJ`su@XEdDt?}C9%08>|Gh1?pY+2nFO13}$H|T6>-hNG?U&dItS|?K-dk_a zBkYQPZMjzu=B!zOy&>$~n)#Ubdw4$0-}hyIUJtq*N9K3j0PDr8&E1`l2=@W`_9@Divb@g;~a$*za@bu+#MPulT4W_;c*j<0tNAJ$0Vw)dG6 z-mVx&g89em!rxJFd-n1{qR@pb^eiG-QQ9bHF z=Y0pqPrYYLeSaT%pG=|I6}zVNgZs6go!`lhV~aZ3@qeq5eB*y2JEv2%*#fz*Du2q4 z&o@r*pP;ML+ukp;^A$T@<17uz#qyznVcxO`^A`I%h{bq6)}NIZPG|k-C)6ADpdUs1 zAG}8rdRRWzZ#cd6v!CE=Oiw=>iT@3*dR(>~cxOEPi~jfruCY=M_WO&Z-zSz}C$-YF zX8-u|@;y<`eqp^@whycw#hFU7MjEm2u?+JdFzV~XR{{!in|6YGGe*^uQ|K5Kx|DTY*)4P}12c>UY zxhs*cpKjkar|W@q)~?}pVe7-ovLB{Du-(++Ib6PJ(>{mm$@swf!8$hERz254ej`z? z;P@YGe}70jWxK&2{x3$3?APbx^2^uu{Cc;cd>m((Z(GaBaj+Q|{9O7=j)VK5L=*7s z{QOwyNB2{|-cS5`1mgLg(qR7+XJ=PV_`TS*9_cKfmE-(;Rq|La_GfmSO62Uv_e8V4 z;^fl*+afn;ueRvRcF`8O?0;5AU$&RF$PM=YPG9G@adu#PYKz=T=Zt#v<$ z&U@M-m+h)8`mVQ{`r7uhYJGdRBDW6y+l;H)+$!UO>)&|}Z7Q}JU4LDP@Vf}R{+IF7 zHJ<$`<7XgTf&OEb;J%r9pqqd3JpofYx&Eo4lkI2h_+rQD{WBG?6Wb5{oZ~e6FODw7 zpyNG(nfa!%Q&8UYoV=z^Zr&@6UfTBovM(~$EbVjv=6P=1_4i#8SoKlAiZVO@IwWJ~ zU;o733d`Z|zZ{t9%3DP88EFnfX-#$*u4C}u{pJ|iujTw2#SMjdr{^rhlfTv+f!V^s z+&LV)H&FDeG)KyQ_E57D>yt;?j4T$`9bQ(y>~w@eFJ!r zmwdP$;r#==-`}hU$(+A(Ue9v%LTNJi=9{ERXaB|bZ8BWM*le#dx8CA9iTpfgjrBI> zm#v+zK33M<%(n|9^8Om-(=NWV;6`(6uW`z&bpV>8XAt{jEt*vuwnoZl{# z-z%&%o#g$5Lro7nmX^r6-xJKAPraT$SlxW;1vG*1cd-oB0 z_sL^##Af@1>`i{(-kn-G&psIIN4JmIH;-NWltuk{u-cXS7Mj6o*FI(ToJ82Ju3RiH z%9Z<&z8s<8`BK)iJEy~S&|+Mz`%7&=|7}(O?bR>FMb3-(?Xfnqbs6*jxRv}l-^LG1 zuOj~w1NraR=KN1Y{;r&D%jcBbeiZFRz1S`)pg+s;Nu(TX#2#AAQt)})|`1QV1L~rNkr?%+FPJ!P1-2tRW-p+5L>7Ct8HtIJ_@818n>h$iMk6&+0k0Qv& zowK2z9EKH<^>=$7*q&!`zwc$=gKGCn&Ja7k3PaG2pCYa6*WCU!?a6qY+X=kituB|2 z?{}+1`HK+G^}X$9PeZ?ZTA<$@k>UH@Mu6{3(0#tsv5#CQ{r$a&<$Uo)NZ~#O`~QPb zvWcLh|HHY6(}Cf5-Y;hVHWKyceqW@udM00?IU}>1^m`+9ym0-|I%Rd(QDFQYdE!TC z{N8!uPuFGIjRWjfky-ThD}2j_=#`EkDW-{)5!%FpFv^{s(_&Pq(d4k7#T zBk()K7~8PRCF51-z1X%NKO4_w_~qXk`uX!ulqP#znQ#9SwVj-z{l)QRcAkD*i+Vph zQw!T2Cw^Qcv)N#KkIHfW)3Uu&P8Rle^}~5lp*cHqYN#JNQ}sG~m3k$zBT$d_JVr}7 z7pR&9cSq20YBM(7 zi?ActNtcz`ba>8B!k3q|Ovm@8_WeV zUzm|NFEd8w$1GO`^l3S-A0zGcx;D!@FECGb{pbzqudW?k(V{(`m$_c@X@~N)P4BBk zZ`waz@2g=~uBxp)+Aeq1_F%s>3zkco^D;M=otN{Uw$>NxlkR#Uko9=2`Kr?>tnB@M zEV|x}vzJ}(+IpiuTEDUO@XY1RKtFh&Y}shkH~k9FSN1!gqP z4Z3se9A6Ndy*T&WLV>w35`PKeFUeFQ-DQD%@b+2s8<)W!J~x+(zg?V}iS;+tLk-uSuc!`;S zanqmIS^9)B7e5jF)SKyej)M2a2O=F*&fVX{|I*Ja0nNtqzWIk% zJWEA;eUN0jLiCdlm)#G0adqvNvkSOf`}qI4oO|cWN$;@d5m`^}cVwL1!}fd#^TB&i zYCg|>JbDA#VMgLn%vTD{{bf&-6|ACt@;RFs3H$pW;paX4bC&eu`>`IgeEeN!KH)^1 zjXa{i2hDor{ZS(KpIgocA1dSTcDvt)4*EfD@=*LPI(PM0uT`P@=;Z%G^X-fs&MGrR z%F8nILpj?b-(Y=ne5SvUj^C4|zrc^|e2o0tMff=%ck@xE+Yb8s^}+nLWe9VA-e|^PJ~Af55zWmHIKN4FV{+pU!)wU=WenyomY*wv zD)WsTymtGvRi-_=U91DFepTjciLWwG!Yj!Cj)woP;hu_{D{iHDjN+w=;}vgHd`t47 zOn!p%{%0^>Vm*(=xPbc0UMtvOt^?9<#%8X>xx)LB*C2eq!8hJ)#Qq4+4r8C3RPK|H zMr{;gkC*nb>m%;%_|G%>@9(`b^DO+nBb^m9R147%aC_v=C!i17{{*4tXhuc?}GfP2k(#Ovx{GDz6YzobN4q|{!T;7_wJ6x z-H}4*^*Z#bG|l?lUG#T*{O8=pX5PYl?5fNXTy?NFYoglB_ygw6eenLwGJ24|pY|W` zdf3a(gQk>SXnq36IQZvSZye}1qMqJ{XYfAje-OSK-;D2T#$`B;U5M~6`2Q@4^)QZ% zgE!mvE4+u9#5G7gE;CNf5m27vuS1$b-0uK7IUB_SRIeUOEc6kTro>M*({EgtX`;I1iA^vARb-0>w-K_cXewLT@ zOHgAr^=3j2@qNWviuH;Oij9g*inA5xD9%-!r#N46f#O2NMT(0RKT!Noaf#wm#bt^g zDK1z1Sn(6ZPZd8?{9N%1#V-}VQv6!+8^v!GS15j`_`Tu}ia#ngEB>VTv*Jp{Ule~; z{7vz9#Xl4|p{4!#!y3edA}4GNw^uAs?4VevSfrR#`iro||6e|_GEA~+AskokEFU8)9 z>nm=cxS`@kiW@6#qPVHzW{R6DZlTymv9Ds4;+BeADQ>OUPjMT?Z58_~Zl}1tVzuH9 ziaRO}Q2d+XPKpB+cUJtn;x3B2D(&sV%aakS!v ziWezftaypyrHYp+UaokB;uys%6|YjfTJajiv5MC!UZ;4y;(rv!Dc+!XqvB19H!I$v zc&p-VinlA?p?Ig_U5eus?^e7=@m|II6elR&ulRuCgNhF+KCC!V@e##G6(3W4T=5CT zNs5ydpHzHG@oB|p6rWXmPVsrg7ZhJqd`aKU7?z zxKweO;zx?h6+c$|MDbI_&lEpb{6g_d#jg~W$6t`EbR@^~xN5uh( ze^cB^aiHSPihoz!MR8Zf-4y?!xVz#WihC;VrMS1^K8pJ)?x(oF;sJ^WDjuYGu;M=z z4^cc+@n4FEDITu)Z^c21M<^btc$DJNipMA(t9YE^@rr{LPf)B;tW_MMI8^aO#gi0I zRy;*lif1aGr8rXYY{hdF&s7|yc%I_B6(=e_qWGxdV~UR}KA|{CakAo* ziccv%t@w=Mvx?6tKCk$K;){weDZZ@uisGw^uPMH+_=e(}if<{ttvE&T9mT1N?<&5h zI8AZ7;ta)^itj7VQmj{OP;69eQk<c{q_<`bwic1uiDlSv} zNO8I1$BLgQeyaGH;^&HAD1NEupA}as{-XG+ z;%|z-EB>Kqurb7O)l*C;wo`1cSfJQJu~4x{F{xOrSfW^}*io^QVwvI^ik%fxisg!F zMZUm8#(%{wifbyarMR}@I*MHt*H!GMSfN;{*j=%QVo$~O6niQ5R$O0k1H}y$H&WbK zaTCQ&6*p7dTyYD-{ZtLx$(sZ@@m{ z1hY+QHsbr@!r4ST*R)M4xL;QfI`{dmHruCoA7Oo_!hU2O_?mIK_j7PR^d^yaQ||do z-XE<8mFY(S8 zx3Lw-rJqqUia|?Uj4m~@VJ8+-j4%q81*y}FX>&wu-eyzF5yE}6j zY~!Isw!ZEW{qKSPw!U~rtlr!s`knDhisljx<;g# zgsUFUCEMSFo`Ls^;?1A<)FHkZmoH~R=>C0s$XV#kN(ANb`R0p|<`>lSBwY20xcim% z+yV8N0X^I~lzjO(eR?ch4!gInImKV>>XHZVu zzq9vsdH-`Me2=&c_%Q7GhnWQbngn)1di`hCcO( z=Y7}8Y z6U}e9-#tn0%c9>iFEbt&?QX}BTJKxbhwCS)|F_V##_a6<8|{tlj`_R$zYOsr-#0)< zuQBJ#{iP~1T*|@w%iBQDF5s!aH4hh_IWT;`a9?k-q+f*cFuaw9KSJ2OKZ0_pFW;9} z0d(b{-dzypd$s!lnGfwmb|Ok;0ufs4_>29QZ%nZW5lGoeAXgqxZuqd=C8qU@7cYk|kpW{N-w%P` zwM+TAMevVAZ^!$_N2jL2V)MYmp3%R*@7^;y3f4Xb^A0ONF1`WrRc4x$gEIN4Fi-3F z@l2@S_s?gz^J)G$4ZauErlvkGWiZ`GFW1$afH7u$^PJ4@7(N)`Ugr5+_-P5hkPDxU z@J8l1&I>WFzm(x~d`$OG*smA9O*APnQ%1`}HK&=xGM$05VZPtJu?)*VG-Kxst z;7!thm{(A~VthB6sqo{encYAyHZSMGY$w+KQ*kaJQ9Kp=){av#9yK9_4IhO6 zHZnWp;txcak7U3|E@F<+;HjrYqhTcc)inE*E_$cTY)&=Uu^9WvF?7!FYLinl%%@}GUFbJ8^KK-cqhr#M|Cl`VL3!v$ZV^g$1HD+x5uzk?e|LSs88DH=Ca`^GK9DdlA!-k!GDo}dcKfR~r znWp^{o^wPwPBK%A64|LJ7kW=E*K9499jBV)AYQfEKNmko`) zT#vCn*Vb^2sgr(>@n;~0?^$6ye;4L>jMN<0KLCaP#rkvUxXv34Pvm|G?H;6`pmf$l ztr>)Rc}>b`^M4hkw)5+w(7rjZGs%p0Nj z={i63UafeI;#kFN6|YmgUhzMQ z;}maDyixHc#hVpxQM^_0HpSZ&?@+u`@h-*jigzpCqj<04eTowl?^k?4@j=Ch6dzWc zsQ8HDql%9yKCbwL;v~h%iccy&rTDbsGm6hDKBxG+;tPr|D!!!nvf?X>uL9kNzt8kF z0`|P9eNV;=w6A(IL)ZT^Lcb$bWB%h!M?BAka-GWlf$i#8d^aOpW#+M2VcoE|jKAF1 zd=2?k8@$CGABJC-Fy7Ly;Ws3_TQ2;jgm=k>-;(gox$xT(-YFNJBH;nK@H-O5@1Cgq zsS@5k7k*d5{UtmI{XftB))>S~|IibCt?d_V|6s>^H=jPqeAuZc(o~zilHNV9!QU}L z`rJ8D?o0d)>+(^cavf1^Hp%g?1TBt#CDs)_e{a?I-7?x6`vVf@?-tL&gsa;0&~Sr> zD|7L4CB9oO-iEv8;^#^H+PQceUNaXzU*hrT2R__4wPCy+1Rw5CEC&Y9d$XTqd8=W; zURZt7j@VZhexJ_MyrkpTgYc;`FRGs;HT;~03v=mqguGEGuT9rJLWlQ>JlTGMyrr^^ zt;RkYKec#&HhC|TKZQ?_kR!6(mz+a|GS=+{)y5TMD+Yf>7PgFOO*auguYnm3nTOeN?#nI z&sF-O2)#+^UqtA*qk>O`Dbw{C-qR^|o2m3fgg#B_YeeW%mEJi*e_QEqM(A%SeQ89W zSCzgjLVro=sfe8Cm2UU5=ns#I{?91g{~cUQf3gMtJmG($1;3>~s&wD4Ed61n`+jKY z4=CODD@(sm>AoLY`rS(R{mRnsRJvb}{Jqv{bDPrrda?AImHtuAZkB$7(w9f**DKwx z7t23Z>Aw9f{VJuG=j?CkS18@DM@zp{>60V;7b)E@ujRi$=}$)Z(SzbsfnS?*?cMTY zw@2uoMCfNK-ES9`e}vNgc4XFetWU>6P50_7fY{Iy6>NsK3M5XB6?zk z#izpf?ZxsRCG;9|cPU$bwK*ae{!GIE&V||YRGY&j?0!FVu(=>r{0HxE)TT-Vhonjc zho(9To|x(+cv7lN@Z{7Qf~TZ93l2-A1c#@}1y4<-1?y57!P8P*1xKX13!a|pEqF$1 zeZezR8wj42+E8$0Y9qn3QyUAOliEb^+|;Imqf(m*o|oEO@ch)4f}>Mg3tpJ&CwNh6 z8^McH{RJ;cZ7+Cfs#Mtl*ug z;|1?ZogjF3s#b7(sz&hM)DXdYlzv}osDvk^P7=I7b&B8vso{bTrs@PAN{tYFICX~L z#MD`WkEG64K=6swg@Th(7Yj~KT`Krw>T|`TP^+Ux80}Ub_PKyH;doVjfj*X6n3lCg!y(cea>g!2VXJ18<1um zt~DVy7{46zBhHH`Zvwt&fTu4mt|O!J>p<^;e6GiRx)mA9T9G*bS23>Tpiq7x(w!yJ zR>*yeuR)8-;e9^p>E16=2mWSU?)fRs%dmfq`Pnl?oG9Twg3Om#jz-A)zgLcDwH%+K zG`2pb|DP)U%fWp^w~x#AGYjn^7_N_m8zSMxNVq8y zo-JX2e|8SS{{5vnvX42`%q*IfX+(Rl^CQ~%vyh$bJ|Wj5ebFAdf4Cx$59w8T=v(HY zZbsl=Z5Z&&}%5#Izg!ymdeFwc(WWIx5)#mb?oj=!d@Xng+hp=9ig;TY$^COn` z3+3beX2-|+u;sM&t2H|$SKv;cd*3e8C7>7k2P}*8rlTC{6_opZB>Y1p{9`Emz3w~z zp!?20M)sXQ?8K5+V}-^K^_s2a3F>9{DduK^{xwhXvGq$m=SRW|BH@LR@S;d~F~XH* zq3AoryjL_gGY@(llGAIB>cx%lpdKGYYh%ygU;AI1>H@;ac-X(bCLvlxK%r{;Ydm(eiv6N&i_S{5irk=B*;~Rhuny^5&~N z`XT*#Tk(7LdN#bBggGiP-KM#8W$K644t{(80(?Qg`%=PoKb`yDUm;v$mLy1b{?7aC zU*Nst409b&0WNMZ48?x=v=qnLcM-$ilU_HM{~CGn|2mTYHrnpR z=EHh|)nw+li%55{SN z-BLNZ{Z^(T%u8C%D3;KMa&uc+Xc;uhog5C*qd(MaNM;VAaMgv7x zesNyh0Grg9&Aj)aCvlcyy<&r6qhgcdY{fZ>a~0<)z6O(1-h2%&P+X|ENO7^^2Z|pm zE>T>nxJ>aQ#pQyVde5WAc>eos#TOLkDt@edpD2E+_?hD8ieD&xsrZ%R*NWdLeyg}b zaj}$hQ}09UpjMd~?0%)(-%0#t-uH?>DE_F}6%|eUtgF~fu|jZ|*DQR)ylQm7yifUS za((a*lMUM%bGG*r;@Mxe7yh%opEX>d;guThpy6LMT&Uq+HJsG&ZyGMv@b4Nf(eNJ{ zEq1=uO_CDZHa|vJcTTXpGLWf&n+O>#Jls_Tk$#TTk;C^a*Onk{-3VBs#JLzYu zObv2j_!ZfYt}Vp9}vP`~#n0y5akvkRWjUaG&2JJm)G8 zije#K7U8)xhUeD^&sgPQpXEM3M|f^h9v4siDZ+E7^4Q+aayCbJ?o*y%xqgiB9FAco zTJ|3zJdef5`98w)Yz)tL5uTTnCuqYJ5uUe|Cs_7xBRtb$^72ZY^Ff4X2jvOcXHkS_*O827@k)nJa5GCyb|G=sXRfQ zUykt1i;?qUglBOK&kGTr&tiC+G{|V~+RD`Egd4hHNWQ1oeEfJg+NH(8r>A&5Gfrk5cjXC|YfOY^1LX<& z*cB0;zA<@S9^vU1!*f}LXU7PtXs0MtGW(CupA@5uOiX^6DPp`6MQ<$_URl$`c$bDUamaBHrO1I^Fxe2KSp>84{X`Keu(g_6~ps=glE$jp6?<&+sE*%i16$c z!}D!~XOQv)`{!>WJVRr6zK-ymqdcwI`RW)s(Y)^Ze~jG+m=wkOKJ2$sbs#efl7k>Q zBT+IUIVngGC5wq9h@gZ4B?$r|QF0Q=K}94Zhyn_VLtY?CziO0`>%VbuW@R;>}@~KStweFI(UBy)h06T5V|7WycrI%DaJ|Zex9hx?*{L$&$KsrpIjl0_WA&_- zIioV+W8;jL`8#4fr?rgz@_)WYozgO?R3<#;lUgQQL_dFOnZha)-mVi`rlQJ(kHh0y z<^`1rABV@ZOv8xr9Mv+fL}U(YnNBJb9`hkB(=#HYKX>{^WcF(Pj8d8KegDuhlOy`s zqh;nrWWs&Qe=qwVGV4?(yq|y9*0n35pWn31VU-DwVYik!r!wK=d6$;Cr!wK=@K-G( znk633;p68QEt6hl!sFSgWpb%Z_;KH%Wr{{*wriQ<5t;CM<-g0ROnA&cYW>tynehJE zs%08QtZR#wX{9pZ*C>5FZ$_+3&%CcP;m6_!ZCxKljAyf!85fb+q-CZ?jAx^kSs0Po zpk-D^WY%k$O)3*U=GSSN?J5&~yw+-&Ln;&AZ)>#7<%scouVwD4On5)9)-oo4H7dp{ z3cpVhUa$Oj3YGb9KjSh)^s`D^S00rKKQF%3GDTG;Jmzn-OxcKj^f6bB=;v##pN1+E zKAu-{glZw(F1Av50=Y()ziqGU5Bq*E07a`uS4JI4u&7`S5W#Ps?PA$jsF; zB~>PT{Dj9Q|6N06!pHL*t)FHp6Ta_kE%RDLW|o%eq%z^xpKzb@-#sG6GgIp)t}@~M zGegUaiO5XXGLs`R`grE3On4to)B0H%(a%&ZvpFI&Ma%3^neflS$y(-*i1AF)GRIUV zye$*8%(;ln1TAwtA~Rmg+>gkN(=uku#N#Et5VX^O=^(8Ic*IWeP@Q zKGibiR3`kq2#;U>yGBH2q}I=CDic0_MrfI?5&e9kW#SS24A(N_R3?1<4AU~xBGxrj z%Pfjm*AOkUCL%Lf%j{5@@bfgTWsXK<256bH5t;s4=BmnsAFqB|=5|D;uaI0k6GWYHY%gHhwFD$CcJ;TY2*1QBGX07j8d8KW6@d5Op3_7qh;o+OnBSh z)-p>Y`gu#se5W$u{rsku*`_k#ZGS_{>{praIc+B`b53Q#V}4!B+>OX|)H0≥&^r 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%0Ah73>{~q)WLSSXd~n;p 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 eE%5gi_ 1.0f) { + light.r = 1.0f; + } + if (light.g > 1.0f) { + light.g = 1.0f; + } + if (light.b > 1.0f) { + light.b = 1.0f; + } } #endif @@ -29,8 +47,12 @@ varying vec3 light; #ifdef FRAGMENT_SHADER void main () { - vec4 diffuse_f = texture2D( s_diffuse, tex_c ); + vec4 diffuse_f = texture2D(s_diffuse, tex_c); diffuse_f.rgb *= light; + diffuse_f *= e_colourident; +#if gl_fake16bit == 1 + diffuse_f.rgb = floor(diffuse_f.rgb * vec3(32,64,32))/vec3(32,64,32); +#endif gl_FragColor = diffuse_f * e_colourident; } #endif diff --git a/freecs/glsl/defaultskybox.glsl b/freecs/glsl/defaultskybox.glsl index 2cf51804..8292e5d1 100644 --- a/freecs/glsl/defaultskybox.glsl +++ b/freecs/glsl/defaultskybox.glsl @@ -1,6 +1,7 @@ !!ver 110 !!permu FOG !!samps reflectcube +!!cvardf gl_fake16bit=0 #include "sys/defs.h" #include "sys/fog.h" @@ -18,6 +19,9 @@ void main () void main () { vec4 skybox = textureCube(s_reflectcube, pos); +#if gl_fake16bit == 1 + skybox.rgb = floor(skybox.rgb * vec3(32,64,32))/vec3(32,64,32); +#endif gl_FragColor = vec4(fog3(skybox.rgb), 1.0); } #endif diff --git a/freecs/glsl/defaultsprite.glsl b/freecs/glsl/defaultsprite.glsl new file mode 100644 index 00000000..a13c7c80 --- /dev/null +++ b/freecs/glsl/defaultsprite.glsl @@ -0,0 +1,42 @@ +!!permu FOG +!!samps 1 +!!cvardf gl_fake16bit=0 +//used by both particles and sprites. +//note the fog blending mode is all that differs from defaultadditivesprite + +#include "sys/fog.h" +#ifdef VERTEX_SHADER +attribute vec2 v_texcoord; +attribute vec4 v_colour; +varying vec2 tc; +varying vec4 vc; +void main () +{ + tc = v_texcoord; + vc = v_colour; + gl_Position = ftetransform(); +} +#endif +#ifdef FRAGMENT_SHADER +varying vec2 tc; +varying vec4 vc; +uniform vec4 e_colourident; +uniform vec4 e_vlscale; +void main () +{ + vec4 col = texture2D(s_t0, tc); + +#ifdef MASK + if (col.a < float(MASK)) + discard; +#endif + + col = fog4blend(col * vc * e_colourident * e_vlscale); + +#if gl_fake16bit == 1 + col.rgb = floor(col.rgb * vec3(32,64,32))/vec3(32,64,32); +#endif + + gl_FragColor = col; +} +#endif diff --git a/freecs/glsl/defaultwall.glsl b/freecs/glsl/defaultwall.glsl index 8039d073..556e4eec 100644 --- a/freecs/glsl/defaultwall.glsl +++ b/freecs/glsl/defaultwall.glsl @@ -1,5 +1,6 @@ !!ver 110 !!samps diffuse lightmap +!!cvardf gl_fake16bit=0 #include "sys/defs.h" @@ -18,15 +19,29 @@ varying vec2 lm_c; #ifdef FRAGMENT_SHADER void main ( void ) { - vec4 diffuse_f = texture2D( s_diffuse, tex_c ); + vec4 diffuse_f = texture2D(s_diffuse, tex_c); + vec3 light = texture2D(s_lightmap, lm_c).rgb; + + if (light.r > 1.0f) { + light.r = 1.0f; + } + if (light.g > 1.0f) { + light.g = 1.0f; + } + if (light.b > 1.0f) { + light.b = 1.0f; + } - if ( diffuse_f.a < 0.5 ) { + if (diffuse_f.a < 0.5) { discard; } - diffuse_f.rgb *= texture2D( s_lightmap, lm_c ).rgb * e_lmscale.rgb; + diffuse_f.rgb *= light.rgb; diffuse_f *= e_colourident; +#if gl_fake16bit == 1 + diffuse_f.rgb = floor(diffuse_f.rgb * vec3(32,64,32))/vec3(32,64,32); +#endif gl_FragColor = diffuse_f; } #endif diff --git a/freecs/menu.dat b/freecs/menu.dat index 71e36da211f2b28fbad7684e8a2979efb8abc2d0..16e5439e0a7719ab42cea1f5dff10232830e3d47 100755 GIT binary patch delta 23 ecmbQ##5<{pcS13vX=6!i31e#s)7BE^c@6+)q6lyR delta 23 ecmbQ##5<{pcS13vabrnq31e#s)7BE^c@6+)h6ru| diff --git a/freecs/progs.dat b/freecs/progs.dat index c072f3f297af32a4e6b2ce904c4b0b399f16ffd0..e2ed77fb7a9f2d04d36b60e534862daa0f352f5c 100644 GIT binary patch literal 286810 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

6ueSYvweu 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 literal 290110 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 z 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