A base mod for Source 2013 which expands and improves the toolset available to modders, augmenting other maps and mods for development purposes. It contains new logic entities, new I/O and keyvalues, a custom implementation of VScript, custom shaders, countless fixes, and enhanced FGDs all in one single package. Mappers would create their maps based off of this mod and larger mods with their own unique changes would draw from Mapbase's code and assets.

Report RSS Mapbase v5.1 released

Mapbase's v5.1 update has been released. This update follows v5.0 with a few bug fixes and features the restoration of "manifests" in VBSP, which allows a single map to be split into multiple VMFs.

Posted by on

Mapbase Version 5.1


Mapbase v5.1 Release Build

Mapbase Release Build


Changelist:

Game:

- Fixed a major oversight in Source 2013 which was causing some code to think all logic entities were worldspawn
- Added WIP background nodraw for point_cameras set to not draw skybox at all
- Fixed map-specific talker not flushing on restore
- Added optional HUD hint to code-based game instructor hints
- Added workaround for suspicious crashes in HL2 NPC rappelling code (reported by 1upD)
- Made antlions summoned by npc_antlionguard report as dead when removed with the "Kill" input
- Fixed math_mod not saving mod value (reported by Klems)

Shaders:

- Added SDK_WindowImposter, which uses the SteamPipe cubemap bug workaround and includes support for parallax corrected cubemaps

Files/Scripts:

- Deleted the invisible door geometry in the "blank" door models used in brush doors, which fixes a bug with the flashlight
- In the source code, thirdpartylegalnotices.txt has been updated to mention the Squirrel API
- Added metrocop "harass" animations to Combine soldiers and citizens. This includes the new Faceposer gestures

VScript:

- Fixed incorrect type checking for script instances in VScript
- Added a bunch of new misc. VScript constants
- Added a few new base VScript functions
- Added a separate "Clientside Script Language" keyvalue to worldspawn for VScript, allowing client scripts to use a different language from server scripts
- Fixed debug overlay functions by replacing them with a Source 2-style singleton (contributed by samisalreadytaken)
- Renamed a bunch of VScript functions to make them more in-line with later Source (2) games, still allowing the original names to be used as legacy support (contributed by samisalreadytaken)
- Added expanded support for script function thinking (contributed by samisalreadytaken)
- Fixed worldspawn crashing the game when running entity scripts (reported by krassell)

FGD:

- Added "Pretend to be in skybox" to EFlags
- Added spheres to npc_template_maker radius and ai_script_conditions distances

Compile Tools:

- Fixed manifests creating a second worldspawn, allowing them to function properly in HL2
- Added tons of remapping-related fixes for instances and manifests, including node IDs and overlay remapping
- Added a keyvalue to func_instance which allows vector axis lines to be remapped properly
- Added support for manifest root path instances in VBSP
- Added missing PrintBrushContents() contents to VBSP
- Added -nohiddenmaps parameter
- Made manifest cordon somewhat functional


The "Manifest" menu in Hammer is infamous for occupying much of the editor's screen space without ever being used for anything in the average map. This menu is supposed to be used for a special instancing feature which was partly broken and not very viable for creating a map.

This update makes a ton of changes to VBSP which allow manifest (.vmm) files to be compiled properly without any external tools or workarounds.

A manifest splits a map into special instances called "sub-maps". Manifests were already mostly functional in Hammer, but VBSP previously suffered from serious issues with compiling them directly, which made them difficult to use. By fixing VBSP's problems, this update eliminates most of the extra steps involved with compiling a manifest, effectively making manifests viable for a regular mapping workflow.

This is a picture of a blank manifest menu.



This is a picture of a manifest menu in usage.



Some of the manifest fixes affect instances as well. For example, node ID and brush side remapping have been added in this update, which can be used to incorporate AI nodes and overlays into regular instances.

Some of the other VBSP code involved with these fixes is based off of DeathByNukes's fork of the original Source 2013 repo on GitHub, which has no affiliation with Mapbase.


This update introduces a custom version of the WindowImposter shader based on source files from the Alien Swarm SDK. This shader is used for the "dev_windowportal" material, which renders cubemaps for func_areaportalwindow.

Mapbase's custom version of WindowImposter will allow it to use the SteamPipe cubemap fix and will add support for parallax corrected cubemaps. Due to the way parallax corrected cubemaps are compiled in VBSP, this also means existing instances of WindowImposter which draw from env_cubemaps with defined cubemap bounds will now utilize parallax corrected cubemaps.


This update was scheduled to be released several days ago, but I was prevented from doing so due to a mixture of IRL circumstances, wanting to work on other projects (which ironically hinged on this update), procrastination, and burnout. It seems like this happens a lot with Mapbase updates for some reason.

If you find any issues with this update, please report them here, on the Discord server, or on the repo's "Issues" page.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: