4,410 Commits over 1,249 Days - 0.15cph!
merge from fix_boat_paste -> naval_update
Add error log indicating what entity failed to paste when exception was thrown
Fix NRE when loading a steering wheel without SteeringWheel protobuf
- fixes pasting boats in completely broken physics state
- old boat pastes still may not work
Increase deep sea terrain distance from 600m -> 750m
merge from deep_sea_repel -> naval_update
Fix NRE when checking if vehicle is near portal and needs repel force but portal / deep sea entity hasn't been spawned yet
Add collider to the back of the deep sea portals so it's not possible to get fully through the trigger but not teleported
Add repel force for vehicles that aren't allowed to teleport before they reach the entrance & exit portal
- split old repel code into separate method
- check both portal distance and normal ValidBounds distance on the main island
- only check portal distance in deep sea
Split into `CanTeleportToDeepSea()` and `CanTeleportToMainIsland()` incase we need that functionality later, both call the same "can this entity teleport" method for now
Fix compile error that didn't merge from main
merge from fix_rhib_teleport -> naval_update
Add rhib and scientist RHIB to the vehicle whitelist
merge from fix_rhib_teleport -> navaL_update
Improve "CanEntityTeleport" method
- add "IsMounted" check because mounted != parented
- check if any passengers are NPCs, if so block (extra safety against scientist RHIBs teleporting
merge from main -> naval_update
merge from fix_terrain_texturing_alloc -> main
Fix TerrainTexutring NativeArray changes having the incorrect types
- when using managed arrays it will automatically convert to Color
- when using NativeArray your type needs to match the texture pixel format
merge from main -> fix_terrain_texture_alloc
merge from main -> naval_update
merge from fix_tree_impostors -> naval_update
Add helper property for "Is the local player in the deep sea"
Split impostor batches based on if their positions are inside the deep sea or not
Only render deep sea batches when client is in the deep sea and vise versa for main island
Cherrypick
134447 (fix steam being accessed too soon in client analytics)
merge from fix_steam_init_analytics -> naval_update
Fix steam analytics occasionally throwing errors due to trying to get the steam ID for analytics before steam has been initialized in the editor
merge from fix_terrain_texturing_alloc -> main
Switch TerrainTexturing from managed array Color[] to NativeArray<Color> and use the temp allocator
- reduces heap watermark being pushed up while loading map, though watermark is pushed higher by other parts of client loading still
merge from fix_deep_sea_portal_far -> naval_update
Try to keep the deep sea portal 600m from the edge of the map so it leaves space for oil rigs rather than being 1.5km+ from shore
- still clamp to maximum distance of 4km from center of map
merge from fix_deep_sea_network_layer -> naval_update
Fix not being subscribed to deep sea network group, switch from using center of network grid bounds to using the layer
Fix deep sea network groups being visible if you get close enough to the border, and vise-versa for main island network groups
- move deep sea groups onto their own layer despite being in the same physical height
merge from fix_ghost_ship_parenting -> naval_update
Add a couple of `parent.ShouldChildrenInheritNetworkGroup()` that were missing beside existing `ShouldInheritNetworkGroup()` calls
- should fix NPCs parented to ghost ships being global networked instead of local
merge from qol_dump_improvements -> main
Potential fix for DontDestroyInScene having too many objects
More improvements
- add profiler samples around each area so you can see why the whole dump takes 5+ seconds
- add Hierarchy.Total that shows total size of each part of hierarchy + all children (so you can see what hierarchy has 100k+ components)
merge from main -> qol_dump_improvments
merge from fix_blueprint_itemid -> main
Revert advanced BP fragment to old item id and apply FreezeItemid label
Prevent ItemDefinition from recaulating it's ItemId if the asset has the `FreezeItemId` label
- exposing as label instead of bool so people don't actively use this hack
Number of improvements to the dump command
- TLDR sometimes the scene files were correct, sometimes the overall information was correct, now scenes & overall information should be correct
- create a dump for the "DontDestroyOnLoad" scene (it's not really a scene but contains all our PrefabWarmup components)
- for certain dump text files, create separate files for active vs inactive objects
- fix only dumping the active roots and not all roots, active & inactive
merge from fix_chat_message_logs -> main
Try to fix linux compile error again
merge from fix_chat_messages_logs -> main
Fix compile error on linux server build
Fix chat messages not being logged to the logfile, only to the server console