125,009 Commits over 4,171 Days - 1.25cph!

26 Days Ago
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
26 Days Ago
Update: disable bidirectional occlusion caching for now - Left a couple optim/safety todos This fixes the batch vs serial baseplayer occlusion consistency test, but one CantSee fails as expected. Going to fix it in a child branch, as that currently blocks more optims. Tests: ran relevant unit tests
26 Days Ago
prison update, prison barge made into prefab
26 Days Ago
Moved files around and renamed some classes
26 Days Ago
Removed test code
26 Days Ago
Added LocalizationToken attribute, use that everywhere instead. Much easier
26 Days Ago
LocalizeText use the new localization drawer Removed its English field Added a warning saying its obsolete
26 Days Ago
RustTextEditor and PhraseDrawer share the same drawing code Phrase adding flow
26 Days Ago
Split crude profiler and memory tally into separate files as they should
26 Days Ago
- Add more ConVars and explainations to indirect instancing - Disable indirect instancing by default - Disable debug info by default - Fix multiple NREs when returning to the main menu - Add assertions to catch use after free with the crude profiler / memory tally
26 Days Ago
Holding a lit torch provides some warmth, comfort, and slowly dries wetness https://files.facepunch.com/cipeaX/2025/August/13_13-59-NeglectedGreatargus.mp4
26 Days Ago
Starting the blockout again from scratch since my PC bluescreened
26 Days Ago
Added exact match to PhraseSearchWindow and improved performance
26 Days Ago
fix_server_browser_missing_servers -> main
27 Days Ago
Use burst compiler hints
27 Days Ago
Check for AVX2 support instead of FMA because Burst won't compile for FMA specifically.
27 Days Ago
Instanced snow tiles based on terrain maps with simple displacement
27 Days Ago
English field of phrases is now non serialized, removed English from RustText Added a button on PhraseDrawer to edit a phrase, opens a window that will amend changes to the json file directly Phrases update now only collect phrases declared in code
27 Days Ago
27 Days Ago
tutorial_mission_reset_nre_fix -> main
27 Days Ago
Ensure logic still works if the skipped mission was the active mission
27 Days Ago
tutorial_mission_reset_nre_fix -> main
27 Days Ago
Dont serialize null missions Dont serialize default state missions
27 Days Ago
█▆█▊▄▋
27 Days Ago
prison update
27 Days Ago
Replaced static fuel_barrel_black objects on large oilrig with yellow and red variants so gameplay remains unchanged. Ran S2P
27 Days Ago
Caged in fuel_barrel_black objects on small oilrig (1 set of 8, 1 set of 4) and replaced 4 other fuel_barrel_black objects with fuel_barrel_red as they are too visually similar to the diesel barrel pickupables. Ran S2P.
27 Days Ago
More set dressing of farm barge
27 Days Ago
Removed static upright fuel_barrel_black objects from large oilrig as they are too visually similar to the diesel barrel pickupables. Ran S2P.
27 Days Ago
mission_isstarted_nre -> main
27 Days Ago
Improvised walkways progress
27 Days Ago
Try/catch mission think system
27 Days Ago
Assembly contexts for code declared phrases Better de-duping and type skip when generating the phrases
27 Days Ago
Reworked pouring so it uses a start and stop RPC. Holding left mouse button will pour (up to) 50ml out of the container every 0.5s (100ml/s), stop holding left mouse button and pouring stops. Needs bespoke animations and visual effects, something like a continuous stream pouring out when the item is tilted over. Video: https://files.facepunch.com/jacob/1b1211b1/Unity_0KbTAw2Am2.mp4
27 Days Ago
mission_isstarted_nre -> main
27 Days Ago
Fix mission 'is started' NRE
27 Days Ago
Allow AI to drive anything derived from BaseVehicle New custom upload loop. Safely turned on/off if AI is assigned HasDriver flag set but mounting logic stays the same
27 Days Ago
Enable 3052 materials for instancing
27 Days Ago
Tests: TestLineOfSight - properly enforce non-job mode in relevant cases Tests: ran test sets
27 Days Ago
Tests: TestLineOfSight - validate reverse paths Looks like some occlusion checks might fail reverse paths. That's an uh-oh. Tests: ran above set, got a failure
27 Days Ago
▅▍▍▆▆▅
27 Days Ago
Final SIMD frustum culling implementation for x86/AVX and untested implementation for ARM/Neon
27 Days Ago
Fix ARM/Neon SIMD (and non-SIMD) code for frustum culling.
27 Days Ago
Tests: ServerOcclusionTests - generated data set now contains similar pairs Interestingly, this trips up consistency test - will investigate Tests: ran TestOcclusionLineOfSight_Consistency
27 Days Ago
Detailed context when updating phrases
27 Days Ago
Tests: PerfOcclusionLineOfSight - reset internal recent visibility cache between runs Tests: ran the set
27 Days Ago
Implement NativeArray.ReinterpretLoad() for NativeArray.ReadOnly to avoid triggering concurrency checks.
27 Days Ago
Tests: ServerOcclusionTests - standardize test naming Tests: ran test set
27 Days Ago
Tests: ServerOcclusionTests.GeneratePairs - generate correct number of pairs This further shrinks runtimes, as previously we generated waaaay too many Tests: ran ServerOcclusionTests set
27 Days Ago
Tests: optim TestOcclusionLineOfSight_PerfSerial/-Parallel By properly constructing and caching base players - tests now take less than a second. Tests: ran test set