257,390 Commits over 4,018 Days - 2.67cph!
merge from softcore_update
merge from softcore_update/deployable_corpse
Added ignoredEntity support to DeployVolumeOBB, fixes corpses hitting themselves when looking for valid pos
Show the placement error when attempting to repair a corpse on an invalid pos
Fixed sleepers not blocking corpse repairing
Cleaner checks
Update: made some caches stable across frames
Tests: played back staging demo - no new errors and stats match expected
Apply a hack for bone manip level transitions
Updated iron ore to look more visually distinct from gold ore
Pickaxe does less damage to entities
Fix "Experienced" quest not unlocking after reaching level 5
Diamonds have a super low chance to spawn in the grass biome
Added quests for discovering each biome
Corpses landing on invalid positions aren't killed anymore, they're just not repairable
This prevents loot from being destroyed
Clean: simplify call
Tests: none, trivial change
wall shelf deployable for Mauro
Merge: from parallel_validatemove
Tests: none
Merge: from parallel_validatemove
- bugfix for invalid transforms in the cache - fallout from previous bugfix
Tests: played back staging demo - counts as expected and no more errors about transform cache inconsistency
Bugfix: fix transform cache rebuild loop
Previously threw away dirty indices too early, missing on some player cache changes
Tests: played back the staging demo - no more error logs about transfomr cache inconsistency
Update: consolidate debug logic
- Also ValidatePlayerCache fixed to actually check for native-null players
I'm hoping I won't need this after tomorrow, but keeping it fixed to use for testing on staging for a bit
Tests: ran through the staging demo - notifced it's picking up an issue from the prev merge, will fix shortly
▅▆▊▄▄ ▇▅█▉ ▄▆▄▅▍█_▅▍▅▋▆▆▆▇▍_▅▌▉▅▊▅▅▇_▊▄▅▉▌▊▍▄▋
▅▊▆▊▅▉ ▆█▆▇▋█▋▌▄ ▍▅ ▍▊▉▍ ▋▄▆▄▉▌▍▄▉ ▇▌ ▌▄██▅▆▊▍▆▌▄▄▉▆▄'█ ▆▊▇▌▋▊ ▅█▊▍ ▊▉▋▇▇▊▍▍▊▋█'▊ ▋▍ ▆▋▆▅▋ ▄▋▋██▊█▆▉ ▄▅▍▄ ▌▆▊▄▆▍█ ▇▄ ▉▉▇▍▊▌ █▉▄▇▍▊ ▉▅▌▄▆
Undo a certain change that could be causing crashes for 1 dude
Binds for SteamApps
Add Steam Integration
Copy assembly to game/mount/ folder
Try to load mount dlls on bootstrap, if not standalone
Testing vertical storage, replacing shelves and dropbox for now
Set all corpses repair costs to match repair bench repairing costs
Merge: from parallel_validatemove
Tests: none, no conflicts
Fix a few NREs across Player, Inventory and QuestResource when you haven't yet created a character and load into a server
Updated ItemDrop system to determine whether or not a drop came from a natural spawn. Log naturally obtained items in stats and in the save file.
Quests now use the newly added stats to determine quest completion instead of items currently within the inventory.
Crafting items counts as being created naturally towards quest progress
Clean up new stat usage and ensure it works in all use cases.
Smaller workbench 3 corpse
Players do not collide with deployable corpses anymore
Merge: from parallel_validatemove
- Bugfix for null players in PlayerCache causing UsePlayerUpdateJobs to get disabled
Tests: played back staging demo - got similar results
Make a copy of the entries we're gonna iterate when installing server packages during handshaking - will stop the connection crashing if the entries table is modified while installing the packages - this could happen if the server / host adds a server package requirement during this process
Clean: fixing broken whitespaces that I spotted with the merge
Tests: none, trivial change
Merge: from main
Tests: none, no conflicts
Bugfix: PlayerCache now tracks players that are removed from the server
Original impl left a space where it could miss some of the players, leading to rogue nulls.
Tests: played back staging demo - had same numbers
Add ability to write back instance changes to prefab
Allows for in scene editing of prefabs
https://files.facepunch.com/lolleko/2025/March/27_13-41-DimwittedTilefish.mp4
Add Sandbox.Mounting.Quake project, move test code
Corpses can be picked up, gives you the associated item with 0 health
Owners can now open container corpses to retrieve the loot without repairing
Merge: from parallel_validatemove
Tests: none (resolved into dest version)
Rename OwnerType -> ParentTyp
Mark some prefab variable stuff as obsolete, to find out what is depending on it
Get rid of more prefab variable code, build is working again
Stop cloning prefabvariables
Mark scene as edited on undo/redo
Add undo for dropping resources onto the inspector
Initial pass on prefab instance overrides
https://files.facepunch.com/lolleko/2025/March/27_12-55-TrainedSpidermonkey.mp4
Update: adapted code to PlayerCache change
- FinalizeTickParallel now uses `player.StableIndex` as indirection, instead of iterator index
- Updated validation checks
- Transform caching job now checks for invalid transform accessses
Tests: ran all relevant unit tests, played back staging demo - got comparable numbers
Cache load result, multiple calls return same objects, concurrent calls wait and return same object
Delete AppSystem at unit test shutdown
Fix crash when shutting down CRenderDeviceVulkan (purging wrong buffer) [pick]
Add failing tests
FileEntry is can provide a single resource type - we should add multiple entries if a file can be multiple types
merge from softcore_update
Add Input.Keyboard.Down( key ), Input.Keyboard.Pressed( key ) and Input.Keyboard.Released( key ) - maintain accumulated press/releases for key presses now we need them
Trying out some gameplay changes
▍▉▉▍▅█▇▍█▌▍▆█ ▋▇▉▅▋▌▉▌▅▌█▍▊▅