userDaniel Pcancel
reporust_rebootcancel

3,492 Commits over 822 Days - 0.18cph!

2 Months Ago
Update: Add DynamicResourceRef to UI_StoreTakeover - amend prop drawer to invoke the right prop Tests: none
2 Months Ago
Clean: remove PathProxyFor - update StoreBundleTool to work with DynamicResourceRef Tests: none, not in use yet
2 Months Ago
Update: Add DynamicResourceRef<T> to replace PathProxyForAttrib Allows us to both automate more of the dynamic bundle assignment as well as help with future merge conflict resolution Tests: added it to UI_StoreTakeover and it's drawer
2 Months Ago
Bugfix(editor): fix store prop drawer failing to draw - added a fallback path for original image property Cuased by missing path proxy field that I ripped out during merge Tests: inspected JungleShowcase ui prefab
2 Months Ago
Buildfix: fix merge issues Tests: editor opens
2 Months Ago
Merge: from main
2 Months Ago
Merge: from hackweek_unsafescriptingaccess - Bugfix for exception on boot for missing DLL entrypoint Tests: booted into craggy on windows
2 Months Ago
Bugfix: grab latest binaries for Rust.Native One of them was stale, breaking the feature Tests: booted into craggy on windows - no more exception
2 Months Ago
Merge: from main
2 Months Ago
Merge: from main Been a year, lets see how borked everything is
2 Months Ago
Merge: from mt_snapshot_saving - Bugfix for HittableByTrain components not saving in Jobs 4 mode Tests: spawned a tall wooden barricade with Jobs 4 enabled
2 Months Ago
Bugfix: cache owner entity of HittableByTrains on init Avoids lookups while running SaveComponent Tests: spawned a wooden double barricade with jobs 4 enabled
2 Months Ago
Merge: from main
2 Months Ago
Merge: from async_serveroccl_gen - Optim: 4.5k server occlusion grid now generates in 22s, down from 45s Tests: unit and perf tests, 2p on craggy to validate server occlusion, visualized 4.5k map occl grid results
2 Months Ago
Clean: extract GetBatchSize and WaitForTasks into ThreadingUtils Tests: ran compile simulator
2 Months Ago
Merge: from main
2 Months Ago
Update(editor): add heightmap sample and isInside visualization to server occlusion editor debug Spent too long chasing non-existent domain reload ghosts Tests: visualized occlusion of EU East 1. tested occlusion gen on craggy with 2p
2 Months Ago
Bugfix: avoid out of bounds access in FindComponent<T> - also add editor ifdef guards for editor attribute Results array can be oversized, since we reuse it Tests: ran unit tests - pass
2 Months Ago
Optim: tweak batch size when calculating server occlusion narrow phase This cuts down 4.5k world server occlusion generation from 45s to 35s in batched mode. Async further brings it down to 22s Tests: ran generation in editor
2 Months Ago
Update: make UnsafeScriptingAccess initialize on editor load Allows to use it in editor-only tools/workflows Tests: ran server occclusion generation in editor, checked profile
2 Months Ago
Update: add GamePhysics.FindComponent<T> that supports async Configured async to engage at more than 4 batches of 64 queries Tests: ran perf tests. same perf up to 400 points, at 10k points is 2x faster 0.42ms batched+async vs 0.96ms batched vs 5.4ms serial
2 Months Ago
Update: add TerrainMeta.SampleTerrainMeshHeights Configured to engage async after have more than 4 batches of 256 pos each Tests: ran perf tests
2 Months Ago
Update(tests): add IsInsideTerrain perf comparison tests Need them to tweak when to engage async and when to skip it internally Tests: ran them
2 Months Ago
Merge: from mt_snapshot_savings - Bugfixes for a couple unsafe Save codepaths in Jobs 4 mode - Added debug utility in InvokeHandler to track down a thread race in Jobs 4 Tests: unit tests + gameplay on craggy
2 Months Ago
Merge: from main
2 Months Ago
Bugfix: make Underwear.ValidateForPlayer MT friendly on server Fixes BasePlayer saving throwing unity exceptions Tests: changed underwear with Jobs 4
2 Months Ago
Bugfix: make FishMount.Save mt friendly - cache fish container index Tests: placed a fish in a trophy display with Jobs 4
2 Months Ago
Update: wrap InvokeHandler internals in DebugMTLock Tests: booted on craggy and ran around with EnableDebugMTLock
2 Months Ago
Update: add single-thread reentrant support to DebugMTLock to avoid deadlocks - added unit tests Because of course InvokeHandler is non-trivially recursive Tests: uni tests
2 Months Ago
Update: Move UnsafeScriptingAccess and DebugMTLock to Facepunch.UnityEngine - Cleanup empty asms Tests: ran relevant unit tests
2 Months Ago
Update: explicitly capture callstack when DebugMTLock is tripped - frame count can be limited to via unsafe.DebugMTLockMaxFrames (def 5) Tests: ran unit tests
2 Months Ago
New: DebugMTLock - a named lock guard that print an error on concurrent access - controlled by Unsafe.EnableDebugMTLock, disabled by default - codegen, unit tests Need it to help chase down unobvious thread races, like InvokeHandler Tests: ran unit tests
2 Months Ago
Optim: Jobs 4 - reduce server.ParallelNetworkQueueBatchSize to 16 by default 256 was waaay to high for the per-frame workload we get, it basically disabled parallelization Tests: none, trivial change
2 Months Ago
Bugfix: fix 6 TestMTSave failures No legit mt issues, just new entity types with missing unit test setup Tests: ran all TestMTSave tests, pass
2 Months Ago
Bugfix: make card table saving MT-friendly Done by removing the concept of item "busy" or "locking" - was never set but checked against Time.time Tests: none, trivial change
2 Months Ago
Bugfix: cache rocket ammo def to avoid get_gameObject calls in AttackHelicopterRockets Tests: spawned attack heli and geared it up - could see them in inventory
2 Months Ago
Merge: from main
2 Months Ago
Merge: from vehicle_pooling - Buildfix for BallistaGun
2 Months Ago
Buildfix: wrap Ballista private members in relevant mode guards Tests: ran compile test
2 Months Ago
Merge: from hackweek_unsafescriptingaccess - New: utility to bypass Unity's thread safety checks and conditionally execute code in async (Unsafe.UseMultithreadedScripting convar, def 1) Tests: unit tests, manually built & ran all flavor combinations of executables, tried mac and win editors
2 Months Ago
Update: grab binaries from the merged PR - addesses review feedback, functionality is same Tests: ran unit tests on Win
2 Months Ago
Update: mark UseMultithreadedScripting explicitly defaulted to enabled It kept disabling it despite underlying var being enabled Tests: booted into craggy, looked at var state in console
2 Months Ago
Update: codegen Tests: none
2 Months Ago
Clean: unify style, add comments Tests: none, trivial changes
2 Months Ago
Clean: missed meta file deletion Tests: none, trivial change
2 Months Ago
Update: move UnsafeScriptingAccess to Facepunch.Unity - add unit tests - delete old TLStest and it's scene Tests: ran unit tests
2 Months Ago
Merge: from main
2 Months Ago
Update: re-enable the feature for clients as well - add editor only RustNative_Editor - rewrapped the code behind UNITY_ASSERTIONS Tests: built all flavors of Rust locally (win, linux, mac | client,server | debug,dev,release) and ran them, got passes everywhere
2 Months Ago
Bugfix: make sure we modify EnsureMainThread in release builds That check is always active Tests: booted TLS scene
2 Months Ago
Update: integrate TLSTest into client bootstrap and server boot routines - copied over linux rustnative.so, to be tested Temp measure to test standalone builds Tests: booted both bootstrap and craggy in win editor - saw output (disabled in client, enabled in server)