- Added video panel code from Alien Swarm SDK + custom looping support
- Added logic_playmovie and vgui_movie_display from Alien Swarm SDK
- Added "Disable flashlight" keyvalue/inputs inspired by Portal 2's
- Added keyvalue to combine_mine for disabling companion avoidance (prompted by Shadowysn)
- Added EnableCrouch input to npc_strider (suggested by iiboharz)
- Added semi-standardized custom model support to several NPCs (not yet reflected in FGD)
- Added vgui_text_display, an entity which displays a VGui text label oriented in the world
- Fixed a crash related to an obscure choreo event
- Fixed env_credits always resetting sv_unlockedchapters to 15 when it shouldn't
- Fixed a crash on exit involving the presence of multiple VGui screen manifests and a possibly defunct memory leak fix
- Added halo scale and custom material keyvalues to point_spotlight
- Added volume scale to env_microphone
- Added keyvalues for controlling func_rotating min/max sound pitch (suggested by Kralich)
- Added keyvalue/input to set suit zoom FOV in logic_playerproxy
- Added vgui_screens_mapbase.txt to mapbase_shared for loading shared VGui screens
- Added custom convars and console commands for VScript (contributed by samisalreadytaken)
- Added effects singleton for engine effects, including TEs, d-lights, etc. (contributed by samisalreadytaken)
- Fixed critical script context thinking bugs (contributed by samisalreadytaken)
- Added clientside VScript context thinking for the world entity (contributed by samisalreadytaken)
- Added several shared utility functions related to Vector, math, game time, etc. (contributed by samisalreadytaken)
- Added various serverside entity functions to clientside VScript entities (contributed by samisalreadytaken)
- Changed Vector print syntax to be more like Source 2's (contributed by samisalreadytaken)
- Exposed CAI_BaseNPC::GetActualShootPosition() and related functions to VScript
- Exposed npc_sniper to VScript
- Added hooks for CBaseAnimating::HandleAnimEvent() and C_BaseAnimating::FireEvent()
- Fixed spelling errors of "Receive" in the NetMsg VScript singleton
- Fixed VBSP VScript documentation not working
- Fixed the "Allows any damage" keyvalue on aircraft NPCs being spelled incorrectly
- Added previously hidden headcrab burrow inputs
- Added icon for func_instance_parms from later games
- Added spheres for min/max search distance on npc_enemyfinder
A few of the major changes in this update involve in-game video playback.
Fullscreen videos could always be played back in-game via the playvideo command, but this was often prone to crashes and rarely worked well for practical purposes. This update backports a later version of the video player code from the Alien Swarm SDK, which fixes most of the common crashes associated with videos. It also backports logic_playmovie, a logic entity which allows videos to be played easily without having to use commands. A custom icon for this entity was contributed by URAKOLOUY5.
Mapbase also backports vgui_movie_display, which plays videos on a floating VGui surface instead of fully occupying the player's screen.
(note: .bik is still the only supported video extension, but this could change in the future)
This update also adds vgui_text_display, an entity which displays oriented text in the world. It started as an attempt to replicate point_worldtext/vgui_world_text_panel from CS:GO, but it became its own entity due to guaranteed internal differences and new keyvalues necessary for it to be useful. It is still largely experimental and it has a few notable issues. For example, text panels cannot overlap and the area around the text may occlude effects even when there doesn't seem to be anything occluding them.
There's also one huge fundamental issue with this entity: Unlike point_worldtext in CS:GO, this entity's text can't be displayed in Hammer. Fortunately, most of the parameters can be changed in-game with inputs, so ent_fire will help users fine-tune the way it's displayed.
In his latest pull request, Sam (a.k.a. samisalreadytaken) added the ability to create custom convars and console commands in VScript.
As with many of Sam's contributions, these offer very in-depth levels of control which make them flexible enough to act as practical substitutes for custom game code. They even support completion callbacks.
Sam's pull request also added a bunch more utility functions and optimized various parts of the VScript code to be faster and more stable. The page for this pull request can be found here.
If you find any issues with this update, please report them here, on the Discord server, or on the repo's "Issues" page.