139,499 Commits over 4,505 Days - 1.29cph!
Fixed potential NRE in FadeCanvasGroup
optimised ao textures for vehicles, generic textures and misc items.
halved 2k -> 1k with almost zero visual difference, not enough to warrant the double res
328 MB -> 192 MB vram
merge from Rabbit_test -> critter_animals
add WIP frog "interested" state, which currently makes it look for shallow water and then start croaking
russian roulette;
- updated game model art
- added both ammo model types to indicate rounds in play for applicable rev types
- added chain connector model for python pick cases
- added preview baked textures
- updated material and prefab
Fix navmesh generating in places in shouldn't, potential fix for "navmesh failed to be created", and optimization of NPC path following
merge from Frog_Branch -> critter_animals
Update: submitting the results of script run
Tests: none
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
Path following optimizations (around double perf), also a bunch of instrumentation and a benchmark setup:
- only string pull the beginning of the path, we will string pull again eventually so not need to run the algo for the whole path (steering agents only)
- only re-string pull the current path if we moved past a threshold or passed a path corner, not every frame (steering agents only)
- when chasing a moving target, instead of recalculating a new path, try to extend the previous path a bit instead to save time
- use unity transform SetPositionAndRotation instead of setting both independantly
- fuse some native method calls, so that we only call one method and skip the interop cost for the other call
- do not check corridor validity if no tile has changed since pathing
Update: Add DynamicResourceRef to UI_StoreTakeover
- amend prop drawer to invoke the right prop
Tests: none
fix animations of frogs not playing, skating sideways, and movement speed issues
merge from main -> fix_hotbar_swap_overstack
Fix hotbar swapping not working with overstacks
- move the RPC completely serverside so it can swap overstacks (thinking was we didn't need a network++ originally if we kept it clientside but forgot swapping overstacks is awkward)
- keep existing admin checks
optimised props ao textures as it was the same issue with 227 of them, most carrying sources far bigger than they ship at and storing a single channel as rgb.
resized to existing max cap 110 files
rgb -> 8-bit grey 183 files
halved 2k -> 1k 24 files
146.3 MB -> 96.3 MB vram
merge from main -> base_occlusion
Small buffs for unused pies, doubled the bonus duration for: bigcat, hunters, pork (900→1800), fish (600→1200), chicken (300→600)
Hunters pie bleed reduction up to 90% from 75%
optimised deployable ao textures where applicable. 245 of them, most carrying sources far bigger than they ship at and storing a single channel as rgb.
resized to existing cap 126 files
rgb -> 8-bit grey 148 files
halved 2k -> 1k 47 files
186.6 MB -> 92.6 MB vram
ao is sampled from the green channel so rgb storage was never doing anything.
Refactor and cleanup of code
Clean: remove PathProxyFor
- update StoreBundleTool to work with DynamicResourceRef
Tests: none, not in use yet
hab armour split off into chunks so they can break off individually.
when all chunks are gone, it leaves the frame of the armour.
re-exported hab armour and added armour chunks.
optimised weapon ao textures. 68 were oversized on disk and nearly all were storing a
single channel as rgb. no weapons ships above 1024 now.
max size 2048 -> 1024 (52 files)
on disk 4096/2048 -> 1024/512/256 (68 files)
bit depth rgb -> 8-bit grey (58 files)
vram 114.8 MB -> 28.6 MB
ao convention on weapons is half the albedo, so 1024 against the usual 2048 albedo.
80 already did this, we were just inconsistent about it. we could half again on a per asset basis depending on size of object.
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
Glass AR - texture, material, naming updates, experimental SSS shader
Add tunble drone detonate distance convar.
possible NRE fix for mannequins
optimised darts textures and max sizes. we were shipping the radiation dart at 4k on all textures.
RadiationDart_AO 4096 -> 512
RadiationDart_bc 4096 -> 1024
RadiationDart_mg 4096 -> 1024
RadiationDart_nrm 4096 -> 1024
42.7 MB → 2.17 MB VRAM
looking at other textures that are unnecessarily big too to optimise where applicable.
Fix prevent building volumes being baked into the navmesh instead of ignored
Medkit now gives -20 radiation, same as two individual syringes
Boat Planner tech tree cost down from 120 to 30
Longsword swing radius 0.3 > 0.4, swing delay 2 > 1.5. Slightly more accurate swings and less time between swings.
merge from vehicle_pooling
Add a "restoreHierarchy" field to poolables, flip it only on vehicles to minimize the amount of affected features by vehicle pooling - fixes UI pooling issues.
Merge from render_pipeline_testing
animation imports + keyframe curve editor
Deleted old prefab location
Ladder collision and LOD setup
Merge from hackweek_random_skin_crafting
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
Adjusted frame for triangle top tier hatch
Fixed an issue where the Deferred+ lighting toggle wasn't been set currently when entering playmode due to the way we copy the pipeline asset
Buildfix: fix merge issues
Tests: editor opens