userDaniel Pcancel
reporust_rebootcancel

616 Commits over 184 Days - 0.14cph!

6 Months Ago
Clean: fixing depr warnings in Scripts/Diagnostics Now able to return 2GB+ values for dump convar. 8 to go. Tests: Generated a dump, validated the padding is alright
6 Months Ago
Bugfix: KeyBindUI once more avoids modifying original prefab name This got broken in 2018.3, about a year after our code submit. Also sneaking in depr fixing in UI/Main Menu - Replaced obsolete PrefabUtils API calls in KeyBindUI - WWW -> UnityWebRequest 10 errors to go Tests: Checked main menu news still download and dispaly. checked KeyBinds prefab doesn't get polluted with bind names and options prefabs get renamed properly
6 Months Ago
Clean: Fixing depr warnings in Scripts/ConsoleCommands `objects` and `textures` vars can return 2GB+ memory size values per object now. - Application -> SceneManager - refreshRate -> Round(refrestRateRatio.value) 14 to go Tests: none, trivial changes
6 Months Ago
Clean: Fixing depr warnings in Scripts/ViewModel - More ParticleSystem module usage - Also removed obvious comments 19 to go - there's basically no more large groupings, so the CLs will continue to be small Tests: none, trivial changes
6 Months Ago
Clean: Fixing depr warnings in Scripts/Client - More ParticleSystem module usage - Application -> SceneManager 23 to go Tests: None, trivial changes
6 Months Ago
Clean: Fixing depr warnings in Scripts/Procedural - Removal of dead Render.mateiralType - Renderer.castShadows -> shadowCastingMode - WWW -> UnityWebRequest - Explicitly use default QueryParameters for a RaycastCommand 26 to go Tests: None, trivial changes
6 Months Ago
BugFix: TerrainMeta now updates Terrain Material if it's missmatching Unity's deprecation made it so that our validate-and-update logic broke with 2019.2 and it's been silently skipping it. - Removed obsolete code (it always returned MaterialType.Custom) - Updated Hapis TerrainConfig to reference Terrain.v3.Hapis material (so that new logic doesn't set the wrong material on validation) Tests: Validated that all Release worlds have matching materials as in their TerrainConfig.
6 Months Ago
Clean: fixing depr warnings in Scripts/Effects It's all just ParticleSystem module usage additions. 39 warnings to go. Tests: none, trivial changes
6 Months Ago
Clean: fixing depr warnings in Scripts/Game/ - SceneToPrefab - using SaveAsPrefabAsset instead of ReplacePrefab - More ClientRPC(RpcTarget) usage - More ParticleSystem module usage - CreatorGibSpawner now caches and restore entire Random state when changing seed - prefabAssetPath -> assetPath Tests: Tested SceneToPrefab workflow by building "water well" monument prefab - although it produced inconsistent diffs, original impl also did. Checked the generated prefab visually - it matched. Also walked through Unity's call tree - the controlling variables were the same. About 55 left
6 Months Ago
Clean: fixing depr warnings in Scripts/Server - Server performance can now report memory usage past 4GB Tests: None, trivial changes
6 Months Ago
Clean: Fixing depr warnings in Scripts/Entity - Deleted VehicleModuleSeating.EditorCopyIntoBaseVehicle - all prefabs had up-to-date seating (we can remove the field soon) - Deleted not-referenced Casette.FailedNetworkFileRequest (been marked as "deleteme" for 3-4y) - Converted more types to use IServerFileReceiver - Casette, Signage. Ran RPC codegen to clean up. - More ParticleSystems module use - More ClientRPC RpcTarget-overload usage - BasePlayer - explicitly read/write u64s (was happening implicitly via obsolete api) Tests: none, trivial changes
6 Months Ago
Clean: fixing depr warnings in Scripts/Util - Part of AssetStorage clean added a warning when compression gets ignored (we only have 1 use case right now, Terrain normal maps) - Remove TextureImporter obsolete field usage - TextureImporter.linearTexture -> .sRGBTexture - MeshRenderer.motionVectors -> .motionVectorGenerationMode - More ParticleSystem module usage 98 warnings to go Tests: None, trivial changes
6 Months Ago
Clean: fixed depr warnings in Assets/Prefabs - RequestFileFromServer to use IServerFileReceiver overload + ran RPC codegen - ClientPRCPlayer -> ClientRPC - more using particle system modules directly About 115 to go Tests: checked bradley effects work, checked chainsaw effects work, checked photoframe drawing works
6 Months Ago
Clean: Fixing deprecation warnings in Content Also did a drive-by on all the extra newlines Tests: spawned a vehicle with the component, observed vfx in water
6 Months Ago
Clean: Fixed deprecation warnings in Third Party/Community package Replaced obsolete RequestFileFromServer by implementing IServerFileReciever. Regenerated RPC codegen. Will need to update the public repo as well. Tests: insufficient, booted up local session, but couldn't test the new API.
6 Months Ago
Clean: Fixing deprecated code in most of Third Party packages - Removal of dead code dependent on SystemInfo.supportsImageEffects or SystemInfo.supportsRenderTextures - Removal of MarkRestoreExpected calls - Using ParticleSystem.MainModule to set multipliers Tests: none, trivial changes
6 Months Ago
Clean: fixing deprecation warnings in Standard Assets - Removed dead code around SystemInfo.supportsImageEffects - Removed MarkRestoreExpected calls - Use ParticleSystem's module to control multipliers Tests: none, trivial changes
6 Months Ago
Clean: upgrade deprecated code in Plugins - Replacing WWW with UnityWebRequest, also updated success checks to more generic versions - Texture.Resize -> Texture.Reinitialize - Mute deprecation warning when accessing a value (since we validate beforehand) - EditorGUILayout.EnumMaskField -> EditorGUILayout.EnumFlagsField Tests: Booted up local session - no new warnings/errors in logs, code took expected branches
6 Months Ago
Clean: Disable Obsolete warnings in TextMeshPro pkg This is external package, so we should just ignore what happens in their pond. Tests: none, trivial change
6 Months Ago
Update: Fixing deprecation warnings from obsolete Pool API use Tests: none, trivial changes
6 Months Ago
Optim: Avoid unboxing in Pool.Free(ListDictionary) Was reported by Clr Heap Allocation Analyzer and I missed it originally. Tests: none, trivial change
6 Months Ago
Merge: from main Tests: built all targets, ran around solo on CraggyIsland
6 Months Ago
Update: disabling ServerTests to not mislead that they are working Tests: none, trivial change
6 Months Ago
Merge: from main Tests: ran new unit tests - all green
6 Months Ago
Update: Refactoring code to not need Pool.FreeDynamic Since there's no more users of Pool.FreeDynamic, removing it as well. Tests: Ran CompanionServerTests - all green.
6 Months Ago
Clean: Makign tests available only in CLIENT+SERVER Also adding assert messages to CompanionServerTests for slightly more clarity Tests: built all targets in editor - pass. Ran all CompanionServer tests couple times - all green.
6 Months Ago
Bugfix: Tests now able to run after a play session - ServerMgr now cleans up players on shutdown in editor - Tests are able to temp overwrite TerrainTexturing - Tests disable gameplay analytics Tests: ran all tests multiple times - all green
6 Months Ago
Optim: Don't wait full timeout for CompanionServer if it's done Tests now run 2.5s instead of 12s. Tests: Ran all tests multiple times - all green
6 Months Ago
Update: Adding last tests to CompanionServerTests One of them, TestNexusAuth, doesn't do deep testing since it requires setup of NexusServer, which is incompatible because of DontDestroyOnLoad. Tests: Ran all unit tests multiple times - all green
6 Months Ago
Update: Avoiding multiple GameObject instatiation in CompanionServerTests There's now one testDummy that can be used as a component storage. This allows to have proper "alive" components. This revealed a couple issues (late database cleanup leading to locks, not fully configured clan participation) which I've fixed. Tests: reran all tests multiple times - all green
6 Months Ago
Update: Added Subscription-related tests to CompanionServerTests 2 more down, 2 to go. Tests: ran all tests multiple times - all green
6 Months Ago
Update: Adding EntityInfo related tests to CompanionServerTests.cs 2 down, 4 to go. Tests: ran all unit tests multiple times - all green
6 Months Ago
Update: Adding Camera-related tests to CompanionServerTests.cs This adds 3 more (total 13, 6 to go). These tests don't setup an environment to validate the full flow, but they do prove that request handling is correct. Tests: ran all tests multipel times - they pass.
6 Months Ago
Update: Adding Clat-related tests to CompanionServerTests This adds 4 mote tests. Added test-related funcitonality to ClanManager to init/deinit. Tests: ran new unit tests individually, together with rest, multiple times - all pass.
6 Months Ago
Update: Adding Team related tests to CompanionServerTests This adds 4 new tests. Expanded RelationshipManager access for testing, also allowing skipping of sending updates on team changes (as it makes tracking responses harder). Lastly, removed an extra update send for player joining a team as it was already sent in MarkDirty. Tests: ran new unit tests repeatedly, they pass
6 Months Ago
Bugfix: RelationshipManager.PlayerTeam implements IPooled My new batch of tests revealed that PlayerTeam wasn't properly cleaned up when returned to the pool, causing test failures on repeated runs(teams still had members in them after disbanding). Tests: ran new tests (submitted in next CL), they pass
6 Months Ago
Update: consolidating CompanionServerTests logic Now that patterns are relatively clear we can simplify logic. This'll make adding the remaining 19 tests faster/easier. Tests: ran new tests
6 Months Ago
New: Starting set of CompanionServerTests A set of functional tests that validate operation of CompanionServer (Rust+). This only covers 3 request types out of 19, but proves that this should work in principle. Next up is adding the remaining tests and making it safe in regards to server-client modes. Tests: Ran new unit tests - they pass.
6 Months Ago
New: Adding Server unit tests foundation Sadly, they're not fully functional now - the client and server connect to each other, but the full client handshake doesn't happen. Will chase this up after I setup companion server tests (what I originally intended to test). Tests: none, as I know it's borked
6 Months Ago
Update: Fixing all deprecated uses of Pool since merge from main Tests: built all targets
6 Months Ago
Update: merge from main Tests: built all targets
6 Months Ago
Update: Pool uses warnings instead of errors for deprecated API Motivation: This will prevent causing errors for our modders/existing plugins and send a message that it needs to be updated. I'll remove these deprecated APIs next patch cycle. - Also removed a couple TODO since they're either not viable for now or complete. Tests: none
6 Months Ago
Update: Replacing all calls to Pool.GetList with Get<List<T>> Now that we're cleaning up lists automatically when we call Free or FreeUnamnaged, GetList lost it's use. Replacement was done via regex + added using namepsace statements where missing. This affected ~740 cases. Tests: Built all targets.
6 Months Ago
Update: Marking Pool.GetList as obsolete - Also bringing back list clearing on GetList invokation - to avoid breaking mods suddenly Tests: built all targets
6 Months Ago
Update: Changing ProtoBuff codegen to use Pool.Get<List<T>> This eliminates 680 cases of GetList<T> use, which is about 40%. - CodeGenerator built in debug conf with commit 7d37b927 (FreeList-Depr branch) Tests: built all targets.
6 Months Ago
Update: Review Feedback - Part 3 Renaming FreeUnmanaged primary overload to FreeUnsafe to clearly indicate that it's an undesired API. Tests: built all targets
6 Months Ago
Tests: Review Feedback - Part 2 This covers basic scnearios of Pool usage. Tests: Ran the new unit tests - they pass.
6 Months Ago
Clean: Review Feedback - Part 1 - Make scopes explicit with brackets - Get rid of System namespace prefix (as we declare that we use System's names) - Renamed `deepFree` defaulted arg into `freeElements` - FreeUnmanaged(MemoryStream) no longer sets Position anymore - Commented the API Tests: Built C+S target (as it's trivial build-only changes)
6 Months Ago
Update: Removing FreeDynamic from Pool Reimplemented the 2 cases where it's used to work without losing information about the type (so we can use Free instead). This also gets rids of unnecessary allocations. Tests: Built all targets. Tried to test runtime (2p multipalyer), got confirmation that the server initializes but nothing hits it. In next CL I'll push out a unit test for ServerMgr, since it looks to be possible.
6 Months Ago
Update: Making Pool.Free capable of "deep freeing" Motivation: Since we're getting rid of custom "FreeList" calls, then we should also remove FreeListAndItems, the last custom func in the "Free" set. - Collections-related Free overload now can deep-free - calling Free on all elements of a collection. - Marked FreeListAndItems as obsolete (with error) and piped it over to Free overload - Updated 4 callsites of FreeListAndItems to use Free(T, true) instead Tests: built all targets.