3 Hours Ago
Added Entity:PlayFootstepSound * Also fixed NPC footsteps not using leg positions for trace start location, so now the footsteps should be more accurate to the surface under each foot * Also fixed NPC footsteps not respecting intended footstep sound volume resource.AddWorkshop bails when given empty/2char input * Also throws non halting error with `lua_strict` Make render.ComputeLighting normal optional * It's optional in engine, so Lua binding also has it optional Added CNavArea:GetLightIntensity * This commit also fixes `nav_update_lighting` not really doing much. This does mean that all existing nav meshes (that are generated by non L4D games basically) need to be updated to take advantage of this new function. Allow loading nav files from mountable games as fallback * Addons/BSP/local files will take precedence over mountable games. Yes, this also means slightly slower server map loads because we check more places now. Update flagrass/construct navmesh with lighting info Add VPROF scope to CBaseFileSystem::IsDirectory Try to cancel active WorkshopDL downloads when exiting mid-download * Steam has no direct API to do this, but was hinted that MarkDownloadedItemAsUnused may do it in the future. Do not search for spray cache in addons/mountable games Minor cleanups * Disable CNavMesh::GetPlacesFromNavFile (unused) * Remove Addon::FileHandle::FullFileName (unused) Lets try removing "addons" library * It just builds a subset of files from "addons_filesystem" and linked to menusystem.dll, which doesn't appear to need it Don't treat "workshop" and "" as valid addon names * For "files in this addon" search Fixed an infinite loop in the client shadow system Fixed MacOS & Linux SRCDS compile errors Improve error handling with missing data in <gamemode>.txt files Fixed procedural bones not working correctly * Hopefully without side effects. Basically I think they were applied twice because of changes before 2014, so idk what the purpose of these C_BaseAnimating::BuildTransformations changes where, but now it much more closely resembles regular Source Engine code Prevent main menu backgrounds scanning 2 paths on file open * Basically it was trying `materials/background` first, while the files are always in `background/`, so now it just checks the correct path immediately. Don't fruitlessly search workshop content for every mounted path * Only search in addons for each Workshop path Minor cleanups Do not mount gamemodes/ for menu state Lua Implement ENTITY:OnTraceAttack for `ai` and `anim` type SENTs Remove client/server linking against 'addons' lib on win32/posix builds Revert stripping player weapons on Sandbox spawn * This breaks existing addons