141,858 Commits over 4,505 Days - 1.31cph!

26 Minutes Ago
Add fallbacks for SurfaceGGX and WorldGGX shaders Fixed Group03m/male_05 using wrong texture directory Try to fix -tools on Linux Fix TTT erroring due to it using base gamemode panels Fixed only some Sandbox entities not spawning when looking far away * Specifically refers to Spawnmenu entity spawning, where SENTs and Weapon middle clicks were not spawning anything if the player is looking into air, while things like props, vehicles and NPCs were spawning. Now consistently works for all entity types. Try to account for addons doing weird things in ENT.SpawnFunction * Referring to spawnmenu gm_spawn* error handling notifications Potential fixes for vphysics crazy position crashes Minor changes in sound system * 0.00001% less memory usage
1 Hour Ago
russian roulette; - lods added - updated prefab - material updated
2 Hours Ago
LODGroup/RendererLOD -> MeshLOD conversion pass on vending machines, covered ch47/bradley props and tin can alarm: 129 -> 75 renderers, 23 -> 6 LODGroups, brings them into the LOD grid + occlusion culling - vendingmachine family x5: RendererLODs collapsed to MeshLODs (55 -> 33 renderers) now can occlusion cull - covered bradley/ch47 x6: LODGroups converted, wraps stay RendererLOD where materials demand it (66 -> 39 renderers); ch47_covered, ch47_covered_wrap + bradley_covered_wrap FBXs re-exported so LOD material order matches - tincan.alarm: split into frame + cans MeshLODs so the rattle anim survives (8 -> 2 renderers); worldmodel onto MeshLOD too
3 Hours Ago
merge from hackweek_parented_ddraw
3 Hours Ago
Parent DDraw objects onto the player model instead of the BasePlayer object
3 Hours Ago
merge from main
4 Hours Ago
merge from admin_status_indicators
4 Hours Ago
Added Infinite Ammo admin status indicator https://files.facepunch.com/raul/2026/August/31_19-35-AppropriateYosemitetoad.png
4 Hours Ago
better FSM way to handle critter overrideable Interested states
4 Hours Ago
merge from main
5 Hours Ago
merge from jukebox_snapping
5 Hours Ago
Added Jukebox deployment snapping https://files.facepunch.com/raul/2026/August/31_18-30-KeyWildebeast.mp4
5 Hours Ago
9 alpha-less BC7 albedo/em maps -> DXT1, 3 also halved (retro cupboard ems, m16a2_02, loot barrel): saved ~28 MB VRAM, no alpha lost no visual quality difference
6 Hours Ago
VGUI tweaks * Make Lua panels never overlap main menu (except for modal panels, TBD) * Clientside DrawOverlay is no longer called from menu overlay panel * DrawOverlay and CaptureVideo hooks use pooled strings * DrawOverlay and PostRenderVGUI are now called just before main menu rendering (PostRender still is called after, TBD) * Disable PreRender return value while main menu is open Minor cleanup - give internal GMod panels better names Move PostRender hook slightly earlier to never cover up main menu * Specifically just before rendering the overlay panels/hooks (DrawOverlay/PostDrawVGUI), exactly where ClientMode::PostRender is called Add caller info to "MapIO infinite loop" warning (if available) Minor adjustments to detailobject system from CS:GO * No functional changes, just maybe 0.001% faster loading times Draw Lua panels behind main menu when it is open Reduced DMenuBar spacing, removing it from the left side Fixed DToolTip spamming PerformLayout from engine * This was always happening, but was invisible before recent DrawOverlay changes. Now directly call PerformLayout to set/update the size, without going through the engine Fixed DMenuOption spamming InvalidateLayout * Another previously invisible issue * Fixed DLabel:SetDisabled always calling InvalidateLayout(), even when the enabled value did not change. This is consistent with engine Label:SetEnabled behavior Try to make Entity:IsPlayerHolding more reliable Re-export fixed combine soldier player model textures * Fixes green tint from VTFEdit export that I forgot about Experimental error handling for Sandbox spawn concommands * gm_spawn commands give player a notification when they fail, stating the failure reason * This should hopefully help understand why it seems to not work sometimes? Make seat jeep animation default to 0.5, not 0 Rework how Lua panels are put behind the main menu * Fixes that one server having issues (probably not the only one), fixes spawnmenu getting rendered in save previews Remove "VehicleMemDupe" entity modifier * Appears to really just do nothing Minor cleanups Fixed green tint on group03 male player model texture Minor adjustments to CEF implementation * Added some safeguards in resource handlers * Added mime type translations for gif, webm, mp4 Remove "Hinge Axis (Non functional)" field from prop_door_rotating Fixed a crash with failing to create `physics_entity_solver` entity Try to fix -tools on Linux
Today
Fixed igniter and tesla coil damage tests failing since the last optim
Today
Improve carvable pumpkin deployment
Today
Batteries now add drain for the power actually reaching them Updated tests
Today
Regenerated MaterialIndex.json - was dated Aug 2021, so Tools/Optimize/Find Material Optimzations had been reporting 5-year-old state. Fresh scan covers 9,055 materials and flags 164 with compression savings (84 unique textures, ~68 MB VRAM potential) for example m16a2 ao on high quality compression = 1.3mb, normal compression with no visual cost = 0.7mb First pass on the free wins: 15 alpha-less DXT5/BC7 textures -> DXT1, ~13 MB VRAM, no quality cost - m2bradley mainbody/armor: removed DXT5 standalone override (5.3 MB) - m16a2 AOs x3, flamethrower AO: HQ -> Normal compression (5.3 MB) - workbench upgrade AOs x2, apartment door mats AO, crate_2/gib/webbing AOs: HQ -> Normal compression (2.2 MB)
Today
Fixed wonky spark material offset. (Satchel charge and others...)
Today
Fixed circuits dirtied mid tick not being handled in that same tick
Today
merge from espcanvas_autosize_clan_fix
Today
Improved alignment of the clan text UI on the player nameplates when it's auto-sized https://files.facepunch.com/raul/2026/August/31_15-28-SatisfiedMonarch.mp4
Today
merge from main
Today
merge from maintainables_fixes
Rin
Today
Fix HQM collectable missing name token
Today
Add beach to water pipe topology NOT filter
Today
merge from maintainables_fixes
Today
frog fixes
Today
russian roulette; - optim pass on game models - updated prefab table collision rotation
Few more pipe acess fixes / prevented trees from spawning in the middle of the pipes / smoother terrain transition near the pipes
Today
merge from sleeper_safezone_fix_2
Today
Fixed typo causing sleepers to never be killed in safezones after server restart, regression from last month
Today
Paintball Gun - added ammo to LOD3 to reduce popping
Today
fixed blowpipe world model material order so it can be converted to meshLOD
Today
russian roulette; - textures updated
Today
merge from ddraw_demo_fix
Today
Fixed ddraw objects showing up in demos even if ddraw.hideddrawduringdemo is true Before: https://files.facepunch.com/raul/2026/August/31_13-18-FirebrickDromedary.mp4 After: https://files.facepunch.com/raul/2026/August/31_13-19-GrizzledSteer.mp4
Today
Paintball Gun - replaced rigged mesh in worldmodel with static one, updated hopper shader to fix self sorting issues
Today
Disabled skin viewer viewmodel inspection for the crystal AR, SSR just cant work in the skin viewer so it looked terrible
Today
merge from main
Ornate horse mask WM LOD fix
Today
Fix a scale override on large rig monument blocker, causing collision issues Add a few missing vent cages S2P large and small oilrig
Today
WaterStandardCore light intensity correction
Rin
Today
Reduce radius of all new crate gib sounds Apply elite-crate-gib sound to crate_tools
Today
Setup oxygen RRP postfx volume and overlay
Today
Merge from hands_preview_workflow (includes changes from main)
Today
Add back filename check
Today
Cleaned up some edge cases Added a toggle to the animation inspector itself and added a text readout of what meshes were detected and loaded
Today
Proof of concept of an automated editor utility that inserts the viewmodel hands mesh into the animation inspector preview window if no hands mesh is present Allows us to still use the animation preview window once the hand mesh has been removed from the rig file Uses some naming semantics to try and resolve what the actual mesh that should be displayed should be, this is probably where we'll feel some pain for this system If the animation file ends in _anim it will check for a file ending in _rig, then fall back to looking for a file without the _anim suffix So v_bow_anims.fbx will look for v_bow_rig.fbx, failing that it will look for v_bow.fbx The preview window will then load that fbx and the hands model if needed, combine them and feed it into the preview window
Today
Added new ViewmodelClothingRandomiser component Allows us to mirror the randomisation applied to a Wearable to it's viewmodel in case that randomisation affects the arms Component has a groups array like the Random section of the Wearable, when used the group count needs to match (as we'll just copy over which "group" was activated)