142,833 Commits over 4,413 Days - 1.35cph!
Prevent older server snapshots from messing with existing client ones (needs more work tomorrow)
- Use eye override direction instead for cue ball shoot direction
- Apply ball force as a local dir
- Fix z position being stomped (when loading table state)
- Fix shooting not working
- Fix only being able to mount the table once
- Codegen
▌█▄▍█▅▊▅▍ ▌▊▉▆▌▋ ▆█▇ ▇▉▉▌▉▋▋▌▌▇ ▋▊█ ▅▋▊▉▌▋ ▍▉▄▆ ▋▋▆█▅▌ ▉▌▆▌▄ ▄█▍▍▍ ▇▅▊▇▇█▆▇█▋▊ ▇▍█ █▌▇▇▋▅▆▇▉ ▍▇ █ █▌█▄▆▊ ▉▌█▋▌ ▋▍▇█▍▍ ▇▅▅▌▌█▆▋▄▅ ▌▊ ▄▊▊ ▍▌▍█▍█ █▍▋▅ ▄▊▍▉██▊▇▇ ▆▌ ▅▊▊▇▅ ▆▆▉▋ ▅▇ ▅▆▋▅█▍▄▉ ▌▅▇ ▋▋▋▆▅▊ ▋▅▇▋▇▋▌▅▆ ▄▋ ▅▆█ ▄▍▊▉▊▌▇▄▊▇▋▇▋▋ ▌▌▊▍▄▊ ▌▊▌▊▋ ▉ ▍▍▅ ▌▆█▉▊▇ ▌▄▆▉ ▇▆▋█▄ ▍▄▄▄▇ ▇█▋▄▊▊ █▄▄▋▅▍█ ▌ ▋▄▇ ▋▄▇▍▌█ ▇▋▇ ▄▅▌▋▋█ ▌▉▋█ ▉▇▍▄▍▌▄███▌▌▋▍ ▉▆▍ ▊▇▉▍█▇▇▉▇▅▇▄▊ ▄▌▄▇▉▄▌ ▄█▅▋▄▌ ▆█ ▆▇ ▌▅██▆ ▅▆█▄ ▄▊█▊▊▋█▋█▍▋██▉ █▍▅ ▆▋▍▉▄▌▇▍ ▆▅▉▆▋▋▌ ▌█▍▆ ▉▌▉▄▉▅▌█ █▍█▉▄█▄ ▍█▉█ ▄▋▄▊ ▇▉▍▉▊ ▆▌▉ ▍▉▅ ▇▇▋▊▇█ ▅█ ▌▍▌ ▊█▋▋▌█▇▄▍▉█▅▅▉▊▊▆ ▅▉▇█▍▍▅▊▆▋▅▄▌▆▆▋ █ ▌█▋ ▍██▆▍▊ ▊▌▆▉▄ ▋▋ ▍▆▆▉▇ ▊▉▊▄ ▉▊▆ ▄▅▆▆█▊▊▅▌▇▋▅ ▅▉▇▆▆ █▋▋█▆▍ ▄▍▅▅▆▍▅ ▌▌ ▌▄▌▉ █▊▌▌ █▉▌ ▊█▅█▋▇▆█ ▊▌▍▌▋ ▅▅▇ ▆▉█▆▋ █▌▆▅▊▌▌ ▊▊▌ ▆▌ █▇▉ ▋▋▇ ▍▊▋▆▍▍ ▅▅▇▆▆ ▉▆▍ ▇▄▅▊▌ ▆▄▉█▌▍▄▊▍▇▌ ▊▊▉ ▅▉▉▄▆▍▇▍▉█▊▇▄▊▇▉▇▅▍▌ █▇█▆▌▆▍ ▆▆▌█▉ ▊▄▅ █▋▄▍ ▊▉ ▇▉▄ ▌█▍▇▇▇▄ ▋▊▋▅▌▄▆ ▅▍▍ ▄▊▊▄ ▄▋ ▄▉▌▋▆ ▆▆▇▄▋▇██ ▇▉▍▌▌
Pool Physics Engine:
- Frame rate independent drag
- Stopping distance to stop creeping when applying drag
- Higher threshold to detect 'stopped' physics bodies
Stop groundwatch killing the table as well
- Locally shoot the pool shot as well (prediction and reconcilliation)
- Parent mountables instead
- Get Owner Table Via GetParentEntity() instead
- Only allow joining the table when nothing is in motion
- Allow player to play against themselves
- Temp patch for viewmodel issues
IOCircuitSystem indentation fix
Disable deatching children on the modding monument build block prefabs
Fix "modding monument build blocked" prefab not scaling the red blocked visualization on custom maps
- allow monument prefabs to opt-out of detaching their children (so it can work with "monuments" that can resize aka the modding building blocked prefabs)
initial setup on auto turret workshop skinnable
▄ ▆█▉█▉▋ ▊▊▋▉▍ ▋▅▄ ▇▋▉ ▄▇▄▆ ▊▍▊ ▋█▉▋▌█▆▆
▉ ▍▋▇ ▄▋▆▅ █▇▋▅▄▊ ▇▋▇▍▄▍▍ ▍▉▉ ▉▄▉ ▍█▄▄▍ ▌ ▇▇▆▌ ▋█▆▄█▍▍▅▉▋▇▊▋
Allow root combiners to be connected to non root entities. Renamed it to 'combiner'
Prevent feedback loops by discarding power from back edge wires
Ceiling gold stars rotated textures to match placement guide
Some fixes, refactoring and new evaluators. Cache consumption amount at register time so we don't rely on entities anymore
Fixed signs registering themselves in circuits
Started removing old IO code to IO entities code
added missing scripts for placement guide
Item Compacter item setup. mini deployable recycler for your base with very low output, for dumping crap you dont want instead of throwing it on the floor. Will give back very low amounts of wood, frags etc.
▇▄▋▆▉▍▌ ▅▆▋█▇▅█▇█▅▋ ▋▄▊▉▌▄ ▉▊ ▍▋▊▍ ▇▇▌ ▄▌▌ ▉▍▋▉▇▊▅ ▋▌ ▋▇▅▋ ▇▇▅▄▍ ▉▌▆▊▊▌▄▄█▆
Reduced the amount of flags OR AND and XOR switches are setting
Reduced the amount of TryGetComponentRecord calls
Extended smoke signals max height, making them visible from further away
Added support for the cargo plane to drop different supply drops
Circuit merge do not set the whole circuit as dirty + eval pass micro optims
Added ESPCanvas nameplate distance-based auto sizing
https://files.facepunch.com/raul/1b1711b1/17_01-03-SpotlessCowbird.mp4
Fix texture analyzer incorrectly flagging assets as having compression disabled that are NPOT + mipmaps that are part of texture atlases
Fix primitive servers logging an error when trying to spawn sharks in divesites since the divesite prefabs use empty prefabs to control shark spawn chances
Finer scale
Flip degree min/max
https://files.facepunch.com/Rin/2026/05/hsxOAUTTY4.png
Tool crate loot pool. Double spawn
Lake only spawns
https://files.facepunch.com/Rin/2026/05/Unity_qRVXOzMqS6.mp4
Fixed incomplete &/or cancelled map downloads writing empty maps to disk, causing reconnecting to break
Download the map as a temporary file in the same folder then rename it once complete
Additional cleanup on map download failure / cancellation
Before: https://files.facepunch.com/raul/1b1611b1/16_16-43-LateGallinule.mp4
After: https://files.facepunch.com/raul/1b1611b1/16_16-52-SwelteringDunnart.mp4
fix missing shader parameter used by post process effects
No allocations when running the flood fill when rebuilding circuits
Updated all SimpleLight prefabs to use the HasPower flag instead of On
Updated cinematic controller, fixed existed talking anims and added new sets (generic and host)
Simple light don't switch the ON flag anymore, we can just use HasPower and save a setflag when turning a light on/off (they're batched but that saves some overhead)
Added a max flag flip per tick per circuit budget too (too many flag changes can stall the client)
Circuit budgeting: all circuits share a 0.25ms budget per frame to evaluate. When the budget is depleted mid circuit, we save where we stopped and continue later. The starting circuit is never the same so a single circuit can't eat the whole budget and clog everything
Also moved the drain pass to the 1hz battery tick, it doesnt have to run on every tick
Optimised the evaluation pass. we now starts from the dirty components specifically instead of evaluating the entire circuit from start to finish
When evaluating, if a component output didnt change, we stop there
added hanging ivy (hedera helix variegata) models, materials, textures. created 3 decor plant variants
FPV drone UI WIP & related files.
switch out batched packet send storage for HashSet to avoid multiple sends from an entity within a circuit tick
merge from /main/hackweek_parented_ddraw
merge from /main/hackweek_parented_ddraw