Change log/5.0

From Sven Co-op
< Change log
Revision as of 15:09, 12 December 2020 by AdamR (talk | contribs) (Created page with "== Notable features == * Sven Co-op is now its own independent game distributed on Steam, free of charge. ** Includes 3 packages: A game package for players, a tool package f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

1 Notable features

  • Sven Co-op is now its own independent game distributed on Steam, free of charge.
    • Includes 3 packages: A game package for players, a tool package for dedicated server operators, and an SDK package for content developers.
    • Includes use of the Steam game hub platform and community features. (workshop functionality to be included in a future release)
  • Sven Co-op now uses a customized GoldSrc engine under licence from Valve.
    • Gives us the opportunity to improve upon common limitations in the GoldSrc engine.
    • Maps can now be up to ~1,000x larger! (131,072 units away from position zero instead of just 4,096)
    • Mappers: See the engine changes section for more details and technical information.
  • New build of all Half-Life maps for co-operative play.
    • All maps re-ported from scratch for Sven Co-op from Half-Life: Source.
    • Enabled cross-map inventory.
    • Enabled survival game play mode with checkpoints, so players have to be more careful about staying alive and reviving fallen allies.
    • Many maps have been merged into a single map on a per-chapter basis to reduce map changes.
    • The game play is now much more pure, with no "kill monsters to proceed" gates.
  • New inventory system by using the new entity item_inventory, which is an item that a player holds on to for trigger rules and/or side-effects. Some example possibilities:
    • A key item must be carried by a player to a locked door, rather than it instantly becoming unlocked for rushers to wait by.
    • A bomb defuse kit has to be brought to a bomb to defuse it, or it explodes and you all die.
    • A gas mask can protect a player from nerve gas, but only lasts 2 minutes.
    • Did someone say Capture the Flag??
  • New maps:
    • Black Mesa: Special Tactics Sector
    • Desert Circle
    • Fortified
    • Stadium 4
    • Turret Fortress: Reverse
  • New models for many weapons, ammo, and NPCs.
  • New modifiers/effects that can be applied/removed on players and NPCs via inventory items, and scripts, and custom (scripted) entities:
    • Block use of weapons.
    • Damage modifier.
    • Extra / less time before starting to drown.
    • Friction modifier.
    • Ghost / non-solid.
    • Glow shell.
    • Gravity modifier.
    • Invisibility.
    • Invulnerability.
    • Speed modifier.
  • New observer mode:
    • Standard mode: If no spawn points are available for a player to use they become an observer until a spawn point becomes available.
    • Cyclic mode: Players can only respawn out of observer mode when the map explicitly requests so.
    • Survival game mode places dead players into observer mode until a live player reaches a checkpoint.
  • New preliminary A.I. pathing entities for better control on where NPCs move around a map.
  • New scripting engine using AngelScript:
    • Version 2.30.2 implemented.
    • New entity: trigger_script
    • A map script can be loaded by specifying a file in the map's configuration using key map_script.
    • Scripts can be triggered one off or periodically (thinking).
    • Alternative script files can be used, and shared across maps.
    • Store persistent data reliably with SQLite back-end storage.
    • Entire server modifications can be designed, along with SQLite and MySQL storage for server-specific scripts.
    • New survival game play mode driven by a shared script.
    • Watch out in future change logs as many more updates will come with this!
  • New weapon: Displacer from Opposing Force.
  • Player weapons/ammunition can now be carried across map changes. (if a map wants to do this)

2 Code changes

2.1 Game core

  • Added a more graceful way to close servers when an error occurs, most notably listen servers will return the host player to the main menu rather than terminate the process.
  • Added a spawn flag to func_clip so it can block players from throwing an inventory item through them.
  • Added a spawn flag to trigger_hurt to hurt non-moving NPCs.
  • Added a spawn flag to trigger_respawn only respawn dead players.
  • Added a spawn flag to trigger_track_goal to prevent the train moving backwards if it can't find a path to direct the train to.
  • Added an optional sound to trigger_track_goal if it can't find a path to direct the train to.
  • Added announcement when a player joins a server (as they enter the world after connecting, not when they start connecting) to match the message when players leave.
  • Added custom amount, recharge time, sounds, and trigger properties to health/HEV chargers.
  • Added custom HUD sprite configurations for weapons.
  • Added custom sound file and sentence properties to buttons, doors, platforms, trains, and track trains.
  • Added custom text options for the buttons via trigger_vote.
  • Added fall-back to the studio model renderer sequence group loader so it can find the sequence group by using the actual model name, instead of the embedded (and frequently incorrect) names.
  • Added IsNotAmmoItem to weapons so they aren't taken (and removed from the map) for ammo when mp_weaponstay is disabled.
  • Added key to monster_generic: "disableai", disables all monster and AI behaviour. (Effectively turns it into a prop)
  • Added key to trigger_teleport: "teleport_if_blocked", when enabled the teleporter will send the source entity even if the teleporter exit is blocked.
  • Added key to trigger_teleport: "teleport_ignore_delay", when enabled the teleporter ignores all delays (implicitly sets flag 8,192).
  • Added key to trigger_teleport: "teleport_start_inactive", when enabled the teleporter starts inactive (implicitly sets flag 4,096).
  • Added map configuration and text files to the pre-cache list if they exist, so they will be transferred to clients (this excludes those with the CFG extension as that is a security restriction).
  • Added message box support for non-Windows platforms using SDL, mimicking the Windows button sets and response/event codes.
  • Added missing calls to entity destructor functions for Baby Gargantuas and alien slaves so their effect entities can be cleaned up from an unexpected destruction.
  • Added opaque character drawing to game_text by specifying an alpha value of 1 or higher in either colour keys.
  • Added parameter use type (on/off/set/toggle/kill) and value to cheat command trigger.
  • Added player percentage requirement to trigger_changelevel.
  • Added show HUD info to any entity.
  • Added support to trigger_respawn for "!activator" and "!caller" as targets. (Only works for players right now)
  • Allied NPCs can now not be given a weapon by the map.
  • Changed chat messages from the server console to show the source as Server Console and in orange rather than printing the entire server name.
  • Changed cheat command impulse 101 (giveall) to provide 5 spores instead of 1.
  • Changed command time and timelimit to specify if there is no time limit for the map, and checks map CVAR mp_notimelimit.
  • Changed default map to svencoop1 instead of hldm1 if a map cycle map (or a map cycle file) isn't found.
  • Changed env_sound so that they can be used with brush triggers:
    • Added a spawn flag use only (1) will disable automatic activation based on proximity.
    • When triggered if the radius setting is 0, no radius check will happen and the effect is applied.
    • When triggered if the radius setting is not 0, a radius check will happen so the effect is applied only if the player is within radius.
  • Changed func_tank so it will return to its original orientation when it no longer has any enemies around to fire at.
  • Changed trigger_cdaudio to use an MP3 file rather than try and look for a physical CD.
  • Changed game version mismatch to create a pop-up message and disconnect rather than force the game to quit.
  • Changed how func_train handles being blocked so it doesn't stop moving for 0.5 seconds every time it gets blocked. Instead, damage is applied every 0.5 seconds to compensate for the otherwise per-frame damage.
  • Changed maps with player model enforcement to write the player choice model in "cl_model" instead of "team" in the client info string.
  • Changed word executing for parsing when loading skill and static configurations, as these files are not directly executed.
  • Cheat commands that are blocked are now denoted that they were a cheat command in the server log.
  • Completely refactored the in game Media Player, including many fixes for crashes, glitches, and memory leaks.
  • Disabled map restart when a player respawns whilst CVAR's coop and deathmatch are both disabled.
  • Disabled "<monster> has no view_ofs!" debug message.
  • Dropped items will now only bounce up to 15 times on the ground, then stop moving. (Fixes insane network traffic from dropped items stuck in steep wedges)
  • Expanded command myinfo to show your health, maximum health, armor, maximum armor, player state (alive/dead/observer), score, deaths, network defined entity name, game extras level (and optional title), server administrator level, and a count/list of enabled cheats.
  • Expanded command mapinfo to show you the number of entities currently in existence and the number of pre-cached models/sprites (along with their respective limits).
  • Fixed 1 round of ammo inexplicably getting lost when dropping a weapon with an odd amount of reserve ammo.
  • Fixed a crash when a map has no configuration file in some cases.
  • Fixed a crash when a player has more than 999 health.
  • Fixed a crash when an empty string is pre-cached. If done by an entity, information about that entity is shown.
  • Fixed a crash when attempting to delete the world entity.
  • Fixed a crash when receiving damage from a non-existent entity.
  • Fixed a crash when the map changes while a player was controlling a func_tank.
  • Fixed a crash when kill-targeting a weapon held by a player.
  • Fixed a few cases where files opened via the engine's file handle function weren't freed via the engine's free file handle function.
  • Fixed a memory leak at the end of a map caused by the map cycle and global custom key values.
  • Fixed a memory leak when a teleporter in random target mode has no targets to use.
  • Fixed a memory leak when finished checking the on-line donors list.
  • Fixed a memory leak when removing an entity without running its destructor.
  • Fixed a race condition causing players to become semi-dead (or un-dead).
  • Fixed a range of possible crashes by converting many entity class pointers to our safer EHANDLE pointers.
  • Fixed a rare crash when trying to pack items for dead players when only weapons should be packed.
  • Fixed a rare crash when trying to read beyond the end of the donors list.
  • Fixed a rare glitch where a player can be killed again when already dead.
  • Fixed an exploit where weapon ammo would refill after dropping a weapon then picking up the same weapon from elsewhere.
  • Fixed bad check causing the wrong message to be shown when a vote for something other than a map change declines.
  • Fixed bullets fired underwater causing a splash effect as if the bullet entered the water from above.
  • Fixed chat message colour being overridden by a large HUD message (such as those from game_text).
  • Fixed chat messages to your team not being logged as a team only message server-side.
  • Fixed client disconnect function being called when a map ends in some cases.
  • Fixed client-side Xen beam not marking itself for removal when it has finished playing.
  • Fixed closing a pop-up window (like a vote) sometimes keeping the mouse cursor active.
  • Fixed console spam due to the node graph queue being full.
  • Fixed CVAR crosshair not doing anything.
  • Fixed CVAR sv_log_monster_deaths not doing anything.
  • Fixed damage not being rounded to whole numbers causing players to become semi-dead (or undead).
  • Fixed entities game_counter, game_counter_set, game_end, game_player_counter, game_player_equip, game_player_hurt, game_player_respawn_zone, game_player_team, game_player_zone, game_score, game_slot_counter, game_team_master, game_team_set, game_text, and trigger_createentity from not being able to make use of the delay and killtarget keys.
  • Fixed env_beam and env_lightning not accepting explicit on/off inputs.
  • Fixed env_glow sometimes becoming invisible when it shouldn't.
  • Fixed env_sprite not playing its last frame.
  • Fixed env_spritetrain sprite not being deleted when the entity is killed.
  • Fixed func_breakable being able to trigger its targets multiple times if it took any damage while already in the process of being destroyed. (This can happen if the breakable creates an explosion, explosion magnitude > 0)
  • Fixed func_button, func_rot_button, func_door, momentary_door, and momentary_rot_button not stopping their move sound when killed.
  • Fixed func_door always trying to change linked door movement direction when they aren't moving.
  • Fixed func_door always trying to trigger its on open and on close targets even if unset.
  • Fixed func_door and func_train not causing crush damage if they are player allied.
  • Fixed func_plat and func_platrot not causing crush damage.
  • Fixed func_rotating not accepting a toggle if it's currently spinning up or down.
  • Fixed func_rotating sound not stopping when the entity is killed.
  • Fixed func_tank attempting to target enemies closer than the end of its barrel.
  • Fixed func_tank not always targeting enemies within its maximum range until they're very close.
  • Fixed func_tank not returning control to the player if it's killed.
  • Fixed func_tanklaser causing a client-side crash with the laser sight.
  • Fixed func_trackchange preventing a train from moving whilst the train was moving on a changing track.
  • Fixed func_tracktrain causing an infinite loop when processing a looping set of path_track points.
  • Fixed func_tracktrain not being able to kill players blocking it even when the damage property says it should do.
  • Fixed func_tracktrain updating its sound every frame -- now only updates its sound when the speed is changed.
  • Fixed func_train sound not stopping when the entity is killed.
  • Fixed HUD info flickering when staring at something that produces it for more than a few seconds.
  • Fixed HUD messages (including those from game_text) being missed when 2+ are written on the same channel, and it's time for the first message to disappear.
  • Fixed HUD not resizing properly when the game window is resized.
  • Fixed HUD not updating player HEV charge correctly when using a HEV charger in 3rd person view.
  • Fixed HUD notify text being cut off a line too short, particularly common on very high resolutions.
  • Fixed HUD notify text overlapping on the developer message output.
  • Fixed inconsistent behaviour of weapon holstering, particularly when being caught by a Barnacle.
  • Fixed key monstertype in entity squadmaker not being accessible by other entities.
  • Fixed majority of crashes when handling strings (be it leaks, buffer overruns, etc).
  • Fixed map configuration not loading on Linux servers if the configuration file is in a different case to the map file.
  • Fixed map configuration option ammo_crossbow not supplying bolts if the player already has 5 or more.
  • Fixed maps with no sky defined using the sky from the previous map, now the default sky 2desert will be used instead.
  • Fixed many unsafe string operations in older code.
  • Fixed monster_tripmine laser not removing when the entity is killed.
  • Fixed MOTD data being sent/received in inconsistent chunk sizes.
  • Fixed MOTD window being shown too early.
  • Fixed old menus appearing when they shouldn't.
  • Fixed player death animation stopping before the animation is finished.
  • Fixed player health and HEV not being reduced if they are beyond a single precision floating point value (roughly 100 million).
  • Fixed player HEV sounds not playing while on Linux servers.
  • Fixed player models not having a preview image.
  • Fixed player name length limit being inconsistent across various classes.
  • Fixed player scores and deaths being limited to +/-32,768 in the score board (now ~2.1 billion).
  • Fixed player speed clash with the Minigun and other entities, these now adjust the player's top speed via a modifier.
  • Fixed players being able to use weapons while grabbed by a Barnacle if you collect the weapon after you're caught.
  • Fixed players gaining an unexpectedly high amount of health after being revived whilst underwater.
  • Fixed players having fast leg movement when walking or running on moving platforms.
  • Fixed players having their rendering properties changed at the start of a revival.
  • Fixed players unable to vote more than once during a map.
  • Fixed regression that caused Player mouth controllers to be ignored.
  • Fixed some rare cases of dead players becoming ghosts.
  • Fixed Steam Pipe file searches/openings being spammed in the developer console (now requires developer level 2).
  • Fixed server CVAR's mp_allowmonsterinfo and mp_footsteps not being applied when creating a listen server.
  • Fixed sniper damage type not always creating a blood decal when it should.
  • Fixed time based poison damage causing a death claiming a player committed suicide rather than claiming they were poisoned.
  • Fixed trigger_camera behaving incorrectly when the mouse pointer is enabled.
  • Fixed trigger_camera not resetting the player's camera index when the camera is disabled.
  • Fixed trigger_camera setting player properties every frame causing a lot of network messages, when only one was needed.
  • Fixed trigger_changevalue not inverting constants correctly.
  • Fixed trigger_counter causing a crash when reaching its target with a null activator.
  • Fixed trigger_gravity being able to adjust the gravity of other brush entities which shouldn't listen.
  • Fixed trigger_hurt not damaging non-player entities whilst not moving inside the brush.
  • Fixed trigger_hurt not with radiation damage type not always causing player Geiger counters to click.
  • Fixed trigger_hurt_remote always gibing targets when instant kill is enabled.
  • Fixed trigger_hurt_remote not skipping dead targets properly.
  • Fixed trigger_setorigin in constant mode forgetting the copy/source entity when activated more than once.
  • Fixed trigger_setorigin not accepting explicit off input in constant mode.
  • Fixed trigger_teleport always becoming inactive when a toggle input is given.
  • Fixed trigger_teleport spawn flag Ignore Delays removing the teleporter -- flag moved to 8192 from 2048 (the engine reserves 2048 for remove on deathmatch).
  • Fixed trigger_track_goal causing a crash if the target entity isn't a func_tracktrain.
  • Fixed turrets not always firing their on death trigger condition target.
  • Fixed turrets spawned via a squadmaker always spawning in the floor orientation when they should be ceiling orientated (or a custom angle).
  • Fixed view bobbing being used while in third person view.
  • Fixed vote prompts staying open after the poll has finished.
  • Integrated the file system interface from the Steamworks SDK into the game library for safer multi-platform file handling.
  • Maps are no longer allowed to change server CVAR mapcyclefile.
  • Map CVAR mp_timelimit is now 60 (1 hour) by default (if unset).
  • Muting a player will also hide their text chat.
  • Players are no longer implicitly choosing no during votes if they are idle or choose not to vote, but are excluded from the player count when calculating the result.
  • New animation for a player while caught by a Barnacle.
  • New animation for a player while walking unarmed.
  • New bindings for analogue joystick axes:
    • joy_*pos / joy_*neg: Two bindings for each axis on both positive and negative directions.
    • Replace the asterisk with one of the axis letters: X, Y, Z, R, U, or B.
  • New cheat command ent_name_ahead to show you the class, target, and model names of the entity directly ahead of you.
  • New cheat command ent_trigger_ahead to trigger (toggle) the entity directly ahead of you.
  • New cheat command gibme to simulate dying and being gibed.
  • New cheat command givepoints to directly add or subtract your score.
  • New cheat command hurtme to directly cause damage to yourself.
  • New client CVAR joy_bindthreshold to control a deadzone for axis bindings to commands.
  • New client CVAR hud_weaponautoswitch to control automatic weapon switching:
    • 0: Never switch
    • 1: Only if better (default)
    • 2: Always switch
  • New command cl_precachecount to show the number of pre-cached models and the limit for this from the engine.
  • New entity flag FL_NOWEAPONS (1<<27) to deny the use of player weapons.
  • New entity trigger_changemaxammo to change the maximum amount of ammo variants players can carry.
  • New entity trigger_cyclicobserver to change the cyclic observer mode at runtime.
  • New entity trigger_numericdisplay to display a number on a set of brush entities.
  • New map CVAR mp_hevsuit_voice to enable/disable HEV suit voice feedback.
  • New map CVAR mp_weaponfadedelay to set how long weapons will stay before disappearing.
  • New map CVAR npc_dropweapons to allow all NPCs to drop their weapons on death.
  • New server CVAR gamebuild to side with gamename and gameversion, so plug-ins can retrieve the build number of the game binaries.
  • New server CVAR mp_timelimit_empty so a map will not run for so long when the server is empty:
    • Default is 10 minutes, value 0 will disable this feature.
    • Player count is checked whenever a player connects/disconnects.
    • Timer is disabled/reset when a player connects.
    • Timer is enabled when the last player disconnects (including if kicked).
    • Prevents a ridiculous/infinite mp_timelimit causing a map to run on an empty server forever.
  • Player command menu now renders on top of all other VGUI containers.
  • Player fall damage can be disabled completely by setting map CVAR mp_falldamage to -1.
  • Player time based damage is now forgotten on revive (drown, poison, etc).
  • Players and NPCs with god mode will now show Invincible instead of some silly health figure.
  • Reduced trigger_copyvalue interval to limit memory/crash issues.
  • Re-factored trigger_setorigin with a new EndFrame() engine call for more accurate synchronisation.
  • Remapped usage of HUD text message channels in accordance with the raised channel count from the engine:
    • 1: Spare, should be used by plug-ins -- particularly those that want to produce constant on-screen text.
    • 2: Identification message from game staff.
    • 3: Banana attack!!
    • 4: Monster/NPC on-screen information.
    • 5-8: Virtual channel slots 1-4 for map messages (game_text), should never be used by plug-ins!
  • Removed 3-tier skill system, along with a huge range of skill settings for that (two thirds).
  • Removed border-less window option as SDL handles this now.
  • Removed landmark entity.
  • Removed outdated NOVODEX functionality causing clients to freeze for a while after loading a map.
  • Removed server static configuration file option as this was only ever used to stop maps setting ridiculous time limits. A change to how CVAR mp_timelimit works will come with a future update.
  • Removed sound events in func_tracktrain so they can be replaced with a global sound replacement.
  • Renamed game library to server instead of hl.
  • Separate ammo drop models are now shown for the 9mm pistol, MP5, M16, and Uzi.
  • Sprites can now have their view port draw type overridden by using key vp_type:
    • 0: Default (don't override)
    • 1: Parallel Upright
    • 2: Facing Upright
    • 3: Parallel
    • 4: Orientated
    • 5: Parallel Orientated
  • Updated all code so the banning code is properly handled when kicking.

2.2 Game engine

  • Independent engine branch based on Valve's GoldSrc/Half-Life engine (version 1.1.2.2 build 6027) with SteamPipe. Modified under licence from Valve Corporation.
  • New launchers:
    • svencoop.exe: Game launcher.
    • svends.exe / svends_run: Dedicated server launcher.
    • Default game folder is now "svencoop" from "valve".
    • Improved detail to many of the obscure error messages, for example when Steam isn't running but needs to be, or you haven't subscribed to the game via Steam.
  • New limits (engine core):
    • Maximum base decals: Raised to 1,024 from 256.
    • Maximum beams: Raised to 256 from 64.
    • Maximum dynamic/entity lights: Raised to 256 from 64.
    • Maximum edicts: Raised to 8,192 from 900 (though the engine may become unstable beyond ~2,500).
    • Maximum frame rate: Raised to 200 from 100 (for 120Hz/144Hz monitors). You can still get up to 1,000 frames/second with developer mode enabled.
    • Maximum heap memory size: Raised to 512MB from 128MB.
    • Minimum heap memory size: Raised to 64MB from 14MB.
    • Maximum models: Raised to 8,192 from 512.
    • Maximum sounds: Raised to 4,096 from 512.
    • Maximum weapon count: Raised to 64 from 32.
    • Zone/hunk memory: Raised to 32MB from 2MB.
  • New limits (for maps):
    • Maximum brushes: Raised to 32,767 from 8,192.
    • Maximum edicts: Raised to 8,192 from 1,024 (though the engine may become unstable beyond ~2,500).
    • Maximum entity key size: Raised to 256 from 32.
    • Maximum entity value size: Raised to 4096 from 1024.
    • Maximum entity data size: Raised to 1MB from 128kB.
    • Maximum leafs: Raised to 65,536 from 8,192.
    • Maximum light data: Raised to 64MB from 16MB.
    • Maximum light maps: Raised to 512 from 64.
    • Maximum light styles: Raised to 256 from 32.
    • Maximum models: Raised to 4,096 from 400.
    • Maximum nodes: Raised to 65,536 from 32,767.
    • Maximum planes: Raised to 65,536 from 32,767.
    • Maximum textures: Raised to 2,048 from 512.
    • Maximum visibility data: Raised to 64MB from 16MB.
    • Maximum world size: Raised to +/-131,072 from +/-4,096: Only enabled if the game's liblist contains largemap_aware, as the game will need to be built use different data types for handling co-ordinates.
  • Networking changes:
    • All datagrams now leave enough room for IPv6 headers.
    • Default maximum network rate: Raised to 20,000 bytes/second instead of 2,500.
    • Maximum datagram length: Raised to 65,536 bytes from 1,400.
    • Maximum entities per packet: Raised to 512 from from 256.
    • Maximum sign-on data length: Raised to double the datagram length.
    • Maximum user (mod) message size: Raised to 512 bytes from 192 bytes.
    • Message sequence size: Raised to 2 bytes from 1 byte.
    • Fixed an unexpected disconnect if a custom network message couldn't be found. Instead a warning is printed to their console.
    • Mod-level network messages are now loaded directly after the server has activated to prevent some missing message issues.
  • Smarter heap memory allocation mechanism:
    • Default heap memory size is now half of all available virtually addressable memory but only up to 512MB from 40MB (for clients) or 32MB (for servers).
    • Default heap memory size will step down by 16MB decrements until enough memory can be allocated by the host system.
    • If the engine can't obtain the minimum required memory from the host system it will refuse to start.
    • Compiled launchers with the large address aware flag so that up to 3GB of memory can be consumed on 32-bit Windows systems (if the /3GB boot switch is used), and up to 4GB on 64-bit Windows systems. Both up from their previous 2GB limit.
    • Launch parameter -heapsize can now be written in MB/GB (i.e. -heapsize 256M or -heapsize 1G).
    • Launch parameter -maxmemory will force the engine to take as much memory as it can from the host system.
    • Launch parameter -minmemory will force the engine to take as little memory as it can from the host system.
    • Launch parameter -showheap will notify you how much memory was successfully allocated from the host system.
    • Stack size increased to 8MB from 1MB.
  • Added addons SteamPipe folder to the default resource search list. Use parameter -noaddons to disable this.
  • Added callback function so the engine can inform the game when a player disconnects.
  • Added graceful shutdown if a BSP failed to load properly.
  • Added interface functions to retrieve the number of pre-cached models and the limit for this for the game library to use.
  • Added mono-spaced font support to the console via CVAR con_mono, enabled by default.
  • Added new key mappings for joystick axis (so analogue L/R triggers can be bound to a command).
  • Added referral address for content downloads over HTTP so web servers can prevent leeching.
  • Added server command logaddress_list to list all current log forwarders (useful for external log managers).
  • Added server CVAR listipcfgfile as a pointer to file listip.cfg, works the same as CVAR bannedcfgfile.
  • Added server CVAR sv_log_daily to enable daily rotation of server log files rather than a new file for every map played.
  • Added support for raw mouse input provided by SDL2.
  • Added wild-card search functionality for entity targets.
  • Changed host error message backwards mins/maxs to include the entity origin and the offending values.
  • Changed the default console position and size so it consumes the right side of the screen with a slight border, similar to that of the Source engine.
  • Changed the snapshot command:
    • Screen shots are now saved in a sub-folder screenshots.
    • File names now include a date stamp YYYY-MM-DD.
    • File names now indexed from 1-9999 instead of 0-1000.
    • Added success message to the console showing you what file name the screen shot got saved as.
  • Cheat and debugging commands/CVAR's (such as gl_wireframe) provided by the engine can now be used in multi-player games if the server is running CVAR "sv_cheats" at level 255.
  • Console command auto-complete now shows up to 20 entries, and will pop out to the side if it's too long to show below.
  • Console debug log (-condebug) file name is now rotated daily.
  • EndFrame() is called directly after a physics loop if the game (mod) chooses to implement it.
  • Fixed a crash if a brush model index is higher than 999 (due to a 4 character limit).
  • Fixed a crash if a camera/viewport is accessed when a player retries connecting to the server.
  • Fixed a crash if an entity doesn't exist while trying to find an attachment point on it.
  • Fixed a crash if an external model/sprite file is missing by replacing it for an ERROR variant with an error about the missing resource written in the console, though a crash will occur if the error replacement is also missing.
  • Fixed a crash if map entity data has a comment between two entities.
  • Fixed a crash when reading a setting from the Windows registry overflows.
  • Fixed a crash when a memory allocation fails (and no indication was given to why the engine crashed).
  • Fixed additive textures on models always rendering with flat shading (causing a low quality look).
  • Fixed alert messages being shown on the client when developer mode is disabled.
  • Fixed an issue with "force retouch" not being applied correctly to all NPCs (mainly used by monster_tentacle), depending on when force retouch is enabled in the main physics/entity processing loop. (Force retouch now works for the next available frame, so that it can be applied consistently to all entities.)
  • Fixed chrome textures not scaling up correctly with models, particularly NPCs.
  • Fixed entity collision detection stopping immediately as soon as it finds an entity that should not collide, instead of processing other entities wanting to collide.
  • Fixed entity parser discarding an entity where the class name and target name are both the same.
  • Fixed empty player authentication ID strings returned whilst the server is shutting down.
  • Fixed model hit boxes not scaling along with a model's physical size.
  • Fixed PAS/PVS not using the player's view origin causing effects/sounds in cameras to not play.
  • Fixed rendering issues when resizing the game window.
  • Fixed servers being able to ban steam ID's VALVE_ID_PENDING and STEAM_ID_PENDING by accident.
  • Fixed voice chat being cut off or stuck on due to a view port position being changed. (When entering/exiting camera views)
  • HUD messages can now be drawn opaquely instead of additive only.
  • Raised HUD text message channels to 8 from 4.
    • The new 4 channels are reserved for map use (via game_text). All existing maps will automatically use these, no updates to maps needed.
    • The first (original) 4 are for internal use by the game engine/library.
    • This means that messages produced by mappers will never be missed/overwritten by a message produced by the game or a plug-in.
    • Channel 1 is unused by any of the game and should be the primary choice for plug-ins.
  • Mipmap support is now properly implemented for studio models.
  • Moved all settings stored in the user registry away from Half-Life's registry store.
  • New flags for entity effects:
    • EF_NOANIMTEXTURES (256): Never animate a texture on given brush.
    • EF_FRAMEANIMTEXTURES (512): If the brush has a "frame" value, the corresponding animating texture index is used.
    • EF_SPRITE_CUSTOM_VP (1024): If the entity is a sprite it should override the viewport draw mode with the type specified in key "sequence".
  • Re-added client DLL CRC checking so that mods using our engine branch can still enforce client consistency (controlled by Liblist entry crcclientdll).
  • Removed gl_clear from list of cheat variables to disable.
    • This is now on by default.
    • Default colour is now black instead of red.
  • Removed some redundant network code to improve its reliability greatly.
  • Server will now flush the log file buffer every minute rather than when the handle is closed to minimize how much log data is lost when a server crashes.

2.3 Sound engine

  • Added material definitions for textures from Blue Shift, Opposing Force, Opposing Force CTF, and Team Fortress Classic.
  • Improved reliability of sounds playing from an origin outside a player's PAS/PVS.
  • Changed CODEC order when looking for sentence sound files, so that lossless and higher quality CODEC's are used first.
  • Custom materials can now be transported to players:
    • Materials file defined by materials_file either in the map properties or configuration file.
    • Standard relative path is /sound/<bspname>/<filename>.
    • Custom material definitions will replace default material definitions.
  • Fixed a crash when parsing sentence directories.
  • Fixed a memory leak when parsing sentences.
  • Fixed a memory leak when looking up a sound if the number of sounds exceeded the list limit.
  • Fixed entity sounds not following their owner if the sound started outside of the player's visible entity set.
  • Fixed incorrect material sound playing when players jump.
  • Fixed incorrect material sound playing when underwater.
  • Fixed room type environment FX not being reset after disconnecting or during a map change.
  • Fixed sound cache files not being flushed from alternative game folders (such as _downloads or _french).
  • Fixed sound files not being loaded from Steam Pipe folders.
  • Fixed sounds still playing after disconnecting or during a map change.
  • Improved handling when sound devices are connected/disconnected.
  • New client CVAR s_force_dsound to force FMOD to use DirectSound instead of WASAPI (applies to Windows Vista and later, XP and earlier always uses DirectSound).
  • Output is now muted whilst the game window is not in focus (Windows only).
  • Overhauled lip sync by using a better wave dataset to work with.
  • Reduced memory consumption with the sound replacement feature.
  • Removed entity trigger_midi.
  • Updated FMODEx to version 4.44.56.

2.4 Non-playable characters

  • Added monster event 2003 to specify a material specific footstep sound should be used.
  • Added is_not_revivable to all NPCs so a mapper can choose if they are revive-able or not.
  • Added npc_dropweapons support for more NPCs:
    • Alien grunts.
    • Assassins (male and female).
    • Barney / Barnabus.
    • Bodyguards.
    • Military grunts.
    • Opposing Force grunts (including medics and engineers).
    • Otis / Otto.
  • Disabled running and shooting for grunts and male assassins.
  • Fixed a rare case where NPCs will fail to make a ranged attack because they are facing the wrong way, NPCs will now face their target if they fail to chase it.
  • Fixed NPCs being killable during a scripted sequence because of health value rounding.
  • Fixed NPCs dropping multiple weapons (if enabled to drop their weapon on death) when they are shot while dying.
  • Fixed NPCs not always getting the correct player ally status when created with a monster maker or squad maker.
  • Fixed NPCs sometimes showing their health at 50% when they die.
  • Fixed rappelling grunts and assassins not getting the correct class specified by the map.
  • Fixed temporary effect entities being left behind after being deleted at runtime for alien controllers, alien slaves, Baby Gargantuas, Gargantuas, Kingpins, and Tors.
  • Fixed NPCs not attacking anything when no players are close enough, controllable with map configuration option sv_ai_enemy_detection_mode:
    • 0: Only scan for enemies when inside a player PVS (default Half-Life behaviour).
    • 1: Always scan for enemies.
  • Fixed relationship with other classes when using a custom class for alien grunts, human grunts, male assassins, robot grunts, and shock troopers.
  • Improved NPC A.I. when faced with grenades or rockets:
    • The NPC will look at the grenade/rocket first before reacting to it, rather than (impossibly) knowing of the threat instantaneously.
    • Reaction time is based on the grenade/rocket being visible and in the NPC's view cone.
  • Preliminary version of new A.I. pathing entities: path_waypoint, path_condition, and path_condition_controller.
  • Removed "madwhack" knock back effect when hit by a SAW or sniper rifle projectile.
  • Removed old frame rate and ground speed adjustment code.
  • Removed old path_monster code.
  • Alien Grunt: Custom models can disable throwing Snark nests by not having animation 14 (ACT_RANGE_ATTACK2).
  • Alien Grunt: Fixed a crash when their hornets hit a target but the alien grunt has been gibed.
  • Alien slave: Fixed a crash when the monster is removed without being killed.
  • Alien Slave: Fixed a crash when the monster tries to adjust their beam effects when they no longer exist.
  • Alien Slave: Fixed skin being changed while charging up the electric attack.
  • Apache: Fixed rockets flying backwards.
  • Apache: Fixed rockets not being fire-able outside world boundaries.
  • Apache, Osprey: Fixed rotor sound still being audible if the NPC is removed at runtime.
  • Baby headcrab: Fixed becoming enemy when revived if they were player allied.
  • Barnacle: Fixed Barnacles moving if they are killed with blast or launch type damage.
  • Barnacle: Fixed trigger on death condition not working.
  • Barnacle: Fixed shock glow effect never disappearing.
  • Barney: Fixed bad aiming angles when triggered by scripts (i.e. Blue Shift's firing range).
  • Barney: Fixed incorrect sub-model causing Barney to lose/gain a helmet when getting out his gun.
  • Bullsquid: Reduced hull size height to 40 units from 64 units.
  • Chumtoad: Fixed toxic cloud often being invisible due to missing origin in the network message.
  • Flyer: Fixed some sounds not being pre-cached.
  • Flyer flock: Fixed some sounds not being pre-cached.
  • Gargantua: Restored default turn rate speeds.
  • Gargantua: Scale is accounted for in attacks, effects, and hull size.
  • Gargantua: Stomp interval decreased to 0.025 from 0.05.
  • Grunts: Fixed rappelling grunts firing at dead enemies.
  • Headcrab: Fixed damage being applied in irrelevant directions if touched whilst in flight.
  • Heavy weapons grunt: Added key disable_minigun_drop to stop the grunt dropping his minigun on death.
  • Heavy weapons grunt: Adjusted look distance to use default NPC value instead of 4096 units.
  • Heavy weapons grunt: Adjusted the minigun pitch to update in real-time during firing.
  • Heavy weapons grunt: Fixed body and sub-model being incorrect in rare instances, usually after being revived.
  • Heavy weapons grunt: Fixed several issues involving target selection which prevented him from picking the best/nearest NPC while the minigun was firing.
  • Heavy weapons grunt: Fixed visual issue with barrel aim while his Minigun is spinning up.
  • Heavy weapons grunt: Now uses suppressing fire at the last known location of an enemy.
  • Heavy weapons grunt: Raised likelihood of running to grab his Minigun if his enemy is hiding.
  • Hornet: Fixed console spam if they've hit their target already.
  • Houndeye: Fixed allied NPCs always taking damage from the sonic blast.
  • Houndeye: Fixed allied and enemy houndeyes not being able to hurt each other.
  • Kingpin: Fixed a crash when they cause a map change.
  • Kingpin: Fixed lighting attack effect not always attaching to the model correctly.
  • Medic/Scientist: Fixed trying to heal dead players, causing their view to change.
  • Medic/Scientist: Fixed reviving gibed players in certain cases.
  • Osprey: Fixed improper sub-monster pre-caching.
  • Osprey: Fixed no grunts being dropped for friendly Ospreys if the grunt type is random.
  • Osprey: Fixed skill valve for health being ignored.
  • Osprey: NPCs spawning from the Osprey now have the same classification as the Osprey.
  • Otis: Raised framerate for ACT_RUN sequence.
  • Roach: Fixed roaches standing still forever.
  • Sentry turret: Fixed becoming non-solid for no reason.
  • Sentry turret: Fixed bounding boxes being incorrectly changed when deploying/retracting.
  • Sentry turret: Fixed bounding boxes not being correctly set in some cases.
  • Sentry turret: Fixed continuously being deployed/reset when constantly touched.
  • Shock Trooper: Fixed invisible shock roach after being revived.
  • Snarks: Fixed snarks spawning from friendly nests appearing as enemy.
  • Snarks: Nests now show as friendly if they are player allies.
  • Snarks: Reworked how their owner is tracked so kill-targeting them still works properly with a squadmaker or monstermaker.
  • Snarks: They now use their owner as the attacker if they have one.
  • Tentacle: Fixed improper check of trigger conditions.
  • Turrets (all): Fixed improper check if they can take damage from players.
  • Voltigore: It will now gib instantly if killed with a heavy weapon.
  • Zombies: Attacks now account for the NPC's scale setting.

2.5 Weapons and equipment

  • Added ability for trigger_changelevel to make players carry weapons/ammo across maps by setting key keep_inventory to 1.
    • Consists of health, armor/battery, weapons, ammunition, ammunition inside weapons, which weapon is selected, have HEV suit, and have long jump module. Does not consist of any item_inventory entities as these may not be present on the next map.
    • Inventory only carries to the map specified in the entity.
    • Inventory will remain available for 1 minute after it is first redeemed so maps prone to spawn fragging won't mean players have lost their inventory.
    • Players are always granted the equipment in the next map's configuration as standard, then their carried inventory is merged into it.
    • Existing maps will not be effected until modified to enable this feature, though new maps will have this enabled by default.
  • Added entity alias weapon_9mmar to entity weapon_mp5 for case-sensitive compatibility.
  • Added missing HEV suit sounds to the default sentences.
  • All weapon, ammo, and item entities can now have a custom respawn delay -- either per-entity, or adjust the default time globally via a map configuration option.
  • Fixed a crash when creating an item_medkit via a command when one wasn't present in the map. (not pre-cached)
  • Fixed Barnacle grapple constantly humming while idle.
  • Fixed certain weapons not playing their reload sounds whilst playing on a dedicated server.
  • Fixed crowbars causing damage to allied NPCs when the crowbar is thrown at them, even when the map specifies friendly NPC damage is disabled.
  • Fixed desert eagle laser sound not always audible to the player holding the gun.
  • Fixed effects produced by player weapons still being present if the player dies.
  • Fixed electric crowbar being usable in water.
  • Fixed electric crowbar effect being copied across map changes.
  • Fixed electric crowbar effect not visible when other players use it.
  • Fixed electric crowbar not costing any HEV charge when hitting machine type NPCs.
  • Fixed exploit allowing players to change weapon whilst holding a Minigun or shock rifle.
  • Fixed Gauss gun beam not being visible when shooting another player.
  • Fixed M16 instructing the model to use Akimbo Uzi animations.
  • Fixed pipewrench secondary attack not doing any damage if secondary attack is let go of instantly.
  • Fixed player Minigun spin sound not being heard by other players.
  • Fixed player model not using the correct angle whilst looking at it through a camera.
  • Fixed player weapon becoming invisible if the player dies whilst holding a weapon that isn't usually dropped on death.
  • Fixed players being able to throw their crowbar away even if the map has disabled weapon dropping.
  • Fixed players being given multiple medkits if the map configuration specified weapon_medkit.
  • Fixed players unable to collect a long jump when given to them directly.
  • Fixed players unable to fire a SAW for a few seconds if they pick one up that was dropped half way through reloading.
  • Fixed SAW continuing a reload animation if it was picked up after being dropped half way through reloading.
  • Fixed shock rifle getting stuck in an infinite self-destruct loop.
  • Fixed sniper rifle zoom sound cutting out the firing sound.
  • Fixed third person weapon models not being able to override their attachment.
  • Fixed VGUI not obtaining the information of the last player correctly.
  • Fixed weaponbox ignoring spawn flags, such as disable respawn.
  • Fixed weapons becoming invisible when dropped multiple times.
  • Fixed weapons with a custom world model reverting to the original world model when dropped.
  • Improved weapon alignment on upward sloped surfaces so the weapon won't clip into the ground.
  • New entity item_inventory, an item that is held on to / carried by a player. Similar to Team Fortress Classic's item_tfgoal but with many improvements:
    • Future release will allow NPCs to collect and use items too.
    • Can be collected by touching the item, using it, or given to you by the map directly.
    • Can be used against various triggers/entities according to inventory rules.
    • Optional basic properties:
      • Item name.
      • Item group name.
      • Display name (client).
      • Description (client).
      • Collection limit (item is destroyed once surpassed).
      • Weight (players can carry up to 100 weight).
      • Delay before returning to origin after dropped.
      • Delay respawn after returning (weapon/ammo style).
    • Optional rules to filter collection:
      • Filter by player target name(s).
      • Must have / must not have item(s).
      • Must have / must not have number of items from group(s).
      • Item(s) must have / must not have moved from their origin.
      • Multiple target/item names in rules can be defined by splitting them with a semi-colon.
    • Optional properties when carried:
      • Visible in third person.
      • Alternative model skin/body/sequence.
      • Maximum time the item can be held on for.
      • Item can be dropped by choice.
      • Item is kept on holder death.
      • Item is kept on holder respawn.
    • Optional event triggers:
      • On collection.
      • On can't collect (filter rules).
      • On dropped.
      • On can't drop (not allowed).
      • On use (by a trigger).
      • On return.
    • Can provide a range of optional modifiers/effects to the player carrying the item, and have them persist after the item has been dropped.
    • Items can be remotely collected/dropped/destoryed by a trigger:
      • On/activate: Remotely collect for !activator.
      • Off/deactivate: Remotely force drop for !activator requested by !caller.
      • Toggle: Does on/off depending on if the item is currently idle or held.
      • Kill: Remotely force drop for !activator requested by !caller, then destroy the item immediately.
    • New client command inventory will print the player's inventory in their console (a fancy UI will be added in a future release).
    • New client command dropitem <item> will throw an item away depending on the parameter:
      • *: Throw away all items possible.
      • name: Throw away an item by its name.
      • #number: Throw away an item by its entity index (if it has no name).
    • Functionality for processing inventory rules attached to various entities:
      • All defined rules must pass in order for a pass to be given to the entity in question.
      • Rule: Need item(s).
      • Rule: Need number of item(s) from group(s).
      • Rule: Must not have item(s).
      • Rule: Must not have number of item(s) from group(s).
      • Force drop/return/destroy item name(s)/group(s) on rules pass.
      • Trigger if the activator failed against the inventory rules.
    • Entities enabled for inventory rule processing and what you can do with them:
      • func_button: Prevent button being used.
      • func_rot_button: Prevent button being used.
      • func_door: Prevent door being used.
      • func_door_rotating: Prevent door being used.
      • func_tankcontrols: Prevent tank being controlled.
      • func_traincontrols: Prevent train being controlled.
      • func_water: Prevent water rising/falling (as water is just a clone of door).
      • trigger_changelevel: Prevent level from changing.
      • trigger_once: Prevent trigger being used.
      • trigger_hurt: Defend player from damage.
      • trigger_multiple: Prevent trigger being used.
  • New entity weapon_displacer.
  • New map CVAR's maxhealth and maxarmor to manually define the player health/battery limits.
  • New spawn flags for all collectable equipment:
    • Touch only (128): When set the entity can only be collected by touching it.
    • Use only (256): When set the entity can only be collected by using (+use) it.
    • Can use w/o LoS (512): When set the entity can be collected by using (+use) it even if you don't have line of sight to the entity. By default line of sight is required in order to collect a pick-up by using (+use) it.
    • If both touch only or use only are set the entity can only be collected via a trigger.
    • If neither touch only or use only are set the entity can be collected via touch, use, or trigger.
  • Player speed while holding a minigun is now a percentage of the player's maximum speed rather than a static value:
    • Holding: 33% reduction
    • Spinning: 67% reduction
    • Firing: 99% reduction (next to no movement)
  • Re-implemented Uzis:
    • Merged single and akimbo (dual) Uzis into a single class and weapon entry.
    • Fixed akimbo Uzis not both reloading in all cases when doing so automatically.
    • Fixed being able to fire a single Uzi forever if you have akimbo on your person.
    • Fixed picking up an Uzi with no ammo in it giving the player a full clip.
    • Fixed players picking up a dropped Uzi not getting it as a 2nd Uzi if they already had one (weaponbox).
    • Fixed reload animation playing twice.
    • Fixed reload exploit with free ammo when dropping your 2nd Uzi and collecting it again.
    • Fixed reload not working correctly if you have a single empty Uzi then pick up another.
    • Fixed swapping magazines when the player still has spare ammo.
    • Players can no longer switch from a single Uzi to dual Uzis if the 2nd Uzi doesn't have any ammo to make use of.
  • Removed mod-level feature combining all weapon pick-up models into a single model to save on model slots, this is no longer needed.
  • Removed SAW client-side punch back.
  • SAW accuracy increased slightly.
  • SAW fire rate reduced slightly.
  • Trip mine beams will no longer pass through the side of a brush based entity they are attached to.
  • Trip mines will look for anything of interest intersecting with it on activation, and detonate if anything is found.
  • Updates to weapon drop on player death behaviour:
    • Dropped weapons due to death can't be touched by other players for 30 seconds.
    • They can be stolen explicitly with +use though!
    • 30 seconds must pass before a touch is accepted by another player.
    • If the player got gibed, anyone can touch the dropped weapon. (Because the player isn't revive-able)

2.6 Mapping tools

  • Custom fork of ZHLT 3.4 map compiler tools especially for our customized engine.
    • Based of Vluzacn's fork, build 34.
    • Available in our SDK package on Steam.
    • Available for 32-bit and 64-bit platforms.
  • Maximum light names: Raised to 256 from 64.
  • Maximum light styles: Raised to 256 from 32.
  • Maximum texture info: Raised to 32,737 from 8,192.

3 Map changes

  • Included map _server_start intended for servers with plug-ins to prepare/load their external data on SvenDS launch.
    • Automatically ends after 1 minute, the server map cycle will then begin.
    • Should it not end automatically a player spawning can press a button to end it.
  • New maps:
    • Black Mesa: Special Tactics Sector
    • Desert Circle
    • Fortified
    • Stadium 4
    • Turret Fortress: Reverse
  • Removed deprecated CVAR sv_airmove from all map configurations.
  • Single player campaign portal map renamed to -sp_campaign_portal from -HL_OpFor_SP_Portal.
  • Single player campaign scripts updated:
    • Added -noinfo switch to all RIPENT commands so they consume a lot less lines.
    • Added support for cross-account map searching so that a game installed to the Steam account space (in Steamapps) will be able to find maps in the common user space.
    • Lots of cleaning and standardisation.
  • The following maps are no longer official and have been moved to a 4.0 map pack:
    • Abandoned
    • Activist
    • Afrika Korps
    • Auspices
    • Escape Series
    • Hammerhead
    • It Has Leaks
    • Jumpers
    • Murks
    • Reflux
    • Robination
    • Royals
    • Shattered
    • Stadium 3
    • VGER
    • Zero

3.1 Another Unit

  • Enabled survival mode game play with checkpoints.

3.2 Black Mesa EPF

  • Changed monster 'monster_human_medic_ally_repel' to 'monster_medic_ally_repel'.

3.3 Crystal

  • Part 2: Fixed the boss music not always looping.
  • Part 2: Moved secret area further away to prevent other parts of the map being seen through the sky.

3.4 Dead Simple Neo 2

  • Fixed exploit that let you grab weapons without lowering platforms.
  • Made objective text easier to read.
  • Raised music volume slightly.
  • Reduced glow effect on medics.
  • Removed long briefing cut-scene for a briefing room you can read the objectives from.

3.5 Half-Life campaign

  • Removed installation/un-installation scripts: All maps included with permission.
  • HEV suit voice feedback is now enabled.

3.6 Half-Life: Blue Shift campaign

  • All: Enabled cross-map inventory.
  • BA_Yard3: Fixed a battery falling through the floor.
  • BA_Yard3: Fixed a medkit falling through a shelf.
  • BA_Yard4A: Fixed Alien Slaves in the freezer not becoming alive when the ice is broken.
  • BA_Xen3: Changed 3 weapon_medkit entities into item_healthkit in the very deep water.
  • BA_Xen3: Fixed incorrect gravity.
  • BA_Xen6: Fixed some sounds not playing.

3.7 Half-Life: Opposing Force campaign

  • All: Removed Gauss gun.
  • All: Enabled cross-map inventory.
  • OF0A0: Fixed grunts not talking during the intro.
  • OF1A1: Dead grunt on the stretcher now has no weapon.
  • OF1A1: Fixed being able to revive a dead clean-suit scientist.
  • OF1A1: Fixed a pair of sliding doors making no sound when moving.
  • OF1A2: Fixed a crate being nearly unbreakable.
  • OF1A4B: Fixed elevator being blocked.
  • OF1A4B, OF2A5: Fixed huge wooden gobs.
  • OF1A5B: Fixed elevator being stopped midway.
  • OF1A5B: Fixed Shock Trooper teleporting in too late.
  • OF1A3: Fixed being able to skip a sequence by climbing a ladder.
  • OF1A3: Fixed players getting trapped in the acid room.
  • OF2A2, OF3A2: Fixed allied NPCs being damageable by players.
  • OF3A3, OF3A4, OF3A5, OF3A6, OF4A1, OF4A2, OF4A3, OF4A4, OF4A5, OF5A1, OF5A2, OF5A3, OF5A4, OF6A1, OF6A2, OF6A3, OF6A4, OF6A4B, OF6A5, : Added displacer to the starting equipment.
  • OF3A6: Fixed teleporter sound being audible everywhere.
  • OF3A6, OF4A1, OF4A2: Changed trigger_xen_return to trigger_teleport.
  • OF4A4: Fixed a spore pod sinking into some Xen goo.
  • OF5A3, OF5A4, OF6A1, OF6A2: Added SAW to the starting equipment.

3.8 Half-Life: Uplink campaign

  • Campaign re-built as a single map.

3.9 Incoming

  • Added clip brush to stop players getting stuck when going for the lift secret button.
  • Added monster clip near spawn to stop big grunt groups causing chaos.
  • Added monster clips on bridge and ledges to stop enemies falling off.
  • Added more info_nodes around the map.
  • Added pipe wrench and 1 clip of gauss ammo to the spawn equipment.
  • Added secret weapon for helping Freddy 'Fragman' Calhoun live up to his nickname.
  • Added Xen makers to monster spawns.
  • Changed cavern lower secret so that players are teleported back up rather than killed.
  • Changed end game_text to stop teasing Incoming 2.
  • Changed game message channels from 4 to 3 to stop conflict with monster/player info.
  • Fixed ammo room so batteries sit properly on shelving.
  • Lowered water and window transparency.
  • Made cavern finale explosion more dramatic.
  • Prevented Breakbeat Doc's hidden doom remix from being triggered by final explosion.
  • Re-arranged ammo lockers to the side of underground cavern finale tank to prevent players quickly grabbing crystal.
  • Reduced electric shock damage from broken lift water.
  • Reduced Mr Shark count in tank mission from 3 to 2.
  • Removed a crate in back storage to make it a little easier for players to hurriedly enter on finale.
  • Replaced most PCM Waveform sounds with OGG encoded versions.
  • Reworked lighting, added a few lights around the map, made everything generally brighter.
  • Reworked outdoor and test chamber secret buttons so co-operation is required to activate them.
  • Reworked underground cavern promo-poster secret button so co-operation is required to access it.
  • Rewrote many game messages.
  • Switched bomb secret texture from my stupid face to Stimpy's stupid face.
  • Switched Bullsquids to use the aqua replacement model, seeing as it's still included with SC.
  • Switched out 2 Headcrabs for Chumtoads in ammo room mission.
  • Tweaked timings of text and spawns in cavern finale.
  • Updated info in the map text files.
  • Widened walkway in test chamber mission to stop alien slaves going barmy.

3.10 Intruder

  • Added a monster clip brush on the windows for the guards at the start, so they can't run/fall out of the towers.
  • Fixed grunts being able to block a rotating door at the start of the first building.
  • Removed some robot grunts in the final area to ensure the monstrosity can't be killed by the robots alone.
  • Skill balance updates.
  • The minigun behind the security gate now starts inactive, and activates when the button is pressed to open the gate.

3.11 Last Stand

  • All: Added some additional light brushes to account for the newer compiler settings.
  • All: Changed environment light to match the setting sun in the sky map, so outdoor areas aren't so unusually dark.
  • All: Recompiled all maps with tweaked clipping and lighting settings.
  • All: Replaced all AAATRIGGER textures to NULL.
  • Part 1: Added giant spot lights in the outdoor area that come in shortly after starting to suggest action is about to go down.
  • Part 1: Changed stairwell doors to only open inwards. This will stop doors from blocking the main path to the top.
  • Part 1: Covered func_tank turret at start in monsterclip to keep aliens from using it.
  • Part 1: Set func_tank turret's relation of players and player allies to 'friend' in hopes that it wont damage allied NPCs and players that are in the line of fire.
  • Part 2: Added red-orange light at the end of the cave to resemble the lava cave changes in part 3.
  • Part 3: Changed teleporter entities in the lava cave so they don't rely on invisible walls blocking early access.
  • Part 3: Improved performance in that bent corridor with the ceiling fans.
  • Part 3: Replaced incorrect lava texture with one that actually looks like lava, and given it a red-orange light and bubbling sound.
  • Part 3: Tweaked brushwork in the lava cave to improve performance.

3.12 Momma Mesa

  • [Giant Cockroach model] Added the missing 'whip' attack.
  • [Giant Cockroach model] Removed the huge hit boxes around the antennae and moved the eye position up 55 units from the origin along the Z-axis.
  • Added "freezer win" ending.
  • Added a hallway in which players may take cover inside of the perimeter shack.
  • Added a second layer of barricades to prevent the tank from insta-gibbing people who teleport into the perimeter arena.
  • Added a wood plank across some of the sloped rocks outside the satellite mission.
  • Added clip brushes to door to second mission area to prevent players from blocking it.
  • Added invisibility cloaking device to the magma cave to make it easier to escape successfully.
  • Added missing textures to the start area.
  • Added missing textures to underside of the staircase in the train yard.
  • Added telefrag from the prisoner VIP to ensure he always spawns.
  • Adjusted nodes in the prison's VIP safe room so that he can escape easier.
  • Altered the shape of one of the broken railings in the second mission to prevent players from getting stuck by walking into it.
  • Changed copyrighted music for free to use music.
  • Changed the pitch and yaw rates of the egon tanks to be much slower.
  • Changed the satellite dish in the uplink mission from a zombie to a func_breakable.
  • Changed weird blue env_fade in magma cave trap room to Chumtoad gas plumes
  • Doubled the perimeter air strike trigger_multiple 'delay before reset' to lessen air strike deaths.
  • Fixed an X-mark that should have been a check mark at the end of the cockroach mission.
  • Fixed clip brushes and NULL textures at the teleporter mission.
  • Fixed machine ambience not shutting off when the hidden generators are destroyed.
  • Fixed the grunts mission being mostly unlit.
  • Fixed trip mine blocker not raising to the correct height.
  • In easy mode, the time that players must protect the portal experiment is reduced from 3 minutes to 2 minutes.
  • In nightmare mode, the alien slave that teleports into the control room is replaced with an alien grunt.
  • Made broken pieces of the bridge in the fish tank area func_illusionary to prevent players from getting stuck.
  • Made the first hit box on the hover tank encompass the entire tank, instead of just the bottom
  • Modified the giant cockroach's hull size, and made the furnace in the freezer mission insta-kill any living thing inside of it.
  • Moved env_glow further away from the wall to prevent it from being visible from the other side of the wall.
  • Moved dead scientist body closer to the wall so that he doesn't appear to be lying against the air.
  • Moved tank area down 512 units to prevent the areas above from being visible.
  • Raised hull size of the freezer VIP to help prevent it clipping through walls.
  • Red emergency lights on the buttons in the portal lab now turn off as soon as the button is pressed, rather than waiting three seconds.
  • Removed node graph files from the resource list.
  • Skill balance updates.

3.13 Osprey Attack

  • Tweaked description to say "m203" grenades instead of "MP5" grenades.

3.14 Persia

  • Fixed spelling error in entity class name func_monsterclip (was called ffunc_monsterclip).

3.15 Polar Rescue

  • Added a railing around the elevator so NPCs can't fall down the shaft whilst the elevator is at a different floor.
  • Added difficulty levels chosen in the start room by vote:
    • Normal: 20 minute execution timer, normal NPC count, weapons/ammo/items respawn as normal.
    • Hard: 15 minute execution timer, high NPC count, weapons/ammo/items don't respawn.
  • Added sounds to individually issued messages that may go missed.
  • Completely redesigned many parts of the map:
    • Added a chasm with a retractable bridge.
    • Added a checkpoint when the bridge control room is entered.
    • Added a ledge around the cliff-side platform (just for Solokiller).
    • Added a medic to accompany the allied soldier bursting into the bridge control room.
    • Added environment sound FX across the map.
    • Converted a storage cage into a bridge control room (where the portal power cabinets were).
    • Converted a level 1 storage room into a landing platform.
    • Converted a level 2 storage room into a workshop.
    • Converted a level 3 storage room into a radio room.
    • Merged main elevators so 1 spans all 3 floors with the maintenance shaft.
    • Moved the hostage cells across the chasm.
    • Redesigned the executions room to an incineration chamber.
    • Removed some pointless rooms.
    • Removed the alarm button.
    • Removed the ice on the cliff-side platform.
    • Removed the map (until it's updated).
    • Removed the RPG from the radio room (will be moved to the command centre in a future update).
    • Removed the teleporters.
  • Fixed a guard appearing as a blue Otis.
  • Fixed a missing model "gins_sink.mdl".
  • New pick-up / third person model for the secret gold .357.
  • New textures for red doors and blue signs.
  • NPCs now drop their weapons on death, so players can get more ammo without having to visit storage rooms.
  • NPCs now scan for possible combat even when players aren't that close, so they can react to explosions heard in the distance.
  • Rebalancing to the NPCs and skill configuration:
    • Removed tier 1/2/3 skill levels.
    • Reduced start health/armor back to 100.
    • Most weapons do a little less damage so it isn't so instant kill, but still realistic enough weapons damage.
    • Added settings for Barney, Otis, and Robo-grunts.
    • Head shots now do 10x damage.
    • Chest shots now do 1.5x damage.
    • Stomach shots now do 3x damage.
    • Arm shots now to 0.5x damage.
    • Leg shots now to 0.75x damage.
  • Replaced some male assassins for other NPCs (Barnabus and Otto).
  • Reverted using the scientist model from Opposing Force due to bad animations.
  • Replaced transparent text textures for sprites
  • Tweaked all ambient sounds.

3.16 Quarter

  • Moved difficult to reach medkit.
  • Changed all ammo_762 to ammo_357.
  • Removed trigger_changelevel entity and fixed the game_end.

3.17 Richard Boderman

  • Fixed boss monster being able to prevent players spawning (and living for more than half a second).
  • Fixed players getting stuck on the slopes of sandbags.
  • Fixed visible null texture border around the edges of bunkers.
  • Removed unused cycler entity.

3.18 Sandstone

  • Added combat knife from Opposing Force.
  • Changed most func_wall's into func_detail. (Only the 3 briefcases and sandbag brushes remain)
  • Enlarged enginner script brushes by objectives. (They were only 8 units tall, could be missed with a bad hit box calculation!)
  • Fixed bad node graphs around some narrow(ish) stairs preventing NPC's (particularly the engineer) from going up/down.
  • Fixed the 357 in the secret area not leaning against the wall like it is in the map source.
  • New NPC models.
  • Player arms replaced for the Opposing Force style arms.
  • Sandbag brushes are now slightly more detailed.
  • Tiny detail tweaks.

3.19 Tetris

  • All: Fixed grapple texture appearing as the default texture if a subsequent map is loaded without playing the first map.
  • Part 3: Fixed block near the start due to turrets not firing their death condition trigger.
  • Part 3: Fixed players blocking a lift near the end by giving it massive crush damage.
  • Part 4, Part 5: Fixed an occasional backwards mins/maxs crash on load.
  • Part 4, Part 5: Removed unused WAD files from the map requirements.
  • Part 5: Fixed low gravity effect from this area not wearing off.
  • Part 6: Fixed some turrets having an assassin display name.
  • Part 6: Replaced fake Kingpin boss (alien slave replacement) for the real thing.

3.20 Turret Fortress

  • New nomble sound to avoid copyright infringement.

3.21 They Hunger

  • All: Added custom sniper rifle to human grunts.
  • All: Fixed car/train sound replacements so they don't sound like Half-Life trains.
  • All: Updated global model replacement to include the sniper rifle.
  • They5: Fixed environment sound effect being lost when entering the tunnel.
  • They5: Fixed a lighting brush blocking players.
  • They13: Fixed trees disappearing at particular view angles.
  • They14: Fixed a dead civilian rendering without light.
  • They16: Fixed floating umbrella when the bench it's on breaks.
  • They17: Removed badly placed spawn points.
  • They22, They22B: Fixed a shovel appearing in a chest way too small to contain it.
  • They23: Fixed a lift button having too short of a reset delay.
  • They23: Fixed Barney rendering without light on a cliff edge.

3.22 Toad Snatch

  • Non-ghost players will now be shown a message telling them to wait to be revived when they die.
  • Players can now re-join the assaulting players when each checkpoint is reached.
  • Raised player respawn delay to 8 seconds.
  • Reduced delay before difficulty can be chosen.
  • Reduced glow effect on the toad carrier.
  • Slime points are now easier to grapple on to.
  • XP modifications no longer force extreme difficulty.

3.23 Toon Run

  • All: Some brand new sections across all 3 maps!
  • Part 1: Garg plaza: Door could be opened from inside by monster_barney -> set monsters can't flag.
  • Part 1: Mine Area: Mine hounds were stuck in their cave tunnel -> used func_clip.
  • Part 2: Fixed a ladder being invisible from one side by the boat.
  • Part 2: Flower Area: Platforms start off too low -> changed lip value.
  • Part 2: Flower Area: Walking into ladder brush freezes game -> added trigger_hurt that kills anything near the ladder.
  • Part 2: Replaced the rat visible through the dock telescope with "Mr. Buttocks".
  • Part 3: Mother Spleen Area: Changed Mother Spleen from monster_gonome to monster_generic to get rid of the model warnings.

3.24 Turret Fortress

  • Changed copywritten music for free to use music.
  • Fixed asking players to destroy the credit stealer device when it has already been destroyed.
  • Fixed Nomble music not stopping when the map has been won or lost.
  • Removed unintended explosion decals from outside at sector 2.
  • The two central spots now give players 2 credits upon building, rather than 2 useless turrets.
  • The virus alert message is now more clear.

3.25 YABMA

  • Enabled survival mode game play with checkpoints.
  • Fixed extra/missing quotation marks causing RESGen to fail parsing the map correctly.

4 Map pack changes

These are fixes for the extra maps provided via content packs, and are not part of the vanilla game.

4.1 Activist

  • All: Lowered re-use delay on many of the doors so they are less annoying.
  • Part 1: Fixed clashing door names.
  • Part 1: Fixed insane lag caused when blocking a particular door.
  • Part 1: Removed a duplicated button and door causing serious lag when blocked.

4.2 Assault on Black Mesa 2

  • Part 1: Fixed lab doors being open prematurely by NPCs.
  • Part 2: Fixed a crate blocking a teleporter at the start when the shortcut has been unlocked.
  • Part 2: Raised the large elevator speed to help players not get left behind.

4.3 Auspices

  • Enabled survival mode game play with checkpoints.
  • Slowed down the laser firing and turning rate so players don't get killed nearly every time they enter the small boss section.

4.4 Blackops

Fixes also apply to parent map OPR1A6.

  • Changed a lot of doors to stay open once opened so respawning players can catch up.
  • Changed some of the awkwardly placed buttons to be use based rather than touch based to prevent player confusion.
  • Fixed players exploiting a climbing shortcut with the plant pots in the lobby.

4.5 Case Closed

  • All: Re-compiled all maps with more modern compilers (improved clipping, lighting, and visibility).
  • Part 1: Added clip brush to cover an inaccessible area.
  • Part 1: Added minor damage to all rotating doors, so headcrabs can't block them from opening.
  • Part 1: Fixed a headcrab being stuck inside a ceiling.
  • Part 1: Fixed bad texture alignment on a fire alarm.
  • Part 4: Fixed a battery sinking into the floor after spawning on a shelf.

4.6 Castle Defence

  • Removed engine model limit workaround.

4.7 Crisis 2

  • Changed the class of the scientist at the end to friendly.
  • Changed the green goo to use slime contents instead of lava.
  • Fixed final elevator doors from being opened again once it has "moved".
  • Fixed important allied NPCs from being killed.
  • Fixed incorrect track pathing at the bottom of the rotating train elevator.

4.8 Delta Return

  • Fixed a key-padded door overlapping with the ceiling when open.
  • Fixed a teleporter being inactive when it should be active.

4.9 Durga

  • Raised health of first gargantua.
  • Removed some of the excessive big mommas and a gargantua.

4.10 Escape Series

  • 1A, 1B: Replaced texture AAATRIGGER to NULL.
  • 1A: Disabled AI on the skeleton prop right outside the first spawn area.
  • 1A: Fixed a few bad texture alignments.
  • 1A: Fixed bad clip hull sometimes causing players to get stuck in the sloped vents at the start.
  • 1A: Fixed lasers being duplicated for no reason.
  • 1A: Fixed the elevator being blocked by cockroaches.
  • 1A: Removed noise on lasers.
  • 1B: Fixed boxes climbed on in the office area causing a player to become stuck inside if they were standing where the boxes end up.
  • 1B: Fixed textures around the destroyed walls looking too neat.
  • 2A, 3A, 3C: Removed all ambient_generics without a sound file specified -- most of which had no target name specified either.
  • 2B: Fixed falling floor from being blocked by baby headcrabs by giving it massive crush damage.
  • 2E: Fixed falling floor into the boss chamber sometimes sitting on top of respawning players due to it not moving quickly enough.
  • 3A: Obstructed the view of the bodyguards into the gas chamber at the end of the map to stop them trying to shoot at players through the unbreakable glass.
  • 3C: Fixed zombies spawning inside each other.
  • 3D: Added a message telling players they need to find a keycard for the first control panel when they don't have it.
  • 3D/3E: Re-designed how the trolley has its doors attached.
  • 3D/3E: Reduced crush damage from the trolley to limit how often players can kill each other by walking into them in the right direction.

4.11 Grey Snake

  • Fixed Chubby hologram producing blood when shot.

4.12 Grunt War

  • Fixed a pistol being spawned 49 times along with a spawning player.

4.13 Gitfest

  • Part 4: Raised maximum view distance so the floor is visible from the top of the highest buildings.

4.14 Inbound

  • Removed node graph files from the resource list.

4.15 It Has Leaks

  • Fixed wizards being able to fall into the water.

4.16 Jumpers

  • Reduced glow effect on the jumper.

4.17 Mako

  • Fixed an unreachable medkit on some racking.

4.18 Project Guilty

  • Part 1: Reduced the insane amount of monsters spawning at each area.

4.19 Reflux

  • Removed node graph files from the resource list.

4.20 Robination

  • Map now has a 4 hour time limit instead of running infinitely.
  • Observer mode activated for dead players so they don't just get bored in the death room.

4.21 Royals

  • Deleted obsolete music file.
  • All: Added a neat-o background landscape.
  • All: Added looping music.
  • All: Added more ammunition to the start.
  • All: Enabled cross-map inventory.
  • All: Fixed some lighting bugs.
  • Part 1: Fixed bad clipping under the spawn point.
  • Part 1: Fixed players being able to jump outside the map at the outdoor grunt area.
  • Part 2: Fixed bad clipping under the spawn point.
  • Part 4: Added a SAW to the top of the pyramid, and changed a Uzi to Akimbo Uzis.
  • Part 4: Added clip brush to prevent blocks being pushed down to the Pharaoh.
  • Part 4: Added clip brushes to prevent players avoiding the Pharaoh.
  • Part 4: Reduced boss hit points.
  • Part 4: Reduced world polygons in the pyramid.

4.22 S28

  • Fixed barricades in the first room from visibly disappearing at certain angles.
  • Fixed teleporters being inactive when they should be active.

4.23 Shattered

  • Fixed crouching exploit at the 3 laser beams, these beams now turn off when the button behind them is pressed.

4.24 Sledge

  • Fixed a door moving the wrong direction.

4.25 Subway Train

  • Fixed a heavy weapons grunt being unable to see/shoot at players through a holey railing.
  • Fixed a heavy weapons grunt not having a monster clip flag.
  • Fixed Osprey rotors not moving when it takes off.

4.26 Surface Extension

  • Fixed a door opening above a building's wall.
  • Fixed rotating doors opening into a wall.
  • Removed an empty ambient_generic.

4.27 Sven Co-op RPG

  • All: Set weapon/ammo respawn delay to 0 in the class selection area, so players always get the equipment they should.
  • Part 1: Fixed the rope being turned off instead of on when the rope is dropped.
  • Part 1: Now uses the custom weapon models from parts 2 and 3.

4.28 Tower

  • All: Added more 9mm ammo boxes around the map.
  • All: Disabled ledge climbing to stop some unintended exploits/shortcuts.
  • All: Raised starting ammo as players would always run out quickly.
  • All: Reduced many of the excessive enemy spawn counts.
  • Part 1: Fixed a shortcut not opening properly.
  • Part 1: Fixed infinitely spawning grunts in the first section of the tower.
  • Part 1: Fixed trip mines from being inside the walls.
  • Part 1: Made all turrets auto-start.
  • Part 1 & 2: Removed some excessive turrets.
  • Part 2: Stopped grunts spawning in the Apache area once the Apache has been destroyed.
  • Part 3: Added trigger to open the armory from inside of it.
  • Part 3: Changed a grate from a door to a breakable that breaks on a trigger.
  • Part 3: Fixed enemies from spawn camping players by stopping the lower half of the door from opening.
  • Part 3: Raised speed of the water rising from 3 to 10 units/second.
  • Part 3: The subway gate can now be opened from the other side to create a shortcut.
  • Part 4: Fixed old spawn points being activated again after new ones.
  • Part 4: Reduced subway train ride time.
  • Part 4: Reduced unreasonable hit points of assassins in the subway.
  • Part 5: Changed turrets in the ship generator room to mini-turrets.
  • Part 5: Improved the shortcut opening point.
  • Part 5: Reduced hit points of some turrets and mini-turrets.
  • Part 5: Reduced NPC spawn count around the outside of the ship.

4.29 War

  • Added nextmap configuration option to ensure part 2 is played in sequence.

4.30 Wired

  • Fixed a turret being stuck in the ceiling.

4.31 Why

  • Fixed doors overlapping into ceiling brushes.
  • Fixed being able to revive the dead grunt at the start.
  • Fixed grunt at the start not always dying because of the security guard as intended.
  • Fixed some scientists with feet sticking out through toilet cubical doors.
  • Fixed teleporters being inactive when it should be active.

5 Model changes

  • Error: New fall-back model and sprite.
  • Lambda: New model used for checkpoints in single player campaigns.

5.1 Player

  • Fixed HEV models with glasses not having see-through lenses.
  • Fixed HEV models not having the proper colour changing skins.
  • Fixed Barnacle grapple tongue not launching from the correct position.
  • Fixed weapon muzzle flashes not being in the correct positions.
  • New animations for running/walking, barnacled, and keyboard typing.
  • New models:
    • Barney (x3)
    • Construction worker
    • Gman
    • Gus
    • Male assassin (x4)
    • Opposing Force (x6)
    • Scientist (x7)
  • New preview images.
  • Including human grunt model with correct animations to prevent animation mismatches from Valve's version.
  • Removed obsolete death-match models from Valve where we already have a HD replacement.

5.2 Non-playable characters

  • Apache, Friendly Apache, Barnabus, Blackop Osprey, Crashed Osprey (not the same as dead_osprey), Human grunt, Houndeye, Opposing Force grunts, Medic grunt, Torch grunt, Heavy weapons grunt, Osprey, Male assassin, Otis, Otto, Pit Drone: New model.
  • Barney, Barnabus: Added Desert Eagle, .357, and MP5 weapon sub-models/animations.
  • Barney, Barnabus, Otis, Otto, Zombie: New footstep event (2003) so they all play the same set of footstep sounds based on the material they are standing on.
  • Bullsquid: Fixed weird jumping animation between positions.
  • Gonome: Fixed head hit box being too small.
  • Grunts: Fixed animation timings for combat idle and crouching wait.
  • Heavy weapons grunt: Added an attachment point for the tip of the cigar.
  • Heavy weapons grunt: Added bone and bone controller for the mouth.
  • Heavy weapons grunt: Added new animations for walking and running with a pistol.
  • Heavy weapons grunt: Fixed incorrect attachment points for muzzle flare and shell ejection.
  • Heavy weapons grunt: Improved most other animations.
  • Male assassin: Added more polygons to the right arm (stretched arm still happens, but a bit less visible).
  • Male assassin: Fixed transparency on the M16 sub-model.
  • Male assassin: Fixed head & goggle seams.
  • Male assassin: Removed ~300 duplicate triangles from the mesh.
  • Male assassin: Fixed animation frame rates to match those from the PS2 model.
  • Medic grunt: Fixed seam across the belt.
  • Opposing Force Grunts: Updated to use the green camouflage player allied grunts have.
  • Otis, Otto: Replacing model for HD version by Ambient Impact.
  • Scientist: All models combined into a single file.
  • Scientist: Fixed "haulscientist" sequence so legs aren't hovering on the final frame.
  • Scientist: Fixed seam across the face of the Einstein sub-model.
  • Voltigore: Fixed incorrect order of animation names for "diesimple" and "dieforward".
  • Zombie Soldier: New model.

5.3 Weapons and equipment

  • .357 box, 5.56mm clip, 7.62mm clip, 9mm large clip, 9mm small clip, Crossbow bolt clip, Gauss charge, HEV battery, Long jump module, MP5 clip, RPG rocket, Shotgun shell box, Uzi clip: New model.
  • Opposing Force Knife: Fixed incorrect transparent palette.
  • Shotgun: Added "shoot_double" animation to view port model.
  • Weapons: New models for all weapon pick-ups and third person view models to match the high quality first person models.

6 Sound changes

  • New high quality sounds for concrete (default), dirt, and snow footsteps -- 8 sounds for each.
  • New opening music from "Pavel_Perepelitsa".
  • New sniper rifle firing sound.
  • Updated many vanilla textures with more appropriate material sounds.

7 Hammer editor changes

  • Added support for exporting maps with floating-point co-ordinates.
  • 3D draw distance limit raised to 40,000.
  • Co-ordinate boundaries raised to +/-131,072 from +/-4,096.
  • Texture chooser: Added 192x and 256x texture display sizes.
  • Texture chooser: Changed texture name font to Lucida Console 14pt.

8 Other changes

  • Configuration: Added keyboard entry for command inventory bound to I by default.
  • Configuration: Added Xbox 360 controller configuration controller-xb360.cfg.
  • Configuration: Multi-server configuration example provided.
  • FGD: Added base class Appearflags to (hopefully) everything.
  • FGD: Added base class ZHLTbmodel for all brush-based entities:
    • Key zhlt_usemodel: Template Model Target
    • Key zhlt_copylight: Copy Lighting From Target
  • FGD: Added flag Don't move living players to trigger_respawn.
  • FGD: Added flag Inventory Items to func_clip.
  • FGD: Added flag Trigger on arrival to info_teleport_destination.
  • FGD: Added key activity and hinttype to info_node and info_node_air.
  • FGD: Added key disable_minigun_drop to monster_hwgrunt to call a scripted function.
  • FGD: Added key function_name to squadmaker to call a scripted function.
  • FGD: Added key is_not_revivable to monsters and squadmaker.
  • FGD: Added key IsNotAmmoItem to weapons.
  • FGD: Added key keep_inventory to trigger_changelevel enabled by default.
  • FGD: Added key path_name to all A.I. entities (and spawners) to make use of the new path entities.
  • FGD: Added key soundlist to func_train and func_tracktrain for global sound replacements.
  • FGD: Added key teleport_if_blocked to trigger_teleport.
  • FGD: Added key teleport_ignore_delay to trigger_teleport.
  • FGD: Added key teleport_start_inactive to trigger_teleport.
  • FGD: Added key vp_type to env_sprite.
  • FGD: Added keys yes and no to trigger_vote to customize the button text.
  • FGD: Doors and trains are now configured to obey trigger modes by default.
  • FGD: Entities game_counter, game_counter_set, game_end, game_player_counter, game_player_equip, game_player_hurt, game_player_respawn_zone, game_player_team, game_player_zone, game_score, game_slot_counter, game_team_master, game_team_set, and game_text now inherit class TargetX.
  • FGD: Fixed target key appearing on some entities twice.
  • FGD: New entities:
    • item_inventory
    • monster_blkop_apache (was missing for some reason)
    • path_waypoint
    • path_condition
    • path_condition_controller
    • trigger_changemaxammo
    • trigger_cyclicobserver
    • trigger_numericdisplay
    • trigger_script
    • weapon_displacer
  • FGD: Removed duplicate base class AttackObject from func_pushable.
  • FGD: Removed duplicate key target on entity game_player_equip.
  • FGD: Removed entity info_landmark.
  • FGD: Removed keys path_monster and goal_ent from all A.I. entities (and spawners).
  • Liblist: Added entries crcclientdll and largemap_aware.
  • Liblist: Removed entries num_edicts and heapsize.
  • Manual: Added a basic guide for setting up a server.
  • Manual: Added a guide on defining server administrators.
  • Manual: Added a list of cheat commands.
  • Manual: Added command npc_moveto.
  • Manual: Added map CVAR mp_notimelimit.
  • Manual: Added server CVAR mp_timelimit_empty.
  • Manual: Fixed a spelling mistake "combat kinfe".
  • Manual: Fixed a spelling mistake "npc_recurn".
  • Manual: Lot of style tweaks and updates.
  • Manual: Overhauled up the map configuration page.
  • Manual: Removed mapping cvar sv_airmove as it no longer exists.
  • Manual: Vastly updated guides, particularly for mapping and server installation.
  • Score board: New icon gold dollar sign for large donors, the headcrab icon is now for the testing team and light content contributors.
  • Score board: Replaced icon gold Uzi for one of the newer weapon model.
  • Score board: Server owners now have a separate image from administrators, rather than just a tinted overlay.
  • Score board: Tweaked appearance of the electric crowbar and game logo icons.
  • Server UI: Now has the same colour scheme as the game UI.
  • Server UI: Widened server name and IP address boxes.
  • Sprite: New level change sprite.
  • UI: Fixed gamma slider allowing you to choose a value below the engine minimum.
  • UI: Fixed many model preview images from appearing smashed and not showing the colour previews.
  • UI: Fixed model preview image being blank/wrong if a preview image doesn't exist for the chosen model.
  • UI: Raised width of map selection listbox in the create game form.
  • UI: Removed Change game entry in the main menu.
  • UI: Tidied up various parts of the options screens, removed redundant options.
  • New set of stock spray images.
  • New tool to convert a Blue Shift BSP to Half-Life BSP.
  • Updated Info-Zip's Unzip utility to version 6.00.