Commit Graph

4756 Commits

Author SHA1 Message Date
adelikat 16781fa212 FirmwareManager - don't depend on Global.Config 2020-03-14 12:20:28 -05:00
adelikat d1623c32b7 Firmwares manager - depend on Global.Config less 2020-03-14 12:10:53 -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
YoshiRulz d02a8df549
Fix audio buffer looping on drag-and-drop 2020-03-13 08:49:05 +10:00
YoshiRulz 9e514dcebd
Unify Get/SetSoundOn across Lua and C# APIs (resolves #1817) 2020-03-13 08:46:45 +10:00
feos 9dd9b4cc0d
Bulkread (#1834)
* POC of a memory domain bulk read concept, wired up to hex editor, very sloppy currently

* do the todo

* delegates for bulkreads

* refactor bulk reads to take in a range and a pre-allocated array for the values

Co-authored-by: adelikat <adelikat@tasvideos.org>
2020-03-11 10:53:42 -05:00
adelikat 7456d81a9c cleanup FilterManager.cs 2020-03-06 17:35:01 -06:00
YoshiRulz 5196b97459
Fix resources for BizHawk.Emulation.Cores and cleanup 2020-03-07 07:45:19 +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 8430d145ab cleanup RamSearch with switch expressions and switch labels 2020-03-04 19:34:13 -06:00
adelikat a84fca5f8f make WatchList constants not all caps 2020-03-04 18:43:31 -06:00
adelikat 3d664d9270 simplify ram search engine settings usage a bit with some extension methods 2020-03-03 18:41:53 -06:00
adelikat 23c819de4a Move SearcMode enum out of SearchEngineSettings 2020-03-03 18:41:53 -06:00
adelikat a151bd7424 move settings class out of RamSearchEngine 2020-03-03 18:41:52 -06:00
adelikat 3a0df3f543 move enums out of RamSearchEngine class 2020-03-03 18:41:52 -06:00
adelikat 92221f38df separate namesapce for RamSearchEngine files 2020-03-03 18:41:52 -06:00
YoshiRulz f7ddab25c7 Redesign 4 config dialogs as a proof-of-concept 2020-03-03 22:51:51 +00:00
YoshiRulz 10818ba069 Create a new project for custom controls and add some more 2020-03-03 22:51:51 +00:00
adelikat 1337beed1b remove designer null check hacks in favor of the intended DesignMode flag 2020-03-01 16:49:37 -06:00
adelikat 0414e15a75 InputRoll - remove designer hacks, they don't crash the designer anymore 2020-03-01 16:41:47 -06:00
adelikat 079a0a4104 HeaderKeys - CONSTANTSDONTNEEDTOBEALLCAPS 2020-03-01 16:36:47 -06:00
adelikat 9474771098 ToolBox.cs - replace serious of ifs with LINQ filters 2020-03-01 16:30:51 -06:00
adelikat 5bea6efe5f rename a variable 2020-03-01 16:05:04 -06:00
adelikat 4bfb4ab00d
Gameshark refactor (#1867)
* first round of GameShark.cs cleanups, redundant code and stylecop cleanup

* simplify how gba readonly values are set

* a few more cleanups

* GameShark - use NESGameGenieDecoder for nes logic

* remove now unused NESGameGeneie tool

* Client.Common - move nes encode/decoder to a cheats folder

* GameShark - move genesis game genie coding logic to its own class

* remove NesGameGenieEncoder that i snow unused

* fix naming

* remove GenGameGenie in favor of using the unified Cheat Code decoder

* move Gameboy/GameGear decoding logic from GameShark to its own class, cleanup

* remove GBGameGenie, was only exposed via the toolbox, GameShark tool does all of this logic

* GameShark - move snes game genie decoding logic to its own class

* cleanup

* remove unused snes GameGenie tool

* move Gb GameShark decoding to its own class

* cleanup

* move Genesis action replay decoding logic to its own class

* cleanup

* cleanup

* cleanup

* cleanup

* move Sms ActionReplay decoding to its own class, cleanlup

* cleanup

* move snes action replay decoding to its own class

* cleanup with a helper method

* cleanup

* more cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* move Psx GameShark decoding to its own class

* Move saturn gameshark parsing to its own class

* cleanup

* cleanup

* move N64 decoder logic to its own class

* remove GBA cheat code that hasn't been ready for 5 years, easier to try to implement this in the re-architected code, so delete for now at least

* start to detangle GBA gameshark mess

* Gameshark - remove most gba cheat code functionality for now, easier to rebuild it later

* Gameshark - cleanup

* cleanup

* cleanup

* cleanup

* redesign nes decoder to simpler design

* simplify more

* convert psx and saturn decoders and simplify

* convert more decoders

* convert more decoders

* convert more decoders

* convert more decoders

* convert gba decoder

* convert more decoders

* convert and simplify N64 decoder

* GameShark - simplify more
2020-02-29 15:18:40 -06:00
YoshiRulz 2e645d0563
Re-align FLPs to Form and fix min size
fixes up 16040d53b
2020-02-29 10:21:18 +10:00
adelikat 16040d53ba auto-fire config - make default size enough to show the whole title 2020-02-28 18:00:20 -06:00
adelikat 69ad9050d2 proof of concept - add these attributes to custom control values that hard code an base property that would otherwise be settable by the designer 2020-02-28 17:52:04 -06:00
adelikat 458dd22eb8 cleanup some SlimDx9 files 2020-02-28 17:05:45 -06:00
YoshiRulz 02c7a70297
Remove unnecessary code from AutofireConfig.Designer.cs 2020-02-29 08:50:10 +10:00
YoshiRulz 33cf3eff81
Redesign AutofireConfig using some of the new controls 2020-02-29 08:48:20 +10:00
YoshiRulz 5ab68c9784
Add some more custom controls 2020-02-29 08:17:33 +10:00
adelikat dff8a536f0 address some typos 2020-02-28 13:09:05 -06:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
adelikat 4a943f3a60 cleanup GraphicsImplementations files 2020-02-28 12:32:45 -06:00
adelikat 402acad0f6 cleanup NESMusicRipper.cs 2020-02-28 12:11:51 -06:00
adelikat 0d3606da14 some cleanups of IGL_GdiPlus 2020-02-28 11:50:03 -06:00
adelikat 9c025970ee cleanups in SoundOutputProvider.cs 2020-02-28 11:41:49 -06:00
adelikat 9fa51be431 cleanup GraphicsControl_TK 2020-02-28 11:39:28 -06:00
adelikat c7ed6015a2 use null propagation in Client.EmuHawk 2020-02-28 11:32:51 -06:00
adelikat a8a4f981a9 use using declarations in Client.EmuHawk 2020-02-28 11:20:05 -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
James Groom c9d20426d3
Cleanup HawkFile (#1865) 2020-02-27 17:41:07 -06: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 7e741b1200 misc cleanups in lua code 2020-02-26 17:06:04 -06:00
adelikat b810060fcf move AdvancedRomLoaderType out of Emulation.Common, it doesn't belong here (moved to EmuHawk where it is used) 2020-02-26 16:36:15 -06:00
adelikat f5e9e8eecd cleanup VersionInfo.cs a bit 2020-02-26 15:33:50 -06:00
adelikat e1bb93971a use expression body in various places 2020-02-25 15:14:14 -06:00
adelikat e744511573 misc cleanups 2020-02-25 15:14:14 -06:00
adelikat 72d4b0ac46 use inline out 2020-02-25 15:14:13 -06:00
alyosha-tas 961f682cdc SubGBHawk: misc. movie stuff 2020-02-23 19:20:49 -05:00
alyosha-tas f0692111d7 SubGBHawk: add 2020-02-23 09:54:42 -05:00
YoshiRulz 9829fd699b Unify helpers for generating file extension lists (for open/save) 2020-02-20 21:59:20 +00:00
YoshiRulz f71cc532a8
Misc. cleanups 2020-02-21 07:05:13 +10:00
adelikat d18893b06a Mainform - change O2Hawk menu to Odyssey 2 2020-02-18 18:06:23 -06:00
adelikat 4b704d5e31 add .o2 files for Odyssey2 to open rom dialog filter 2020-02-18 17:42:22 -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
YoshiRulz 4d4496af0d
Remove WinForms dependency from BizHawk.Client.Common (used in ApiHawk) 2020-02-19 04:13:37 +10:00
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10:00
James Groom 46a4d8ffa9
Retargetting non-executable projects to .NET Standard (#1801)
* Retarget BizHawk.Emulation.* to .NET Standard 2.0

* Retarget BizHawk.Bizware.BizwareGL to .NET Standard 2.0

In practice this mostly involves moving classes to BizHawk.Client.EmuHawk.
2020-02-18 10:31:49 -06:00
J.D. Purcell ada40bbdc7 InputRoll: Cleanup horizontal column calculations. 2020-02-18 09:40:01 -05:00
Zach 61fff4cbce
Fix ffmpeg race condition. (#1841) 2020-02-18 07:25:52 -06:00
J.D. Purcell e27647e8cb InputRoll: Fix column click events going to wrong column in horizontal orientation. 2020-02-17 23:08:39 -05:00
J.D. Purcell 4386159b90 InputRoll: Fix columns headers not immediately redrawing when a rotatable column (horizontal orientation) changes size due to the row count changing. 2020-02-17 23:02:02 -05:00
J.D. Purcell 0245888419 InputRoll: Fix bottom grid line in horizontal orientation if last column is rotatable. 2020-02-17 22:03:38 -05:00
J.D. Purcell f7174eb398 Make display scaling apply to InputRoll column header widths. 2020-02-17 12:34:37 -05:00
adelikat ae87aabbb0 Multidisk Bundler - hack to auto-select Game Gear, also reposition/size dropdown so you can read "Game Gear" 2020-02-16 16:06:00 -06:00
adelikat 8a35fa5bcd core feature analysis - hack to not show ITextStatable 2020-02-16 15:14:23 -06:00
adelikat 4b50ea36e1 remove MemDomain CanPoke() extension method now that all it does is check the Writable flag which is better named and more conscise 2020-02-15 12:37:39 -06:00
adelikat 656f2b814e Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace 2020-02-15 12:33:15 -06:00
adelikat 4711546e4a fix Rewind & States config dialog saying aborted after Ok btn is clicked 2020-02-15 12:14:32 -06:00
adelikat fc8a90f433 we should probably use clone here 2020-02-15 11:54:23 -06:00
adelikat 4b7a7dd293
Make Binary states default and Textstates opt-in for cores (#1848)
* Rewind & State config - remove the default option

* remove the savestate type of default, not that this is a breaking config change for anyone that had specifically set savestates to text

* remove BinaryStatesPreferred from IStatable and use config setting when starting movies from "Now" in record movie dialog

* remove BinaryStatesPreferred from cores

* make text savestates an extension method off of IStatable and an inteface ITextStatable it uses if the core implements it. This will allow cores to opt in to text states if desired

* make cores with actual text savestate impleemntations get ITextStatable, remove text state logic from cores that just have a binary as as text implementation
2020-02-15 10:22:26 -06:00
adelikat 2d637b6d1d rip out mainform context menu items for changing savestate type - we don't have those in the regular menu item anymore, and the menu items had no click events so they didn't work anyway 2020-02-14 11:20:38 -06:00
YoshiRulz 0075693ec7
Undelete important files and remove no longer needed <None/>s
fixing up 5b7b65724
2020-02-09 05:17:19 +10:00
adelikat 5b7b65724a Remove some files that were dereferenced from EmuHawk.csproj but not actually deleted from version control 2020-02-08 12:54:43 -06:00
adelikat 192973dcd7 Tastudio - hide N64 "fake analog" controls by default 2020-02-08 11:03:03 -06:00
adelikat f43d7c5b1b MovieSession - add a PopupMessage method, will be used later 2020-02-08 10:50:05 -06:00
adelikat 29cddca49a use globals a bit less 2020-02-08 09:12:45 -06:00
Zach ef18c1a3a6
Fix Macro Functionality (fixes #1838) (#1839)
* Initial fixes for macro menu items

* Arguments for this constructor can't be optional.
2020-02-07 13:45:13 -06:00
adelikat ba7fd37ce8 some nitpick cleanups 2020-02-05 18:58:57 -06:00
adelikat a9a85fccb9 Profile config - simplify logic by applying settings in layers. Also tweak a few settings for some of the profiles that were likely mistakes hard to see when there was so much copy pasta 2020-02-03 19:31:06 -06:00
adelikat 5b2b72ce9e profile config - break up config setting into separate methods 2020-02-03 19:06:27 -06:00
adelikat e770047eef profile config - rip out code for the custom profile that never got implemented 2020-02-03 17:51:07 -06:00
adelikat dc2a41c737 Lua console - clear on screen text when closing lua console 2020-02-03 17:20:49 -06:00
adelikat 38a525eefd Lua console - immediatley update on screen graphics when disabling a lua script 2020-02-03 17:17:11 -06:00
adelikat 185d4ad2a2 add icon for mGBA 2020-02-03 13:42:33 -06:00
adelikat 626efe8caf put control extension methods into the EmuHawk names space isntead of a custom one. We want these to be found and used, and most dialogs use them 2020-02-03 12:54:32 -06:00
adelikat c2bec296e6 simplify some repeated boilerplate on the DragEnter event by consolidating it to an extension method 2020-02-03 12:42:28 -06:00
adelikat 74e63cd566 Tastudio - some reorg 2020-02-02 13:32:22 -06:00
adelikat 6990b6f51f when loading GB/GBC movies, store the core and auto-switch between gamebatte and gbHawk, fixes #1805 2020-02-02 12:27:45 -06:00
adelikat 880f584674 cleanup variable naming in IMovieSession 2020-02-02 12:19:41 -06:00
adelikat bfd33e5399 separate out lua and ram watch on screen message lists so they can't clobber each other, fixes #1831 2020-02-02 12:09:13 -06:00
adelikat 58ff3fa60d Tastudio - remember the "Bind Markers to input" settings as a tastudio setting 2020-02-01 16:21:38 -06:00
adelikat e7399a5e10 oops, add code lost in designer shenanigans 2020-02-01 15:47:49 -06:00
adelikat 67ec75f644 Basic Bot - don't display messages while botting, recalculate Start enable on max value change, add checkbox to wire to mainform's invisible emulation for faster botting (possibly) 2020-02-01 15:43:06 -06:00
adelikat 1836ad86b6 Basic bot - if bot is unable to run and a message box is shown, show a specific error as to why it can't, instead of a generic error 2020-02-01 15:02:32 -06:00
adelikat 285c251135 Basic Bot - default to >= operator for main value 2020-02-01 15:02:32 -06:00
YoshiRulz 593e1ef97d
Refactor external tool attributes 2020-02-01 01:54:23 +10:00