adelikat
599c6a9fa5
virtual pad support for GB 3x and 4x
2020-05-05 16:43:22 -05:00
adelikat
d4c8615e95
remove unused usings and other redundancies
2020-04-23 20:33:18 -05:00
adelikat
ce17df2b6a
DS - fix virtualpad lid buttons
2020-04-07 08:43:52 -05:00
adelikat
96a753324a
O2 - add Reset button to virtual pad
2020-04-03 18:08:26 -05:00
adelikat
f408bcb2b7
more of the previous commit
2020-03-31 09:30:52 -05:00
adelikat
747501af52
nitpick previous commits - public properties not readonly fields
2020-03-31 09:17:53 -05:00
YoshiRulz
69aa909fc5
Revert previous fix which didn't work and set DisplayName properly
...
fixup e22c2ae11
2020-03-31 23:42:43 +10:00
YoshiRulz
e22c2ae115
Fix ButtonSchema.DisplayName regression
2020-03-31 23:30:06 +10:00
YoshiRulz
9e5e8c2547
Seal PadSchemaControl subclasses
2020-03-31 21:45:27 +10:00
YoshiRulz
3decfa5019
Use inheritance instead of Type for PadSchema controls
...
* Rename ButtonSchema to PadSchemaControl, create ButtonSchema subclass, rename
AnalogSchema to AnalogStickSchema, and make PadSchemaControl abstract
* Replace switching on PadSchemaControl.Type (enum PadInputType) with type
checks
* Refactor and merge VirtualpadTool.CheckPads() into .CreatePads() (it was
easier than just using type checks in the old algorithm)
* Move members from PadSchemaControl to subtypes and cleanup
2020-03-31 21:40:36 +10: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
2f287f5c3c
virtualpads - a2600 - implement keyboard controller
2020-03-29 17:42:59 -05:00
adelikat
b1911f32a3
virtual pads - fix atari 2600 booster grip button mapping, broken in recent refactors
2020-03-29 17:34:42 -05:00
adelikat
7aa0b08dd5
O2 virtualpad - add keyboard
2020-03-23 14:05:40 -05:00
adelikat
0717878fae
Odyssey2 - Virtualpads - cleanup, add Power button
2020-03-23 09:27:11 -05:00
adelikat
b52d674959
virtualpads - cleanup
2020-03-22 20:14:09 -05:00
adelikat
b2c2b5c362
VirtualPads - Genesis activator - attempt to fix it up, it at least maps to correct buttons now
2020-03-22 20:10:30 -05:00
adelikat
49b57bbb22
Virtualpads - fix up vectrex - add console buttons, fix analog logic
2020-03-22 19:54:19 -05:00
adelikat
59a7b24df9
a7800 virtualpads - cleanup, support unplugged and lightgun options, remove unimplemented paddle controller logic
2020-03-22 17:31:44 -05:00
adelikat
f98003f98e
virtualpad schema - cleanups
2020-03-22 16:47:33 -05:00
adelikat
1f8171fc9b
PadSchema - remove MaxSize as it wasn't being used, rename DefaultSize to just Size
2020-03-22 16:23:01 -05:00
adelikat
808fa1a911
SmsSchema - simplify
2020-03-22 16:16:05 -05:00
adelikat
b520211cf2
NesSchema - simplify some
2020-03-22 16:04:45 -05:00
adelikat
00ec0750d0
SnesSchema - remove unused method
2020-03-22 15:58:50 -05:00
adelikat
1b7698aa71
ButtonSchema - simplify UDLR helper methods more
2020-03-22 15:57:43 -05:00
adelikat
ec353e163e
ButtonSchema - simplify with another overload
2020-03-22 15:15:22 -05:00
adelikat
554e0dcf80
ButtonSchema - simplify more
2020-03-22 15:09:19 -05:00
adelikat
d0908053c2
ButtonSchema - simplify
2020-03-22 14:39:12 -05:00
adelikat
7e9ef33d90
ButtonSchema - lock down setting of Name property
2020-03-22 14:36:57 -05:00
adelikat
c0ffe0e0e3
ButtonSchema - use overloads more
2020-03-22 14:32:27 -05:00
adelikat
828bc2b9dc
ButtonSchema - use overloads more
2020-03-22 14:27:12 -05:00
adelikat
7b6ff18775
ButtonSchema - use more constructor overloads to simplify
2020-03-22 14:13:01 -05:00
adelikat
90a03f3f6a
ButtonSchema - lock down Location setting
2020-03-22 13:21:38 -05:00
adelikat
1c9260f7cf
ButtonSchema - use name overload more
2020-03-22 13:16:30 -05:00
adelikat
5f24a07fc9
add ButtonSchema overload with name, and use it in places
2020-03-22 12:56:00 -05:00
adelikat
0344b0affb
make PadSchema.IsConsole not settable, force the use of inheritance
2020-03-22 12:37:28 -05:00
adelikat
ddaa6fab36
rename FloatSingle -> SingleFloat
2020-03-22 12:19:40 -05:00
adelikat
ec36ed6206
ButtonSchema - make Type not directly settable and force the use of inheritance to set it
2020-03-22 12:18:47 -05:00
adelikat
1f63228061
C64 virtualpad schema - simplify
2020-03-22 11:41:48 -05:00
adelikat
2560def438
Virtual Pad - ButtonSchema - make location constructor the only option since location is always required, change param order on Directional helper methods for consistency
2020-03-21 22:24:06 -05:00
adelikat
b70cfebd1d
virtualpad schema - make a ButtonSchema constructor that takes in coordinates, reduces a lot of boilerplate, wire it up to a few schemas
2020-03-21 19:09:02 -05:00
adelikat
a52c46339e
VirtualPad Schema - add some helper methods for creating directional pad buttons, since those are so common
2020-03-21 18:12:26 -05:00
adelikat
4476cc53af
VirtualPads - unnest ButtonScehma and PadInputType
2020-03-21 18:12:26 -05:00
adelikat
0ecc1e8023
VirtualPad Schema - default to type Button, and remove now redundant setting of this value
2020-03-21 16:10:01 -05:00
adelikat
c1e2f6afe5
VirtualPad Schema - don't show display name if icon is preset, default to Name if displayName is not present (and no icon). Delete a lot of now redundant DisplayName assignments
2020-03-21 15:22:30 -05:00
adelikat
6f84582aa5
virtualPad cleanups
2020-03-21 15:22:30 -05:00
adelikat
020db9bfe3
DS virtual pad
2020-03-21 14:29:45 -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
9584ff1f53
use switch expressions in some various places in EmuHawk, and some other simplifications
2020-03-04 20:18:43 -06:00
adelikat
dedd618db4
subneshawk - delete a bunch of code by using the underlying core for services, cleanup, and implement some services that were missing
2020-02-18 13:19:17 -06:00