Commit Graph

236 Commits

Author SHA1 Message Date
zeromus 10bceeb0dc Nope, I think it's a good idea now.
Revert "This reverts commit c878c85daeaaf0cae3e28f24bc1a8b511293d7b6."
This reverts commit 1d1f2a18c6.
2020-04-23 21:20:59 -04:00
zeromus 1d1f2a18c6 This reverts commit c878c85dae. 2020-04-23 21:06:12 -04:00
zeromus c878c85dae for your consideration: sync settings return flags instead of a bool, so we can have more granularity in what needs resetting than just "reboot core". for instance, we would like to minimize the number of times the window layout is redone by not doing it when the screen settings havent changed. HOWEVER, while I was writing this commit message, I realized, I should probably do it just by being more cautious in kicking off the layout (unless the data coming from the core has changed, a layout shouldnt happen). So I am going to make this commit, in case it inspires anyone, and then revert it. 2020-04-23 21:05:56 -04:00
adelikat 1fd620a1f4 fix N64 memory callbacks 2020-04-13 13:29:22 -05:00
YoshiRulz 0ba7a5a7df
Rename axis-related types, members, and locals
I left a few methods where they had an equivalent *Bool*() for buttons, and also
left some in TAStudio that get serialised.
2020-03-31 17:29:55 +10:00
adelikat b5c0bfa141 remove coreComm from N64 core 2020-03-15 09:32:29 -05:00
YoshiRulz e12b5d8137
Refactor FloatRange creation and usage
effectively resolves #1200
* Replaced floats in FloatRange with ints (would have used shorts but
SubGBHawk/SubNesHawk use an axis to hack in cycle count or something), added
both Range<int> and Range<float> auto-properties
* Added bool field IsReversed to FloatRange
* Added enum AxisPairOrientation and factory method using it
* Cleaned up usages of FloatRange fields and properties
* Added new properties to PadSchema.ButtonSchema for type
PadInputType.AnalogStick (to hold the two FloatRanges) and used
ControllerDefinitions from cores to dedup these ranges in the schemata
* Made VirtualPadAnalogStick work properly: both the direction and bounds are
correctly set from the controller schemata, the polar conversion measures angles
consistently (though I think it might not work outside -128..127 e.g. for PSX),
and I didn't break the sensitivity override, plus negative percentages might
work now but I didn't allow those
* Renamed FloatRange to AxisRange, but did not rename related symbols
2020-03-14 20:47:45 +10:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
adelikat cdcc1eabde use inline out variables in Emulation.Cores 2020-02-18 15:10:29 -06:00
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10:00
adelikat 54ba1e12eb set get only properties in Emulation.Cores, and a few other simplfiications 2020-02-18 11:11:59 -06:00
adelikat 606c3bf1c2
use more advanced language features in Emulation.Cores (#1852)
* Use expression bodies in Emulation.Cores, and a few other misc cleanups

* remove unused usings in Emulation.Common

* cleanups in Tables_Direct.cs

* some cleanups in nes boards - redundant code

* remove some redundant array initializers in Emulation.Cores

* cleanup AmstradCPC.Controllers

* use object initializers in a lot of places

* nes mappers - remove disch's notes comments in favor of the nesdev wiki link

* cleanup CdtConverter.cs, mostly use of object initializers

* remove redundant .ToString() calls in Emulation.Cores

* using var in Emulation.Cores

* AmstradCPC/ZXSpectrum - simplify some linq, tabs instead of spaces, a few other misc cleanups

* Use null-propagation in Emulation.Cores
2020-02-17 16:54:51 -06:00
adelikat 656f2b814e Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace 2020-02-15 12:33:15 -06:00
adelikat 4b7a7dd293
Make Binary states default and Textstates opt-in for cores (#1848)
* Rewind & State config - remove the default option

* remove the savestate type of default, not that this is a breaking config change for anyone that had specifically set savestates to text

* remove BinaryStatesPreferred from IStatable and use config setting when starting movies from "Now" in record movie dialog

* remove BinaryStatesPreferred from cores

* make text savestates an extension method off of IStatable and an inteface ITextStatable it uses if the core implements it. This will allow cores to opt in to text states if desired

* make cores with actual text savestate impleemntations get ITextStatable, remove text state logic from cores that just have a binary as as text implementation
2020-02-15 10:22:26 -06:00
YoshiRulz b1e02fbdce
Enable SA1106 and fix noncompliance
"Code should not contain empty statements"
i.e. don't put a semicolon there
2020-01-25 18:06:34 +10:00
YoshiRulz 6f3f01125c
Enable SA1504 and fix noncompliance
"All accessors should be single-line or multi-line"
i.e. no block form on one line
2020-01-25 14:56:56 +10:00
YoshiRulz c38fb09d3c
Fix typos in strings and comments (from #971) 2020-01-13 00:22:01 +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 fef746dffa properly dispose of IDisposables in core savestate code, and a few other places 2019-12-06 17:33:17 -06:00
adelikat eb1d87933b Fix Nintento (breaking config change but we've already thoroughly broken compatibility since last release), partially addresses #971 2019-11-16 12:42:18 -06:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05: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
MrCheeze 4d49dc5d30 ALL n64 memory domains need to be byteswapped, not only rdram/rom 2019-09-09 00:16:43 -04:00
MrCheeze 3f26d14eaa added SRAM and FlashRAM memory domain support for N64 2019-09-08 23:20:35 -04:00
YoshiRulz 4dd40305bc
Merge branch 'master' into interp_cores 2019-06-15 02:11:24 +10:00
James Groom 067477ce18
Merge branch 'master' into clean_docs 2019-06-14 13:28:39 +00:00
Brian Armstrong 2c6ecb68bd Merge branch 'master' into brian/mem_callback_addr_value 2019-06-06 02:11:04 -07:00
Brian Armstrong d41bd867b8 flags 2019-06-06 02:04:47 -07:00
YoshiRulz 2642ef4049
Remove empty docs 2019-06-06 16:41:10 +10:00
YoshiRulz 58c738957c
Rename PlatformLinkedLibSingleton and children 2019-05-18 15:40:46 +10:00
YoshiRulz 9af93be0d3
Use string interpolation 2019-04-04 02:41:18 +10:00
feos c3c262db12 N64:
- close #1478
- update gliden
- wire up halo removal
2019-03-10 16:15:55 +03:00
Brian Armstrong a8f293eec8 Call mem callbacks with addr, value 2019-01-24 03:23:21 -08:00
alyosha-tas c19c7cd5c3 SubNESHawk
also Input register shift fix

# Conflicts:
#	BizHawk.Client.EmuHawk/MainForm.Designer.cs
#	BizHawk.Client.EmuHawk/MainForm.Events.cs
#	BizHawk.Emulation.Cores/Computers/AmstradCPC/AmstradCPC.IEmulator.cs
#	BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.IEmulator.cs
#	BizHawk.Emulation.Cores/Consoles/Nintendo/NES/PPU.run.cs
2019-01-10 18:25:59 +03: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 8c7919a1c4 nothing 2018-11-30 10:00:26 -06:00
zeromus 1961d8b8d0 fix mupen dll not to have 100 frame hack crash; change c# side to more visibly hang (the frame counter stops, so the condition can be detected) 2018-11-07 19:59:03 -05: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
feos b83c99c857 gliden64: wire up overscan, but disable the ui option, because it somehow refuses to work 2018-09-15 20:30:19 +03:00
feos 2ab320ebf2 gliden64: wire up resolution display
the proper method is obviously hooking into m64p and getting this info via lua or something, but for now it's better than nothing (and easy)
2018-09-15 12:43:39 +03:00
feos 6af9b6aaa5 update gliden64 and wire up fxaa 2018-09-15 12:09:52 +03:00
feos fc03be879f gliden64: disable texture cache option, since internally it's hardcoded to 8000 now 2018-06-23 00:00:08 +03:00
nattthebear e8145af463 i hope this breaks something 2018-05-12 12:55:42 -04:00
frequem d0d73766bd Fixed some filenames causing problems on case-sensitive systems 2018-02-21 20:19:33 -05:00
adelikat ebcd237858 Merge branch 'master' into domainedmemoryhooks 2017-10-29 12:38:29 -05:00
nattthebear 5e3cdba869 Finally dump some old movie 1.0 cruft 2017-08-11 19:45:45 -04:00
Isotarge ffe051ab26 N64: Fix minAnalogX and minAnalogY values
D and L boolean inputs for the analog stick were one unit short of full
range
2017-08-09 01:23:44 +09:30
adelikat cd289c474e memorycallbacks with domains - Phase 2 - change api to Call methods and refactor accordingly, everything should behave as it was before the refactor at this point. No cores have yet to be implemented with domains other than the default bus they already had 2017-08-03 18:08:07 -05:00