Commit Graph

61 Commits

Author SHA1 Message Date
adelikat 9474771098 ToolBox.cs - replace serious of ifs with LINQ filters 2020-03-01 16:30:51 -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
adelikat dff8a536f0 address some typos 2020-02-28 13:09:05 -06:00
YoshiRulz a8170ca183
Fix mismatching namespaces 2020-01-13 07:19:06 +10:00
adelikat e0bb050bd1 ToolBox - remove Globa usage 2019-12-22 13:32:18 -06:00
adelikat a7ccc3fdef cleanup 2019-12-22 11:13:59 -06:00
adelikat 1aa318d7e1 use ToolFormBase properties instead of globals 2019-12-22 10:57:06 -06:00
adelikat 39586a5bf0 Remove NewHexEditor (can be developed on a branch instead) 2019-11-03 10:20:07 -06:00
YoshiRulz df232e6184
Add additional CurrentOS checks 2019-05-19 14:46:50 +10:00
upthorn aba1da071d Completely refactored PluginAPI to extend ApiHawk. Ecco2AssistantPlugin is now an external tool. 2018-12-22 10:40:30 -08:00
adelikat 6e06947a33 rename ToolAttributes 2017-07-12 14:44:14 -05:00
adelikat ad41019a29 ToolBox use an IEmulator RequiredService instead of Global.Emulator 2016-12-06 10:44:37 -06:00
adelikat b346f9e7c5 Some slight code cleanup in ToolBox.cs 2016-12-06 10:40:09 -06: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
zeromus 0218d6d321 fix toolbox 2015-12-10 06:08:00 -06:00
Hathor86 7d2e02b94b Debugging and POC
Change some logic into ToolManager for better practice
Adjust the look of toolstrip items
Update comments
2015-11-22 17:37:00 +01:00
adelikat 41950cb9e0 ToolManager - take a Form owner in the constructor and pass it in to any tools that are also Form objects (all of them). ToolBox - use the Parent property instead of GlobalWin.MainForm now that it is populated 2015-02-22 04:02:30 +00:00
goyuken ecf8728de6 factor out serviceinjector to emulation.common 2014-12-17 18:17:16 +00:00
adelikat cc1b3832f4 Automate the ToolBox tool, it generates its buttons based on IToolForm implementations, that are released (or all in developer build), and that are available (current core provides all necessary dependencies) 2014-12-17 03:28:10 +00:00
goyuken 08d09bc64f a few more itoolform cleanups 2014-12-15 18:13:54 +00:00
adelikat 8648e6ba0a Remove the nes debugger tool 2014-12-14 14:56:16 +00:00
scepheo 769cbeb1a0 - IToolForm: Added RequiredServices attribute to define dependencies, and added EmulatorServices for ToolManager to supply them.
- IServiceProvider, BasicServiceProvider: Added compile-time unknown type versions of GetService and HasService.
- ToolManager: Added IsAvailable to test whether all dependencies for a tool are available.
2014-12-13 21:54:59 +00:00
adelikat 05533c8562 Lag Counter hotkey logic, and Tastudio depends on both IStatable and IInputPollable 2014-11-30 20:32:25 +00:00
adelikat caa4296018 Toolbox - show tastudio only if HasSavestates() 2014-11-30 18:10:04 +00:00
adelikat 5a6c2adb0b Tastudio - expose in release builds and mark it as beta in the title 2014-11-19 16:12:59 +00:00
adelikat 5ba74c631c Remove MemoryDomains from IEmulator into a new Interface, IMemoryDomains, Add this interface to existing cores, except null emulator (and removed memory domain related code from it). Refactored EmuHawk for ram tools to use an instance of IMemoryDomains rather than IEmulator, don't expose ram tools unless the core implements IMemoryDomains. Still a few misc todos, and probably some cleanup 2014-09-01 18:43:41 +00:00
kylelyk 321c8c64bf Added documentation to IControlMainForm, renamed a few variables, moved IControlMainForm related code in MainForm to the same region. 2014-08-19 19:24:17 +00:00
adelikat a9e6d984b2 don't expose tastudio in release builds 2014-07-31 18:40:24 +00:00
adelikat 570f77cc68 Implement FastUpdate() on IToolForm. The intent here is for tools to do the minimum amount necessary when updating. This allows them to avoid slow things like drawing, but do critical activities such as Ram tools incrementing change counters, and loggers can continue logging. When Turboing, instead of bypassing tool updates, the client will run the fast update instead. Note: a few tools still need to be thought out as to what they need to do in a fast update 2014-07-25 01:55:21 +00:00
adelikat 5d743cdf88 PCE Sound debugger - autoload and other standard options on tools, dialog fixes that I do to all tools, add to toolbox 2014-07-14 16:01:35 +00:00
adelikat 269b3c7ee1 start a new Virtual Pad Tool, currently only does NES with one controller as a proof of concept, this is probably a messed up commit will fix next 2014-06-22 13:57:23 +00:00
adelikat 8f2746ab86 Change "Interim Build" to "Developer Build" and rename flag variable name, as this is more accurate to the intent of this type of build (unofficial interim builds still shouldn't have developer features or unfinished developer work) 2014-06-04 17:02:54 +00:00
adelikat d5c2271c55 Toolbox - don't show nes debugger in non-interim 2014-05-12 20:58:34 +00:00
adelikat f8522c6986 Genesis Tile Viewer - same stuff as other tile viewers 2014-04-13 22:08:46 +00:00
adelikat d3012fe4b6 PCE Tile Viewer - save screenshot file menu items, autoload and other tool options, add to toolbox 2014-04-13 20:33:01 +00:00
adelikat 66d64f816c Add Sms Vdp Viewer to toolbox 2014-04-13 19:51:38 +00:00
adelikat 12dc22de18 PCE CDL - center parent, add to toolbox 2014-04-13 12:52:36 +00:00
adelikat 3497e28f96 PCE BG Viewer - implement Always on Top and Floating Window, and refactor 2014-01-31 23:42:06 +00:00
adelikat d87978087d NES PPU Viewer - implement Always on Top and Floating Window and refactor 2014-01-31 22:58:41 +00:00
adelikat 2f28317f92 A round of code cleanup 2014-01-08 03:53:53 +00:00
adelikat 309626b8c8 lock down NES Sound config settings on quicknes, show Game Genie button on cheats dialog for it, do Toolbox logic 2014-01-07 01:12:48 +00:00
adelikat dae86e770c Mainform - a round of cleanup 2013-12-29 23:35:42 +00:00
adelikat 05e2f67771 Move some tool loading logic from mainform to toolmanager 2013-12-22 23:34:22 +00:00
adelikat 7acc64c37e Add Geneis Game Genie to toolbox, and re-enable the feature but INTERIM flag it 2013-12-22 20:38:36 +00:00
adelikat 5fff62d52b Add GBA Gpu Viewer to toolbox, and add snazzy gba icon 2013-12-22 15:39:11 +00:00
adelikat edd9e65e9e Toolbox - fix focus issue on load 2013-12-22 15:26:09 +00:00
adelikat 0e4c507d08 Toolbox - some more intelligent code 2013-12-22 03:41:10 +00:00
adelikat 7a61b53fa1 Toolbox - rip out text feature since the box is too small to see it now 2013-12-22 03:21:32 +00:00
adelikat 928e14f110 Add GB GPU viewer to toolbox, and clean up some toolbox behavior 2013-12-22 03:15:53 +00:00
adelikat 8616a42600 Add PCE BG Viewer to Toolbox 2013-12-22 02:27:25 +00:00