Portal 2: Community Edition - November 14th, 2024 Update
Additions (21)
Added animation event 'AE_SV_SET_SKIN' to control server side model skin
Added animation events 'AE_SV_ENABLE_BODYGROUP', 'AE_SV_DISABLE_BODYGROUP', and 'AE_SV_BODYGROUP_SET_VALUE' to control server side model bodygroups
Added automatic mount reordering based on the assets the current map references. Use 'host_map_mount_order_detection' to enable/disable
Added 'boots' bodygroup name support for custom player models
Added 'cl_player_render_in_shadows_view' command to cast player shadows from projected textures and CSM in first-person
Added 'cl_portal_crosshair_scale' for scaling the crosshair
Added ImGui themes 'strata' and 'vgui_green'
Added ImGui theming support
Added ImGui windows 'cl_anim_debug' and 'sv_anim_debug'
Added mountinfo executable to print search paths used by the game
Added 'OnActivated' and 'OnDeactivated' outputs to 'prop_weighted_cube'
Added '$ParallaxDither' parameter to PBR shader to enable/disable dithering
Added '$ParallaxScale' parameter to scale the number of parallax steps. This can be expensive if you're not careful!
Added 'snd_thread_mode 2' for updating audio separately from the main thread
Added support for '$basetexturetransform' to VRAD '-textureshadows'
Added support for new lines and tabs to 'point_worldtext'
Added support to VRAD for L4D1/ASW static prop models (those using '.vtx' instead of '.dx90.vtx')
Added VBSP flag '-upgradeversion' which upgrades an existing BSP to Strata Source BSP version 25
Expose 'npc_rocket_turret' lock-on time and cooldown time as keyvalues
Print sound's active channel when 'snd_report_start_sound' is enabled
When player is noclipping and 'player_held_object_use_view_model' is the default value, use viewmodel grab to carry objects through walls
Fixes (52)
Audio pitch will no longer be modified when 'host_timescale' is not equal to 1 and cheats are disabled
Changed 'npc_rocket_turret' default lock-on time and audio to match Portal 1
Compressed VTFs will now load correctly if they have less than the maximum amount of mip levels
Fixed a crash related to Steam avatars when offline
Fixed a crash when giving NPCs portal guns
Fixed a crash when precaching sounds after running 'sv_soundemitter_flush'
Fixed a few Particle Editor crashes
Fixed a few renderer crashes
Fixed a rare crash related to sound loading
Fixed an uncommon crash when loading into maps with a compressed entity lump
Fixed backslashes not working in older BSPs, and increased the entity lump version to 1
Fixed being unable to switch back to default DevUI theme in the menu bar
Fixed certain commands related to controlling demos being recorded by demos
Fixed crash in the particle editor when attempting to add new item to the root particle node
Fixed crash on exit in bspzip
Fixed crash on exit when the mod is missing 'challenge_maplist.txt'
Fixed crash on save restore after death
Fixed crash on some older maps with displacements
Fixed crash related to loading a map that uses templates from a save file
Fixed crash related to NPCs dying with an invalid ragdoll model
Fixed crash when a vehicle fails to initialize its physics body
Fixed crash when disconnecting from splitscreen game
Fixed crash when loading malformed or missing VCDs
Fixed crash when 'npc_combine' attempts to attack without a held weapon
Fixed crash when running a script in the DevUI script console without having loaded into a map prior
Fixed crosshair scaling with 'cl_portal_crosshair_scale'
Fixed cursor being recentered even when the game isn't focused on Linux
Fixed duplicate extensions being appended to tool modules in the tool load dialog
Fixed exclusive fullscreen mode not entering fullscreen in some cases
Fixed Faceposer locking up on startup
Fixed fall damage not working from load/save when unequip boots
Fixed 'func_movelinear' sounds getting stuck looping forever if interrupted or removed
Fixed 'func_tracktrain' getting stuck when not using 'Instantaneously'
Fixed game crashing when changing display mode without opening Panorama video settings
Fixed issue in the particle editor on Linux related to adding new operators
Fixed paint stretching
Fixed props not rendering at '(0, 0, 0)'
Fixed rare crash when standing on displacements
Fixed 'setang' not working when paused with 'sv_alternateticks'
Fixed some displacements in older maps having no collision when 'traceray_force_vphysics' is enabled
Fixed some quirks with command line arguments
Fixed the 'startdemos' command not working
Fixed 'trigger_look' firing whenever touched
Fixed vbspinfo not extracting lumps
Fixed WebM recordings encoding incorrectly
Increased value of 'sv_max_allowed_developer' to 99
Increased value of 'sv_max_allowed_net_graph' to 99
Malformed VTF compression info resources (AXC) will no longer potentially crash the game on load
PBR and PaintBlob shader now respect configured texture in 'env_projectedtexture'
Properly fire 'OnDamaged' output for buttons without requiring damage activation spawnflag
Re-enable 'mat_buffered_primitives' by default on Linux. This may result in a small performance boost
'+slowtime' must now be explicitly enabled by mappers to be used
Improvements (21)
Admin only commands now respond with an error if ran by a non-admin
Allowed vbspinfo to extract from multiple BSP files at once
Bumped MAXSTUDIOFLEXCTRL to 128
Enabled HW morph by default
'env_spritetrail' no longer draws a segment where it teleported
Improved performance of VGUI text overlays
Improved reliability of networked messages referring to entities
Main window on Windows 11 now uses square corners
'mat_picmip' now allows its full -10 to 4 range
Moved 'func_movelinear' sound handling to client side
Raised MAXSTUDIOFLEXVERTS to 65536
Reduced VRAD memory utilization when using '-textureshadows' with multiple materials that refer to the same texture
Replaced 'dumpentityfactories' with 'cl_dump_entity_factories' and 'sv_dump_entity_factories'
Replaced 'dumpentitynamespaces' with 'cl_dump_entity_namespaces' and 'sv_dump_entity_namespaces'
Replaced 'dump_entity_sizes' with 'cl_dump_entity_sizes' and 'sv_dump_entity_sizes'
Replaced 'host_threaded_sound 1' with 'snd_thread_mode 1'
Slightly decreased memory usage
Title bar on main window now follows system dark mode
Unified the 'autosave' and 'quicksave' game events into 'game_saved'
Updated DXVK to 'v2.4.1'
Viewmodel lag now works properly with world mirroring
Hammer (33)
Added a Find All button and Results list to Hammer's Find and Replace dialog
Added FLAC and Ogg to Hammer's Sound Browser for raw files
Added Hammer commands 'hammer_history_list', 'hammer_history_undo', and 'hammer_history_redo'
Added modelbrowser-like search mode to the Texture Browser
Added MP3, FLAC, and Ogg preview support to Hammer
Added new icons for 'phys_constraint' and 'phys_slideconstraint' (Thanks TwoKrazy!)
Added support for Hammer Qt themes via the '-theme' launch argument. (See 'hammer/resource/themes/dark.kv' for an example)
Allowed negative noise in the displacement noise dialog
Allowed the commands 'echo', 'path', 'path_file', 'fs_printopenfiles', 'fs_warning_level', 'cache_print', 'cache_print_lru', 'cache_print_summary', 'sv_soundemitter_filecheck', 'sv_findsoundname', and 'sv_soundemitter_spew' to be run from Hammer's Console
Double clicking an item in the Sound Browser will close the dialog with that selection being returned
Fixed a bug where a VMF could be opened before Hammer was done loading
Fixed a Hammer crash related to renaming visgroups
Fixed crash-on-exit in Hammer when running it in Wine
Fixed Hammer Go To dialog ignoring angle arguments and not allowing angle only movements
Fixed Hammer maps loaded as autosaves or via '-map' showing black viewports until reloaded
Fixed Hammer window title being H
Fixed issue with dynamic mounts in Hammer when running in Wine or Proton
Fixed matrials with missing texture not reloading properly in Hammer
Fixed occasional Hammer crashes when changing targetnames or undoing, related to entity IO
Hammer game configuration dialog will now repopulate entity dropdowns when FGD list changes
Hammer now uses the same audio system as the game. This allows rndwave, sound operators, and more to function correctly
Image preview in Hammer now applies '$color' value in linear space
Image preview in Hammer now shows all '$baseTextures' that a material has
Improved models for 'prop_indicator_panel' and 'prop_testchamber_sign' (Thanks TwoKrazy!)
Ported Hammer's Paste Special dialog to Qt
Ported Hammer's Run Map Configurations dialog to Qt and added "Move Up" and "Move Down" buttons
Ported Hammer's Run Map Expert dialog to Qt
Ported Hammer's Search Replace dialog to Qt
Ported Hammer's Sound Browser to Qt
Ported Hammer's Texture Browser and Texture Replace dialog to Qt
Replaced Hammer's Message Window with a new Qt Console window that can run commands and set ConVars
Updated HammerAddons Postcompiler
Panorama (9)
Added Panorama achievements API
Added save-restore API for Panorama
Added support for JavaScript module loading in Panorama
Exposed '$.SystemInDarkMode()' function to Panorama to query system dark theme status
Fixed '-console' showing the VGUI console in Panorama mode, and not working with the Panorama console
Made width/height key on the root SVG element optional. Dimensions can now be parsed from the 'viewbox' attribute
Panorama can consume TypeScript files directly
Panorama will now load 'resource/game_language.txt' instead of exclusively 'resource/p2ce_language.txt'
Updated V8 to '12.9'
VScript (13)
Added 'ApplyForce' and 'ApplyForceOffset' to 'CBaseEntity'
Added 'GetButtons()' VScript method to 'CBasePlayer' class
Added 'IN_' flags to VScript
Added 'IsBSPModel' VScript function
Added 'MoveType' and 'MoveCollide' enums to VScript
Added a bunch of methods to 'CBaseAnimating'. Please just look at the wiki
Added VScript methods for setting move type and move collide: 'CBaseEntity::SetMoveType' 'CBaseEntity::GetMoveType' 'CBaseEntity::SetMoveCollide' 'CBaseEntity::GetMoveCollide'
Added VScript methods for setting/getting the collision group: 'CBaseEntity::GetCollisionGroup' 'CBaseEntity::SetCollisionGroup'