This update adds some new features and fixes a few issues with both Source itself and previous versions of Mapbase.
- Fixed filter_damage_mod blocking all damage which doesn't match the secondary filter regardless of secondary filter mode
- Fixed impulse 101 and other give-related commands leaving behind weapons with occupied slots
- Fixed a crash with scripted_sound's PlaySoundOnEntity when the entity doesn't exist
- Added OnSoundFinished output to ambient_generic
- Added the ability to use custom models/nuggets with item_grubnugget
- Fixed a crash with citizen medics healing nonexistent targets
- Added "SetDistLook" and "SetDistTooFar" inputs for NPCs, allowing manual adjustment of NPC sight distance
- Added keyvalue and input to env_microphone for utilizing a different audio channel
- Added "SetPitchScale" input to env_microphone
- Fixed info_player_view_proxy not using angles
- Fixed dirt variant elite model not being recognized as elite
- Made headcrab hints properly register the start of use (for hint outputs)
- Made RPG use a more realistic firing rate for NPCs which aren't constrained by slow RPG animations, like soldiers
- Added spawnflag for func_breakable_surf to correctly play the break sound
- Added keyvalue for using cheaper warn sound code for combine_mines
- Added "OnSpawnNPC" output for npc_combinedropship when it spawns a soldier, rollermine, or strider
- Added signal gesture activities
- Fixed stunstick not using metrocop knockout/stun code correctly
- Fixed a possible crash involving a NPC's weapon being removed during alt-fire
- Fixed(?) flashlight shadow filters
- Added support for multiple look entities in trigger_look
- Added npc_metropolice alt-firing
- Fixed npc_metropolice using pistol burst firing on weapon_357
- Fixed npc_metropolice not deploying manhacks/throwing grenades in standoffs
- Fixed npc_metropolice not recognizing some crouch activities correctly
- Changed weapon_357 so it runs a tracer each shot from NPCs
- Added SDK_ShatteredGlass, a Mapbase version of ShatteredGlass
- Added "SetSpeedModifier" to NPCs, based on 1upD's shadow walker code
- Made game_convar_mod much more reliable
- Fixed non-mirrored npc_turret_lab refusing to die
- Made npc_turret_lab use SMG1 ammo instead of AR2 ammo
- Fixed block LOS brushes sometimes not working with players (and possibly similar issues)
- Raised maximum renderable entities from 4096 to 16384, based on ficool2's limit research
- Other misc. fixes
- Added SDK_ShatteredGlass, a Mapbase version of ShatteredGlass. Can display parallax corrected cubemaps from its unbroken form
- Fixed custom animation files drawing upon player animation files, which caused problems in some mods
- Added activities to gesture signals
- Completed manhack deploy animation selection for metrocops, citizens, and soldiers (sequence and gesture variants)
- Added scenes for manhack deploy gesture + metrocop plazathreat gestures
- Fixed HL2 WaterLOD proxy using SDK_WaterLOD instead
- Fixed filter_damage_mod keyvalues not using eyedropper
- Fixed a typo in the "Radius pickup" flag
- Added a description to the env_projectedtexture texture name to clarify that it only takes VTFs, not VMTs
- Added "Search Type" keyvalue to ai_goal_fear
- Added item_grubnugget to FGD with the ability to set size
- Added "Spawn even if player meets all requirements" spawnflag on item_dynamic_resupply to FGD
- Fixed VBSP breaking func_breakable_surf, etc. when using parallax corrected cubemaps
- Raised maximum VBSP entities from 8192 to 65536, based on ficool2's limit research
- Raised maximum VBSP worldlights from 8192 to 65536, based on ficool2's limit research
- Raised maximum VBSP overlays from 512 to 8192, based on ficool2's limit research
- Fixed proxies like WaterLOD breaking during material conversion
- Added ability to reverse material conversion
- Added SDK_ShatterGlass to shader list
- Made conversion process a bit more stable
The build, the mod templates, and the compile tools have all been changed.
Mapbase v3.1 gives metrocops the ability to use the AR2/SMG1 alt-fire, just like Combine soldiers and citizens. This means all 3 types of NPCs can use both abilities equally.
They use the "Grenade capabilities" keyvalue and input previously only used for citizens. Metrocop grenade functionality should stay the same in existing maps, but in any maps created or modified with Mapbase v3.1, they must now use the "Grenades" setting on the "Grenade capabilities" keyvalue in order to use normal grenades correctly.
A bold Source modder (ficool2) recently experimented with raising various limits in VBSP and discovered that many of them were not engine-bound, meaning they could apparently be changed without consequence. He suggested these limit changes for Mapbase and they are being introduced with Mapbase v3.1.
The following limits have been changed:
- Maximum VBSP entities has been raised from 8192 to 65536
- Maximum VBSP worldlights has been raised from 8192 to 65536
- Maximum VBSP overlays has been raised from 512 to 8192
- Maximum "clientside renderables" has been raised from 4096 to 16384
The VBSP entity limit is separate from the in-game entity limit. The VBSP entity limit change mostly just allows VBSP to process more internal entities, most notably static props. ficool2 managed to compile up to 16384 static props into one map. Thanks to the "clientside renderable" limit change, he was even able to render all of them at the same time.
These changes are highly experimental. Feel free to push these limits and please report any issues with them.
This update took a very long time to release because I have been busy working on Entropy : Zero 2, and that is still my main focus at the moment. I mentioned in the previous update's article that I was planning on starting the MP port fairly soon after v3.0 is wrapped up, but I have not gotten the chance to do that yet. I have some solid plans for it, but I don't know how long it will take to finish after I start working on it. If it doesn't take too long and no other big features need be released before the MP port is done, it may be safe to expect Mapbase v4.0 to involve the MP port in some way.
If you find any issues with this update, please report them here or on the Discord server.