Commit Graph

296 Commits

Author SHA1 Message Date
adelikat 0082de7c0a cleanup Quantizer.cs 2019-12-31 10:24:57 -06:00
adelikat bdd0d56a70 delete the console log window, always show LogWindow instead 2019-12-29 14:39:44 -06:00
YoshiRulz 264b27475e
Fix default referring to non-nullable type 2019-12-23 04:12:02 +10:00
YoshiRulz 7cd29c0f54
Finish moving Win32 imports to BizHawk.Common, organise, and cleanup 2019-12-21 18:33:11 +10:00
YoshiRulz 580aa2eaf9
Refactoring and cleanup of dynamic lib loading
Also fixed error reporting in WindowsLLManager, and fixed bug in
MednaDisc.CheckLibrary
2019-12-21 18:22:58 +10:00
YoshiRulz 7ea8fb185a
Congregate, organise, and cleanup some Win32 imports and their usages 2019-12-21 18:21:51 +10:00
adelikat 04798f0e40 oops 2019-12-06 20:29:46 -06:00
adelikat dcc853af6d remove a few more unused string methods 2019-12-06 18:16:49 -06:00
adelikat 049e3d12fc BizHawk.Common house cleaning - remove a bunch of unused code, use some higher language level features in some places 2019-12-06 18:12:57 -06:00
adelikat 2b00a98ab1 Remove unused Sprintf.cs 2019-12-06 17:48:46 -06:00
adelikat fef746dffa properly dispose of IDisposables in core savestate code, and a few other places 2019-12-06 17:33:17 -06:00
James Groom fcc0bc19a4
Change build config to support the Core build system (for #1415)
squashed PR #1702
2019-12-03 16:58:33 +00:00
adelikat c854ea90b9 remove some obsolete BufferExtensions, and unused ones 2019-11-16 16:55:28 -06:00
YoshiRulz 8c059aa43c
Replace helper methods with readonly bool IsUnixHost and cleanup 2019-11-04 14:30:05 +10:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05: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
adelikat b9ade1a555 Merge branch 'master' into MoreUnixMonoCompatWork 2019-11-03 12:55:53 -06:00
YoshiRulz 94935bc45e
Fix #1714
why is RedirectStandardInput=true,UseShellExecute=false not the default
2019-11-03 23:11:29 +10: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 f8379d9fd4
Bump ReSharper analysis to C# 8.0 2019-10-31 03:30:00 +10:00
J.D. Purcell 69edada441 Set LangVersion to 8.0. Requires Visual Studio 2019 with 16.3+ update installed. 2019-10-27 12:14:19 -04:00
adelikat 924618ee8f Set resharper language level to 7, add some emulator lingo to the resharper dictionary 2019-10-27 10:54:29 -05:00
YoshiRulz a4a11ef859
Refactor search paths 2019-10-25 21:30:43 +10:00
YoshiRulz 92721a816a
Add /usr/lib/bizhawk to the search path 2019-10-25 21:28:03 +10:00
YoshiRulz faddddca05
Add /usr/lib to the search path 2019-10-25 21:22:56 +10:00
YoshiRulz 4974807b21
BizInvoke: resolve full path for DLLs on Unix 2019-10-25 21:19:58 +10:00
adelikat 6c22e1c4c6 Lua console - implement saving/loading of column info 2019-10-19 10:45:42 -05:00
YoshiRulz db020e499e
Extract superclass from MemoryBase and start on a Unix implementation 2019-10-19 15:20:31 +10:00
James Groom 90b0574bc3
Remove unnecessary calls to ToList (e.g. in foreach)
squashed PR #1591
2019-10-13 15:50:57 +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 67cbe9a5ee
Cleanup OSTailoredCode 2019-08-12 20:53:55 +10:00
YoshiRulz b7249a99a5
Extract shell command helpers 2019-08-12 20:00:42 +10:00
adelikat b1296dd9bb rip out NDBDatabase 2019-06-15 15:13:08 -05:00
YoshiRulz 3fa0f71a24 Inline ToHexString extension where param numdigits is constant 2019-06-14 15:54:17 +00:00
YoshiRulz a2a5ec7566 Replace $"{a}{b}" and similar with concatenation 2019-06-14 15:54:17 +00:00
YoshiRulz 2642ef4049
Remove empty docs 2019-06-06 16:41:10 +10:00
YoshiRulz 268ed1a69d
Fix malformed docs 2019-05-29 20:58:01 +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
Asnivor ff4acab261 Serializer: Add support for float[], double and double[] 2019-04-08 08:59:01 +01:00
James Groom 6b56a65d11
Add MutableIntRange and float.RoundToInt and refactor AnalogStickPanel 2019-04-01 14:41:08 +11:00
James Groom 779975f689
Use nameof 2019-03-28 14:17:14 +11:00
YoshiRulz 20b3112284
Use string interpolation
Excludes Sprintf.cs
2019-03-20 15:13:04 +10:00
upthorn 435d717f7b Merge branch 'master' of https://github.com/Upthorn/Bizhawk 2019-01-14 17:10:45 -08: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
upthorn c8f826ada3 Merge branch 'master' of https://github.com/TASVideos/BizHawk 2019-01-04 13:58:01 -08:00
nattthebear b82fd1fb2c Remove bogus TODO.
Absolute requirements of MemoryBlock include:

1) Ability to set and deny RWX permissions at the individual page level within the block
2) Ability to map and unmap from memory at will
3) Ability to specifiy the exact address at which the mapping occurs

From the docs, I don't see any way to get at any of these from the MemoryMappedFile stuff.  So that's a nonstarter.

Should be easy enough to rewrite in POSIX though.
2019-01-04 16:30:13 -05:00
upthorn 71215adf0d Merge branch 'master' of https://github.com/TASVideos/BizHawk 2019-01-04 04:58:58 -08: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
upthorn aba1da071d Completely refactored PluginAPI to extend ApiHawk. Ecco2AssistantPlugin is now an external tool. 2018-12-22 10:40:30 -08:00
zeromus 2eade372fd try a new technique to just unstick the frontend when the n64 emulation thread dies 2018-11-07 15:37:37 -05: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
adelikat 22d1818641 DoSettings file for all project to explicitely set language level to C#6 2018-06-23 13:06:13 -05:00
zeromus d55e03538f revert weird changes to util.cs for unused parameter-filling code 2018-03-13 20:41:29 -04:00
Xadrophonix 4bcd69924b All required contents for: https://github.com/TASVideos/BizHawk/issues/1122 2018-03-02 12:06:01 -08:00
frequem 71ba3024b7 Fixed linux build 2018-02-21 20:19:33 -05:00
nattthebear 66940747b0 Cleanup 2017-07-16 08:40:06 -04:00
nattthebear 2bd7726b9b Fix a memory leak in the loonix waterbox interop code that's never been used before ever 2017-07-12 17:57:29 -04:00
nattthebear 41fdb3a140 Lay down the CR/LF law 2017-07-03 14:44:30 -04:00
nattthebear bdfb859480 pizza boy: add the required SPC file as an embedded resource because zeromus said to 2017-07-01 09:06:04 -04:00
zeromus cad5f441dd fix build paths to output 2017-06-26 17:57:50 -05:00
zeromus 0085729392 delete x64 build configuration, use anycpu instead. take care to set Prefer32Bit false in exe csproj, since visualstudio's gui preference doesn't work. 2017-06-26 17:47:51 -05:00
nattthebear a7f7583fcc waterbox: add space at the end of writable data pages, past what was allocated by the core but before the start of cpu enforced write protection, to savestates. theoretically fixes determinism issues from certain wild pointers 2017-06-20 20:56:17 -04:00
nattthebear ed02493297 fuck componentmodel 2017-06-19 21:23:20 -04:00
nattthebear 1292b27163 Add some draft work for supporting sysv <-> msabi interop. I wonder if we'll ever use this? I'd put it on a separate branch but it would be merge hell. 2017-06-18 08:51:09 -04:00
nattthebear 6f60eb5efc Create an abstract base class for waterbox cores, and adapt Virtual Boyee to use it. Not sure yet how useful this is... 2017-06-17 10:07:02 -04:00
adelikat c5f15da366 Update BizHawk.Common from .net 4.5.2 to 4.6.1. I believe 4.5.2 was an oversight from the original .net upgrades. If I'm wrong and this library needs to be 4.5.2 for some reason, feel free to revert. 2017-06-12 13:55:30 -05:00
zeromus 39433e509e change some output64 to output 2017-06-12 01:38:02 -05:00
zeromus 0942d4f498 remove x86 project configurations 2017-06-12 01:24:35 -05:00
nattthebear fa9dcfae35 waterbox: When compiled in debug mode, forcibly evict self at every opportunity. This can be used to catch bugs using pointers past their valid time. Catch and fix two such bugs in the libsnes wrapper. 2017-06-11 07:47:16 -04:00
nattthebear deaf22cb36 Make the bizinvoker, when not in compatibility mode, marshal bool returns as C++ would expect you to, and not winapi because fuck winapi 2017-06-06 17:59:27 -04:00
nattthebear 2887ba5823 savestates for vb. this includes savestates for mmap_heap. unfortunately, usage of mmap_heap was scrapped as the things going into it were better suited for invisible/sealed. it may be eventually useful 2017-05-29 11:26:38 -04:00
nattthebear 76022f66f9 update to framework 4.6.2. Since Windows XP 64 was very rarely used, there's no loss in switching to this if we're going to 64 bit. Add `FrameworkZipWriter` based on the 4.5 framework's built in zip writer. It shaves a decent amount of time off savestate save time, but rolling our own off of DeflateStream would be even faster. 2017-05-27 18:15:15 -04:00
nattthebear b649927360 bizinvoke: make class ref interop work with null pointers 2017-05-27 14:40:15 -04:00
nattthebear 34791d8589 bizinvoker: fix clas being used in place of ref struct 2017-05-27 12:59:57 -04:00
nattthebear 2665510502 Add enough changes so that snes9x now boots. This includes stubs for a bunch of syscalls, a few mmglue changes, and C++ global constructor support 2017-05-27 12:29:05 -04:00
nattthebear 7739b9dc80 rough in some snes9x stuff. not working yet 2017-05-21 17:43:43 -04:00
nattthebear 6053cd6e35 stuff 2017-05-20 12:24:15 -04:00
nattthebear 5c8efb51ba Add some Import related stuff to PeRunner. Build BizExvoker which will be used to import managed libraries as dependencies to PEs 2017-05-20 09:46:45 -04:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
adelikat f31f3af0c8 InstanceDLL - throw if _hModeule == IntPtr.Zero, advanced loader - show the error if one occured 2017-05-04 19:43:51 -05:00
adelikat b3ad3ce6ba Move BizInvoke files from Emulation.Common to Common 2017-05-01 17:30:42 -05:00
adelikat e1750bdce9 Move BinaryQuickSerializer from Emulation.Common to Common 2017-05-01 17:26:39 -05:00
adelikat a8c15a652b Emulation.Common cleanups 2017-04-27 11:37:26 -05:00
J.D. Purcell 3d6b1da94d Whitespace only (indentation fixes/cleanup). 2017-04-19 20:34:30 -04:00
zeromus d7b0043379 add HModule accessor to InstanceDll 2017-04-17 22:42:12 -05:00
zeromus 42ab6b5df4 add tiny comment to HawkFile.Name 2017-04-17 22:41:58 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
adelikat 3965af851f Misc code cleanups in BizHawk.Common 2017-04-13 13:57:58 -05:00
adelikat e767e1b673 Fix loading roms from archive when using recent roms menu 2017-04-01 16:15:32 -05: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 b2cfc199cc add gizmo for resolving LNK files 2017-03-15 22:49:48 -05:00
zeromus b4ad2f40d9 snes c# cleanup 2017-03-15 17:49:19 -05:00
zeromus 1ae8605450 ugh. due to some extension my visualstudio doesnt save projectfiles automatically. 2017-03-06 05:25:09 -06:00
zeromus fbd7601b77 for evaluation:
overhaul snes core -- radically simplify IPC.

There were two goals
1. speedup (failed)
2. not break in the old way of becoming unstable when GC happens (uncertain)
3. lay framework for simplified libretro interface (success, provisional on #2)

the speedup failed, I think, because a slower libco is needed to coexist with .net. I think I will fix this be incorporating both libcos, one for bsnes internal use, and one for .net<->c++ switching
2017-03-06 05:21:35 -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