branchrust_reboot/main/global_networked_basescancel
398 Commits over 153 Days - 0.11cph!
Disable instancing on deployables it was unintentionally left on
Enable instancing & global networking on large furnace
Add button in editor to list every prefab with instanced rendering enabled
Remove instancing from metal shopfront due to glass not working & incase it murders performance if I fix it
Fix wooden shopfront door
Fix all door prefabs
- external gates
- cell door
- garage door
- square + triangle ladder hatch
- fence door
- double doors
Remove `StripEmptyChildren` from garage door & ladder hatch to fix codelocks
Remove instanced rendering from sleeping bag
Added `OnKilled()` hook to BaseNetworkable so it broadcasts deleted building blocks outside of network range & doesn't send them when you reconnect
Change `LogError` to `LogWarning` when calling Initialize twice
Remove `StripEmptyChildren` component from doors: was causing NRE when trying to attach codelock / keylock
Change shadow material from `watersplash-1` to `shadows`
Some ints not reset when disconnecting from server
Missed clearing recycledCells list
Fixed some Dictionarys not cleared when disconnecting
Ensure initialization and destroy are called only once (to avoid nativearray dispose errors)
Fix `print_global_entities` not actually printing the output
Fix error / crash when reconnecting to server
Native collection allocation / free fixes (we were not cleaning things up correctly when leaving and re-joining a server)
Fixed issues with construction guides not preserving shadowCastingMode, receiveShadows and lightProbeUsage from their source (causing shadow proxies to render as duplicate guide meshes)
Removing unused / commented out code (InstancedEntityScheduler in DoGameSetup)
Fixed BuildingBlock.currentGrade early exit when null
Renmoving unused code (InstancedMeshTracker)
Added maxpacketsize_globaltrees and maxpacketsize_globalentities convars so we can test larger chunk sizes
Renamed GlobalNetworkHandler.MaxPerPacket to maxEntitiesPerPacket and made it const
Comment fix
== vs >=
Fixed profiler sample mismatch in SendEntityDelete
Missing whitespace at end of .meta?
Renamed `StripChildren` to `StripEmptyChildren` to clear up function of component
Fix empty children stripping to ensure normal stripping runs before empty gameobject stripping
Fix GlobalNetworkHandler not picking up all entities when first loaded into an existing save
Merge from main -> global_networked_bases
Mark if mesh is the highest LOD
Don't scale highest LOD by FOV or quality setting (to ensure all prefabs cull at the same distance regardless of your settings)
Add `supportsComputeShaders` to client performance analytics
Fix menu slider for "building distance" not having correct translate phrase
Fix GPU culling data not being updated when visibility of mesh is changed (to hide windmills & sam site placeholders inside network range)
Added `global_networked_bases` convar to disable networking of global building blocks server side
Log time taken to send all global entities to players
Merge from main -> global_networked_bases
Fixed cullAllChildren not always culling all children (anything I say here will only make things worse)
Tiny optimization in PrefabPreProcess when cullAllChildren is true (not what it sounds like)
Fixed --instanced-rendering not enabling instanced rendering
Fix instanced meshes with 0 count writing 0 index & the culling system reading "0-700k" as the range for that mesh
Change `sliceIndexes` from a uint to a struct that has `startIndex` and `length` instead of reading the next index
Rename `sliceIndexes` -> `renderSlices`
Rename `sliceLengths` -> `sliceCounts`
Reconvert building blocks for instanced rendering
Mark roofs & windows as "global networked" (again?)
Start removing instanced rendering configs from non building block entities
Move culling mesh counts to GPUCulling class
Remove all workshop skin support since it is causing issues & we can do it properly later