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

15 Minutes Ago
Hooked up sale info in-game UI
36 Minutes Ago
Create new SellAnimals and AnimalSalePreview dialogue panels First one lists all nearby animals that are following the player (and can be sold) and the other shows what you will receive for selling that animal No rewards hooked up yet, just panel flow
1 Hour Ago
Rework power mechanic Marketplace will start charging once the powerplant has 4 or more fuses, once it reaches 50% it can start accepting orders With 4 fuses in the powerplant it will take 21 minutes to charge to 50%, 5 minutes if the powerplant is completely full If the power plant has at least one fuse active the charge will not decrease Power is no longer deducted per transaction
1 Hour Ago
Merge from main
2 Hours Ago
Stables_b is now playable in editor Start of boilerplate animal selling mechanic, just set up NPC and basic conversation for now
2 Hours Ago
Merge from main
2 Hours Ago
Merge from monument_blockers_fixes
3 Hours Ago
Show health bar when hitting monument blockers Hacky fix, had to create a new IHealthBarDisplay interface as ResourceEntity isn't a BaseCombatEntity Removed StageResourceEntity.ResourceUpdate RPC, it wasn't used anywhere
3 Hours Ago
Compile fix (don't use editor only function)
4 Hours Ago
Run batch alpha fitter
4 Hours Ago
Add some padding to terrain depth prepass distance
4 Hours Ago
Added "Keep on target" text to homing launcher UI - Reduced the lock on timer by 30% https://files.facepunch.com/el-hog/2026/August/25_09-32-WorthlessDanishswedishfarmdog.mp4
4 Hours Ago
AlphaBatchFitter improvements and alphamap toggle convar that switches between terrain material feature
5 Hours Ago
Fix merge issues
5 Hours Ago
Group upkeep modifier now takes into account any unique players authed on a code lock If a player is not authed on a TC but is authed on a code lock controlled by that TC then they will contribute to upkeep costs Runs through the same 24h window as TC auth Can be disabled via decay.upkeep_group_count_locks Added tests to verify behaviour
6 Hours Ago
Merge from main
6 Hours Ago
Merge from modular_car_handling_improvements
6 Hours Ago
Minor tweaks Prevent players using toggle duck getting stuck with handbrake on Apply the raw tyre force regardless of whether the handbrake is on Fixed non car vehicles getting affected by handbrake changes (check if a wheel is handbraked, not just if it's the front wheel)
Today
Merge from main
Today
Hunters and fish pie 2 > 1 mushroom
Today
dead log resource gib meshes and setup isn't currently supported as nothing in the resource family gibs
Today
Small oilrig converted
Today
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 solve potential backwards compat issues w/ voice panel changes Fixed an infinite loop with TokenReader::IgnoreTill Do not play suit animation on spawn * This is apparently a thing where multiplayer gamerules force equip the suit on spawn, but with animation enabled PR: Prevent Lua errors when running gmod_admin_cleanup twice Try keeping Win7/8 support for Hammer for that one guy * Probably shouldn't bother since it affects < 0.1% of Windows users, but it's also a tiny change Added sv_standable_normal
Today
WIP Oil rigs no longer despawn all crates when the server restarts, large rig converted, small rig to go - Reworked the reset setup, attached a generator to the main reset so it can be saved, removed the smaller puzzleresets for each of the rooms - Puzzle now force-resets on server restart, unless there's players nearby - this also fixes getting killed while sleeping if you happened to be near any puzzle when the server goes down - Crates get saved so if you were in the middle of hacking the locked crate, it just continues after restart - Various other stuff to allow the puzzlereset to correctly find its reset entities and reset objects again afterwards - Puzzle itself saveloads references to spawned crates so it doesn't spawn duplicates on the next reset - ScientistBoatOilrigManager is no longer an entity (not needed) - Slight refactor, lots more cleanup to be done
Today
merge from main -> Hackweek_CompostUI
Today
merge from main
Today
merge from Squirrel_test -> critter_animals
Today
merge from cui_updates
Today
Fixed potential NRE in FadeCanvasGroup
Today
merge from main
Today
optimised ao textures for vehicles, generic textures and misc items. halved 2k -> 1k with almost zero visual difference, not enough to warrant the double res 328 MB -> 192 MB vram
Today
merge from Rabbit_test -> critter_animals
Today
add WIP frog "interested" state, which currently makes it look for shallow water and then start croaking
Today
russian roulette; - updated game model art - added both ammo model types to indicate rounds in play for applicable rev types - added chain connector model for python pick cases - added preview baked textures - updated material and prefab
Today
Fix navmesh generating in places in shouldn't, potential fix for "navmesh failed to be created", and optimization of NPC path following
Today
merge from Frog_Branch -> critter_animals
Today
Fixed a few cases of FileFindHandle_t leaks Minor cleanups Fixed BADDONCONTENT filepaths not being removed on refresh Dropship can die now (Sandbox only) * Updated its model to have correct surface properties type (metal), and be heavier so it falls more naturally Fixed HLMV not working as "Open file with" in Windows * Was complaining about not being able to find gameinfo.txt Citizen tweaks * Make citizens hate gunships (attack chopper + dropship included) if they have an RPG in hands. This allows them to actually shoot those and not just be neutral to those. * Make citizens use "canon" max ammo for giving player ammo check. Stops them from giving ammo forever until player reaches 9999 (by default) Fixed water on d2_coast_10 * 20th anniversary update changed the material that is stored in Source Engine licensee VPKs Narrow down PhysObj:SetMass input checks to prevent crashes Hopefully fixed clientside CGrabController crash Turn sound system error console messages into warnings Use 64bit sample counters for audio system * This is a change from CS:GO to not need to reset the system to work around the 32bit int limits Add fallback for tree_deciduous_cards_01_darker Minor adjustment to CBaseCombatCharacter::Weapon_Switch * Call OnChangeActiveWeapon Fixed freezes and crashes due to losing audio device (Windows) Minor tweaks * Some sanity checks in datacache * Make dsp_reload a cheat * Log snd_restart to console Undo GMod changes to metrocop_sheet.vmt * Removes bumpmap from the NPC version, restores specular. (these 2 effects are not directly compatible) Player model unchanged. Fixed glowing foreheads on combine soldier player model Added language.FormatPhrase * Helper function, to replace language.GetString():format() Add localization string for "Skin 0", etc (properties sub menu) Fixed DPanelSelect running convars too much on creation * When creating a bunch of icons (player model selector), it would run the convars for selected item for each item added. Now only runs the convars when the selection actually changes. Added right click menu with reset option to DColorCube Fixed DColorMixer:GetVector being always 1 change behind * This changes GetColor in DColorMixer:ValueChanged to be the new value, not the old value. This fixes player model selector color selector always being one "change tick" behind, so color resets were not really applying correctly Added ability to localize player model names, and categorize them * Data only * Added player_manager.GetAllPlayerModels() that includes categories/nice names * Added 2 new arguments to AddValidModel - nice name and category Minor derma cleanups Make DColorMixer palette centered and attempt to size it correctly * Size to fit all palette items into exact number of rows * Added DColorMixer:SetPaletteName Make DHorizontalDivider work with percentages * This helps when resizing panels, and when screen resolution changes between game sessions Fixed DPanelList ownLine handling Overhauled the default Player Model Selector * Take more of the screen by default * Improve model rendering to not have overblown phong effect * Display player model categories * Can now resize model and model selectors via a divider * Can reset player/weapon colors to default, and added palettes so you can store custom color presets (separate from all other palettes) * Preview: https://files.facepunch.com/rubat/2026/August14-3121-LightslategrayIrishsetter.png Update player model spawnicons * To get rid of the plastic phong sheen Minor render library improvements * Potential optimization for render.ResetModelLighting * render.SetLocalModelLights sets missing lights in the input table to DISABLED - this fixes an issue where previous calls with 4 lights would persist to future calls with 2 input lights * Fixed compile warnings Potential crash fixes Micro optimization for Lua matproxies Minor cleanup in spawnicon rendering Added player_manager.RemoveValidModel Adjust player model categories * Remove 1 and 2 model categories. Apply localization to DColorPalette right click menu ColorToHSV does not truncate hue to integer * This prevents loss of data when converting the color from HSV back to RGB * This is consistent with ColorToHSL Added "Copy to clipboard" option to DColorCube/Mixer DNumSlider adjustments * Prevent sliding the slider with mouse2/3/4/5 (Can still right click drag the name in Sandbox tools) * Added right click menu to the slider to reset and copy the value. This should help players find this ability Increase Hydraulic speed slider range so its default isn't out of bounds Use DermaMenu for DBinder right click * Includes reset to NONE and reset to default options * This is less prone to screw the player over by right clicking around Fixed suit admire animation being invisible Fixes for potential entity related crashes Fixed regression with CalcViewModelView due to admire anim fix Make menu state FrameTime use doubles
Today
Merge from main
Today
Update: submitting the results of script run Tests: none
Today
Update libraries
Today
Update(editor): automate copying of original resource to DynamicResourceRef - change DynamicResourceRef to be a class type (reflection modification on values is quite a bit oh hassle). Will try to fix later if I got time Tests: ran the new script, checked the modified prefabs
Today
Path following optimizations (around double perf), also a bunch of instrumentation and a benchmark setup: - only string pull the beginning of the path, we will string pull again eventually so not need to run the algo for the whole path (steering agents only) - only re-string pull the current path if we moved past a threshold or passed a path corner, not every frame (steering agents only) - when chasing a moving target, instead of recalculating a new path, try to extend the previous path a bit instead to save time - use unity transform SetPositionAndRotation instead of setting both independantly - fuse some native method calls, so that we only call one method and skip the interop cost for the other call - do not check corridor validity if no tile has changed since pathing
Today
Update: Add DynamicResourceRef to UI_StoreTakeover - amend prop drawer to invoke the right prop Tests: none
Today
fix animations of frogs not playing, skating sideways, and movement speed issues
Today
merge from main -> fix_hotbar_swap_overstack
Today
Fix hotbar swapping not working with overstacks - move the RPC completely serverside so it can swap overstacks (thinking was we didn't need a network++ originally if we kept it clientside but forgot swapping overstacks is awkward) - keep existing admin checks
Today
optimised props ao textures as it was the same issue with 227 of them, most carrying sources far bigger than they ship at and storing a single channel as rgb. resized to existing max cap 110 files rgb -> 8-bit grey 183 files halved 2k -> 1k 24 files 146.3 MB -> 96.3 MB vram
Today
merge from main -> base_occlusion
Today
Small buffs for unused pies, doubled the bonus duration for: bigcat, hunters, pork (900→1800), fish (600→1200), chicken (300→600) Hunters pie bleed reduction up to 90% from 75%
Today
optimised deployable ao textures where applicable. 245 of them, most carrying sources far bigger than they ship at and storing a single channel as rgb. resized to existing cap 126 files rgb -> 8-bit grey 148 files halved 2k -> 1k 47 files 186.6 MB -> 92.6 MB vram ao is sampled from the green channel so rgb storage was never doing anything.