* Add IRobustCloneable and check for it in compnet generator.
* Redo compnetgenerator support; add test
* Disconnect client at end of test
* Actually test for client entities
* Cleanup
* Cleanup 2
Index<T> was documented to throw KeyNotFoundException, but actually threw UnknownPrototypeException. Index(Type type, string id) threw KeyNotFoundException.
This has now been made consistent to be UnknownPrototypeException everywhere.
* Make some PlacementManager dependency fields public
* Revert "Make some PlacementManager dependency fields public"
This reverts commit 99fe37b502.
* Now part of IPlacementManager
* fix: use correct device in OAL extension lookup
* fix: don't try to set non-existent window icons
* Revert "fix: don't try to set non-existent window icons"
This reverts commit 793958fb8c.
Moving to other PR.
* Skip fields/properties not in DataDefs
* Only check IsDataField once per field/property
* Remove pointless foreach loop
* Remove an extra IsDataDefinition check
* Revert unneeded changes from testing
* Revert "Remove pointless foreach loop"
This reverts commit f05d566904.
* Restore analysis of multiple declarations
* Clean up all missing EntitySystem proxy method uses
* Restore comment
* Fix bad change that caused closure allocation
* tuple
* Revert "tuple"
This reverts commit 14581a40aa.
* Revert "Fix bad change that caused closure allocation"
This reverts commit 215b2559ed.
* Revert "Restore comment"
This reverts commit 4a47a36557.
* Revert "Clean up all missing EntitySystem proxy method uses"
This reverts commit 3b1fe4ce7f.
* Redo with improved code fixer.
Let's see how it fares this time
Fixes#6020
The assert was caused by the native OS path (C:\Windows\...) being passed through a ResPath. Bad. While looking at this I realized the sound font loader callback system was a mess and I should probably clean it up, so I did.
The file name is now properly namespaced in the loader callback, which should avoid spaghetti like this in the future. The details of how this works are a pain in the ass because Fluidsynth isn't well-designed.
I split LoadSoundfont() into two functions: one for resource, one for user paths. The other is kept there but compatible.
I can't believe I spent 3 hours on dealing with this nonsense and most of it is just due to Fluidsynth being poorly designed...
There's a parallel call in there that's only used when the island should be processed parallel internally. This isn't done for all islands, so allocating the closure in every case is a massive waste.
Somebody ignored the doc comment saying "don't use this with EntityPrototype" so now just *typing* a Tippy command causes the server to lag. Great.
This still isn't too great for performance but at least it's better, and I don't want to commit to making PrototypeManager semi-thread-safe.
Previously these errors propagated all the way into Clyde. Guh.
Probably still need more error handling around the input system, but this is important regardless.
* Adding "Attribution-NonCommercial-NoDerivatives 4.0 International"
Adding the "Attribution-NonCommercial-NoDerivatives 4.0 International" License type, this is getting marked as an "invalid" license when its actually a valid license.
[License link](https://creativecommons.org/licenses/by-nc-nd/4.0/)
* Darn, forgot a comma
* Add Nullable<T> support to ToolshedManager.TryParse
* Check that command arguments are parseable
* release notes
* a
* A is for Array
* Fix test
* Fix indentation