Commit Graph

71 Commits

Author SHA1 Message Date
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
Isotarge 0bf5482af4 Fix typo
Thanks to Keeta for pointing this out
2016-11-23 00:04:49 +10:30
zeromus a7f03d4c2c make direct3d9 prereq check non-fatal and make d3d display method initialization fail non-fatal, falling back to gdi+ 2016-05-05 09:01:01 -05:00
zeromus b6efb0a056 fallback to gdi+ in case GuiRenderer can't be created by chosen display method (due to buggy drivers) 2016-04-02 14:33:34 -05:00
zeromus 95bc69b448 some prepwork for opengl texture ID importing (skip rendertarget resolve on OGL display method) but there are still problems and it can't be enabled yet 2016-02-22 00:23:20 -06:00
zeromus 0eb6e83384 glcontexts can specify versions and clean themselves up 2016-02-21 17:19:34 -06:00
zeromus bff0d5b95d add and hook up AWEMemoryStream option for movie storage. GUI is intentionally shoddy to convey sense that it's experimental. Has been cursorily verified but not thoroughly tested. 2016-02-10 01:09:43 -06:00
zeromus d786292ccf remove unused code Apply MOTW code 2016-01-14 01:51:40 -06:00
zeromus 192458a190 try catching some missing prereqs in emuhawk startup and print a report about it 2016-01-14 01:50:41 -06:00
pgrimsrud bb327261ae Add a return value to the main function for various purposes.
Add Lua function ExitCode to allow script writers to terminate the client with an exit code.
2015-12-15 22:39:42 -07:00
zeromus 28eae0dcb1 Revert "Revert "common logic for tempfiles""
This reverts commit 5196fc6b70.
2015-11-17 17:26:03 -06:00
zeromus 5196fc6b70 Revert "common logic for tempfiles"
This reverts commit 5afa44bbec.

and also "fix regression in libretro core loading and streamline open advanced libretro ui"
59048264cd but tortoisegit didn't put that in the commit message.
2015-11-17 17:10:27 -06:00
zeromus 5afa44bbec common logic for tempfiles 2015-11-15 03:01:58 -06:00
zeromus 22192e700b attempt to make it possible to store movies on disk instead of in memory 2015-11-15 02:27:48 -06:00
zeromus 283cb4ae50 fix loading of roms from commandline 2015-11-12 17:47:39 -06:00
zeromus 76731ba0e7 Add TempFileCleaner 2015-10-24 02:48:16 -05:00
zeromus 595f466ded add a custom exception display box 2015-10-17 01:18:37 -05:00
zeromus 1e07625d1d d3d display method: do a better job of surviving device resets 2015-10-11 21:03:16 -05:00
zeromus 4d89558301 fix multihawk opengl window mixup and change GLManager to a singleton to stop that from happening again 2015-03-06 03:05:46 +00:00
SuuperW bff3d64a4a -Various fixes, mostly to Undo/Redo.
-Changed Program.cs to not use a couple try statements when debugger is attached.
-Implemented the Undo/Redo menu item buttons.
-Ctrl-deselecting frames in TasView now supports dragging.
2015-03-01 19:29:33 +00:00
jdpurcell 7155067e89 Remove unused SlimDX.DirectSound usings. 2015-02-22 04:43:52 +00:00
jdpurcell 83e8abc963 XAudio2! There's no UI for it yet. 2015-01-31 04:49:53 +00:00
adelikat bcfdc755bb Program.cs - disable warning and use a non-deprecated method, props to HackerCow for pointing this out 2015-01-01 20:54:01 +00:00
jdpurcell 09c6072082 Issue 288: Fix two crashes in single instance mode. 2014-12-29 04:20:47 +00:00