Commit Graph

94 Commits

Author SHA1 Message Date
YoshiRulz e58f2811dc
Replace config bool `UseNLua` w/ enum 2019-12-16 00:38:22 +10:00
YoshiRulz 8c059aa43c
Replace helper methods with readonly bool IsUnixHost and cleanup 2019-11-04 14:30:05 +10:00
adelikat e4e10646bf Merge branch 'master' into MoreUnixMonoCompatWork
# Conflicts:
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Common/BizInvoke/MemoryBlock.cs
2019-11-03 16:09:22 -06:00
adelikat 942d9fc75e Simplify OS checks with some helpful methods 2019-11-03 16:04:42 -06:00
James Groom cdf42777dc
Merge branch 'master' into MoreUnixMonoCompatWork 2019-11-02 18:15:46 +11:00
J.D. Purcell 39b54f7202 Fix missing UI usings. 2019-11-02 00:38:50 -04:00
J.D. Purcell 447e8f59e5 To match master (merge error?) 2019-11-01 22:54:14 -04:00
adelikat fdd0076485 Merge branch 'master' into MoreUnixMonoCompatWork 2019-11-01 20:59:40 -05:00
adelikat b862a464ee remove our outdated 7z shenanigans with sharpcompress 2019-11-01 20:22:05 -05:00
J.D. Purcell 19dd590f2c Improve error message. 2019-11-01 14:53:37 -04:00
J.D. Purcell 0fdc533071 We don't need this anymore after 9141b0ed. 2019-11-01 14:52:41 -04:00
James Groom 7d780d1954
Un-delete ReflectionOnlyAssemblyResolve subscriber 2019-11-01 12:56:44 +11:00
adelikat 6c7653e158 Merge branch 'master' into MoreUnixMonoCompatWork
This doesn't compile because of Input.cs, didn't know what to do. Also search for Merge TODO for some commenting things that probably need to be deleted
# Conflicts:
#	BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll.Drawing.cs
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
#	BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
#	BizHawk.Client.EmuHawk/tools/ToolHelpers.cs
#	BizHawk.Client.EmuHawk/tools/ToolManager.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs
#	BizHawk.Common/BizInvoke/DynamicLibraryImportResolver.cs
2019-10-31 17:01:19 -05:00
YoshiRulz 0e9cc431d9 Rewrite IsAvailable, call to Assembly.GetTypes is now lazy 2019-10-13 15:27:37 +00:00
YoshiRulz 7df71f2c86
Properly fix lib loading (builds upon 77bbc4128)
Also cleaned up OSTailoredCode.cs and fixed qualifiers in Program.cs
2019-10-13 15:23:14 +10:00
J.D. Purcell 77bbc41286 Fix prerequisites dialog (broken by 42764f00 and 436b6452). 2019-10-12 17:56:20 -04:00
YoshiRulz 1f8972df4e
Allow initialising OpenGL context on Unix 2019-10-07 03:08:57 +10:00
YoshiRulz d9c42f44a1
Implement IHawkFileArchiveHandler using NuGet package SharpCompress 2019-10-06 16:51:02 +10:00
YoshiRulz 3c8c761cca
Subscribe to CurrentDomain.AssemblyResolve on Unix
This is so DLLs not in the executing directory can be found without having to
copy to local, i.e. Nlua.dll and KopiLua.dll --Asnivor
2019-10-06 16:22:05 +10:00
YoshiRulz 080343f902
Only check matching assembly versions on Windows
Assembly version check shouldn't be necessary if installed with a package
manager.
2019-08-12 02:20:09 +10:00
Maximilian Peters 80c0fe571b Squash merge #1505 - set socketServer IP/port via Lua (resolves #1495) 2019-05-29 15:06:38 +10:00
YoshiRulz df232e6184
Add additional CurrentOS checks 2019-05-19 14:46:50 +10:00
YoshiRulz 35056ae2d9
Remove #if WINDOWS, using runtime check where applicable 2019-05-18 20:17:02 +10:00
YoshiRulz 58c738957c
Rename PlatformLinkedLibSingleton and children 2019-05-18 15:40:46 +10:00
YoshiRulz d76e1a8a8b
Refactor PlatformLinkedLibSingleton and replace RunningOnUnix with CurrentOS 2019-05-18 15:30:29 +10:00
YoshiRulz 436b6452fb
Misc. refactoring 2019-05-18 15:14:08 +10:00
YoshiRulz 752f8cfd49
Don't bother checking for Windows prereqs on Unix 2019-05-18 14:34:15 +10:00
YoshiRulz 2d5b069793
Inline PlatformSpecificMainLoopCrashHandler and implentations
UnixMono copy contained workaround for a bug that has since been fixed
2019-05-18 14:27:50 +10:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
zeromus 303e9df26e rejigger PlatformLinkedLibSingleton so it can be used embedded in the EXE without requiring a dependency on dlls, so it can boot when dlls are relocated 2019-01-04 17:42:12 -05:00
James Groom 42764f0019 Add preliminary Unix compatibility (using Mono; resolves #1384) (#1380)
* 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 ...;`
2019-01-04 01:50:55 +03:00
zeromus 15131a0626 support --config=c:\path\to\config.ini (fixes #1404) 2018-12-23 00:23:57 -05:00
zeromus aee7358a6d fix starting up in dist packages with dlls relocated 2018-11-06 19:05:03 -05:00
James Groom ca021d96cc Allow bizhawk to be built and run w/ MSBuild and Wine+Mono on GNU+Linux (#1237)
- Update to latest OpenTK, add input code from `mono-stable` branch
(kudos), and fix bugs arisen from version differences
- Move some functionality into Win-specific classes and add Wine+Mono
implementation where simple
- Add conditions to main loop so some things only run on Windows
2018-11-04 20:05:20 +03:00
zeromus ba4b32f619 rename TempFileCleaner to TempFileManager; add global path config for temp files
I did this in a funny way (sets the environment for the process).
The idea is that any code which sloppily used Path.GetTempDirectory (etc.) would now have its pathing changed.
It is a little dangerous to allow this to be changed on the fly (I do allow it) since something may expect it to be stable, but I think it's OK.
So anyway. keep your eyes peeled for problems. It's possible I could do this differently and only affect a subset of safely managed things.

should fix #1252
2018-09-11 21:32:50 -04:00
zeromus 6e72e47c1c do a thing better than crash when configfiles are corrupt. fixes #1063 2018-03-22 14:55:43 -05:00
zeromus 97a24951f3 add vcrt 2012 to startup checks 2018-02-17 13:49:51 -06:00
zeromus ae4fff522d epic hacks to fix the lua selection on packaged builds (which significantly, contain bizhawk related dlls in the dll directory) 2017-07-14 13:45:57 -05:00
zeromus af7a2d8b4a forgot to commit 2017-07-14 01:02:15 -05:00
adelikat 28f9d0ee0d Remove GlobalWin.CR_GL because it wasn't being used 2017-05-22 14:23:13 -05:00
J.D. Purcell 303e8d41e9 Cleanup code to create GUI Renderer. 2017-04-29 17:49:34 -04:00
J.D. Purcell 85c1a42e48 Remove some duplicated code. Also trying some C# 6 stuff, let's see what breaks. 2017-04-09 20:59:23 -04:00
J.D. Purcell 0b81463408 Make sure Direct3D objects get disposed. Fixes all SlimDX warnings when exiting. 2017-04-08 15:18:55 -04:00
J.D. Purcell a2aba7e3c2 Make sure DirectInput objects are disposed properly. Also includes a better fix for thread safety issues (#722). 2017-04-08 11:49:04 -04:00
J.D. Purcell 5446a636ba Fix crash on exit when using XAudio2 with the debugger attached. 2017-04-07 22:57:23 -04:00
zeromus e484a69950 put RemoveMOTW back in the EXE assemblies. They can't load MOTW'd dlls which contain RemoveMOTW. We still need the RemoveMOTW code in a shared place for externalcores. 2017-03-21 11:09:43 -05:00
zeromus 6b298f07f2 do WhackMOTW after redirecting the dll directories fully, so that the shared RemoveMOTW that I moved to a common assembly can be found (wild guess) 2017-02-23 05:27:27 -06:00
zeromus daceefdd6a fix build. buzz off. 2017-02-23 04:54:29 -06:00
zeromus 2bff78f7c6 break the build. buzz off. 2017-02-23 04:42:46 -06:00
zeromus 569113f2f8 fix #741, maybe, by removing MOTW from external cores before interrogating them. Will it still trigger when running them, if that's done somehow before interrogating them? (untested) 2017-02-21 18:23:02 -06:00