4,080 Commits over 1,188 Days - 0.14cph!
merge from deep_sea/networking -> deep_sea
Switch the deep sea island test prefab to only network to deep sea
Keep the `globalBroadcast` bool the same instead of switching to a "SpecialNetworkGroup" bool, instead make the enum "GlobalNetworkBehavior"
- switch between 3 network groups (global, main island, deep sea) based on the enum
- add the correct network group to subscriptions based on the bounds of the network group you are part of
- re-add tooltip to `globalBroadcast` we removed
Add multiple global network groups
- entire server
- main island only
- deep sea only
Set global network group ids as constants
Create enum to represent different types of global network groups
Add enum to BaseEnitty (but keep globalBroadcast bool)
update deep_sea/networking
merge from deep_sea/portals -> deep_sea
Add the `Vehicle Large` layer to the portal trigger so it works with tugboats for testing
merge from naval_update -> deep_sea
merge from main -> naval_update
- stomped mannequin material changes on naval_update branch
Fix portal teleport logic and add debugging of portal teleport attempts to ensure it's trying the right locations
Try to find a free spawn location when entering the portal
- keep trying spots alongside the portal until a free one is found
Fix map not working when deep sea islands are spawned because the tutorial island map marker covers the entire map with a layer of water
merge from deep_sea/portals -> deep_sea
Rename IsInDeepSea(Vector3) -> IsInsideDeepSea(Vector3) to match the entity overload naming
Move portal teleport code into DeepSeaManager.Portals.cs
Fix OnEntityEnter being called on clientside entities from the serverside TriggerDeepSeaPortal
Get portals enter & exit at the "same position" instead of always spawning player in the center
- switch to creating portals with different rotations instead of different sizes so we can easily adjust the enter & exit position for portals via localPosition
- ensure entiites enter & exit portals at the same relative position (enter north side, exit north side)
- adjust the position of the portal when entering and exiting
Dump players going back to main island offset from the main island portal instead of on spawn beach
- keep failback to put onto spawn beach incase something happens to the portals
merge from deep_sea -> naval_update
merge from deep_sea/portals -> deep_sea
Place entrance & exit ports based on the loot direction of the map
- entrance to deep sea should be on the T2 side of the map
- exit out of deep sea is on the "opposide side" so you enter & exit into one continious ocean
- example: leave left side of map, enter on right side of ocean
Include all the other prefabs updated when generating manifest
Commit AK FBX that keeps being reserialized
merge from deep_sea/portals -> deep_sea
merge from naval_update -> the correct `naval_update/deep_sea` branch
merge from naval_update -> deep_sea
merge from main -> naval_update
Bunch of work to get the portals working
- entering the portal as a player or as a vehicle will instantly teleport the the opposite side
- portals are spawned at runtime and sized to the size of the island
- portals can be spawned at any of the 4 cardinal directions of the island
- for testing leave the island from the north side and enter the deep sea on the south
- will be spawned 200m from the edge of the deep sea (in the center of the ocean for testing)
- teleport the player the frame after they enter since making the player sleep deletes the rigidbody immediately and unity doesn't like deleting physics objects inside the callback they enter the trigger (later this will be hidden by effects)
- refactor the name of some code to make it nicer
- portals will show as big green boxes to make testing easier, can be toggled with `deepsea_portals_visible` convar
- fix PointEntity<T> not intializating the singleton instances as soon as possible
Change portal GUID since it somehow conflicts with the island prefab GUID
Commit .meta files for floating walkways too
Delete `private.0.meta` file that keeps popping up in plastic
Create deep sea portal entity
- trigger size is networked so we have the option of doing the visual effects on client
- entrances & exits are a single entity, change the enum to switch the behavior
Show name of prefab inside `FindPrefab` profiler scope
- inside `LoadFromResources` and `PrefabPreProcess.Process` scopes so we can see what entities are specifically taking time to initialize when loading (in craggy)
Regenerate "ResetStaticFields" for DeepSeaManager
Allow binoculars to show distances >1000m (only for admins) so we can measure distances easier
merge from deep_sea/collider_debug -> deep_sea
Add `print_colliders_per_prefab`
- will print out the breakdown of colliders for each type of entity
- can optionally supply a numeric cell id to breakdown colliders per entity only inside that certain broadphase cell
Add `print_colliders` command to print the number of colliders inside each physx broadphase cell
merge from deep_sea/networking -> deep_sea
Make single method to get all passengers: mounted in seats or standing on the boat parented
- ensures players standing on tugboat get shown a respawn screen
Teleport the tugboat if you are standing on one while running `enterdeepsea` (why did this work straight away??)