6,278 Commits over 1,645 Days - 0.16cph!
Remove redundant index-to-value dictionaries from ListHashSet and ListDictionary
Optimize: conveyors sleep until one of the attached containers have an item in it change
Merge splitters into split blocks when every branch holds only split storages
Add tests for cupboards chained through splitters and combiners
Fill tool cupboards evenly, like furnaces
Resave tool cupboard prefabs
▊▍▅▆▄ ▉▌▌▉▉▊▌▋ ▋▄▅▅▍ ▌▋▍▄▄▆▍█▄ ▍▌▄ ▄▋▉▆▇▊▌▆▇ ▍▆▄▄▉▌ ▊█▇▋▋▉▆▇▌ ▊▊▌ ▍▇▉▉▌ ▍▉ ▉▌▆ ███▇ ▍▉▌▉▌ ▄▉▇▆ ▄▊▅▅ █▋█▋ ▊▊ ▋▍▌▌█ ▇▅▉▍▄ █▍▌▇▇▊▋█▆▋▊▇▉ ▅▉▌▋▋ ▄▌ ██▌ ▌▊▇▄▋ ▇▅▋▉▉ ▇▌▄▋▋▌▋▍▍ █▌▄▇ ▇▋▆▊▊ ▇█▅▊▄ ▄▄ ▊▍▉▄ ▄▅▄▅▋▆▆█▄▍ ▍▆▌█▍ ▄▌▆ ▄▇█▋▉ ▇▄▇▋▌ ▄ ▋▅ ▌▅▍▍▇▌▌▊▄█▌ ▉▊█▅ ▇▅▄▄ ▆▇▍▆▊ ▇▊▊▄█▉█ █▇▌ ▅▅▌▉▊▅▍▊ ▍▌▉▆▌ ▍▍▄▉ ▋▍█▋ ▌▍▇▉▊▅▌ ▅▉▍█▅▋▇▄ ▉▊█ ▍▆▊▄█▄▅▋▊▄▇▄▋▉▌▅▆▅█▍▍▍▅█▇▌▅▄▅▊▍▉▌▇▄▆▄▌█▇█▌█▋▌▉ ▆▍▆▉▄ ▌▄▋█ ▍▄▅▊▉ ▌▄ ▊▄▅▌▅██▊▅ ▇▋▅ █▄██▊▌ ▊▆▋▉▉▅ ▉▅▌▅▅ ▌▆▌ ██▆█ ▊▍█▌█▊█▋▄▌ ▆█ █▊█▋ ▍▊▆▄█▍▇▍ ▉▇█▆▅▌▊ ▄▌▄▌ ▋█▌▌▄
▅▊█▄ ▉ ▊▇▇█▆▌ ▄▄▆ ▇▉▊▇▌▇ ▌▋▍▌▌▌ ▅▇▊ ▅▊█▅▆▍▉▄▉▆██▋█ █▇▋▄▇▊▉█▌▉▊█▇▋▉▆▋█▄▋▆▉▇▌▌▇ ▋▉▅▄▇▌▄▇ █▉▄ ▋▌▊▄▋ ▌▍ ▉▋▉▌ █▆█ ▍█ ▄▆▌▍ ▍▆▄ ▍▄▆▋▅▋ █▄▆▄▆▄▊ █▊█▋ █▆▄▋▍▄▌▊██▍▄▊▉▄█▋▊▄█▄▋ ▌▇▉ ▉█▄ █▆▍▇▋▅ █▊▆▇▍▍▇▅▋▆█ ▍▊▉▅▉ ▍▋▊▍▊▋ ▇▊▅█▊▌ ▆▆█ ▉▆█▄█▆█
▊▇▋▌▅ ▋▍▌▆▌▅▆ ▇▋▊▍▆▊ ▋▍▊▉▋▉▋ ▅▇▊▇▇▆▆ ▋▅▊ ▉▆▌▄▌ ▋▉▌▇▌▌▋ ▇ ▉█▇▇▌▇▆▄▊▆ ▅▍█▆ █▌▉▍ █▅▅▅▋█▊ ▍▆▅ ▊█▊▌█ ▍▄▌▄▍ ▇▇▍▉ ▍▍▋▄▇█▄ ▍▋▍█▉ ▅ █▊▌▋▍▅▄█ ▆▉▇ ▉▉▅▉▌ ▊ ▉▄▅▊▆▋▋▉▉▋ ▅▊▊▋▇ ▌▋▊▅▅▅█ ▆▌▄ ▊██▉▌ ▇█ ▅▅▇▇ █▉▆▍ ▅▅▇▇ ▍ ▋▉▋▍ ▊▋▉▇▊█ ▄▌▆▉▉ ▆▆▍▋█▋ ▉▉ █▄ █▆▇▆▍ ▍▄▌▍▆ ▅▋█▌ ▅▌ ▄█▊ ▆▉▅▍▋ ▊▌▆▊▍▆ ▆▍▇▍▆
Limit camera recordings to 60s and tapes to 5 minutes of demos
Play back voice chat recorded on camera tapes
Record EnvSync into camera tapes
Handle cases where the player is killed or dismounted while playing back a tape
Ignore all non-player packets when playing demo tape, send snapshot when done
Ignore effect packets while playing back demo tape
Show static until the base finishes loading when playing the tape
Play camera tapes from computer station instead of TV
Make tape item usable by other entities
Higher frame budget for loading the tapes (demos) on the computer station
Replay a camera's tape by loading it on a TV
Record what a powered CCTV camera sees onto a video tape
Only use conditional meshes when the garage door would clip through walls
Add door conditional mesh tests
Generate conditional meshes for garage doors
Cut door conditional meshes based on the animations
Resave garage door prefabs
Add conditional meshes to doors
Scale "24 units" based on the item's stacksize
Move up to a full stack at once if it's less than 24 units
Scale the amount of items a conveyor moves per tick to 24 "units"
Empty input boxes one at a time, nearest the conveyor first
Keep min & max filter per entity (furnaces) and per block of sequential filling (chests)
Split storage entities into blocks of splitting (furnaces) and blocks of sequential filling (chests)
Make the television a proper placeable item
Add the built RustVideo plugin for 64-bit Windows
Encode video camera recordings with VP8
Play video tapes through Unity's video player
Store video tapes as VP8 frames behind a format header
Record video at 30 frames a second
Fit the television picture to its glass
Add generated code and strings for the video camera, tape and television
Add television that plays a video tape
Add video camera that records on to a video tape
Add video tape item that stores a recording
Only stop doors at walls and foundations
Resave wall and foundation prefabs
Show seamless neighbor islands as terrain HLODs
Commit transferred entities to SQLite on the transfer thread instead of waiting for main thread