128,954 Commits over 4,201 Days - 1.28cph!
merge from fix_terrain_texturing_alloc -> main
merge from upgrade_cctv_convars -> main
remove whitespace, also forgotten from last commit message:
- autoturrets and drones can now be edited by admins & developers, bypassing auth checks
Upgrade CCTV convar commands
- change CCTV setting convar to extend to all remote controllables that use an identifier
- changed name of the convar from "setcctvcameracode" -> "setrccode"
- addcctvcode and removecctv convars now accept multiple code arguments
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
halloween wallpapers texture tweaks vol2
halloween wallpapers texture tweaks
merge from main -> fix_terrain_texture_alloc
Update ent_pivot concommand description
Rework the GM:PlayerCanHearPlayersVoice rework
* Should fix ALL the issues, also made it force update everyone every 5 seconds when people are talking as well
Bump system error buffer to 256
Use list.GetEntry in other places where it is possible to use it
* This is a micro optimization, but also cleans up code a bit
Skin support for util.GetModelMeshes + optimization
Fixed an null pointer crash with sv_debug_player_use
Micro optimizations for most Lua functions returning a sequential table
Deduplicate AddConsoleCommand code (menu vs non menu)
* Now it is consistently implemented for all realms
Casino big wheel room tweaks and fixes
Removed collider from netting blocker
merge from main -> naval_update
merge from fix_tree_impostors -> naval_update
Dynamically load all gestures from `GestureCollection.Instance.AllGestures` and use their sprite for the button. Halved the looping time of looping gestures to 2.5f seconds. All gestures are working but the sprites can be improved
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
Remove the interaction timers from anchors to match the recent removal of timers from other items.
Cherrypick
134447 (fix steam being accessed too soon in client analytics)
Update: add extra TODO for UseOcclusionV2
Tests: none, trivial change
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
Update: UseOcclusionV2 - propagate networkTime to OcclusionGetRecentlySeen
Should be a smidge faster, but it's primarily to enable threading if we go that way. Also saves on profiler inhibiting the call (need to exclude it on the profiler side)
Tests: none, trivial change
Added translation strings for boat validation enum so we can show nicer toast error messages.
Clean: restructure UseOcclusionV2 code to make profiling easier
Tests: compiles in editor
Set selection scrollview content to use preferred size to prevent being able to scroll beyond elements
Cherrypick
133467 "Editor tool to find and remove incorrect / leftover entity tags"
My previous commit makes it so entities get their labels cleaned and applied correctly on every manifest run, but it doesn't clear the tags off entities that became non-entities at some point.
For that (less common) case this manual tool that I made before can be used.
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
Clean: fix ShouldSkipServerOcclusSion typo
English is hard
Tests: editor compiles
Setup prevent building volume on small engine.
▋▇▄▇ ▉▍▆ ▍▉█ ▍▌▍▌▊▆▆▋▆█ ▋▋ ▆▆▊▄▌▍▇▋▋ ▅▍▍ ▊▊▅▆▉▄▆▄█ █▆ ▋▋ ▋▆▅ █▊ █▆▉▍▄▌ ▋█▅ (▇▊▌▋▋▍ ▄▆▄▄ ▄▅▆▆▊▇▌▍). ▌▇▅▊ ▆▆▅▋▋▇▊ ▉▇█▄▍▌█ ▉▋▉▋▊█▆▄██▆ ▄▍ ▊▆▌ ▌▅▄▋▇▊-▉▄▆▋ ▊█▋ ▉▅▇▇▆
Optim: UseOcclusionV2 - OcclusionFrameCache uses NetIDs instead of BasePlayer pairs
This avoids ObjectEqualityComparer which has overhead because of unity-null checks
Tests: none, trivial change
Optim: UseOcclusionV2 - reduce lastPlayerVisibility hash lookups
Should help OcclusionGatherLostPairsToSend internal loop to stay hot. Also gets rid of small funcs that are inhibited by profiler
Tests: ran in and out of occlusion
m15 viewmodel fixes
- updated rigged file
- emissive now working
- fixed skinning issues
- removed shaking on ADS Idle
- Ironsights now perfect
Rewrite how entity labels are applied in BaseNetworkable DoPrepare, now also removes old incorrect entity labels.
-> FIxes ~460 entity prefabs with wrong labels that no longer apply
Clean: add a comment explaining the extra OcclusionUpdateLostVisibility
Tests: none, trivial change
fall back to isotropic specular impl where anisotropic material has 0 anisotropy
Optim: UseOcclusionV2 - invert how we process occludees
- instead of checking if we need to send player to occludees, we process occludees against player
This caused us to miss sleepers previously, which we corrected with extra checks by reversing pairs(and potentially generating more netowrk messages). But we don't need to do all of that extra work if we do it in the right order. Hoping this cuts downstream queue 2x.
Tests: 2p on craggy - checked occlusion works, going invis works, spectating works, sleepers replicate
Added deepsea_floatingcity3
Play attack animations on the player when attacking (from a turret)
merge from naval_update/floating_cities
merge from halloween_25_update made halloween wallpapers limited time offer
merge from oilrig_postvolume_fix
set halloween wallpapers as limited time offer
adjust size of oilrig moonpool postprocess volume so it doesn't transition in so far underneath
Added back landmark info to floating cities 1 2 3 and 4
S2P 1 2 and 3
strong internal hurt triggers in square hull to handle both clipping and player damage