userDaniel Pcancel

3,358 Commits over 792 Days - 0.18cph!

21 Days Ago
Update: pull prefab originals if prefab variants were assigned to dynamic bundle Pulls just 1 prefab, but worth to do anyway. Still chasing why engine fails to load prefabs in bundle mode. Tests: built new bundles, checked manifest and loaded in editor
21 Days Ago
Update: gather assets into dynamic UI bundle as a first step, to capture all deps (40MB -> 0.6GB) - mode ui/menu2 assets from props-other assetscene to prefabs (otherwise no idea how it used to work before) - also add a bit earlier error checking when loading from bundle Tests: editor in bundle mode - able to see all but 2 icons, but prefabs are not loading
21 Days Ago
Bugfix: dynamically load sprites in store's item overlay - converted some ugly safety code to new IsValid extension Tests: navigated and clicked through all the shop UI - stuff was there
21 Days Ago
Bugfix: make shop tiles clickable - reassigned bundles to resources as some were stale and wrong - ripped out Update Dyn Ref action, as the data source is now not saved - also replaced manual FileSystem calls with Load method to keep it clean - improved dynamic resource logging to know which resource failed to load Tests: was able to navigate through all menus of shop. gotta fix missing icons in places
21 Days Ago
Update: Mark all static asset props as NonSerialized This breaks asset dependency link, can test if everything correctly hooked up Tests: navigated shop ui - most tiles are there but some not clickable. dlc pages open but missing icons in detail view
22 Days Ago
Merge: from main
22 Days Ago
Bugfix: ensure coverImage is enabled when initialized after initEmpty Think it's time to move to standalone testing Tests: navigated shop UI - all tiles had images
22 Days Ago
Bugfix: restore DLC prefab setup which caused NREs on dlc tile click - ran dyn ref assign Tests: clicked through all dlc items - all open
22 Days Ago
Bugfix: avoid invalidating sprites when shop opens (caused by closing page on warmup) - Moved tab opening to OnOpened, after dynamic bundle resources were loaded - also implement better handling of overwrites Too much time chasing editor boot optim skipping warmup causing weirdness Tests: could scroll in general shop page, most of the tiles were clickable, only special dlc items were throwing. Still missing icons
22 Days Ago
Bugfix: rename a field to let StoreBundleTool find replicated ref field - ran dyn ref & bundle assigns Tests: can click on featured tiles in store (but tile icon was still missing)
22 Days Ago
Update: ran "Update UI bundle assignments" - fixed it up to skip reimporting assets with correct bundle assignations Tests: checked meta files
22 Days Ago
Update: progress on reviving dynamic shop assets - restore most of ui logic to cache/uncache dynamic bundle - make storeitemdlc use dyn ref for page prefab - change store logic to create empty tiles on warmup, then fill with content once opened Tests: ran through the store in the editor. it's broken in a bunch of different ways, but seeing signs of system engaging, so progress
22 Days Ago
Update: add DynamicFullscreenSprite and DynamicGallerySprite to shadow respective fields on UI_StoreItemOverlayPage - updated StoreBundleTool to also inspect private fields marked with SerializeField - updated PageElementDrawer to render DynamicRef fields (and fix layout issues) - ran UpdateDynRefs Tests: inspected serialized prefabs
22 Days Ago
Update: Add DynamicPagePrefab to "shadow" PagePrefab field on ItemStoreTakeover - added default picker rendering to DynamicResourceRefDrawer - ran StoreBundleTool to auto-assign DynamicPagePrefab Tests: inspected the prefab changes
23 Days Ago
Update: submitting the results of script run Tests: none
23 Days Ago
Update(editor): automate copying of original resource to DynamicResourceRef - change DynamicResourceRef to be a class type (reflection modification on values is quite a bit oh hassle). Will try to fix later if I got time Tests: ran the new script, checked the modified prefabs
23 Days Ago
Update: Add DynamicResourceRef to UI_StoreTakeover - amend prop drawer to invoke the right prop Tests: none
23 Days Ago
Clean: remove PathProxyFor - update StoreBundleTool to work with DynamicResourceRef Tests: none, not in use yet
23 Days 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
23 Days 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
23 Days Ago
Buildfix: fix merge issues Tests: editor opens
23 Days Ago
Merge: from main
23 Days Ago
Merge: from hackweek_unsafescriptingaccess - Bugfix for exception on boot for missing DLL entrypoint Tests: booted into craggy on windows
23 Days 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
23 Days Ago
Merge: from main
25 Days Ago
Merge: from main Been a year, lets see how borked everything is
26 Days 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
26 Days Ago
Bugfix: cache owner entity of HittableByTrains on init Avoids lookups while running SaveComponent Tests: spawned a wooden double barricade with jobs 4 enabled
26 Days Ago
Merge: from main
26 Days 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
26 Days Ago
Clean: extract GetBatchSize and WaitForTasks into ThreadingUtils Tests: ran compile simulator
26 Days Ago
Merge: from main
26 Days 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
26 Days 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
26 Days 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
26 Days 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
26 Days 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
26 Days Ago
Update: add TerrainMeta.SampleTerrainMeshHeights Configured to engage async after have more than 4 batches of 256 pos each Tests: ran perf tests
26 Days 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
27 Days 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
27 Days Ago
Merge: from main
27 Days Ago
Bugfix: make Underwear.ValidateForPlayer MT friendly on server Fixes BasePlayer saving throwing unity exceptions Tests: changed underwear with Jobs 4
27 Days Ago
Bugfix: make FishMount.Save mt friendly - cache fish container index Tests: placed a fish in a trophy display with Jobs 4
27 Days Ago
Update: wrap InvokeHandler internals in DebugMTLock Tests: booted on craggy and ran around with EnableDebugMTLock
27 Days 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
27 Days Ago
Update: Move UnsafeScriptingAccess and DebugMTLock to Facepunch.UnityEngine - Cleanup empty asms Tests: ran relevant unit tests
27 Days Ago
Update: explicitly capture callstack when DebugMTLock is tripped - frame count can be limited to via unsafe.DebugMTLockMaxFrames (def 5) Tests: ran unit tests
27 Days 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
27 Days 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
27 Days 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