102 Commits over 153 Days - 0.03cph!
Put an upper cap in place for the amount of stacks to give out to prevent potential issues on modded
Fix not being able to stack C4s with different frequencies even after disabling RF
Take into account decay.scale convar value when calculating upkeep time/cost in TC UI
ItemModSwap respects max stack size (fixes getting overstacked fish meat when gutting with harvesting tea)
Fixed not being able to place barricades on sand dunes in giant excavator
S2P excav, water well a, radtown
Update TC tool storage tooltip phrase
Include lastPlayerID in command block save / load
Don't apply item ownership when opening loot containers in invis
Prototype crosshair editor section in the options menu, lets you configure your crosshair with a live preview:
https://files.facepunch.com/cipeaX/2025/August/13_16-47-NiftyUlyssesbutterfly.mp4
Holding a lit torch provides some warmth, comfort, and slowly dries wetness
https://files.facepunch.com/cipeaX/2025/August/13_13-59-NeglectedGreatargus.mp4
Added crosshair codes. Can be generated from the current crosshair settings, and then easily loaded at a later time or shared with other people:
https://files.facepunch.com/cipeaX/2025/August/12_13-59-FrankGrasshopper.mp4
WIP crosshair customization, added the following convars to control the appearance and behaviour of the crosshair:
- mode: 0=static, always visible | 1=static, hidden during ADS | 2=dynamic, adjusts to accuracy, hidden during ADS
- style: 0=full | 1=no dot | 2=only dot | 3=T-shape no dot | 4=T-shape with dot
- color: 0=white | 1=green | 2=blue | 3=red | 4=yellow | 5=magenta | 6=cyan
- dotsize: Size of center dot [0-5]
- spacing: Distance of the outer lines to the center dot [0-3]
- outline: Outline enabled [true/false]
- outlinecolor: 0=black | 1=green | 2=blue | 3=red | 4=yellow | 5=magenta | 6=cyan
Demo: https://files.facepunch.com/cipeaX/2025/August/11_19-02-AttractiveLacewing.mp4
merge from particlesystem_warnings_fix
merge from particlesystem_warnings_fix
R/W for 2 more obscure meshes
merge from particlesystem_warnings_fix
Try and use higher LODs in 2 cases
Enabled R/W on 31 meshes used by particle systems to fix warnings
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)