Source SDK Release Notes: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(release notes for latest SDK update)
(updated)
Line 1: Line 1:
[[Category:Steam]]
[[Category:Steam]][[Category:Changelists]]
= Latest Release =
 
== Major new features in this release ==
== Major new features in this release ==
* HDR support in tools.
* Half-Life 2: Episode One enhancements.
* Day of Defeat: Source support.
* NPC behavior enhancements.
* Major new Hammer Editor features:
* New Game Content called 'Source SDK Base'.
** VGUI Model browser with real-time 3D view.
* Many other improvements and bug fixes.
** Autosave/backup feature.
** Improved Auto-visgroup functionality.
** Model and displacement rendering in 2D views.
** Other 2D and 3D rendering features and improvements.
** Many other small improvements and bug fixes.


== Current Known Issues ==
== Current Known Issues ==
Line 17: Line 10:
See [[Source SDK Known Issues]] for a list of known issues and workarounds.
See [[Source SDK Known Issues]] for a list of known issues and workarounds.


== New SDK and Hammer Editor Features ==
== New Features ==


=== Added support for HDR ===
=== General new features ===
* Support for HDR map compiles in Normal and Expert build dialogs.
* New Game Content Called 'Source SDK Base'.
** See [[HDR Lighting Basics]] for information on how to add HDR to maps.
** Located on Steam's 'Tools' page.
** If you've previously added your own Expert build settings, you must delete your <code>sourcesdk/bin/CmdSeq.wc</code> file and Refresh SDK Content to get the new Expert build settings. '''Note:''' This will delete and replace any previously saved Expert build settings!
** Available to anyone who owns Half-Life 2.
** HDR content creation is currently supported in:
** Uses the lastest shipping version of the Source Engine (HL2: Episode One).
*** Day of Defeat: Source
** Contains only the hardware stress test included in Lost Coast.
*** Counter-Strike: Source
** This content will be updated whenever a new version of the Source Engine ships.
*** Half-Life 2: Lost Coast
** Mod makers should always use its SteamAppId (215) in their single player and multi-player mods.
** Support for Half-Life 2 and Half-Life 2: Deathmatch will be added in a future update.
** 'Create Mod Wizard' looks for any mods that are referencing SteamAppId 220 and reminds the user to change this to SteamAppId 215. The user must make this change manually.
* SDK now includes cs_militia.vmf so that users can study it more closely.  


=== Day of Defeat: Source support ===
=== New SDK code features ===
* Added Day of Defeat: Source entity definitions.
* Half-Life 2 Episode 1 Enhancements.
* A game configuration is created if DoD:Source is installed.
** Episode 1 behavior for Alyx and combine NPCs is included.
** Support for Alyx Darkness Mode.
* Analog joystick support as well as rumble controller support.
* Added support for HUD hints for ALT-Fire. (e.g. #valve_hint_alt_weapon_smg1).
* Now perform view smoothing when the player is walking on entities that cannot move.
* Beam Effects Enhancements.
** Added HDR color scale.
** Added separate inputs for red, green, and blue.
* Added InputStopSweeping to snipers.
* Client side .vcd's can now share a cache with the server ones, prevents hitching when loading instanced .vcd files (response system, etc.) which are used by the client, too. System allows MOD authors to install their own shared .dlls which export an IAppSystem so they can do similar kinds of shared caching system.
* Optimization to box/ray traces against vphysics objects.  Net result is that the new code is rougly 2.3X faster for traces that hit.
* Weapon System Enhancements.
** Changed weapon selection UI so that selecting an empty bucket makes a deny sound and closes the UI.
** Added "weapondelay" to response rules. This field lets you specify how long an NPC should suspend firing their weapon when they start to speak certain responses.
** Player will now auto-switch to a newly acquired weapon if he pulls it in with the physcannon.
** Weapons can be configured to have an underwater ALT-Fire option.
* NPC Behavior Enhancements.
** Added input "RemoveFromPlayerSquad" to npc_citizen. This instantly and properly ejects a citizen from the Player's squad.
** Added "Urgent" flag to assault & rally points. NPCs moving to Urgent points will run Urgent navigation solutions (Ignoring prop_physics blockers, eventually teleporting).
** Made "ForceCrouch" option on assault/rally points only make the NPC crouch when they're near the point.
** Added AI_BaseNPC::GetJumpGravity(), default 1.0f.
** Activities can be remapped to new activities based on NPC readiness. See episodic/scripts/actremap.txt.
** Added CAI_BaseNPC::PlayerPenetratingVPhysics to enable player avoidance when player vphysics intersects npcs.
** Episodic now forces all trackpathers to use the "fixed" patrolling logic. Fixes the gunship not patrolling properly above the attic.
** Added "Max Squadmates Per Enemy" option that allows the designer to specify how many squadmates may attack any given entity.
* Changed DLL loading code to search the system path after loading from the bin directory.
* Optimized sound engine.
** Sound engine is now 1.3X the original speed.


=== New VGUI model browser ===
=== New Hammer Editor features ===
* VGUI Model browser with substring filtering, 3D preview, and reference grid to indicate the size of the model.Camera controls are:
* Added an "Enable Autosave" check box in general options.
** left mouse: rotate
* Auto-save files use the .vmf_autosave extension so that auto-save doesn't overwrite manually saved .vmf files.
** right mouse: zoom
* The check for an autosave file is now made on map load, rather than on crash recovery.
** middle mouse or SHIFT: translate
* Layouts of vgui panels in Hammer are now saved.
* Added option "Use VGUI model browser" under Tools->Options->General. Unchecking this option reverts to the old model browser.
* Viewport splitter now saves its position at program shutdown.
* Added support for "setpos x y z; setang u v w" format in view->Go to coordinates.
* Model browser now exchanges skin values with the properties dialog in Hammer.


=== 2D and 3D View enhancements ===
=== Faceposer features ===
* Models and Displacements are now rendered in the 2D views.
* Close caption system now knows how to fall back to hl2\resource\*.txt/.dat files if the requested token isn't present in the MOD game dir.
* 2D views are now rendered using the Source material system.
* Added Select all events for current actor/channel menu items to right click "Select/Deselect" submenu.
* Added new toolbar option to enable model rendering in 2D views.
* Holding shift key while hitting 'h' or 0->9 keys in flex animation view will apply the curve type to all selected samples across all flex controllers, not just the current one.
* Added real-time preview of object transformations in all views. Old state of manipulated object is drawn as wireframe, new state as textured.
* Choreo view timeline area draws w/ a slightly different color to make it clear where you should right click.
* 2D views now center on selected objects after view type switch.
* Added check/uncheck all and invert selection buttons to flex sliders view.
* Optimized 2D view rendering.
* Changed flex panel buttons to have several of them under a menu button which pops up a menu having the choices there instead.
* Hammer now renders 2D and 3D views only on demand, not as fast as possible.
* Changed bitmap generation to overlay gestures with idle pose instead of being composited with reference pose, fixed gesture bitmaps being rotated 90 degrees.
* Added new "Shaded Textured Polygons" 3D view mode to hammer.
* Mousewheel zooming tries to maintain focus on what the mouse is over (applies to Choreoview, Ramp tools, Gesture tool, Flex Animation tool).
* Hammer disables antialiasing by default.
* Also, added Home/End/PgUP/PgDn key support to various windows to allow rapidly moving around the event or scene being edited (applies to Choreoview, Ramp tools, Gesture tool, Flex Animation tool).
* Shift-H for toggling hold of flex animation tracks now gathers left/right samples as well as value samples if any are selected.


=== Auto Visgroups improvements ===
=== Model Viewer features ===
* Added many new Auto-visgroup categories.
* HLMV sorts animations by type (full body, posture, gesture), by name. Full body comes first, then gestures, then postures.
* Created a separate tab for Autovisgroups in the Filter dialog.
* Enabled the ability to view models with normalmaps in HLMV. This feature, for whatever reason, had been disabled.
* Disallowed users changing Autovisgroup membership, deleting Autovisgroups, etc.
* Changed hlmv to save current sequences by name instead of index number.
* Objects that are loaded in a hidden state without being in a user visgroup will throw an alert message and ill be placed in a User visgroup named "_orphaned hidden".
* Added -nosort to HLMV. This will display sequences in their compile order instead of alphabetical order.
* Objects hidden by a user-created visgroup can no longer be made visible by the actions of the auto visgroup.
* HLMV now caches normal-map viewer settings in registry along with other stuff.
* Filter dialog is now resizable when undocked.
 
=== Paste Special Enhancements ===
* "Make entity names unique" appends numbers to pasted entity names to ensure that the names are unique in the map. Doesn't change the name of entities with no name to begin with.
* "Add this prefix to entity names" adds a user-defined prefix to all pasted entities that have names.
* Both of these options fix up I/O connections and inter-entity references, and the options can be used independently of each other.
* Paste Special is now invoked with Ctrl-Shift-V.
 
=== New Autosave feature ===
* Autosave options are located in Tools->Options->General:
** Time between autosaves in minutes.
** Amount of hard drive space to use for autosaves in megabytes.
** Max number of autosaves per file.
** Option for user-specified autosave directory.
** On crash recovery, Hammer prompts user to load last saved file.
 
=== Other new features ===
* Added model fade distance preview, enabled via a new toolbar button. This does not support screen space fades yet—only distance fades.
* Added a button to radius keyvalues to set the field's value to the current distance from the camera.
* Added a button for Texture Lock While Scaling to the tool bar.
* Overlay scale operation now supports texture lock off.
* Optimized speed of Paste & Clone operations.
* Selection tool no longer toggles through objects when holding the left mouse button down, use PageUp/PageDown keys instead.
* Check For Problems now reports Overlay problems, such as overlays with invalid face lists.
* Hammer now reports its Steam search paths in the Messages window on startup.
* Can no longer have multiple instances of a map open in hammer. Fixes user confusion regarding which map is being edited causing data loss.
* Find/Replace dialog now allows you to change the inputs mid-search.
* Newly created game configurations now default to a texture scale of 0.25 instead of 1.0.
* Sprites ([[env_sprite]]) are now browsed using the material browser.


== Bug fixes ==
== Bug fixes ==


=== Hammer Editor ===
=== SDK code fixes ===
 
* Incorrectly using the maximum carry amount for ammo damage dealt by NPCs when not getting max carry amount from a console variable.
* Fixed "too many indices for index buffer" crash in complex maps.
* Gravity gun beams no longer draw when r_drawviewmodel is 0.
* Fixed crash when cloning an object that had only a number as name.
* Added a sorting rule to the mapentity loader to make vphysics triggers spawn before props.
* Fixed crash when splitting displacements using the clipper tool.
* Fixed crouching NPCs not standing up when running ACT_RUN_AIM.
* Fixed crash when moving map overlays.
* Fixed refcounting issue with procedural textures.
* Fixed a crash when failing to load some material headers.
* Fixed memory leak in vgui::HTML control due to procedural texture being recreated, but old texture not being deleted until level change.
* Fixed a crash in Hammer caused by minimizing it and maximizing it.
* Fixed several bugs related to awkward NPC behavior regarding crouching and rally points.
 
* Fixed case where missing files would hose the audio sound cache every time the cache was reloaded from disk.
* Fixed right-click to create point entities not working in the 2D view.
* NPC's now take a smoother (no more stop/start) path when navigating between assault points which are marked "clear on arrival".
* Fixed entity spawnflags being wiped when selecting multiple entities of different classes
* Fixed bug where Assault behavior was supposed to, but did not, have a higher priority than Follow behavior (player companion).
* Fixed Undo of a face attributes change putting the face in an indeterminate "selected but not" state.
* Fixed bug/missing feature where "Never Timeout" on Assault Points was being ignored unless the point in question is the last in a chain.
* Fixed face attributes changes unnecessarily creating multiple undo stack events.
* Combine ball now dissolves NPCs if fired by an Elite Combine; The ball will not dissolve Vital Allies and will only dissolve the FIRST player ally it finds and do the regular damage to the rest, this way it wont nuke your whole squad.
* Fixed vcd file browser using *.jpg as the file filter.
* Combine ball now applies the correct base velocity to the player; Fixes player flying forward when hit by a ball while on the air.
* Fixed visgroup expanded/collapsed state being lost on visgroup changes.
* Fixed crashing bug where vehicle driver could reference a null pointer for the physics object of its recently-destroyed vehicle.
* Dragging a hidden child visgroup into its hidden parent (to merge the visgroups) no longer incorrectly shows the children after the merge.
* Player's impact velocity (used to compute falling damage) now subtracts the velocity of the ground entity that the player lands on.
* Fixed auto visgroups not being assigned for objects belonging to groups.
* Fixed crashing bug where bouncebombs carried by scanners would reference a NULL physics object upon restore.
* The current tab in Object Properties dialog no longer resets when switching between model entities and other point entities.
* Fixed crash with restoring ragdolls that are touching triggers.
* Fixed material system state corruption after hitting Cancel when exiting Hammer with unsaved documents.
* Fixed NPC's in LEAD behavior waiting for the player even though the player is 'ahead' of the NPC, relative to the goal.
* Fixed hit testing bug which caused unexpected handle misses when resizing brushes, etc.
* Turned off stair smoothing when on a moving object (fixes view floating up when falling).
* Fixed performance problems with the Entity Properties dialog when selecting objects in large/complex maps.
* Fixed a bug in unduck where the view could get stuck in a 'not ducked' position when the player was actually still ducked.
* Fixed info_node_link node ID references being broken after a cut & paste.
* Added distance checks when determining enemy visibility in AI_BaseNPC.cpp. Fixes npcs freezing due to choosing enemies that it can see but are too distant when another enemy is closer but not visible.
* Fixed objects becoming permanently hidden by deleting their visgroup while it is hidden.
* NPCs searching for lateral LOS to their enemy will ask their behaviors for maximum allowed lateral movement. Fixes NPCs on rally points not being able to use lateral LOS checks at all.
* Fixed creating an object while the autovisgroup it would belong to is hidden causing the autovisgroup and all of its members to become visible.
* Fixed case where Citizens could fail to pick up a weapon without marking it unavailable to other citizens. This caused a bug where citizens would stop following.
 
* Fixed bug where citizens could stop following if unable to retrieve a weapon in an unreachable location.
* Fixed displacement map flipping.
* Fix for user reported bug where built in mp3 player would advance > 1 song during level transition due to multiple engine calls to StopAllSounds.
* Limited primitive sphere max faces to 16x16, to not exceed solid maxfaces.
* Fixed crash when saving if the level contains a color_correction entity.
* Fixed crash in vertex tool.
* Fix for .wav's with emphasis track reading bogus sentence data causing mouths to go haywire.
* Fixed block tool creating blocks that were 1 unit smaller than the previous selection.
* Changed CStdioFile::FS_fwrite to chunk out files bigger than 256kb; fixes "Insufficient system resources exist to complete the requested service" issue.
* Fixed double clicks not being processed correctly by tools.  
* Fixed crash when try to load a map after a 'flush'.
 
* Fixed longstanding bug where ropes out of pvs might accumulate an impulse (from rotorwash effect, e.g.) and then suddenly simulate a huge impulse when they come into your pvs for the first time.
* Fixed black model rendering under DX7.
* Fixed bug where any npc taken through a level transition would no longer blink.
* Updated cstrike.fgd to fix error models when placing Counter-strike player starts.
* Fix backward compat bug with MODs where dtvariant data structure had changed sizes.
* Updated halflife2.fgd to fix incorrect model references on item_ammo_ar2 and item_ammo_ar2_large.
* Fixed bug if you jumped and landed crouched, the view wouldn't completely return to standing height when you released the crouch key.
* Fixed flipping solids with subdivided displacement maps.
* Fixed buffer overflow in vgui::RichtText control when parsing input strings for URL's.
* Removed unused displacement map feature "Auto-Subdivide".
* Fixed problems selecting objects when switching between documents.
* Increased performance of Carve tool.
* Fixed deleting a custom configuration not actually deleting the config.
* Fixed several crash cases.
* Fixed loading old .RMF map files (existing visgroups will be discarded).
* Fixed the incorrect URL when choosing Help->Help Topics.
 
* Fixed move_rope having empty choices list for Position Interpolator.
* Fixed sporadic crash creating move_rope entities.
* Fixed infinite error dialogs when entering invalid values into the arch creation dialog.
* Fixed Hammer loading maps as start parameter, also parameters like "-dxlevel 81" work again.
* Fixed parent visgroup incorrectly reflecting child's visibility.
 
=== Hlmv/FacePoser ===
* Fixed ranged flexcontrollers not displaying correctly.
* Fixed incorrect bone count being displayed.
* Fixed eyes not always tracking the user.


=== SDK Launcher/VConfig ===
=== Hammer Editor fixes ===
* Fixed directory selection browser dropdown menu.
* Fixed several bugs related to the auto-save directory validation.
* Redirected all URLs to point to developer.valvesoftware.com
* Fixed an entity-properties related crash based on a submitted minidump.
* Default game configurations are only generated for applications which are subscribed to.
* Fixed several exit crashes in Hammer.
* Fixed an autosave crash in Hammer where the code was using FindClose instead of CloseHandle to close a file handle.
* Fixed a rendering problem in Hammer (the model browser window would look freaky for a while until you moved it) caused by a bug in shader code.
* Backslashes are now disallowed in keyvalues entered in an object properties box and are replaced with forward slashes at apply time.
* 'setang' actually works now in view->Go to coordinates.
* Hammer Check For Problems no longer reports !caller and !self as missing or invalid targets.
* Fixed bug in Paste Special which truncated I/O connections with wildcards by one or two characters each time.
* Fixed a bug in Check For Problems that caused it to incorrectly flag I/O connections in the wrong case as broken.
* Fixed crash when hit browse for model when entity model was not found.
* Fixed hammer not correctly loading npc model.


==Previous Releases==
=== Faceposer and Model Viewer fixes ===
* Fixed crash in "redo extraction" when operating on a selection of words only.
* Fixed bug where rame/sceneramp curve types weren't being loaded back out of .vcds correctly.
* Fixed Faceposer Flex animation timeline hotkeys not copy/pasting flex sliders at the correct time.
* Fixed bug in faceposer where jaw_drop would return max drop when asked for flextrack data outside of range.
* Fixed bug with setting keyframe from sliders for high range flex controllers - fixes "funneler" and "jaw_drop" keys not cutting and pasting from the slider window.
* Fixed bug where balance of high range combo flex controllers wasn't returning the correct left/right weighting - fixes "funneler" always showing up as being unbalanced.
* Fix for faceposer unable to select flex event after closing and reopening a new .vcd.
* Fixed longstanding bug where clicking in the client area of a tool window or on a scrollbar, etc. wouldn't bring it to front.
* Fix for fighting between networked flex settings and client side "Expression" support causing facial jitters when using Expression events.
* Fixed faceposer starting out rendering remnant of previous faceposer session.
* Fixed a bug in cleanup of physics models in HLMV.
* Fixed bug with HLMV not linking flex sliders to the face on initial load. Fix should also help with random alt-tab crashes.


Click [[PreviousReleaseNotes|here]] for information on previous releases.
== Previous Releases ==
* Click [[PreviousReleaseNotes|here]] for information on previous releases.

Revision as of 15:13, 4 August 2006

Major new features in this release

  • Half-Life 2: Episode One enhancements.
  • NPC behavior enhancements.
  • New Game Content called 'Source SDK Base'.
  • Many other improvements and bug fixes.

Current Known Issues

See Source SDK Known Issues for a list of known issues and workarounds.

New Features

General new features

  • New Game Content Called 'Source SDK Base'.
    • Located on Steam's 'Tools' page.
    • Available to anyone who owns Half-Life 2.
    • Uses the lastest shipping version of the Source Engine (HL2: Episode One).
    • Contains only the hardware stress test included in Lost Coast.
    • This content will be updated whenever a new version of the Source Engine ships.
    • Mod makers should always use its SteamAppId (215) in their single player and multi-player mods.
    • 'Create Mod Wizard' looks for any mods that are referencing SteamAppId 220 and reminds the user to change this to SteamAppId 215. The user must make this change manually.
  • SDK now includes cs_militia.vmf so that users can study it more closely.

New SDK code features

  • Half-Life 2 Episode 1 Enhancements.
    • Episode 1 behavior for Alyx and combine NPCs is included.
    • Support for Alyx Darkness Mode.
  • Analog joystick support as well as rumble controller support.
  • Added support for HUD hints for ALT-Fire. (e.g. #valve_hint_alt_weapon_smg1).
  • Now perform view smoothing when the player is walking on entities that cannot move.
  • Beam Effects Enhancements.
    • Added HDR color scale.
    • Added separate inputs for red, green, and blue.
  • Added InputStopSweeping to snipers.
  • Client side .vcd's can now share a cache with the server ones, prevents hitching when loading instanced .vcd files (response system, etc.) which are used by the client, too. System allows MOD authors to install their own shared .dlls which export an IAppSystem so they can do similar kinds of shared caching system.
  • Optimization to box/ray traces against vphysics objects. Net result is that the new code is rougly 2.3X faster for traces that hit.
  • Weapon System Enhancements.
    • Changed weapon selection UI so that selecting an empty bucket makes a deny sound and closes the UI.
    • Added "weapondelay" to response rules. This field lets you specify how long an NPC should suspend firing their weapon when they start to speak certain responses.
    • Player will now auto-switch to a newly acquired weapon if he pulls it in with the physcannon.
    • Weapons can be configured to have an underwater ALT-Fire option.
  • NPC Behavior Enhancements.
    • Added input "RemoveFromPlayerSquad" to npc_citizen. This instantly and properly ejects a citizen from the Player's squad.
    • Added "Urgent" flag to assault & rally points. NPCs moving to Urgent points will run Urgent navigation solutions (Ignoring prop_physics blockers, eventually teleporting).
    • Made "ForceCrouch" option on assault/rally points only make the NPC crouch when they're near the point.
    • Added AI_BaseNPC::GetJumpGravity(), default 1.0f.
    • Activities can be remapped to new activities based on NPC readiness. See episodic/scripts/actremap.txt.
    • Added CAI_BaseNPC::PlayerPenetratingVPhysics to enable player avoidance when player vphysics intersects npcs.
    • Episodic now forces all trackpathers to use the "fixed" patrolling logic. Fixes the gunship not patrolling properly above the attic.
    • Added "Max Squadmates Per Enemy" option that allows the designer to specify how many squadmates may attack any given entity.
  • Changed DLL loading code to search the system path after loading from the bin directory.
  • Optimized sound engine.
    • Sound engine is now 1.3X the original speed.

New Hammer Editor features

  • Added an "Enable Autosave" check box in general options.
  • Auto-save files use the .vmf_autosave extension so that auto-save doesn't overwrite manually saved .vmf files.
  • The check for an autosave file is now made on map load, rather than on crash recovery.
  • Layouts of vgui panels in Hammer are now saved.
  • Viewport splitter now saves its position at program shutdown.
  • Added support for "setpos x y z; setang u v w" format in view->Go to coordinates.
  • Model browser now exchanges skin values with the properties dialog in Hammer.

Faceposer features

  • Close caption system now knows how to fall back to hl2\resource\*.txt/.dat files if the requested token isn't present in the MOD game dir.
  • Added Select all events for current actor/channel menu items to right click "Select/Deselect" submenu.
  • Holding shift key while hitting 'h' or 0->9 keys in flex animation view will apply the curve type to all selected samples across all flex controllers, not just the current one.
  • Choreo view timeline area draws w/ a slightly different color to make it clear where you should right click.
  • Added check/uncheck all and invert selection buttons to flex sliders view.
  • Changed flex panel buttons to have several of them under a menu button which pops up a menu having the choices there instead.
  • Changed bitmap generation to overlay gestures with idle pose instead of being composited with reference pose, fixed gesture bitmaps being rotated 90 degrees.
  • Mousewheel zooming tries to maintain focus on what the mouse is over (applies to Choreoview, Ramp tools, Gesture tool, Flex Animation tool).
  • Also, added Home/End/PgUP/PgDn key support to various windows to allow rapidly moving around the event or scene being edited (applies to Choreoview, Ramp tools, Gesture tool, Flex Animation tool).
  • Shift-H for toggling hold of flex animation tracks now gathers left/right samples as well as value samples if any are selected.

Model Viewer features

  • HLMV sorts animations by type (full body, posture, gesture), by name. Full body comes first, then gestures, then postures.
  • Enabled the ability to view models with normalmaps in HLMV. This feature, for whatever reason, had been disabled.
  • Changed hlmv to save current sequences by name instead of index number.
  • Added -nosort to HLMV. This will display sequences in their compile order instead of alphabetical order.
  • HLMV now caches normal-map viewer settings in registry along with other stuff.

Bug fixes

SDK code fixes

  • Incorrectly using the maximum carry amount for ammo damage dealt by NPCs when not getting max carry amount from a console variable.
  • Gravity gun beams no longer draw when r_drawviewmodel is 0.
  • Added a sorting rule to the mapentity loader to make vphysics triggers spawn before props.
  • Fixed crouching NPCs not standing up when running ACT_RUN_AIM.
  • Fixed refcounting issue with procedural textures.
  • Fixed memory leak in vgui::HTML control due to procedural texture being recreated, but old texture not being deleted until level change.
  • Fixed several bugs related to awkward NPC behavior regarding crouching and rally points.
  • Fixed case where missing files would hose the audio sound cache every time the cache was reloaded from disk.
  • NPC's now take a smoother (no more stop/start) path when navigating between assault points which are marked "clear on arrival".
  • Fixed bug where Assault behavior was supposed to, but did not, have a higher priority than Follow behavior (player companion).
  • Fixed bug/missing feature where "Never Timeout" on Assault Points was being ignored unless the point in question is the last in a chain.
  • Combine ball now dissolves NPCs if fired by an Elite Combine; The ball will not dissolve Vital Allies and will only dissolve the FIRST player ally it finds and do the regular damage to the rest, this way it wont nuke your whole squad.
  • Combine ball now applies the correct base velocity to the player; Fixes player flying forward when hit by a ball while on the air.
  • Fixed crashing bug where vehicle driver could reference a null pointer for the physics object of its recently-destroyed vehicle.
  • Player's impact velocity (used to compute falling damage) now subtracts the velocity of the ground entity that the player lands on.
  • Fixed crashing bug where bouncebombs carried by scanners would reference a NULL physics object upon restore.
  • Fixed crash with restoring ragdolls that are touching triggers.
  • Fixed NPC's in LEAD behavior waiting for the player even though the player is 'ahead' of the NPC, relative to the goal.
  • Turned off stair smoothing when on a moving object (fixes view floating up when falling).
  • Fixed a bug in unduck where the view could get stuck in a 'not ducked' position when the player was actually still ducked.
  • Added distance checks when determining enemy visibility in AI_BaseNPC.cpp. Fixes npcs freezing due to choosing enemies that it can see but are too distant when another enemy is closer but not visible.
  • NPCs searching for lateral LOS to their enemy will ask their behaviors for maximum allowed lateral movement. Fixes NPCs on rally points not being able to use lateral LOS checks at all.
  • Fixed case where Citizens could fail to pick up a weapon without marking it unavailable to other citizens. This caused a bug where citizens would stop following.
  • Fixed bug where citizens could stop following if unable to retrieve a weapon in an unreachable location.
  • Fix for user reported bug where built in mp3 player would advance > 1 song during level transition due to multiple engine calls to StopAllSounds.
  • Fixed crash when saving if the level contains a color_correction entity.
  • Fix for .wav's with emphasis track reading bogus sentence data causing mouths to go haywire.
  • Changed CStdioFile::FS_fwrite to chunk out files bigger than 256kb; fixes "Insufficient system resources exist to complete the requested service" issue.
  • Fixed crash when try to load a map after a 'flush'.
  • Fixed longstanding bug where ropes out of pvs might accumulate an impulse (from rotorwash effect, e.g.) and then suddenly simulate a huge impulse when they come into your pvs for the first time.
  • Fixed bug where any npc taken through a level transition would no longer blink.
  • Fix backward compat bug with MODs where dtvariant data structure had changed sizes.
  • Fixed bug if you jumped and landed crouched, the view wouldn't completely return to standing height when you released the crouch key.
  • Fixed buffer overflow in vgui::RichtText control when parsing input strings for URL's.

Hammer Editor fixes

  • Fixed several bugs related to the auto-save directory validation.
  • Fixed an entity-properties related crash based on a submitted minidump.
  • Fixed several exit crashes in Hammer.
  • Fixed an autosave crash in Hammer where the code was using FindClose instead of CloseHandle to close a file handle.
  • Fixed a rendering problem in Hammer (the model browser window would look freaky for a while until you moved it) caused by a bug in shader code.
  • Backslashes are now disallowed in keyvalues entered in an object properties box and are replaced with forward slashes at apply time.
  • 'setang' actually works now in view->Go to coordinates.
  • Hammer Check For Problems no longer reports !caller and !self as missing or invalid targets.
  • Fixed bug in Paste Special which truncated I/O connections with wildcards by one or two characters each time.
  • Fixed a bug in Check For Problems that caused it to incorrectly flag I/O connections in the wrong case as broken.
  • Fixed crash when hit browse for model when entity model was not found.
  • Fixed hammer not correctly loading npc model.

Faceposer and Model Viewer fixes

  • Fixed crash in "redo extraction" when operating on a selection of words only.
  • Fixed bug where rame/sceneramp curve types weren't being loaded back out of .vcds correctly.
  • Fixed Faceposer Flex animation timeline hotkeys not copy/pasting flex sliders at the correct time.
  • Fixed bug in faceposer where jaw_drop would return max drop when asked for flextrack data outside of range.
  • Fixed bug with setting keyframe from sliders for high range flex controllers - fixes "funneler" and "jaw_drop" keys not cutting and pasting from the slider window.
  • Fixed bug where balance of high range combo flex controllers wasn't returning the correct left/right weighting - fixes "funneler" always showing up as being unbalanced.
  • Fix for faceposer unable to select flex event after closing and reopening a new .vcd.
  • Fixed longstanding bug where clicking in the client area of a tool window or on a scrollbar, etc. wouldn't bring it to front.
  • Fix for fighting between networked flex settings and client side "Expression" support causing facial jitters when using Expression events.
  • Fixed faceposer starting out rendering remnant of previous faceposer session.
  • Fixed a bug in cleanup of physics models in HLMV.
  • Fixed bug with HLMV not linking flex sliders to the face on initial load. Fix should also help with random alt-tab crashes.

Previous Releases

  • Click here for information on previous releases.