* move one usage of Firwmare method into Firmware config where it is better suited
* PathManager - remove unused code
* move some PathEntry specific logic out of PathManger and into PathEntryCollection extension methods
* PathManager - detangle some exe pathing logic from Global.Config usage, clarify what a completely broken method should actuall do
* move more logic from PathManager to PathEntryCollection extension method
* move absolute path creation to PathEntryCollection, lots of refactoring and simplifying of PathEntries usage
* simplify PathEntryColleciton usage more
* simplify PathEntryCollection more
* break PathEntry classes into separate files, a bit of cleanup
* move Rom path logic out of PathManager into PathEntryCollectionExtensions
* move config UseRecentForRoms and LastRomPath into PathEntries, note that this is a breaking change for previous configs, those values will revert back to default values
* move SaveRamPath logic from PathManager to PathEntryCollections
* move cheats path logic from PathManager to PathEntryCollection
* move another method out of PathManager
* move some Retro hacks to PathEntryCollections, exposes more implicit dependencies
* move savestate logic out of PathManager to PathEntryCollection
* move more logic out of PathManager
* move some savestate logic out of PathManager, move most to MainForm where it is used, detangle some implicit dependencies from SaveSlotManager
* rename method
* move more logic from PathManager to PathCollectionEntry
* movie final Global.Config.PathEntries logic out of PathManager and into PathEnties
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
* 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>
* 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
* 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.
* 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
This change is more convenient at the cost of a little duplicate code in
ToolManager. The annotation is [ExternalToolEntryPointForm], and having no more
than one such class per assembly is enforced.
* refactor Sms settings including naming conventions and fix a typo, breaks configs with SMS settings already saved
* convert SMS controller type setting to an enum
* convert SMS Region setting to an enum
* Move SMS display type setting to an enum
* convert sms settings to properties
* SMS - wire up generic core config to a settings menu item
* remove some SMS menu items that are redundant to generic settings config
* remove more SMS menu items that are now redundant to generic core config
* remove more redundant SMS settinsg including SMSGraphicsConfig dialog, add descriptions and display names to SMS settings objects