Commit Graph

26 Commits

Author SHA1 Message Date
adelikat 6d5c444252 Move Global controller adapters into InputManager, it's a step in the right direction 2020-03-15 17:50:48 -05:00
adelikat 348cbd18df
Remove PathManager code that had dependencies on Globals (#1881)
* 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
2020-03-15 15:12:36 -05:00
YoshiRulz 9e514dcebd
Unify Get/SetSoundOn across Lua and C# APIs (resolves #1817) 2020-03-13 08:46:45 +10: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 ef13754f79 consistent variable naming in config.cs 2020-01-25 10:57:39 -06:00
YoshiRulz 5a48612346
Concat event arg and delegate types into one file 2020-01-22 06:16:11 +10: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 0f1fa1531f
Use ranges in ApiHawk and Lua 2020-01-13 06:57:24 +10:00
adelikat b875f46a95 some ApiHawk cleanups 2020-01-03 16:37:33 -06:00
adelikat 4d92a0a43d ApiHawk - fix bug in GB/GBC detection 2019-11-15 17:30:57 -06:00
adelikat cf4dd6770c ApiHawk - cleanups 2019-11-15 17:29:38 -06:00
YoshiRulz 3b2f890f24 Inline interpolated string literals 2019-06-14 15:54:17 +00:00
zeromus 41c854c030 fix some null reference exception I got while porting old HelloWorld externaltool. I dont understand any of this plumbing, so I can't describe it any better than that 2019-04-22 23:54:16 -04:00
YoshiRulz 6fc3a07f49
Use string interpolation 2019-03-20 15:52:54 +10:00
upthorn 3b1fd8fec6 Unrename SetExtraPadding methods. 2018-12-22 11:58:14 -08:00
upthorn aba1da071d Completely refactored PluginAPI to extend ApiHawk. Ecco2AssistantPlugin is now an external tool. 2018-12-22 10:40:30 -08:00
Asnivor d012472999 Initial commit. 48K spectrum only. 2017-11-23 17:26:15 +00:00
adelikat 2d9213c379 IController - Remove the indexer property and refactor code accordingly, also simplify and cleanup many of the IController implementations 2016-12-14 14:12:16 -06:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00
Hathor86 7fb0eaf337 Add Save/Load state methods and events to ApiHawk
Now, ApiHawk can save and load name state. There are also events that
you can attached too. Furthermore, BeforeQuickSave/BeforeQuickLoad
events occurs just after user pressed button. We can react to this and
even override behavior.
Finally, I just allow .bat to take xml files (for ApiHawk doc)

PS: Yeah, I'm still alive
2016-05-29 16:50:16 +02:00
Hathor86 8cd88cdeca ApiHawk - Add few other system inputs
SNES, SMS, Genesis, N64, GB
Following some tests, it works (so I'd say that this feature is beta)
2016-04-06 22:11:00 +02:00
Hathor86 fbad1ccec0 Get / set inputs Api improvement 2016-04-03 18:17:22 +02:00
Hathor86 fcb0c8bc32 Work on input get/set through ApiHawk
Convertion has been moved to dedicated class

SystemInfo class review

SystemInfo class now instanciate all SystemInfo and stores them in a
static readonly collection (avoid creating a new class each time we call
DisplayName property).
+ EmulatedSystem enum (in Api) renamed to CoreSystem and moved to
BizHawk.Client.Common
+ this enum is used in SystemInfo class

Created a Joypad class that is populated with JoypadButton enum flags

Input get/set throught ApiHawk works for NES only. So many work remains...
2016-03-29 23:42:24 +02:00
Hathor86 f42c0d4a39 DoFrameAdvance method in ApiHawk 2016-03-23 23:05:15 +01:00
Hathor86 9a05512a48 EmulatedSystem enum for ApiHawk
Created an enum (and a convertion function) for emulated system. It
provides a more sexy way to work with SystemID.
It also means that convertion function and enum has to be updated if we
add a new system.
2016-03-20 23:05:38 +01:00
Hathor86 c0f7219b06 Contextualization of external tools + Basic of ClientApi
We can now specify a context for external tools. Global, specific for a
type of emulator / system or specific for a game (If not specified, a
tool is global).  It should avoid loading something unwanted.

Also add ClientApi, a static class that can interract with EmuHawk
window (SetPadding is the only thing implemented currently).
2016-03-16 23:06:53 +01:00