YoshiRulz
69aa909fc5
Revert previous fix which didn't work and set DisplayName properly
...
fixup e22c2ae11
2020-03-31 23:42:43 +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
7f2e1438ba
VirtualPads - style console pads differently
2020-03-22 19:34:04 -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
ddaa6fab36
rename FloatSingle -> SingleFloat
2020-03-22 12:19:40 -05:00
adelikat
4476cc53af
VirtualPads - unnest ButtonScehma and PadInputType
2020-03-21 18:12:26 -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
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
d65092e967
Misc cleanups in tool dialogs - mostly the use of expression body (C#6/C#7isms)
2019-10-29 09:27:56 -05:00
James Groom
90b0574bc3
Remove unnecessary calls to ToList (e.g. in foreach)
...
squashed PR #1591
2019-10-13 15:50:57 +00:00
zeromus
cc33617f74
fix crash in snes virtualpad when mouse is used
2017-07-09 11:40:55 -05:00
adelikat
d18a512db8
Saturn - virtualpad support for 3d controller, however, analog stick needs some fixes to support the large analog range of the stick
2017-06-11 14:45:18 -05:00
adelikat
ba4af238b7
VirtualPads - PSX NeGcon support, also slider controls now support vertical orientation
2017-04-29 14:47:51 -05:00
Hathor86
f145f3cc68
Polar Coord
...
- Add polar coordinates to VirtualPadAnalogStick
- Update N64 pad Schema as VirtualPadAnalogStick is a bit larger
- Add Clamp method to NumberExtensions (allows a IComparable<T> value to be restriced between 2 specified other values)
2016-01-23 22:56:41 +01:00
zeromus
0787a3be47
rework virtual pad analog widget to support n64 and psx simultaneously
2015-07-19 21:46:52 -05:00
jdpurcell
260176e458
Fix NES Zapper target being 210 pixels tall instead of 240.
...
Fix max X/Y value of target being high by 1.
2015-01-01 22:14:03 +00:00
jdpurcell
eacadc8e09
Apparently UserControls that are created dynamically need AutoScaleMode.Font. UserControls placed via the designer should use AutoScaleMode.Inherit. Actually it seems possible to get around the problems of dynamically created UserControls (including the need to manually scale the positions/sizes) by moving their creation into the constructor after InitializeComponent, adding SuspendLayout before InitializeComponent, and adding ResumeLayout after UserControl creation. But I don't want to risk moving the code around too much.
2014-12-31 05:34:21 +00:00
jdpurcell
19bdb01adc
Small tweak to previous commit.
2014-12-29 00:59:40 +00:00
jdpurcell
7b4c5636bd
Improve scaling. Still needs some work but it's better than it was.
2014-12-28 23:58:45 +00:00
zeromus
4dc4745122
psx - revise disc swapping method. way cooler now, you get a list of discs in the virtualpad box, and changing between them maps to physical operations more logically.
2014-12-19 03:24:48 +00:00
zeromus
c43dd9fc34
psx - revise disc switch schema stuff; add MinValue support to analog button and tweak the pip positioning
2014-12-16 03:15:27 +00:00
adelikat
b4416e8317
VirtualPads - add an option "Clear clear analog input"
2014-07-27 12:39:56 +00:00
adelikat
9210b4d9a1
Greatly improve performance of the virtualpad tool, most configurations will have no speed cost unless there is no movie, movie speeds are much improved.
2014-07-26 17:11:47 +00:00
adelikat
b9bb1635a1
more tweaks to the Analog Stick variable size logic, and positioning fixes to Genesis mouse schema
2014-07-06 17:02:35 +00:00
adelikat
2225811743
Virtualpad Analog stick - refactor to be variable size instead of a hardcoded 127, Implement Genesis mouse as a 255 analog stick. Note: some positioning bugginess is present in this check in, and probably some things got broken
2014-07-06 16:44:50 +00:00
adelikat
5c8cf8b141
Virtualpad Target screen - cleanup some unneeded code
2014-07-04 15:12:14 +00:00
adelikat
49955a3447
Virtualpads - targeting pair - support ability to set a range to translate values to, and set genesis lightgun to 10000
2014-07-04 00:04:18 +00:00
adelikat
8cf0f3b379
Virtualpads - re-implement the "bump" hotkeys
2014-06-29 23:43:31 +00:00
adelikat
27fb2ce9a0
Virtualpad Analog sticks - in record mode show the previous frame's input in gray
2014-06-29 14:42:20 +00:00
adelikat
ee6d73aac7
Virtualpads - some code cleanup
2014-06-29 03:14:40 +00:00
adelikat
f3cac5deff
Virtualpads - fix readonly notion, no longer crashy when no pads are set up
2014-06-27 01:45:30 +00:00
adelikat
2a78b5c743
Virtualpads - fix up some Readonly logic
2014-06-26 20:36:33 +00:00
adelikat
fcc3ce214b
Virtualpads - wire up read-only toggle behavior and remove hacky button
2014-06-26 20:07:07 +00:00
adelikat
82d6490532
VirtualPads - implement Set on TargetScreen control
2014-06-25 21:11:25 +00:00
adelikat
4d9f46c6a1
Implement read-only for VirtualPadButton
2014-06-25 20:40:20 +00:00
adelikat
9045f8402c
Virtual Pads - hook up Nes Power Pad and also hook it up to bk2 mnemonics
2014-06-25 00:11:59 +00:00
adelikat
a1926e1a58
Make virtualpads prettier including a Display name that can (should) be set in the schema, and an optional Max Size (defaults to default size if left out), added lots of nes stuff, and basic 2 player famicom (including microphone on player 2)
2014-06-24 23:32:30 +00:00
adelikat
118d69a669
Virtual pad progress
2014-06-24 16:36:19 +00:00
adelikat
3208440225
Virtual Pads - basic analog button control and wire up to NES arkanoid paddle
2014-06-24 12:58:08 +00:00
adelikat
b364b5c48f
implement TargetScreen virtual pad and wire up to Nes zapper
2014-06-22 21:50:27 +00:00
adelikat
a248e2d99b
Virtual Pads - analog stick should be done now (including max X,Y constraints)
2014-06-22 17:41:13 +00:00
adelikat
50dafe1269
Virtualpads - more stuff
2014-06-22 16:30:24 +00:00
adelikat
2009e07e35
Virtualpads - Some Progress
2014-06-22 15:43:45 +00:00
adelikat
41e4a3b13a
Virtualpads - more progress
2014-06-22 15:05:37 +00:00
adelikat
c15f9ce84d
Virtualpads - Use VirtualPadButton instead of Checkbox (to give all buttons right-click autofire capability)
2014-06-22 14:50:23 +00:00
adelikat
c3bcc0cbc8
Virtualpads - more reorg
2014-06-22 14:43:59 +00:00
adelikat
60d1784895
Delete old virtualpad files
2014-06-22 14:13:10 +00:00
adelikat
1e48111092
Virtual Pad - ability to toggle between single player and multiplayer and remember the setting in the config
2014-05-11 23:08:34 +00:00
adelikat
c669680e07
Rename Multiclient folder
2013-11-03 04:05:56 +00:00