141,368 Commits over 4,505 Days - 1.31cph!
Merge from marketplace_power
Hooked up a power icon on the marketplace terminal when the marketplace isn't powered
Bugfix: ensure coverImage is enabled when initialized after initEmpty
Think it's time to move to standalone testing
Tests: navigated shop UI - all tiles had images
Added 3 apples to oak_d for now for testing
Added apple to the manifest
Re-implemented all the previous logic from the hackweek branch
Bugfix: restore DLC prefab setup which caused NREs on dlc tile click
- ran dyn ref assign
Tests: clicked through all dlc items - all open
Patrol heli, bradley, satellite crash sites get saved correctly instead of all crates disappearing when the server restarts
- Enable saving on all of the crates and server gibs, the OnFire state persists
- Converted satellite crates to the same LockedByEntCrate setup that heli and bradley use, got rid of TimedUnlootableCrate
- Set all of the crate despawn time to 30 minutes from 60 (doesn't make sense for them to stick around longer than the gibs)
- Fix heli crates landing on unloadable train wagons again (needed an extra fix now that they're saved)
Bugfix: avoid invalidating sprites when shop opens (caused by closing page on warmup)
- Moved tab opening to OnOpened, after dynamic bundle resources were loaded
- also implement better handling of overwrites
Too much time chasing editor boot optim skipping warmup causing weirdness
Tests: could scroll in general shop page, most of the tiles were clickable, only special dlc items were throwing. Still missing icons
GetDpiForWindow to GMOD_GetWindowDpi in one missed spot
* Got trolled by VSCode not saving the file
Slightly unfix DPanelSelect:OnActivePanelChanged
* So it is called even when the current panel is reselected, as some existing stuff (Player Model Editor) relies on it. Still only run associated convars if the selected panel actually changed
Prevent Lua errors in Player Model editor due to weird existing mods
* Apparently there are mods out there that provide boolean arguments to AddValidModel's new arguments
Allow matproxies without a bind function
Apply potential fix for procedural bone sizing
Keep a reference to custom cubemap while spawnicons are rendered
Try to make spawnicon editor size with screen
Added render.BindLocalCubemap
* Helps custom model rendering, such as icon editor and player model selector
* It takes a string as input, so it can handle HDR and non HDR cubemaps for you
Adjust icon editor colors to match actual values in spawnicon rendering
Draw Icon Editor spawnicon over the background
Added ability to overwrite spawnicon rendering lighting
* RebuildSpawnIconEx accepts "lightbox" (6 vectors) and "lights" keys (same as render.SetLocalModelLights)
* Simple preview - sky is the limit on actual light setups - https://files.facepunch.com/rubat/2026/August26-3166-AcidicArgentineruddyduck.mp4
Bugfix: rename a field to let StoreBundleTool find replicated ref field
- ran dyn ref & bundle assigns
Tests: can click on featured tiles in store (but tile icon was still missing)
some more tweaks to textures that don't need to ship 2k
vram 12.0MB -> 1.0MB
texture reduction pass - deployable, tools, food, component items:
71 textures touched, 38 resolutions brought down
an apple had a 2k ao map at runtime
vram 55.1MB -> 9.5MB
Update: ran "Update UI bundle assignments"
- fixed it up to skip reimporting assets with correct bundle assignations
Tests: checked meta files
Update: progress on reviving dynamic shop assets
- restore most of ui logic to cache/uncache dynamic bundle
- make storeitemdlc use dyn ref for page prefab
- change store logic to create empty tiles on warmup, then fill with content once opened
Tests: ran through the store in the editor. it's broken in a bunch of different ways, but seeing signs of system engaging, so progress
russian roulette;
- updated textures
- updated material
- fixed suffix naming
modular car wheel fix
left wheels swapped over to use wheel_b.fbx instead of flipping wheel_a.fbx, right side stays on wheel_a
no more mirrored wheels on 2, 3 or 4 module - fixes the flipped normals
cleared the leftover rotations on the wheels
https://files.facepunch.com/pilgrim/2026/August/25_19-17-ShadowyHerculesbeetle.png
Merge from attackheli_armour_damage
Merge from main and heli gibs
HealthThresholdToggle improvements
Launchsite / made the rocket factory ledge taller
Merge from modular_car_handling_improvements
merged flashlight refresh
Fix low res navmesh on ghost ships
Reduce the size of the main cabin collider so it doesn't block shots through the newly exposed gaps when panels come off
- updated turn on/off viewmodel anims
- set up events for switch sounds in 1p and 3p
- edited current 1p and 3p deploy sounds to fit new anims
- Setup new Toggleable light weapon as a base type to cleanup the flashlight code
- Prevent having to do two get components everytime TurnOffAllLights() is ran
- Remove the hack in TipFlashlight
Glass AR - worldmodel texture update and resize, removed unused textures
Setup collider/visual toggle groups.
Added "Col" to collider group names so they're unique in inspector lists.
basic rabbit setup, renamed all animation files for consistent prefix and lowercase
Attack heli specific code from earlier
Buff radwater so it does significant damage to full kits
Implement new scaling system that reduces rad amounts via sacled protection rather than straight values - used with only sprinklers + rad water
Remove the duplicate client colliders for front panel
HealthThresholdToggle list support
merge from analytics_wm_tris
Add worldmodel tri count for LOD0 meshes as field in item definition dump
session_modal_overflow_fix -> main
Fix description scroll not working
Clamp some flex elements so the connect modal cant overspill anymore and stretch itself so much that you cant see disconnect
same as attack heli - setup hab armour colliders properly for both client+server so they can be removed properly
added collision mesh for the frame
updted prefab
First pass boiler room (random room) shell
Cargo ship no longer despawns its crates on server restart / does more loot cycles but randomly starts leaving inbetween - whole event should now saveload correctly
- Saves the loot rounds that have passed, re-schedules the remaining correctly
- Saves available spawn point indices so crates don't spawn on top of each other
Fix old ais fleeing when player jumps
give this a try cause why not