Commit Graph

326 Commits

Author SHA1 Message Date
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 4bf463a2fc use object initializers in Client.EmuHawk 2020-02-28 11:15:06 -06:00
YoshiRulz 4e5849030b
Fix typo 2020-02-28 12:13:12 +10:00
YoshiRulz a22a1637d0 Cleanup VirtualPadAnalogStick and use LUTs for polar conversion 2020-02-27 04:34:31 +00:00
YoshiRulz 71e3dbf6bc Replace RangeStruct with ValueTuple, add deconstruction for Range 2020-02-27 04:34:31 +00: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
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10:00
adelikat 3b5d0ab231 Virtualpad - Saturn - add previous and next buttons to console buttons, fixes #1703 2020-01-25 14:32:33 -06:00
adelikat 415dd5375b Virtualpad - use a reasonable size for the standard controller 2020-01-25 14:26:57 -06:00
adelikat 791498bb7e rename SatSchema.cs to SaturnSchema.cs 2020-01-25 14:22:04 -06:00
adelikat 1fa0882f8e nitpick some virtual pad schema class names 2020-01-25 14:21:36 -06:00
YoshiRulz 126bb4736b
Move commented-out code blocks to #if false
CBB doing Cores or Bizware
2020-01-13 11:14:16 +10:00
YoshiRulz e7d0fb8299
Refactor/genericise MutableIntRange, add immmutables, add more methods
call now and I'll throw in not one but two float equality extensions for free
2020-01-03 03:32:51 +10:00
YoshiRulz 060255471b
Improve exception docs in BizHawk.Client.EmuHawk 2020-01-02 21:51:37 +10:00
adelikat b390c2829c cleanup virtualpad code 2019-12-31 11:36:22 -06:00
adelikat 64ea9afee5 cleanups 2019-12-31 10:17:55 -06:00
alyosha-tas ec03c6fa0f Fix analog stick in virtual pad fixes #1612 2019-12-29 09:47:53 -05:00
adelikat b80b367831 refactor IMovie to expose the movie mode, and make extension methods that do IsPlaying type logic. This way there can be direct checks, and more variety of methods without cluttering the interface 2019-12-21 16:34:29 -06:00
adelikat 70840c1b54 remove some unused code, and a few other misc cleanups 2019-12-06 19:22:54 -06:00
YoshiRulz 7f07949816
Migrate serialised images to separate files, removing duplicates 2019-12-07 05:24:24 +10:00
YoshiRulz 16136ae130
Rename file 2019-12-05 15:21:15 +10:00
alyosha-tas 2fbf3c3b19 O2Hawk: system management work 2019-11-18 22:17:29 -05:00
alyosha-tas 61038a13ae O2Hawk: Expose Core and start running code 2019-11-18 17:33:55 -05:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05: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
alyosha-tas 9fe277a3ff Vectrex: a bit more controller and frame cleanup 2019-07-10 06:58:41 -04:00
alyosha-tas 84b0917f65 Vectrex: Add schema and do some miscellanous clean up 2019-07-09 20:01:45 -04:00
YoshiRulz 7cbd1decc1 It was a bug 2019-06-14 16:26:31 +00:00
YoshiRulz 1c0622d272 Move polar<=>rect conversion to new class 2019-06-14 16:26:31 +00:00
YoshiRulz 7e244be91a Inline event subscription 2019-06-14 16:26:31 +00:00
YoshiRulz 9b1eaca7be
Re-allow PadInputType.AnalogStick with reversed ranges
N64 standard controller in virtual pad no longer crashes
2019-06-11 05:11:24 +10:00
alyosha-tas ca5585dfaa A2600: boost grip controller 2019-05-05 07:53:28 -04:00
James Groom 6b56a65d11
Add MutableIntRange and float.RoundToInt and refactor AnalogStickPanel 2019-04-01 14:41:08 +11:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
alyosha-tas ead1d8d08c GGHawkLink: Virtual Pad 2019-02-10 08:59:28 -06:00
alyosha-tas afebde0d3e A7800: change 'trigger' to 'button' 2018-12-14 18:23:24 -06:00
Isotarge e808618981 TAStudio: Squish some more exceptions
- Opening a TASProj or closing BizHawk with the Virtual Pad open
- Opening TAStudio with small window size saved in settings
2018-10-19 12:35:14 +10:30
alyosha-tas bdc241d658 GBHawk: Fix Virtual Pad 2018-10-08 18:54:12 -05:00
Asnivor e2eac983a1
Merge pull request #1149 from TASVideos/master
Bringing ZXSpectrum branch up to date with master
2018-03-19 15:52:55 +00:00
Asnivor 5a2b0ae6a6 Added joysticks 2 & 3 and removed TapeControls from VirtualPad schema (they are not needed there) 2018-03-13 19:16:12 +00:00
alyosha-tas c839bffc33 A2600: Add Driving controller and fix coleco Super Action Controller 2018-03-12 09:12:41 -04:00
Asnivor 90c1e293bf Implemented multi bundler functionlity and multiple tape controls 2018-03-05 11:17:22 +00:00
Asnivor 6d22b06c21 Added virtual pad to UI 2017-12-04 14:05:04 +00:00
alyosha-tas b5b2e442c8 Schema: Remove EMU7800 2017-08-25 09:39:40 -04:00
adelikat cd5f6e66e1 Atari 7800 - sort out system id stuff 2017-08-04 17:17:14 -05:00
alyosha-tas 61b300b65a Update EMU7800 schema
Facilitate testing between cores
2017-07-29 20:22:44 -04:00
alyosha-tas d0c658b380 Update A7800Hawk schema with BW 2017-07-29 19:22:11 -04:00
nattthebear 4a2618470e saturnus: three dee virtual pad fix axis 2017-07-23 19:40:20 -04:00
alyosha-tas 7a0295e48f Update A7800 Hawk Schema 2017-07-21 19:28:44 -04:00
adelikat eaaf424a2c PCE - refactor virtual pad logic to use the controller deck 2017-07-18 11:16:42 -05:00
adelikat 3f16f8bd79 pc-fx - virtualpads 2017-07-14 14:21:50 -05:00
adelikat b968dbf81b pizza boy sgb - virtualpad support for the other controllers 2017-07-13 20:45:54 -05:00
adelikat 367b243990 Pizza Boy - preliminary SGB virtualpad support 2017-07-13 12:22:58 -05:00
adelikat 6d77f5a3c0 virtual pads for picoDrive 2017-07-13 12:02:08 -05:00
adelikat 9cb44cad03 Fix some filenames from previous renames, and more attribute renames 2017-07-12 14:48:27 -05:00
adelikat 5d855ef60b more attribute renaming 2017-07-12 14:40:10 -05:00
zeromus cc33617f74 fix crash in snes virtualpad when mouse is used 2017-07-09 11:40:55 -05:00
adelikat aaaeb95a05 Atari 2600 - update paddle virtualpads with the new float ranges 2017-06-29 13:46:17 -05:00
adelikat f5cb35a862 Atari 2600 - vritual pad and mnemonics for paddles 2017-06-28 14:27:15 -05:00
adelikat d862ad8232 Atari 2600 - Virtual support for new controller configurations (Paddles just stubbed out), add Left and Rigth Difficulty toggle buttons to the console buttons section 2017-06-28 07:23:36 -05:00
adelikat 162e851468 Saturn - virtualpad support for Mission and Dual Mission 2017-06-18 16:05:46 -05:00
adelikat 5c71fc2e34 Saturn - Wheel - virtual pad support 2017-06-18 15:03:51 -05:00
adelikat 7e98cd6ec9 Saturn - mouse - make button names consistent with other cores, virtual pad support 2017-06-18 15:03:50 -05:00
adelikat b22787fc44 Saturn - 3d pad - set mids for analog ranges, finish virtualpad support 2017-06-18 15:03:49 -05:00
adelikat 97d7dd7f42 merging master into waterbox2 this one was messy may be regressions 2017-06-13 08:16:25 -05:00
alyosha-tas 3c46604f28 Add files via upload 2017-06-11 18:15:11 -04: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 5406da7406 Saturn - start virtualpad support - multitap logic in place, only standard controllers currently 2017-06-11 09:36:01 -05:00
adelikat e298863b3d VB - virtual pad support, slight fix to button order on controller config 2017-06-06 11:38:43 -05:00
adelikat b39c2dccf0 NGP - mnemonic for Option button, Virtualpad support 2017-06-06 11:07:16 -05:00
adelikat 87ce1086cb snes9x - virtualpads 2017-06-04 19:44:25 -05:00
adelikat 50b5f4a1a9 Virtualpad misc cleanups 2017-05-24 09:07:03 -05:00
adelikat a9ba93fcf3 C64 virtual pad - fixing mapping of joypad B buttons 2017-05-13 16:45:18 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
adelikat c33fbfddf4 Colecovision - virtualpad support for new controller options 2017-05-07 10:04:15 -05:00
adelikat 436a853c96 Fix typo - Scema -> Schema 2017-04-29 15:41:27 -05:00
adelikat 19f45dcc85 VirtualPads - PSX Multitap support 2017-04-29 14:57:27 -05:00
adelikat ba4af238b7 VirtualPads - PSX NeGcon support, also slider controls now support vertical orientation 2017-04-29 14:47:51 -05:00
adelikat f6f967a723 VirtualPad - start PSX NeGcon support 2017-04-27 16:52:50 -05:00
adelikat 30aa86cd7e Intellivision - more cleanup 2017-04-23 11:10:26 -05:00
adelikat 76f77390ca SNES - virtual pad support for all the controller types and combinations 2017-04-22 11:55:21 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
adelikat 1e05e8a29d Virtual Pad - add tilt controls to GBA when mGBA is the core. Fixes #830 2017-04-13 13:06:12 -05:00
adelikat 8c57dd98f3 NESHawk - add IsFDS flag and use it in NesSchema instead of a check for BoardName == "FDS" 2016-12-13 15:24:53 -06:00
adelikat b7e616482d Intellivision - movie mnemonics and virtual pads 2016-12-06 20:16:22 -06:00
adelikat f1e528f68f Virtual pads - pass the current core into schema objects instead of using Global.Emulator 2016-12-05 19:33:21 -06:00
adelikat d954512214 Virtual Pads - Analog Sticks - check min and max range before setting the value. Fixes #686 2016-09-21 10:13:30 -04:00
zeromus a7d2b8d7f7 * add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to.  Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
adelikat e9d257ce6d PCE-CD virtual pads 2016-07-10 22:13:40 -04:00
Hathor86 9a4dd89f7f Fix polar coord when center is non-zero
The range is now used to compute right angle / ray value even if the
center is not 0,0
Tested for N64 and PSX, should probably work for every system :)
2016-06-14 19:31:54 +02:00
nattthebear ec787d049d NESHawk: support SNES controllers 2016-04-05 17:16:27 -04:00
zeromus 9aceb512f0 fix automation of virtualpad analogsticks from movie playback 2016-03-21 16:13:49 -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 c9838d668a psx - hook up new controller configuration, to support 0-2 pads and 0-2 memcards. Not tested very well yet. no multitap this release. 2015-10-03 17:27:52 -05:00
zeromus 0787a3be47 rework virtual pad analog widget to support n64 and psx simultaneously 2015-07-19 21:46:52 -05:00
adelikat 58f8ad7c12 Issue #422: Virtual Pads - analog stick - when sticky option is off, and the emulator is unpaused, do not snap to 0 until the mouse button is released 2015-07-10 14:36:29 -04:00
adelikat 9f0e4f0735 Apple II VirtualPad - fix up names now that we have them 2015-05-18 01:34:35 +00:00
adelikat 549e9650ae oops, didn't mean to check this in 2015-05-18 00:38:27 +00:00