* [Dependency] source generator
No more reflection, no more codegen at runtime
Also various changes to Roslyn helpers to make this easier to write.
Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.
No fallback is available for [field: Dependency] properties, due to a Roslyn bug.
Code Fixes exist. We love Roslyn
* Apply dependencies generator changes to all code
* Release notes
* Preprocessor got hands
* Handle nullable dependencies
These are bad but gotta deal with it.
* Apply suggestions from code review
Co-authored-by: Moony <moony@hellomouse.net>
* Fine, let's not use collection expressions
---------
Co-authored-by: Moony <moony@hellomouse.net>
* Fix VRAM leak in MapChunk edge rendering
* Remove CheckGlError because it is called in each of the deletion methods
* Revert "Remove CheckGlError because it is called in each of the deletion methods"
This reverts commit a48ffd71aa.
* Always clean up render handle state after overlay draws
* i just forgot to commit that part i guess
---------
Co-authored-by: mirrorcult <mirrorcult@pm.me>
* add hiding scroll bar
* 14 billion dollars on this never being used once
* comments
* yes because what could VScrollBarHidden possibly MEAN?????????????
* Apply suggestions from code review
Co-authored-by: Moony <moony@hellomouse.net>
---------
Co-authored-by: Moony <moony@hellomouse.net>
The way SDL handles window coordinates passes through the native platform API's behavior instead of trying to make a consistent API, so the way sizes are handled on macOS is different.
* WebSocket-based data transfer system
* Move resource downloads/uploads to the new transfer system
Should drastically increase the permitted practical size
* Transfer impl for Lidgren
* Async impl for receive stream
* Use unbounded channel for Lidgren
* Add metrics
* More comments
* Add serverside stream limit to avoid being a DoS vector
* Fix tests
* Oops forgot to actually implement sequence channels in NetMessage
* Doc comment for NetMessage.SequenceChannel
* Release notes
It apparently broke clean builds, as the dependencies aren't in the project asset list or something anymore. I tried to fix this, but it seems impossible to do without relying on .NET SDK internals, as there's no point in the NuGet graph walk process that seems cleanly extensible.
Instead let's just do the much dumber thing: a bunch of .props files for content to import. Hooray!
This also means that I have to go through and *explicitly* disable transitive dependencies everywhere in RT. This thankfully isn't too hard.
Robust.UnitTesting was both ALL tests for RT, and also API surface for content tests.
Tests are now split into separate projects as appropriate, and the API side has also been split off.
* PR time
* am dum dont make PRs at 3am
* file scoped. I pushed this to the wrong branch initially because I'm stupid
* Revert "file scoped. I pushed this to the wrong branch initially because I'm stupid"
This reverts commit 9a911caa77.
* Review
* Update API used by content to actually use the default values
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>