1,882 Commits over 457 Days - 0.17cph!
Merge: merge from main
Lets see how much extra work I got left now
Update: AssetStorage now respects compression settings for Save()
Originally it was doing nothing (because it picked a compression format as textureFormat, but then set textureCompression to Uncompressed), but now it'll try to compress on request. We only have 1 place where we attempted to compress the terrain normal map, but I'm disabling that explicitly (as it would lead to fudged normals).
Tests: Baked Heightmap on CraggyIsland - spat out the same formatted texture as before
Bugfix: Discard alpha channel for generated LUT
Originally it was saved as RGB24, but since my deprecation warning fix I re-enabled Alpha channel. This fixes it.
Tests: none, trivial change
Clean: Fixing depr warnings in Third Party/VertexToolsPro
- Adapted uncompressed texture pixel access, TextureImporterFormat -> TextureImporterCompression
- SceneView.onSceneGUIDelegate -> duringSceneGui
Holy guacamoly, it's there's no more deprecation warnings. Now to double check previous compression conversions, as I think I missed alpha channel handling in a couple places.
Tests: none, trivial changes
Clean: Fixing depr warnings in Third Party/PluginMaster
8 to go.
Tests: none, trivial changes
Clean: Fixing depr warnings in Third Party/CinematicEffects
10 to go
Tests: none, trivial changes
Clean: Fixing depr warnings in Assets/Editor
- Removed obsolete BuildOptions usage (they do nothing on native side)
- Using explicit EditorGUILayout.ObjectField with AllowSceneUsage parameter overload
- More PrefabUtility conversion
- TextureImporterFormat.AutomaticTruecolor -> TextureImporterCompression.Uncompressed
12 warnings to go.
Tests: none, trivial changes
Clean: Fixing depr warnings in Scripts/Audio
- Removed the method containing deprecated usage, as it was trying to call into a native method that no longer exists.
Tests: None, trivial change (no usage)
Bugfix: Prevent Scene2Prefab from always switching to default scene
I dingussed up in the previous commit by doing extra changes after testing. Reverted small part of the change because Scene handle becomes invalid when loading a new scene.
Tests: Ran "Locate Renderers with no LOD Components" - it returned back to original scene properly
Clean: Fixing depr warnings in Editor/Rust
- Added a bit of error checking to SceneToPrefabs to avoid accidents
- EditorApplication -> EditorSceneManager for all scene related work
- ListView event changes, onItemsChosen -> itemsChosen, onSelectionChange -> selectionChanged
27 warnings to go.
Tests: ran Scene2Prefab/Locate Renderers with no LOD Components - it detected a number of issues, so green. Other changes are trivial.
Clean: Fixing depr warnings in Scripts/Procedural
- EditorGUIUtility.LookLikeControls -> manual setting field and label widths
47 to go (I hope)
Tests: None, trivial changes
Bugfix: Reimplementing PowerLineWireUndo
Unity deprecated a couple Undo APIs that broke our utility, so replaced them with new API. Also upgraded PrefabUtility usage and nuked a couple unused public methods (since they used deprecated APIs).
Tests: Tested Undo-Redo when adding a new line on power line platform - works
Clean: Fixing depr warnings in LeavesBlowing.cs
- Also cleaned empty method
65 to go - I thought this was going to be 0, but turns out there's 65 more errors hiding, so the counter restarts
Tests: none, trivial changes
Clean: Fixing depr warnings in Rust.AI/
3 to go.
Tests: none, trivial changes
Clean: fixing depr warnings in Scripts/PostProcessing
Done by taking Unity's official repo upstream patches for our version of unity for these specific file segments. We should replace our source package via a core package.
5 to go.
Tests: Setup debug overlay for normals - still works (though wonky)
Clean: fixed depr warnings in Scripts/Analytics
Now outputs refresh rate as a decimal fraction
Tests: none, trivial change
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
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
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
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
Clean: Fixing depr warnings in Scripts/Client
- More ParticleSystem module usage
- Application -> SceneManager
23 to go
Tests: None, trivial changes
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
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.
Clean: fixing depr warnings in Scripts/Effects
It's all just ParticleSystem module usage additions. 39 warnings to go.
Tests: none, trivial changes
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
Clean: fixing depr warnings in Scripts/Server
- Server performance can now report memory usage past 4GB
Tests: None, trivial changes
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
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
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
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
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.
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
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
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
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
Update: Fixing deprecation warnings from obsolete Pool API use
Tests: none, trivial changes
Optim: Avoid unboxing in Pool.Free(ListDictionary)
Was reported by Clr Heap Allocation Analyzer and I missed it originally.
Tests: none, trivial change
Merge: from main
Tests: built all targets, ran around solo on CraggyIsland
Update: disabling ServerTests to not mislead that they are working
Tests: none, trivial change
Merge: from main
Tests: ran new unit tests - all green
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.
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.
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
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
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
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
Update: Added Subscription-related tests to CompanionServerTests
2 more down, 2 to go.
Tests: ran all tests multiple times - all green
Update: Adding EntityInfo related tests to CompanionServerTests.cs
2 down, 4 to go.
Tests: ran all unit tests multiple times - all green
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.
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.