161,134 Commits over 4,597 Days - 1.46cph!

21 Days Ago
Improve DImage shader replacement system * Uses case insensitive check for VertexLitGeneric, includes LightmappedGeneric now * Handles SubRect shader materials by drawing the correct part of the texture Try to have Paint tool UI with previews * https://files.facepunch.com/rubat/2026/October13-3318-SecondhandWoodborer.png
21 Days Ago
merge from main
21 Days Ago
Stop any rumble in Deactivate
21 Days Ago
Fixed "is3DSkybox" variable not resetting when returning from hooks Fixed some missing textures on Half-Life 2: Episode 2 props Try to workaround Portal using same texture names as Ep2 Remove some unused libs from menu state Use a different delimiter for "last map" saves * One that can't naturally occur in filenames Change network transfer folder blacklist into a whitelist * Seems more logical to be this way * Also removed .ain from extension whitelist, since it's a useless for the client format that is no longer automatically sent anyway Try resolving a crash with recent change to Entity:SetPos Merged Pull Requests * Remove usage of a unnecessary Think hook in DOF post processing effect * Updated a comment in SurfaceProperties.txt Includes higher quality Eli Vance face texture from S1 repo Fixed typo in cam.End2D underflow error message
21 Days Ago
▆ ▋ ▆█▍▄▋ ▇▋▅▆ ▌▋▇▍▇ ▊▅▅ █▍▅▌ ▇▍▄▌▄▋▌ ▅▊▆▉▇▇█ ▇▌▉▅▋ ▊█▇▆▆▆ ▇▄▊▍▉▍▄ ▅▍▌ █▌▆▊▊▍▄▊▊ ▅▍▊▍▇▇ ▉▇ ▆▉█ ▄▋▌▊ ▊▋▅▆▅▆▉▆█ ▉▍▍▇█ ▄▊▇▊▉ ▄▆▊▄ ▇▉▍▊▋▊█▌▊▄▊▄▍▋▋██ ▉▋▆▇
21 Days Ago
▆ ▉█▉▅▉ ▍▇▆▊ ▇▋▍▆ ▅▌▍▊▄▍█ ▅ ▅▍▊██▉▊▉ ▊▊▊█ ▍▅▄▊ ▅▇▄ ▉▇▍▅ ▊ ▌▅▍█ ▅▅ ▉▅▆▄██▍▊ ▅▇▋▊▄
21 Days Ago
merge from render_pipeline_testing
21 Days Ago
remove the Rust Render Pipeline text when RRP is enabled, instead show Built-In Render Pipeline when RRP is disabled
21 Days Ago
Try/catch the gamepad update loop, disable on any error errors.
21 Days Ago
Fixed quick craft spending ~1.6ms rebuilding after almost every shot (inventory update) Only rebuilds when the inventory is open now
21 Days Ago
fix stale frame on subsystems without fade in, fix flare not having a predict release event, remove fade in on flare subsystem to fix weird flipping artifact on flare
21 Days Ago
merge from cache_entity_links -> main
21 Days Ago
Update comment
21 Days Ago
merge from automated_testing
21 Days Ago
Get rid of some debug logs spamming related to halloween dungeon spawning
21 Days Ago
Re-add the "Restoring X/100,000 links" for cases where the cache links aren't used
21 Days Ago
merge from render_pipeline_testing
21 Days Ago
fix RRP drawing ocean after water bodies
21 Days Ago
Halloween stringlights Improve deployment, stop clipping, fix groundwatch, reduce network range, remove snapping All tests pass
21 Days Ago
Pool 3 copies of thrown melee weapon and tool projectiles instead of 100. No point in filling our pool with 3900 copies you'll rarely see more than 3 of at the same time Saves around 50MB of memory and gives me some leeway to eat that with gun effects next
21 Days Ago
▍ ▌▇▉▆▋ ▅▌▅▉▄▍▆ ▅▄▆▅▆ ▅▅▄▄ ▉█ ▇▆▄▄█ ▄█▍▇▊█▋ ▋▅ █▉▋██▆▋▊▊ ▊▋▅▇▆▊█▊▍▇▍ ▅▍▊▄ ▇▅▄ ▅▊▊▊ ▇█▍ ▋▊ █▊▊▇▊▋ ▊▇▇▇▊▆▆ ▌▄▉█▌ ▍▉▌ ▊▅▇▅▊▍▄▄▇▊▇█ ▄▄▍ ▆▍▇█▇ ▇▊▍ █▋▌▋ ▊▅▍▊ ▄▆▋▋█ ▇▅▍▋▊▇▍▋▇▋▆
21 Days Ago
Pass `serverStartup` parameter into RestoringLoadedEntityLinks() so we don't call RCON.Update() when pasting with copypaste - probably harmless but it bugged me
21 Days Ago
Increase stick move distance required to activate gamepad
21 Days Ago
merge from cache_ocean_path -> main
21 Days Ago
Codegen
21 Days Ago
Optimize server startup time by caching the ocean patrol path on disk (158s -> 138s) - same idea as server occlusion grid being saved - can increase version number to regenerate next restart - convar `regenerate_ocean_path` will cause it to regenerate it next startup too
21 Days Ago
Codegen
21 Days Ago
Remove three unused floats (skincol, skintex, skinmesh) from all player net messages that havent been used since 2016 Defaults were set to -1 so included in the proto Saves 17 bytes per player
21 Days Ago
merge from main
21 Days Ago
Prewarm 5 copies of each ricochet effect instead of 1, first magazine dumped after connecting created up to 2 more per prefab at ~0.5ms each
21 Days Ago
Stop networking IO wire origin data and duplicate slack levels to clients Saves ~34 B per wired slot + ~5 B per wire point on network load
21 Days Ago
Fix flame turret sending two updates per trigger change instead of one Saves 60 B~ per nearby player each time the turret turns on or off
21 Days Ago
Update test list
21 Days Ago
Stop water purifier sending two unchanged network updates per boil tick 30 B/s~ per nearby player
21 Days Ago
Dont send environment rainGraceStartTicks (only used on the server) Sends every 5 seconds. 54 → 44 B per update, so saves 10 B~ every per player every 5s
21 Days Ago
Door.SetOpen no longer sends a full network update when the door is already in the requested state (door closers re-close shut doors 3 s after every open/close cycle) Saves ~76 B per nearby player per call
21 Days Ago
merge from main -> cache_entity_links
21 Days Ago
Only send search light network updates when aim/flags change rather than per tick when mounted
21 Days Ago
▄ ▉▄▉▆▄ ▇▋▍▄ ▄▅▇▆▊▍█▅▄▌█▋█▋▆▆▍▄▌▅▍▌█▉▋▌▍▉
21 Days Ago
█▆▇▇▌▅ ▌▆▌▊ ▇█▋▋▍▇▄▉▄█▇▉▇█▅▉▄█▊▇▊▉▄▉█▌▅▌
21 Days Ago
merge from optimize_duplicate_player_check -> main
21 Days Ago
▍ ▇▆▋ █ ▉▉▋█▉▅ ▄▊▅▌█ ▋▋▍▇▍▋▌▇▌ ▊█▉▋ ▍▉▋▌█▇▋▊▋▊█ ▇▊ ▅▄▉▅▍▍▆▄▄▉ ▅▄▇▅▉▌▌▋▄ ▍▍ █▄▇ ▆▅▋▅▌▄▅█▍▆ ▊▌▌▋▊▉▇▋▍▍▊ ▋▄▆▅ ▋▍ ▌██ ▋▊▍▅▍▌▅▄▅▄█▋▅▅▉▋▄▅▅ █▉ ▅▉▄▋█▄▉ ▄▄▄ ▆▄█▉▄▌ ▊▌▌ ▇▆▉▍▉▍ ▊▍▋▇▋▌
21 Days Ago
Dont send travelling vendor map marker updates 20 frames a second Saves 160 bytes per network tick when the vendor is out
21 Days Ago
merge from optimize_enforce_limits -> main
21 Days Ago
Create the pools LaunchProjectileClientside uses at bootstrap instead of on the first shot, avoids a ~365KB alloc when the first projectile of the session is fired
21 Days Ago
Remove old mortar prototype code Means we can remove an mortarCooldown float with every BasePlayer update Saves 6 bytes per player update
21 Days Ago
merge from fix_steam_setkey_crash -> main
21 Days Ago
Reduce number of unique keys set to prolong time until limit is hit - round entities to nearest 1000 - round FPS to nearest whole number (and clamp to 512) - round RAM to nearest 100MB - round GC count to 2 significant figures (1-9,10-90,100-900,etc) - round uptime to nearest 15m interval instead of every 30s - increases time before limit is hit from 7d -> 365d+ Prevent server from crashing if too many keys are set - stop setting new keys after 50k unique values have been set (it can still assign to previous values) - prevents server from getting enough unique values to cause the crash
21 Days Ago
Compile fix, missed a file..
21 Days Ago
Add a test to ensure that networkLookDirection is false for NPCs that dont have a look animator Better way to go than toggling in preprocess