4,190 Commits over 1,219 Days - 0.14cph!
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??)
Make entering & exiting the deep sea work when you are inside a vehicle
- target the teleport on the vehicle instead of the player
- a bunch of debugging to get it doing the right order of switching groups without the vehicle being deleted on the client
- dismount player before teleport, remount after (may have to revisit network groups and add proper support to get it working when standing parented on a tugboat instead of mounted in a seat)
merge from deep_sea/spawn_command -> deep_sea
Fix spawn command spawning boats at the bottom of the ocean
- annoying in general but doesn't work when there is no ocean floor
- include water raycast layer when above the water, otherwise spawn on the bottom of ocean when below water
move islands sub-branch as well
make deep_sea branch a sub-branch of the naval update
Temp fix for ValidBounds still ignoring everything outside of the terrain by adding a check for deep ocean bounds
- fix colliders not being spawned at correct positions
- fix entity bounds not matching up with the intented bounds
- correct ValidBounds size
Add admin commands for testing
- enterdeepsea
- leavedeepsea
- createdeepsea (respawns the deep sea entity, not "gracefully recreate it")
Prevent players from accidently ent killing important entities (like the deep seas)
Move the deep sea entity to it's position before it's spawned instead of inside ServerInit()
Get rid of the extra prefab for the "deep sea", instead put everything inside the DeepSea entity
- spawn it at 0,0,0 then teleport it to -6000
Increase network grid area from 8192 ->
16384 so it covers from -8k to +8k
- increase cell count to 512 so network grids remain 32m
Deep sea is located from -8000 -> -4000 on the map
- add 4k area to xAxis of ValidBounds (-4000 -> 4000) into (-8000 -> 4000)
- add 4k area to xAxis of physics bounds (-5000 -> 5000) into (-9000 -> 5000)
Create deep sea manager entity
- spawn as an important entity
- create center of map so we don't have to worry about bounds
Create basic deep sea prefab that contains box colliders around the ocean
- entity will spawn the "deep sea" prefab
Figure out why blocks don't want to connect to their opposite side
Connect together faces when entity links update
Fix debug points for walls
Add debug points to faces so we can ddraw better visualizations for the faces
Fix backface check for 180 degree faces not working due to needing a bigger offset with the normal
Make logging "a little clearer"
Crappy visualization method of connected links so I can make a video of it working
Handle case of one face connecting to two other faces with the same angle by choosing the face that is closer
- bottom face of wall connecting to top + bottom faces of a wall via the side socket
- fixes so bottom <-> bottom and top <-> top since they are closer
Fix dot product of normals missing `Mathf.Abs()` causing it not to catch special case of 180 degrees
Temp fix for TextTable Pooling error NRE so I can use breakpoints
Commit bunch of stuff
- setup faces & edges when setting up entity links (edges are essentially groups of entity links)
- add 'printfaces' command to debug what faces are closest and what edges are considered connected
- after a "bit" of trial and error grab the old "CalculateAngle()" method from previous hackweek and rewrite it
- be greedy and recalculate all closest faces whenever links change (instead of being smart with caching, it's a hackweek)
- all that should be left is debugging why certain faces don't want to consider themselves connection candidates
Rename BlockFace -> BlockFaceDefinition so I can make runtime types with normal names
Define sockets for square floor
Define faces and edges for a normal wall
Proper MVP implementation of "full base heating"
- add ability to define faces & edges of each building block
- draw gizmos to visually confirm what you are defining
Fix servers in modded tab "randomly" not appearing in server browser
merge from fix_newmenu_inventory_threadsafe
Switch SteamInventoryRecipeIndex & UI_SteamInventoryCrafting to iterate over steam inventory items on the main thread (budgetted) instead of on background thread as it causes race condition
Add generic method to iterate over a list with a set budget
merge from fix_rest_static_fields_disabling -> main
Codegen ResetStaticFields
Disable applying "ResetStaticFields" unless domain reload is disabled
Move "IsSkipDomainReloadEnabled" to it's own class so it can be referenced by the codegen
merge from fix_hardcore_spawning_mlrs -> main