Commit Graph

26 Commits

Author SHA1 Message Date
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 79aec475a9 refactor CoreComm usage in sega cores 2020-03-15 09:42:48 -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 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 e6e1962b54
Convert SMS settings to use GenericCoreConfig (#1816)
* refactor Sms settings including naming conventions and fix a typo, breaks configs with SMS settings already saved

* convert SMS controller type setting to an enum

* convert SMS Region setting to an enum

* Move SMS display type setting to an enum

* convert sms settings to properties

* SMS - wire up generic core config to a settings menu item

* remove some SMS menu items that are redundant to generic settings config

* remove more SMS menu items that are now redundant to generic core config

* remove more redundant SMS settinsg including SMSGraphicsConfig dialog, add descriptions and display names to SMS settings objects
2020-01-26 12:56:54 -06:00
alyosha-tas 7630be7e93 SMS: Some clean up and speed up 2019-02-24 11:02:59 -06:00
alyosha-tas 9f75222284 SMS: Refactor sound to not use AsyncSound 2019-02-23 11:31:09 -06:00
alyosha-tas ea92bdcc66 GGHawkLink: tracelogger 2019-02-09 15:19:18 -06:00
alyosha-tas f08a521900 GGHawkLink:
-Seperate controller input
-Fix lag indicator
-Correct frame execution
2019-02-09 11:45:29 -06: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
alyosha-tas 7767ed6fb9 SMSHawk: Fix pause button
Fixes #1236
2018-07-02 08:23:29 -04:00
alyosha-tas 942454e327 SMS/GG: Implement SMS compatibility mode for some games
(Technically the screen is supposed to be modified too but not implementing yet)
2018-05-11 20:08:42 -04:00
Tastyfish 480f3b73f9 Keyboard support for SG-1000/Mark III 2017-11-25 01:23:12 -05:00
Tastyfish 9693d812d2 Adds SEGA Sports Pad for SMS support, also make controller syncsetting 2017-10-27 20:34:12 -04:00
alyosha-tas 09ce28d2bd Add files via upload 2017-10-13 18:01:14 -04:00
alyosha-tas fc0a251040 Add files via upload 2017-10-12 20:21:32 -04:00
Tastyfish d0fdc75a1e SMS Light Phaser support 2017-09-01 22:39:01 -04:00
Tastyfish 1069a50219 Adds Sega Master System paddle support 2017-08-30 23:16:14 -04:00
adelikat b6fc3006e9 Cleanup SMS.IEmulator.cs 2017-05-08 11:42:22 -05:00
adelikat 698c6741ae Refactor IEmulator and remove the IController property, instead pass it as a paramter to the FrameAdvance() method 2017-05-01 20:09:11 -05:00
adelikat ded1c2d7b7 Break off BoardName from IEmulator into a separate IBoardInfo service 2017-04-30 21:01:54 -05:00
adelikat 3192cc70ae slight refactor to IEmulator - make the IController property set only to more clearly express the client -> core relationship 2017-04-26 19:09:00 -05:00
adelikat 72a59087b5 Use the IController indexing property less in preparation for removing it from the interface. Replaced with its more explicity counter-part .IsPressed() 2016-12-14 12:42:15 -06:00
adelikat b73a500d6b Major sound provider refactor. Create a unified interface ISoundProvider, that is an IEmulator service and break it off of IEmulator. IAsyncSoundProvider was kept as a shim for now, for legacy cores that were inherintly async. 2016-12-11 11:15:00 -06:00
adelikat b697110098 Rename ISoundProvider to IAsyncSoundProvider to more accurately describe what the service does 2016-12-09 10:24:43 -06:00
adelikat 4460055da3 SMS - break up services into separate files 2016-02-28 12:01:12 -05:00