197,304 Commits over 4,110 Days - 2.00cph!
abyss storage container deploy and interaction sounds
▌▌▇▌▍ █▍▉▇ █▄▊_▄▍█▉▇▇▇_▋▍█▇▉██▊▇▉ -> ▌▅▊▇
▋▆▍ ▇▄▋▄▉▅▋▉▅ ▊▌▄ ▆▉ ▅▇▍▋▍▍▌▆▅▍▄▍▆▇▅▉▊() ▇▆ ▆▌▇ ▄▄▊█▆▋ ▍▅ ▆▋▉▇▊▍▌▄▌
- ▆▄▅▌▌ ▍▊ ▌▇█▉▍█ ▋▄ ▋▋▆▌▄▉▊▅▇
- ▍▊▇█▍▋ ▅▋▉▉▄▅▋█▆▅▄▉▍▇▇▅▋() ▍█▊▌ ▊▍▍ ▇▊▍▋▌▅ ▉▅▍▉▆▌ ▇▍ ▋▌▍▆▄▋▄▍▊
▊▄▅▉▆ ▆▆▉▊ ▆▊▍▍ -> ▋▆▋_▌▊▆█▅▍▆_█▌▉█▉▌▄▍▄▍
Add QA Island to scene loader
merge from party_system -> main
Fix joinKey not being reset when team enters pool
merge from party_system -> main
subtract
124432 - restore CraggyIsland
Cherrypick
123243 which was commited on wrong branch (fix reconnecting to same server as party leader not prompting other users to connect)
Mitigated the over-bright arid atmosphere haze in certain lighting conditions.
merge from party_system -> main
Fix party invites that arrived before the main menu was fully setup not being shown
Merge from fix_eager_cctor
merge from party_system -> main
Merge: from autoturret_optim
- switch timing variables from float to double
Tests: editor builds C+S + confirmed deployed turret scans & detects, shoots, reacts to flank shots
Update: AutoTurret.nextShotTime -> double
Tests: editor builds C+S
Update rich presense for party members at the same time the rich presense is updated for a friend
Update: AutoTurret.nextIdleAimTime -> double
Tests: editor builds C+S
Clean: delete AutoTurret.lastShotTime
Was never set, and the code that depended on it had to do extra calcs, only to discard results.
Tests: editor builds C+S
Update: AutoTurret.nextVisCheck -> double
Tests: editor builds C+S
Fix rich presence not updating for friends inside your party
Update: AutoTurret.lastDamageEventTime -> double
Tests: editor builds C+S
Update: AutoTurret.lastTargetSeenTime -> double
Tests: editor builds C+S
Update: AutoTurret.lastScanTime -> double
Tests: builds in editor C+S
Sanity checks for VTF loading
Minor cleanups
Fixed some issues with save/load system
UniqueID/SteamID consistency for multirun clients
UniqueID will still be inconsistent for multirun clients because its based on data clients can't know
Only allow sound precache on level transitions/game load
Should help with singleplayer players and addons with hundreds of sounds per weapon
Steam inventory fixes, modal buttons are wired correctly
- slight blur on fog voxel texture to smooth out aliasing, works especially well on godrays
- fog tweaks when going underground
merge from indirect_instancing
Merge: from pooledlist_fixes
- Bugfix for invalid pooling of PooledList-subclassed types (like Eqs.PooledScoreList)
Tests: unit tests + print_memory PooledList tracking in editor with Wolf2
Bugix: Reimplement PooledList(and others) via BasePooledList
- Fixes incorrect pooling of inherited-from PoolingList types
Tests: spawned wolf2 on craggy, enabled Ai, print_memory reports correct numbers of Eqs.PooledScoreList and no negative PooledList cases
F7 Player reports (abusive/cheat/spam/offensive name/breaking server rules) now send to the configured reports endpoint (server.reportsserverendpoint), previously only the generic feedback reports did.
Tested in editor with separate client/server and locally hosted endpoint
Spraycan no longer loses condition while using `infiniteammo 1`
Removed some leftover debug stuff
- MeshCull, MeshLOD and RendererLOD are now able to add their states to the instancing system themselves without the need for a RustRenderer.
- Fully decoupled InstanceCreationInfo from *Renderer for more flexibility.
- Added an `autoconnect` ConVar (editor only) to speed up debugging on external servers
- Improved debugging by adding Robocop vision. New ConVar: indirect_instancing.debug
- Added InstancedLODComponent to cover the instancing needs of MeshCull, MeshLOD and RendererLOD
- Tools: Record unsupported materials during play mode so that they can be fixed later
- Tools: More progress bars for long operations
- InstancedDebugDraw: Fixed not updating properly due to missing damage tracking on the command buffer
- Introduced WrappedRenderer to intercept modifications from other parts of the code. It works, but I'm probably not going to keep this.
- Moved all the debug stuff to separate files
- Fixed a == vs. = typo in SoundDefinition.AutoAssignAudioClips
Update: locking in unbox.any version
- Updated comment explaining why unbox.any instead of Unsafe.As (tl;dr - a smidge faster, but no runtime type checks)
- added a unit test that validates runtime checking
Tests: unit tests
Update: add BasePooledList template
- Updated test to use it
Boilerplate for various PooledList<T> implementations
Tests: test now passes