254,395 Commits over 3,990 Days - 2.66cph!
Merge: from hackweek_serverprofiler_memory
- Records allocations from all threads
- Displays allocations on separate thread tracks + a graph of total allocations per thread
- Allocations now have last/current method, allocated type and size in the mark's "arguments" - see "current selection" in perfetto
- Allocations now also duplicate in the executing thread to make it easier to spot where exactly in the method it was allocated.
- Graphs of working set and virtual set memory for the entire process
Tests: multiple snapshots in editor on Craggy, single in standalone debug linux server via WSL on 3k procgen map, single in standalone release windows server on 3k procgen map with a harmony mod
New bloom preset
Do not include notifications library in menu state
Case insensitive lua_run code keyvalue
Fixed Lua errors with drive library on Camera entity from Sandbox
Fixed hoverball toggle button not functioning
Undo system localizations
Improve handling of localized spawnmenu categories
Preserves alphabetical ordering
Added "hostile" option to npc_citizen
Updated MdlPicker layout in engine tools (Hammer)
gave rc drones a grenade inventory and the ability to drop grenades out of it
Get rid of WIP SpringDamper implementation
Clean: removing unnecessary using
Tests: compiled in editor
Unlocking planter large unlocks planter triangle at research bench
Clean: deleting empty folder
Left-over from the old merge that I didn't clean up properly
Tests: none
Update screenspace_general shader with some CS:GO features
Removes $X360APPCHOOSER (Use $VertexColor)
Adds $VERTEXSHADER
Added most CS:GO params except for C4* and C5* params
Update: ServerProfiler - switching to release libs (10b88e05)
Tests: tested stanadlone linux server in debug on a 3k procgen map, windows standalone server in release on a 3k procgen map and a harmony mod
Make SpringDamp / SmoothDamp frame rate independent
Fixes #1819
Add spring damper tests, attach a plot .svg if a test fails
https://files.facepunch.com/ziks/2025-02-13/spring_2Hz_0.5.svg
Teddy Bear costume folder adjustments and .clothing file setup
Triangle planter crafting pass
SRCDS colors for Linux & 24 bit colors
Tools: try searching for gameinfo relative to the .exe if not found
Allows BSPZIP (and probably others) to run from scripts outside of the game directory without additions params
"Fix" an infinite loop in memory allocation by exiting w/ message
"fix" an infinite loop in memory allocator (CUtlMemory) by exiting the program with a warning if it is hit.
Fixed crash with net_showmsg
Fixed hoverball's toggle key not functioning
Localization for built-in undo actions
Potentially breaking change: Internal undo names changed!
Also fixes undo text being processed twice for certain undo actions
Adds localization for entities spawned by Sandbox tools (names)
Added `hostile` keyvalue to npc_citizen
Will be treated as a combine. Useful for NPC reskins to not have combine noises. Or just for fun.
Fix queued rope renderer running out of memory with SuperDOF
Hammer: Merged some under the hood changed from CS:GO
Also fixed ray-traced preview crashing
Hammer: Updated Options tabs to fit more data
Added build date to Hammer's About dialog
Hammer: When copying game configs, ask for a new name
Hammer: Updated icon to be higher quality and have GMod colors
Hammer: Switch to CmdSeqDefault.wc (like CS:GO)
When no user-defined preferences for Expert Map Compile tools exists, use a separate file for default ones. This ensures that game updates cannot break user configs.
Tweak Hammer splash image & exe info
Hammer: Expand Object Bar by 20px to fit visgroups
To VisGrouos without a horizontal scrollbar
Hammer: Increase default size of Entity Help window
Fix a stack overflow in TextEntry scrolling
Minor cleanups
Added support for %CompileNoShadows (VBSP)
Include Episode 1 barney model as override
It appears to have all the animations from base Half-Life 2.
Added "owner" argument to SWEP:OnDrop
Added shader name to "failed to create shader"
Added Player:ExitLadder
Remove unintended/possibly breaking changes
Menu: Do not include notifications library
Minor cleanups
Fixed weapon_shotgun only producing 1 bullet pellet when fired by NPCs
Fixed client crashes with portal entities
Merge: from main
Tests: none
- Add retract/extend mode
- Add menu items
- Wire it into animation controller
- Codegen
Electrical branch name is now clamped on the server side.
Entering more then 25 characters will now default to "Name".
Clean: remove a couple unnecessary TODOs
Tests: none, trivial change
Clean: ServerProfiler - less IntPtr, more Native.MonoMethod
Think I didn't have enough sleep when I was writing it at first.
Tests: exported snapshot in editor on Craggy
Standard 300 open/close now working
Update: ServerProfiler - emit the current/last managed method when recording an allocation
- using debug binaries (10b88e5)
Should reduce/eliminate the need to manually hunt for the allocation in the methods view.
Tests: snaspshot in editor on Craggy
Update: when recording an allocation, record the last/current method as well
Tests: snapshot in editor on Craggy
Update: able to capture allocations from all threads
Tests: exported a profile in editor.
Update: remove hack that forced early recording of data to test tracking all memory allocations
Update: able to record working set of a process
Tests: tested in editor for win, need to test on linux
Update: track VirtualSize as well
- Also properly avoid false-sharing
Update: simplifyin code around allocation buffer
- Previously it could be null, now not possible
Update: make lazy growing take into account number of created elements
This helps avoid wasting next frame if we didn't grow sufficiently
Clean: removing TODO comment
Update: record class and array size alongside the allocation size
Tests: tried export on Craggy
Update: when recording an allocation, record the last/current method as well
Tests: snapshot in editor on Craggy
Merge from triangle_planter
Possibly fixed some issues when planting all 4 slots in the triangle planeter
Changed the minimum distance between plants when in a planter from 0.5 -> 0.2, had to be applied to every plant
Update: ServerProfiler - emit a graph of per-thread total allocation size
- Main thread reset the counter every frame, worker threads over their entire lifetime.
This makes it easier to see at a glance how much we allocate per frame/thread.
Tests: exported snapshot in editor on Craggy
Revert small planter to version from
104648
tweaked skinning a little, added open 150 to 300 and open 300 to 150
Fix triangle planter soil mesh not getting wet material effect
4k cooking workbench textures
Merge from fix_texture_streaming
merge from consoletoggle_param_qol
merge from clear_bushes_radius
merge from missing_demo_folder
merge from admin_hidden_items
Thread admin cleanup, can move threads
Async sidebar loads
Thread list placeholder
merge from dofExposerForceDisable
Don't actually disable QualitySettings.streamingMipmapsActive if we ever had an Update() cycle with it enabled. Instead, enable Texture.streamingTextureForceLoadAll for the same effect without crippling Unity's TextureStreamingManager
Setup cooking workbench with new art.
Setup LODS.
Setup deploy guide mesh.
Setup gibs
Added debug.ForceChickensSpawnEgg, forces all chickens in the provided range to drop an egg
Eggs now drop from just behind the chicken
Rework how chickens drop eggs in the world
Every 20-40s check if there are players within 100m, if they are there's a 50% chance an egg will drop
This should mean players that find chickens in the wild could randomly find eggs in the area, or they could chase chickens for a while to try and get an egg
Eggs are now a common item for despawn purposes so they will time out pretty quickly (and we don't flood servers with physics eggs)
Light setup for Hopper + related mats & meshes.