197,739 Commits over 4,140 Days - 1.99cph!
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
merge from main -> party_system
merge from party_system -> main
Update: add unit test that showcases invalid PooledList<T> pooling
Tests: ran the test - fail as expected
renamed - remove underscore in mapname
Assign textures and bundles
QA Island scene/map setup
Add ability to add general padding
Fixed locker snapping
Can now snap an object by looking at the wall instead of looking at the ground
Better calculations for Y heights
Better Y heights in corners (fixes fridges)
Ensure pivot offset is rotated by rotation first
initial pass on batched projectiles, functional except for LOS checks but failing consistency tests which needs more diagnosing
- added batch support to multiple tests for comparison
Steam inventory market price is using the steam client country code
Discord trophy can no longer be broken down (it never could be due to no market value)
Required items rework.
More UI wip.
Made OnFeedbackReport RPC async and log upload results/exceptions