Commit Graph

125 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
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
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 cdcc1eabde use inline out variables in Emulation.Cores 2020-02-18 15:10:29 -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
YoshiRulz 24e6cc14f0
Enable SA1206 and fix noncompliance
"Declaration keywords should follow order"
2020-01-25 19:37:28 +10:00
YoshiRulz c7801b8ce2
Move BizHawk.Common.BizInvoke namespace to separate project 2020-01-23 14:54:23 +10:00
adelikat f83261c116 misc cleanups in emulator core service logic 2020-01-11 13:19:51 -06:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
James Groom 4e91f88af3
Use nameof in cores 2019-03-28 14:18:58 +11:00
zeromus dce98db811 fix saturn PixelPro resolution management mode to reformat framebuffer to requirements, so it works like it's supposed to 2017-07-15 02:53:33 -05:00
adelikat 9af3a88895 set Saturnus and Tst to released 2017-07-13 14:31:06 -05:00
adelikat c6e0e9fa57 Rename CoreAttributes to CoreAttribute as to not be a bad person 2017-07-12 14:10:55 -05:00
nattthebear 2dd10ea951 Update some author meat-a deet-a 2017-07-09 12:18:33 -04:00
nattthebear 0ee1832d57 Adult Video Games 2017-07-09 11:18:03 -04:00
nattthebear 06e1f701aa Add a more intelligible error message when user error tries to load a bin file into saturn 2017-07-08 18:22:40 -04:00
zeromus 85cf6e80cd saturn resolution management modes now work like psx 2017-06-29 04:45:47 -05:00
nattthebear 2e2df56531 woops 2017-06-28 20:49:57 -04:00
nattthebear 81604a0e7e Saturnus AR 2017-06-28 20:26:45 -04:00
zeromus 676a725883 specialize saturn aspect ratio, changing 330x240 -> 330x254 as best I can figure. pretty good for a baseline. 2017-06-26 21:20:55 -05:00
adelikat 1c7d179f7d Saturn - type converter on port settings 2017-06-20 07:51:49 -05:00
nattthebear ed02493297 fuck componentmodel 2017-06-19 21:23:20 -04:00
adelikat 810979dab2 Fix defctrl.json json parse error, Saturn keyboard - change names of keyboard R and L to not collide with the controller button names 2017-06-19 12:49:13 -05:00
adelikat 7caafc5437 Saturn - Keyboard - change some names to not have the same name as buttons, add default controls 2017-06-18 19:56:01 -05:00
adelikat 6df2afccee Saturn - button orders for peripherals 2017-06-18 17:19:34 -05:00
adelikat 0c078a189e Saturn - oops, 3d shoulder button mids should be 0 2017-06-18 16:05:46 -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
nattthebear 37b285fe8d saturnus: get rid of the round-tripping of analogs through the mednafen input system. 2017-06-18 12:25:01 -04:00
nattthebear 69d0b36ca1 gonna flip it on them 2017-06-18 09:02:54 -04:00
nattthebear 5a8fad73b9 saturnus: use waterboxcore 2017-06-17 15:30:03 -04:00
nattthebear 0d0e0f3590 saturnus: disk change controller support. Right before disk 1 is the null ejected disk, so you can use prev and next in a single disk game to simulate opening the CD tray, if that's your thing. For real multidisk support, this will require some additional frontend work. 2017-06-12 21:33:08 -04:00
nattthebear e73157bb49 ahh, yahbooze, we hardly knew you... 2017-06-11 14:44:47 -04:00
nattthebear 5b2415c032 saturnus: kof95 now works 2017-06-11 09:51:33 -04:00
nattthebear beb25ce24f saturnus: reorder the normal controller 2017-06-11 06:57:28 -04:00
nattthebear 1c46b79bbb saturnus: settings 2017-06-09 16:42:08 -04:00
nattthebear aa2ec9b9e2 Saturnus: ISaverammable. The 32K internal is saved, followed by the 512K external if present. On load, if sizes do not match, nothing is loaded. Yahbooze 64K saverams are not loaded. 2017-06-08 19:45:56 -04:00
nattthebear a42631fadc Saturnus: IMemoryDomains. Names match the old yahbooze names when applicable. 2017-06-08 17:15:29 -04:00
nattthebear 145f58a145 Saturnus: IStatable, IRegionable 2017-06-07 20:54:10 -04:00
nattthebear 51d36f4563 saturnus: move cartridge allocations to special heaps 2017-06-07 20:21:44 -04:00
nattthebear 90d9474530 Saturnus: Lag detection and input callbacks 2017-06-07 18:56:44 -04:00
nattthebear 4d875e0c24 Saturnus: Add CD sanity checks 2017-06-07 17:54:16 -04:00
nattthebear 40680a9d74 Saturnus: Connect reset button, but you need to hold it down for 3 consecutive frames (working as intended). Also, DRIVE LIGHT HOOOOOOOOOOOOOOOOOOOOOOOOO 2017-06-07 17:34:30 -04:00
nattthebear 62597400c1 saturnus: start working on some keyboard stuff 2017-06-07 17:23:30 -04:00
nattthebear 69f061ae12 saturnus now runs games and stuff 2017-06-06 19:55:39 -04:00
nattthebear d7b8464a9b saturnus: start working on controller hook up. there's something wrong with the CD stuff though, and games don't work 2017-06-04 21:14:00 -04:00
nattthebear b9ab41a4da More like Chie SatURNaka 2017-06-04 16:41:11 -04:00
adelikat 1dae91e6a8 clean up core constructors - consistent parameter casing, and put them at the top of the class 2017-05-05 19:05:36 -05:00