5,378 Commits over 1,522 Days - 0.15cph!
Shift up the second hotbar so it matches inventory placement
merge from main -> editor_hotbar_swap
merge from fix_instantiate_persistant_setactive -> main
Fix editor printing errors in ItemIcon.OnEnable() and QuickCraft.OnEnable()
- caused by an editor optimization to not create copies of single use prefabs (GameUI)
- however GameUI is cursed and called SetActive() from inside Awake() which caused OnDisabled() to not be called, causing some of the UI prefabs to get into weird states
- kept the optimization but locked it behind an editor pref for now until it can be properly fixed
Fix the second hotbar prefab not referencing the main inventory
Add the second hotbar to GameUI.Hud.prefab (so much for the dream of not reserializing the large UI prefabs)
Make the second hotbar a prefab instead of cloning the normal hotbar
Update the GameUI.Inventory.prefab prefab manually with only the fields we want to change (instead of the whole prefab reserializing)
Modify ContainerSourceLocalPlayer so it can override the transform it uses for `ItemIcon[] allIcons`
- the main inventory panel was parented too high and grabbing icons from different panels
- keep the parenting the same, only changing where it's fetching the icons from
merge from main -> editor_hotbar_swap
Don't render the last row of the last row of the main inventory when the 2nd hotbar is shown so it looks better when openinga and closing main inventory
Make the editor-only feature available for admins too
- NOT FOR NORMAL PLAYERS
- press Z (can rebind) to swap to a second hotbar
- enable "drawsecondhotbar" to render the second hotbar above the first
Change from hover to show the inventory contents to a button top right that expands the loadout to show the inventory items
- the hover panel was awkward when you had tons of loadouts on screen
- controlled with convar "loadoutinventorypreview"
merge from editor_fix_cpu_affinity -> main
Fix cpu_affinity not working in the editor
- manually grab it from the command line if provided and run it
Show a preview of the items in the main inventory of a loadout when hovering over it
merge from fix_serverport_editor -> main
In the editor use server.port for the connect command (if you didn't overwrite it) so you can run multiple editors on different ports
- much easier than overwriting the connect command & initialization commands inside GameSetup
merge from fix_itemmanager_domain_reload -> main
Fix ItemManager not resetting it's newer static fields
- caused NRE when entering certain scenes with SkipDomainReload enabled
Fix NRE in FinishLoadingRoutine
Remove debug logging "Debug.Log("Hit client yield");"
merge from fix_elevator_button_restart -> main
Fix elevator buttons not working after server restart until the elevator is used
- store elevator floors as EntityRef and only resolve them when building radial menu
- remove TopFloor from being networked (keep proto field) as it wasn't used for the final radial menu implementation
merge from fix_bag_nickname -> main
Change from Property -> Method so it's more clear it's doing work
Fix sleeping bags showing the old name by getting rid of the caching of player name on the client for bags and instead looking up the name via NameHelper.Get() every time it's polled (when looking at it with a hammer)
merge from codegen_timings -> main
Include the time taken for SyncVar weaving in the "SyncVar weaving Sucess" log message that already exists
Add Profiler.BeginSample() for code generator
merge from high_wall_upkeep -> main
Fix high walls that are connected to a building block without a TC not updating when the building block is destroyed
- update during decay if the TC is destroyed or doesn't match their existing building
- this could have happened with other deployables like shotgun traps but didn't really because it was only 1.5m range, not 16m range
Add "drawnearbybuildings <duration> <radius>" to show what building decay entities belong to
Add "forcedecaytick" to force every decay entity on the server to run it's decay tick (to see if walls will reconnect to a building when decay is ran)
Add ability to manually run decay ticks and bypass the "once per 10m limit"
Prevent divide by zero if the CraftAmount of a high wall blueprint is zero (don't think it's possible but best to be safe)
Fix compile error by making high_wall_upkeep replicated (even though I don't think it needs to be all the code using it can run on the client)
Fix sqrDistance still being calculated for high walls despite not being used
Switch high walls to look for oldest building block (like building priv works) instead of closest block
Move the hardcoded "16m radius" for GetNearestBuildingBlock() and the high wall specific "GetNearbyBuildingBlock" into a shared constant
merge from main -> high_wall_upkeep
Add upkeep component to the legacy & ice high walls
Move the upkeep multiplier selector (building percentage vs high wall convar) upwards into BuildingPrivlidge.Upkeep.cs
- fixes deltaTime being overwritten by the convar instead of swapping the convar <-> "20% upkeep" shown in TC
merge from main -> high_wall_upkeep
merge from reduce_server_startup_yields -> main
Manually update the "reduce_editor_startup_yields" branch
- old branch adam made to skip 10x 100ms delays in server startup in the editor
- I think it might need a WaitForFixedUpdate() but not 100ms waits
- only affects editor: doesn't change standalone builds
merge from editor_playmode_timing -> main
Print time taken to enter play mode in the editor (so we know what iteration speed is)
merge from fix_editor_disable_deepsea -> main
Don't spawn in the deep sea manager at all when it's disabled in editor preferences