4,734 Commits over 762 Days - 0.26cph!
Ensure players are properly killed
Dont do any clipping checks for AI on the PT Boat and RHIB
Add new ClippingCheckAiMode to BaseVehicle.Server
Let's us skip clipping checks for AI, or apply to both AI and players
scientist_boat_ai -> naval_update
Boat AI will automatically turn on the lights if its nighttime, keeps them off if its day
Better lights on the RHIB
Use raycasts for avoidance instead. Spherecasts are just too unstable
When boat dies kill all remaining scientist on board
scientist_boat_ai -> naval_update
Pass mount point for spawning, dont rely on position
scientist_boat_ai -> naval_update
Stop info box breaking with 'null action'
Dont ram a player if they are way higher up on an island
Stop group members including themselves in the pursuit notifications
This prevents an infinite loop when pursuing a player
Better scientist mount position spawning code
Compile fixes
Ensure boats have minimum: driver and turrets
Then at least 1 other
Then we coin flip each subsequent scientist
Spawn rhibs facing towards the deep sea centre
naval_update -> pt_boat_2
unskinned_windmill -> main
main -> naval_update (BREAKING)
unskinned_windmill -> main
Fixed more rotational weirdness
Use a guide prefab so you can see the sails of the Windmill when you place it down
Start the sails pointing towards the player rather than off to the left everytime
https://files.facepunch.com/ianhenderson/1b1311b1/Unity_4IqvKXIbrW.mp4
main -> unskinned_windmill
syncvar_Improvements_2 -> main
syncvar_improvements_2 -> main
Reading is now down 200~ milliseconds
- Use immediate reading mode
- Only write symbols if we have them
Introduce a cache for BaseNetworkable inherited types. Slighly speeds up post processing (300 ms or so)
Remove LINQ usage on ILPostProcessor hook hot loops
ddraw_server_wrappings -> main
Add text,box,capsule server bindings
Add DDraw BasePlayer overrides to the Server (this lets you call DDraw.Line and pass in a player to forward the console command to)
Add DDraw.BroadcastLine, DDraw.BroadcastSphere etc, this lets us forward the ddraw to all players automatically without specifing a player.
allocation_reductions -> main
allocation_reductions -> main
Preset list capacity on active renderer effects (stops list reallocations at runtime)
Stop UI_Hero_Infobox keeping running its update method for no reason when the menu is hidden.
Restore the update loop when menu is open again.
Saves 40 bytes a frame
Stop PostProcessingLayer stealing a whole 1 KB/s
This was due to profiling using a formatted string, a very minor mistake that we paid in allocations on every client.
- Profiling was using a formatted string in a hot loop
- Hide this behind convar: graphics.detailed_postprocessing_profiling
Fix DLSS breaking with GetTemporary.
Pass a texture descriptor struct to ask for a random write texture.
Dont allocate new RenderTextures every frame in PsotProcessLayer.RenderScale()
Lets use RenderTexture.GetTemporary instead
Savings in render loop (roughly):
- AsyncTextureLoad.Texture (.4 ms)
- Texture2D.LoadRawTextureData (.1 ms)
Save 40 bytes a frame in UIChat.
'FindWith' was allocating a lambda, replace with a simple loop
Stop HurtOverlay allocating 36 bytes a frame.
Was boxing a float into Mathf.Max() with a single value?
unskinned_windmill -> main