3,369 Commits over 792 Days - 0.18cph!
Optim: have HttpImage unload their images when store tabs are hidden
Need to go through all the screens and verify they get unloaded correctly
Tests: inspected general tab's grid contents while being ingame and toggling menu
Optim: HttpImage - mode texture decoding to worker threads
- added WebUtil.DownloadTextureTemp that uses DownloadHandlerTexture
- disabled texture activation rate limit
Now only a tiny hitch is present
Tests: navigated to store General tab
Optim: HttpImage - rate limit texture activation rate (2 per frame)
Helps with General tab opening, but feels too limiting
Tests: navigated to general tab of store
Update: Add HttpImage.MissingSprite
- reroute all dynamic sprites to MissingSprite
- added store.HttpImageFailLoads to simulate loading failure
Tests: navigated store with failloads 1, skin tiles need fixing
Bugfix(editor): StoreBundleTool - fix missmatching file extension, part 1/4
- ran Update Urls(force)
Tests: navigated through store tabs, only 1 image failing to download
▍▆▄▅▉▋▆▇▆▅▇▉█▇▍ ▇▉▇▄▄▋▊▍▆▌▍█▇▆▅ ▉ ▋▊▉█▇▍▍▉ ▉▅ ▆▋ ▍▄ ▊█▇▇▍▋ ▌▄▌▊▆▇▌▆ ▊▇▍▄ ▅▉▊▍▌▍▉█▉ ▌█▍▉▌▍▆▆█ ▅▍▇▇ ▋▋▌▍▅▄▄▊▌▆ ▅▅▊▇▇▋ ▉▇▋▉ ▆▄▊▍▄█ ▇▊▄▆▆ ▍▊▌▌▍▅▌▌▉▇▌▄▆▋▇ ▆▉▌█▍ ▋▆▋▄ ▊▅▌ ▍▋▊ █▊▊▄▆█▋██▊ ▊▉▆ ▆▇▄▇▅▋▅▌ ▌▊▆ █▊▍▋▆ ▌▆ ▍▅▌▍▆▇ ▅█▌ █▄▇ ▋▆▆ ▄▉▋▊▋▋▅▉▋▊▍▇ ▉▉▉ ▍▆▊█▊█ ▇▇▄▊ ▅▋▌▋▌█▌▄ ▆▊▇ ▄▉▄ ▉ ▌▉▅▆▆ ▄▊▌▇▉▋▋▇
Clean(editor): StoreBundleTool - get rid of last Task usage
Tests: ran Update Urls (force)
Update: StoreBundleTool - improvements and optims
- add a "force" version of Update Urls, incase we got desync between local and remote states
- only run blurhash generation for invalid(or bypassed) image hashes
- shuffle task scheduling to run as much as possible in the background
- support multiple asset path prefixes for cases not in the store folder
Tests: ran Update Urls (force), most upload tasks timeout (rip)
Update: StoreBundleTool - fill in image upload logic
- changed url format
- ran "Update Urls"
Tests: ran full Update Urls - manifest grabbing works, but uploading gets stuck
Merge: from ui_store_slim_ram/blurhash
- New: HttpImage now know how to render blurhash images as loading placeholders
Tests: navigated through store
Bugfix: if httpimagedelay expires, use results of first request that completed
Tests: navigated store with httpimagedelay 10 and waiting till it expired
Update: generate blur textures of matching aspect ratio to original image
Tests: inspected store with httpimagedelay
Update: StoreBundleTool improvements
- deduplicate serialized objects to reduce number of saves
- deduplicate ProxyPaths to reduce number of field-callback invocations
- document loss of data and why it happens
Tests: ran the script
Bugfix: HttpImage - create blurhash sprite when one is needed
Tests: navigated to store general page, saw the background change to blueish, dlc page is redish
Bugfix: clamp color channels when creating a blurhash texture
Tests: navigated through store, no more color splodges
Update: ran StoreBundleTool to assign blur hashes
Tests: inspected store with httpimagedelay
Bugfix(editor): read textures as srgb data when able to
Tests: visualized produced blurhash
Update(editor): minor cleanup of CalculateBlurHash
All experiments to async load textures failed, so committing to this version
Tests: inspected a couple produced blur hashes
Update(editor): StoreBundleTool - add in logic to generate BlurHash for dynamic sprites
Tests: works, but slow and produces wrong hashes
Update: back every dynamic sprite url in store with a blur hash field
Going to setup data next
Tests: compiles
Update: license file for blurhash
Tests: none
Update: HttpImage - add option to generate loading image from BlurHash
- using bf58763 release dll from from https://github.com/MarkusPalcer/blurhash.net
- add debug convar shop.loaddelay to test loading images
- Stop UI_StoreItemTile from deactivating it's cover image
- httpImage no longer hides it's targetted image when loading a texture if it has a loading texture
Tests: navigated and clicked through various store views
Merge: from serverprofiler_disablememtracking
- Bugfix for WatchAllocs failing to export snapshot almost always
Tests: none, trivial change
Bugfix: ServerProfiler - don't record WS/VS system memory, as there's an untracked data corruption
Was causing WatchAllocs to fail to export 80% of the time
Tests: none, trivial change
Update: store DLC background is now dynamically loaded
Tests: opened the page, saw it loading in. swapped tabs, opened pack views
Bugfix(editor): StoreBundleTool - fix bundle assignment setting stale bundle value to props
Tests: ran it on a modified prefab
Update: convert store's general tab background images to be dynamically loaded from bundles and backend
Tests: navigated to general tab and scrolled by. flipped between tabs
Bugfix: fix pack overlay missing images for buttons or main section
Tests: clicked through a couple packs, clicked on all carousel buttons
Update: start saving image StoreITemOverlay's image URLs
- adjust field naming so automation can find and fill in urls
- ran automation
Tests: navigated to bowless crossbow page, some textures are missing (expected)
Bugfix: ensure CoverImage is active when we succesfully load the image
This makes FactoryDoor render correctly
Tests: checked store for factory door
Update: fixup SkinTile to use CoverImage instead of RawImage
- get rid of SkinTile_General that did above but used in only couple places
Tests: navigated through all of store, everything looks correct, only barn door is missing (y tho)
Update: make store page fallback to assets from UI bundle if failed to load textures from backend
- item tile now only initializes once it's shown (as was intended this entire time)
- fixed duplicating OnImageLoaded callbacks
- reactive cover image if httpImage failed
Tests: navigated through store - right images are in place, but wrong layout. need to figure out how to unify it all
Update(editor): UpdateImageUrls - add progress bar and generalize field lookups by naming convention
Tests: ran script with artificial delays during image upload stage
Update(editor): UpdateImageUrls automation - scans referenced store textures and tries to upload changed, while fixing up urls
Tests: most of store UI is now missing images (as there's no backend content)
Bugfix: avoid MRU modification when accessing it in BasePlayer.Save
Originally intended implementation, looks like I derped awhile ago.
Tests: booted into craggy with Jobs 4
Update: rewrite prefab scanning to work via SerializedObject/Prop
Unity already solves working with structs, so I'll just use their tech
Tests: partially wrote out url assignment automation, it assigns a struct field. ran bundle assignation
Update: bring over crystalar store prefabs, setup with dynamic refs
- fix a bug with property drawer not being able to handle null/no selection
- run bundle assignation script
Tests: navigated through store in editor, saw it there. clicked to it's page, all sprites and vids were there
Merge: from main
- some bits were manually resolved, will need updating menu prefabs
Merge: from async_serveroccl_gen
- Bugfix for exception about profiler being not available on server boot
Tests: booted craggy
Clean(editor): a bit more dead code removal
Tests: used LoadMapTool to investigate server occlusion concerns
Clean: remove profiler disabling on boot
Was temp measure code that slipped in
Tests: none, trivial change
Merge: from mt_snapshot_saving
- Bugfixes for saving corpse and skipped storage boxes in Jobs 4 mode
Tests: spawned and interacted with them