134,907 Commits over 4,293 Days - 1.31cph!
wood box added prefab for box
wood box game model and updated prefabs, ran manifest and localization
Light up frames - fixed material config and paintability
wood box placeholder textures
edited paintable reactive target animtions and transition blends on anim.controller
Migrated deep sea ocean params to new env properties section.
Cherrypicked deep sea ocean feature to test branch.
merge from indirect_instancing
Some fixes and cleanups for the Indirect Instancing debug overlay
Codegen so domain reload works
Move CCTV processing out of a repeated update into a budgeted queue (0.05ms)
Don't add cameras that are completely static to the queue as they don't actually do anything inside server tick
Completely removes server cost of static cameras and limits the cost of dynamic cameras
Switch back to the mainland view on the map screen if it closes while open
Commit SyncVar inheritance changes. Can't Cherrypick because of the previous revert.
fix ocean stuttering in demo playback (forces water.scaled_time behavior when playing demo)
artist_pack_dlc -> artist_dlc_ornate_frames
Cherrypick syncvar_inheritance so the new artist items can take advantage of the fix without forcing it on main (when its not fully proven to be stable)
Fixed ghost ship map markers rotation and scale
Properly support inherited SyncVars up to an infinite depth
Merge: from useplayertasks_removegroupocludee_nre
- Bugfix: a series of bugfixes and extra error logs to ensure occlusion groups are valid and consistent
Tests: 2p on Craggy - ran around host, flew away and back, teleported away and back, tested sleepers, disconnects, and general occlusion
fix cloud weirdness when overriding weather state when playing back a demo
Clean: move OcclusionValidateGroups servervar to ServerOcclusion
- codegen
Tests: server compiles
more window paintable work
Clean: GetOccludees => OcclusionGroup getter
Tests: server compiles
Clean: OcclusionGroups - define bespoke ServerOcclusion.Group
- updated code references
Tests: all modes compile in editor
Clean: OcclusionGroup - lower core of logic from BasePlayer to BaseNetworkable
- also move cached subscribers cleanup to BasePlayer.OnServerDestroy
- split off server occlusion logic into it's own BaseNetworkable potion
Tests: all platforms compile in editor
set lightup frames to use standarddecalwithtwo shader again
tweaked free sockets on goldframe medium and small so they are deployable on space building skin
Bugfix: ServerOcclusion - clean up external references when BaseNetworkable is destoyed
Dobbie's free, this is the last bug I could theorycraft. There's a small window before occlusion would update and unsubscribe where a teleport then destroy could leave a dangling set of references, but this doesn't happen because of unnecessary SetParent being called when BaseEntity is destroyed on the server(but this should be fixed separately)
Tests: not testable
stay_close_death_fix -> main
Fix issues preventing boats from reaquiring a target that they already have which was stopping them getting into 'stay close' mode
fixed artist canvas gibs missing material, fixed artist canvas medium not linked to correct paintable, fixed broken deploy guide on ornate medium frame, fixed lods on paintable reactive target all displaying, fixed easel top mesh render warnings, and rendered easel icon
- Ensure target is cleared on ai death
- Fix Exit state being used in the wrong places, leaving AI without a state at all
Death screen now switches back to the mainland if the deep sea closes for any reason
Don't spawn map markers at all if they aren't in the appropriate mainland/deep sea area
Update: OcclusionGroup - tracked down another false-positive error
- left a comment explaining why check was removed
Whena player reconnects and reclaims a sleeper with a player in proximity, the eventual network group subscription will try to append to the occlusion group that already contains the reconnected player.
Tests: reconnected with a player in vicinity
Bugfix: ServerOcclusion - clean up occlusion group refs when retiring groups
Fixes false-positive error logs
Tests: 2p, 2nd player disconnects while 1st player is in vicinity - afterwards first player walks out then back into to original network cell
boatai_better_patrol -> main
window paintable initial setup , gibs, lods etc
Update: Update: OcclusionGroups - each members tracks which group refers to it
Needed for an upcomign bugfix in OnDestroy and helps detect issues
Tests: 2p on Craggy - tested players close, flying far away, teleporting, disconnect-reconnect - logged an extra problem to address
Clean: refactored out OcclusionOnDestroy, as it was getitng messy
- also added a null check to avoid pooling issues
Tests: none, trivial changes
Actually renamed it to Bear Skin Rug this time
Bugfix: OcclusionGroups - ensure sleepers are tracked when player transitions to a different occlusiongroup
This is an edge case when being in subscription range of a sleeper - sleeper's group would contain it and player, but player's group would have sleeper missing
Tests: moved around in the vicinity of sleeper, checked internal state
Fixed muzzle brake not unlocking via HV pistol ammo in tech tree
Bugfix: OcclusionGroups - fix NRE when moving out of group with a sleeper
- replaced with a IsVisibleFromFar check
- also reworked teleportation logic via IsVisibleFromFar, as that's more correct
- also IsVisibleFrom range check was wrong, so fixed that
Previous code relied on subscriber to check if move-out-of-bounds occurred, but sleepers don't have a subscriber, so it NREed
Tests: moved away from a cell with a sleeper, checked internal state
Update: NetworkVisibilityGrid gains IsVisibleFromNear/Far(Group from, Group to)
- expose via provider interface
Needed for occlusion groups case of moving sleepers (as I can't rely on subscriber check)
Tests: testted as part of followup bugfix