84 Commits over 122 Days - 0.03cph!
merge from stringpool_warnings_investigation
merge from stringpool_warnings_investigation
merge from slot_pooling_fix
Moved up the root bone for: all double doors, garage door, fence gate, cell gate, ladder hatches, shop front
Observed the string pool warnings were resolved for all of them in editor
Pass over the worst offender - siegetower
- Assigned root bone, renamed duplicate bone names, fixed crazy scaled roof collider that caused huge impact effects, switched out some collider materials for more appropriate ones
- Observed that all "unpooled bone name" warnings were gone in editor
Fix fps.limitinmenu being applied while benchmarking
Also reset entity slots when spawning (future proofing)
merge from gpuinstancefix2
30 more gpu instancing fixes
Possibly fixed the ancient rare bug that makes doors unable to be picked up until a lock is placed and removed from them.
- Editor tool that finds prefabs with colliders that will spam "string pool, unpooled bone name" warnings when hit - found 45 cases
- Editor tool to print out strings that would be newly added to string pool, without having to run the manifest, for testing
- Convar to toggle suppressing stringpool warnings in the editor
Fix code lock item being marked a redirect of itself, introduced in
124930
Fix not being able to set a guest code after reskinning
WIP: Spraycan supports reskinning codelocks
https://files.facepunch.com/cipeaX/2025/July/23_14-29-CruelTamarin.mp4
Add CollateTrainTracks procedural component so the train tracks work
Also allow shelves to be placed on: Half & low wall, door & window frame, tugboat
Fix stability stat sometimes not showing up when looking at building blocks with a hammer
Fix some remaining doors and non-prefab entities
S2P bandit camp, ranch, large barn
S2P outpost, bandit camp, fishing villages, stables, large oilrig
▉▍▇▊▇▅▌ ▆▄▍▄▋▆ ▊▅ █▄▌ ▍▄▍▄▋▊ ▇▋█
▋▋▇▊█▇ ▌▇▉▌▍▅ ▍▇▌ ▅▊▊█▉▅█▇▅▍ ▄▍ ▊▅▇▊▅▊▋▆
More static objects found in safezones that no longer flag attackers as hostile:
Door and chair variants, sofa, elevator, phonebooth, refinery, slot machine, card table, blackjack table, more npc vending machines, toilet, mission container, shop front, big wheel, food crate.
Merge from main, resolve conflict in FPSLogger caused by
123804
▌▆██▆▍ ▊▇ ▋▊▄█▄ ▍▄▆▋▅ ▉▅ ▉▇▄ ▄▇▉ - ▌▌▆▊▉ ▊▉▍▉▋ ▍▉ █▉▉ ▊▍▆▍▅ ▆▇▊▍▊█▄ █▅ ▉▆█ ▄▊▅▋▄ ▅▅█▍▄█▆▇▆ ▋▍▊▌ █▋▄▅▇█▆▆▄▄▊ ▄▋ ▍▉▉█▌▇▋
New user-bindable marker commands:
- `buttons.markcurrentpos` to place a marker at the players position on the map
- `buttons.clearmarkers` to clear all map markers
Spraycan no longer loses condition while using `infiniteammo 1`
Improve output formatting, use pooling
Fix a rare bug where F1 killing would start the 60s kill cooldown, but not actually kill the player.
(could happen if the command is entered precisely while entering the incapacitated state)
Various improvements to the `debug.lookingat` command - now works on more objects and displays more information.
FIx powered water purifier accumulating a value when running on an nearly empty tank, then converting a large amount of salt water at once.
Resource dispensers respect max stack size
Also fix fps.limitinmenu capping fps when inside the workshop editor
Fixed fps sometimes being capped at 15 instead of 60 in the main menu, when using both fps.limitinbackground 1 and fps.limitinmenu 1
Fixed the locked crate shock effect not parenting correctly on cargo ship
Prevent water purifiers trying to convert more water than what fits into the output
Fixes losing salt water when the output is nearly full
Fix horse heads on trophys not reflecting the breed (another thing referencing the old horse prefab)
Fix not being able to reskin a twitch rivals computer station via spray can
Fixed VoicemailDialog NRE when opened and closed multiple times
Enable maintainMaxCondition on a bunch of deployables.
(They could previously lose max condition when repaired in the repair bench, this has no effect on deployables since they are always full health when placed)
Fixed missing "clone" and "clone all" radial menu option icons for all berries
Fixed wheat, rose, sunflower and orchid using incorrect icons
Admin command to kill all bees
Changed spoiled produce consume sound
- Lock execution behind `commandblock.commands_enabled` convar, default to off
- Show toast to player opening the menu while disabled to let them know
- Add `commandblock.use_player` convar option - if enabled, commands will run using the last player who set them, allowing for a wider range of commands to be used
Relaxed deployment, removed groundwatch, reverted some files that got touched somehow