5,916 Commits over 1,584 Days - 0.16cph!
merge from fix_sentry_branch_upload -> main
▍ ▊█▆ ▌█▄▍▆▊▅ ▊▊▋▇▆ ▋█▋▍▊▅ ▆█ ▆▌▍▆▅█ ██▅▅▅▋▉ ▍▊ ▆█▍▊▋▋▄▌▅▋ ▋▋▋▇ ▆▇▋█▄ ▍▄ ▉▌▌▋ ▆▊ ▉█▉ ▉▋▋▋ ▉▉▋ █ ▉▋▆▄▌ █▇▋▊▅ ▍▌▇▇▉ ▄▊ ▋▉▅ ▍█▄▉▇▉ ▅▄ ▍▍▋▊▊▇ ▌▆▊▄ ▊▇ █▍▊█▊▉▆▆▅ ▋▅▌▍
- increase the tail log upload from 100KB -> 250KB
- when uploading crashes without a user ID (super early crashes OR old crashes) then use the current steam id (it's almost certainly going to be the same as when the crash happened)
Fix incorrectly tagging release crashes as staging
- will now upload crashes as "unknown" branch if they are untagged (aka old crashes) instead of tagging everything as staging
- remove "release" tag that was passed through code, instead put the release / staging tag directly into the crash marker
- fix failing to parse for the crash marker if timestamps are enabled in the logs
- output crash marker earlier so early crashes can still be tagged correctly
- fix userid / steamid not being set early enough either
merge from main -> base_occlusion
Fix items sometimes not being transferred to new room when upgrading room
- was skipping over an item once it didn't fit in a container instead of trying to fit the item into every container before skipping over it
- fixed mail not being transferred to new room
- added failsafe so if the item really couldn't be fit into the new room (shouldn't be possible since every room has more space but to be safe) it will transfer to the player standing in lobby
merge from fix_steam_init_error -> main
Fix steam not logging the reason steam failed to start in the editor
- sometimes steam is closed, other times it's outdated and needs to be restarted
merge from optimize_json_garbage -> main
Use AddRange() to add converters instead of foreach and Add() per converter
Fix Hash128 and LayerMask incorrect parsing from breaking the rest of the document
Add tests to prove that the code doesn't allocate (not just that it works)
Fix so ints can read float values again (that's the way it used to work before)
merge from main -> optimize_json_garbage
merge from crash_uploader_error_code -> main
Log HTTP error code to console / logs when the crash fails to upload
merge from main -> base_occlusion
Fix individual edits causing more faces to be marked dirty than needed
Optimize worst case pass of the multiple exterior detection so it doesn't balloon execution time
Ok fine allow buildings to define multiple exteriors
- even though theoretically there can only be a single exterior per base it gets funky in it's current implementation when not all building blocks are handled by base occlusion so you can have separate sections of a base that aren't connected with faces but are both outsides (example: connecting external TC with ramps)
Exclude high walls from room occlusion (since they are always considered outside structures)
Fix bases being able to define multiple outsides of the base
- collapse to a single outside when interior rooms incorrectly are flagged as interior
Make remote controlled entities (turrets, drones, cameras) have base occlusion disabled
- will enable it for RC entities when we do the push to get rid of the minimum 30m occlusion distance to make it work for anti-ESP, for now lets keep it simple and skip since RC entities are used for <1% of gameplay
merge from base_occlusion -> main
500 extra bases from the server save
- add room.exportpastes <folder> to convert a folder of copy paste files (aka the server save) to the test format base occlusion expects
- add support for base occlusion tests to work across multiple directories of test files (so we can keep the test bases organized)
Fix refreshing faces being able to go above 1,000 depth, use a queue instead because initializing a large base can go over the limit
Fix unity toolbar extender ui toolkit causing focus as well on domain reload
Fixed the game window grabbing mouse + keyboard focus when running tests
- should only show the window, not grab focus
Improve base splitting
- filter out external TCs and small structures so it only exports proper bases
Add ability to copy paste to import entire saves and output a different copy paste for each base
- fix deployables clipping through doors being hidden when an exterior door closes
- fix entity destroy message sometimes being sent before network group switch happens (when repartitioning base)
merge from base_occlusion -> main
Fix compile error (even though it's editor only it still can mess up editor if it switches realms)
merge from base_occlusion -> main
Fix formatting of Visibility.cs
merge from main -> base_occlusion
Fix room export tool not writing to the temp directory in the editor
Mark the room exporter (base -> JSON) as editor only
- used so we can run tests on bases without having to spawn the entire base (which is slow)
Disable TCs from room occlusion
- if you hide the TC from the client then you don't know if your authed on the base
- re-enable later once we move auth networking out of the TC itself (we could only network to players authed but then we still need to know if a TC is attached to a building)