3,419 Commits over 792 Days - 0.18cph!
▇ ▆▋▊▉▇▅▆ ▄▋▄▇▅▌ ▋▅▊▊▌ ▌▌█▍▉▅▊▊▇ ▅▌▉▉ ▆▍▆▇█▉▋▉ ▅▅ ▊▍▌▌▉▉▊▌▇▆▋▅▋▍▇ ▅█▌▊▋▅▅▆ ▉▄▅▊ ▇▋▄▍ ▇▊▊▋▄▋▆ ▄▅▋▆▉▆▋▄▆▇▄▆▄▌ ▌▇▄▉▊▆▌█▍ ▆▅ ▆▆██▄▅▇█ ▅▌▉▍▌ ▊▍▌ ▍▌▆▇█▄
Cherrypick of
165805 from mt_snapshot_saving
Optim: defer loading of small atlases, and pack them into ui dynamic bundle
Prevents loading of ~30 atlases (original and small), which saves another ~250MB
Tests: booted stnadalone build and compared snapshots. navigated to store with failloads and made sure small atlas versions are picked up
Merge: from mt_snapshot_saving
- Bugfix for accessing null buffer on non-main thread
Tests: booted to Craggy
Bugfix: ensure thread-static buffer is initialized on all threads
Tests: booted into craggy
Merge: from ui_store_slim_ram
- Bugfix for Glowing Wallpaper page flashlight not working
Tests: navigated to page with delay and fail loads on and off
Bugfix: bring back original flashlight blend shader
Fixes ugly light gradient in glowing wallpaper page
Tests: navigated to glowing wallpaper pack page
Clean: get rid of dead props on StoreFlashlightReveal
Tests: none, trivial change
Merge: from mt_snapshot_saving
- Bugfix for string serialization sending wrong data in Jobs 4 (and potentially inflating memory)
Tests: spawned a bunch of cows on Craggy with jobs 4
Bugfix: make NetWrite.String thread safe by marking buffer ThreadStatic
Tests: with jobs 4 spawned 20 cows on craggy
Update: make StoreFlashlightReveal support dynamic refs and httpimage
- OverlayPage now controls flashlight reveal
- ran update image urls
Tests: opened glowing wallpaper page, works with blur hashes and fallback loads, but doesn't look exactly as before
Bugfix(editor): StoreBundleTool - update stale blurhashes when using an already uploaded image
Tests: ran Update Image Urls for a prefab where I setup some new fields
Update: HttpImage now calls OnLoad callback with resulting texture/sprite
Needed for upcoming flashlight effect
Tests: naveigated through store
Merge: from ui_store_slim_ram
- Bugfix: carousel buttons no longer have garbage textures when opening an store overlay page
Tests: opened an overlay page
Bugfix: HttpImage - when picking nearest mip, use a cpu-side copy
Doing gpu side copy seems to cause garbage if mip isn't streamed in
Tests: made a standalone build and navigated to pack page, carousel buttons were okay
Merge: from ui_store_slim_ram
- Update: store assets are taken from the backend
- Optim: store assets are loaded and unloaded dynamically
Tests: navigated through various store pages with various debug overrides
Bugfix: fix invalid takeover data for crystal ak
Accidentally copied pack even though it hasn't one when manually resolving
Tests: navigated to page, crystal ak displays as intended
Bugfix: store.refresh now restarts the tab
Fixes tab having only default-initialized tiles
Tests: ran refresh while on general tab
█▇▌▊▇▉▅▊ ▋▋▄ █▇▉▊▇▉█ ▋▆▇▇▆▇▇ ▍▅▊▇▍▄▇█▇ ▅▇▇▄▆ ▄▆█▍ ▉▄▌█▇ ▅▅▆ ▄▍▄▌▄▅▉ ▇▇ ▇▉▇▋▋▊▄▄▇▇▄█ ▅▊▄▍█▋▆█▉ ▋█ ▅▊▍███▅▅▌ ▋▍▋ ▊▄▅▋▇ ▌█▄ ▌▅▌▌▇ ▄▍▉█▆▌▋
Update: HttpImage - permit multiple requests for same url
Fixes clurred images for overlay pages where first button shares sprite with full screen image but has different settings
Tests: navigated to coconut underwear page - loaded both
Update: HttpImage - pick a higher mip, seems to look better when downsampled
Tests: navigated to pack overlay page
Update: reimplement shop.unloadAssets convar
Tests: set it to 0, navigated to shop and out, confirmed bundle was still loaded via listdynamic, set to 1, confirmed it was gone via listdynamic
Clean: get rid of icon precaching from store bundle
All bundle assets are now loaded on demand, so this code was both useless and harmful
Tests: navigated through store with failloads 1 - all images present
Clean: remove unnecessary extra unload when DLC tab closes/becomes hidden
Tests: navigated to DLC tab with delay and failloads convars
Optim: lazy load fallback sprite for DLC item view
Tests: opened DLC tab of store with failloads 0 and 1
Update: HttpImage - add support for different configured images from 1 url
Fixes overlay page using downsampled mip for full screen image because 2 httpimage comps share an url
Tests: navigated to crossbow pack overlay and clicked 2nd button
Bugfix: StoreItemOverlayPage - fix invalid refcounting
- also get rid of gallery sprite fallback when loading from url
Tests: inspected refcounts during opening and closing of overlay
Bugfix: HttpImage - avoid duplication of refcount
Tests: inspected refcounts of textures after opening pack overlays
Bugfix: HttpImage - only flush stale texture cache when refcount is 0
Fixes sprites being nuked during some interactions
Tests: navigated to pack overlay and clicked through bottom buttons
Optim: make StoreItemTile lazy load fallback sprite
Tests: navigated to general tab with failload 0 and 1
Update: HttpImage - add option to use a best-fit mip
- move httpimage comp to image on OverlayCarouselButton
Tests: navigated to pack pages
Optim: convert overlay's carousel buttons to lazy load missing sprites
- also cleaned some now-dead properties
Tests: navigated to pack overlay page with both failloads 0 and 1
Optim: have StoreItemOverlayPage load main image from bundle only on fail
Tests: navigated to pack page with failload 1, clicked through buttons
Optim: HttpImage - only load dynamic sprites if HttpImage failed to fetch
- converted UI_StoreBackground to use it
Tests: navigated to general store tab, tested with delay, fail load and fail-then-succeed load
Bugfix: HttpImage prefers sprites for CoverImage, fixes atlas being drawn
Tests: inspected spawned UI tiles, they used sprite instead of texture
Bugfix: if 2 urls get requested and 1 throttled, make sure it goes via cache
Tests: navigated to store -> general tab quickly, no exceptions
Update: ran Update Urls again
Looks like couple blurhashes got missed
Tests: navigated to dlc page with httpimageloaddelay
Optim: convert DLC tab leftovers to httpimage
- ran Assign Bundle and Update Urls
Tests: navigated to it with httpimagedelay and httpimagefailloads and normal - saw expected textures/blurs
Buildfix: missing files
Tests:none
Update: added assetbundles.listdynamic for debugging
Tests: checked output as I navigated through menus and connected/disconnected to server
Clean: get rid of forceOpen hack, use OnBecomeVisible instead
Tests: clicked through store tabs, joined a server and toggled menu and various screens. disconnected
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