* move one usage of Firwmare method into Firmware config where it is better suited
* PathManager - remove unused code
* move some PathEntry specific logic out of PathManger and into PathEntryCollection extension methods
* PathManager - detangle some exe pathing logic from Global.Config usage, clarify what a completely broken method should actuall do
* move more logic from PathManager to PathEntryCollection extension method
* move absolute path creation to PathEntryCollection, lots of refactoring and simplifying of PathEntries usage
* simplify PathEntryColleciton usage more
* simplify PathEntryCollection more
* break PathEntry classes into separate files, a bit of cleanup
* move Rom path logic out of PathManager into PathEntryCollectionExtensions
* move config UseRecentForRoms and LastRomPath into PathEntries, note that this is a breaking change for previous configs, those values will revert back to default values
* move SaveRamPath logic from PathManager to PathEntryCollections
* move cheats path logic from PathManager to PathEntryCollection
* move another method out of PathManager
* move some Retro hacks to PathEntryCollections, exposes more implicit dependencies
* move savestate logic out of PathManager to PathEntryCollection
* move more logic out of PathManager
* move some savestate logic out of PathManager, move most to MainForm where it is used, detangle some implicit dependencies from SaveSlotManager
* rename method
* move more logic from PathManager to PathCollectionEntry
* movie final Global.Config.PathEntries logic out of PathManager and into PathEnties
This change is more convenient at the cost of a little duplicate code in
ToolManager. The annotation is [ExternalToolEntryPointForm], and having no more
than one such class per assembly is enforced.
* Move PlatformSpecificLinkedLibs and implementations to common and rename
* Specify file ext. at LoadPlatformSpecific call site
* Move Client.Common.Global.RunningOnUnix to PlatformLinkedLibSingleton
* Inline var Resolver
* Use PlatformLinkedLibManager internally
* Move plugin load check to LinkedLibManager, use LinkedLibManager
* Interpolate
* Return exit code from dlclose/FreeLibrary
* Skip all calls to externs in BlipBufDll when using mono
* Use PlatformLinkedLibManager in SevenZipLibraryManager
* Add expected return value to workaround (from testing on Win32)
* Remove ".dll" from DllImport attr, remove temporary workaround, see desc.
The library can be built by changing the output file name in
`.../blip_buf/Makefile` to `libblip_buf.so`, and running `make`. It will be
loaded if placed in the `.../output` folder.
* Remove unused code, add TODO (this class is req. for Waterbox.PeWrapper)
The TODO is to [rewrite with
C#](https://docs.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files)
instead of importing from `kernel32.dll`.
* Update OpenTK again but better (for #1384)
* Add Mono run script
* Add libblip_buf.so (temporary)
Temporary because it should be a separate package which BizHawk depends on.
* Add distro detection, add "already running" and "unknown distro" messages
* Gray-out Lua Console on Unix
* Extract superclass from EmuLuaLibrary, add shell implementation for Unix
* Specify libdl version, Fedora doesn't have the versionless symlink
* Remove empty `ToolStripMenuItem`, null `Text` caused crash on Unix
* Transform OpenTK keyboard input into a `List<KeyEvent>` and read that
Also fixes crash on rebind
* Remove debug `using ...;`