Commit Graph

8185 Commits

Author SHA1 Message Date
adelikat eb085fe29d fix logic error in Remove call on InputCallbackSystem 2014-12-04 22:31:42 +00:00
zeromus 29b217b587 big discsystem refactors and preliminary CCD handling. not to be considered stable, but ill start supporting it. 2014-12-04 05:40:10 +00:00
adelikat d8a204572d Add an IServiceProvider interface and make it a property of IEmulator, the purpose of this provider is to provide IEmulatorServices upon request. Make BasicServiceProvider and have all cores use it for now. BasicServiceProvider will return the core itself if the core itself is the requested type. He will also be able to return nested types (code not finished). Wired this up to the HasSavestates extension method (a method that has minimal value now) as a proof of concept. 2014-12-04 03:38:30 +00:00
goyuken ef1ef251b6 gpgx: remove input todo 2014-12-04 03:31:26 +00:00
adelikat 529591ce2d Rename ICoreService to IEmulatorService 2014-12-04 02:12:57 +00:00
goyuken 7f9adc0c1d dgb: reenable input callbacks. 2014-12-04 02:04:14 +00:00
goyuken 5f770e4696 update pad callback infrastructure in vbanext core, remove unused stub in lynx core, disable in dual gb core until i get around to it, better comment in gb core 2014-12-04 01:46:59 +00:00
goyuken 802dadcd64 wondersaw'n: update trace callback internal infrastructure 2014-12-04 01:22:34 +00:00
adelikat ccb8cce788 InputCallbackSystem - add an ActiveChanged event handler, the event fires anytime the collection goes from 0 to greater than 0, or greater than 0 to 0 2014-12-04 00:56:04 +00:00
adelikat a07263c04e Move InputCallbackSystem from CoreComm to IInputPollable, and refactor all cores accordingly. Lua - OnInputPoll() - log to the user when attemping to add a callback of this type to a core that has not implemented input callbacks. Mark all unmanaged cores' implementations of the InputCallbackSystem as FeatureNotImpleented, won't have any effect on functionality, but will help us keep track of the fact that they still have a bit of work to do. Still todo: ActiveChanged event handler on the base implementation of IInputCallbackSystem 2014-12-04 00:43:12 +00:00
adelikat 7ffe07c44b Emulation.Common IsImplemented extensions - fix logic, if FeatureNotImplemented exists it is always considered not implemented 2014-12-04 00:38:42 +00:00
goyuken f2ff432b3a helpful mouseover tooltips in firmwares config 2014-12-04 00:37:06 +00:00
adelikat 4b321847a4 ugh, just disable all warnings in ArchiveUpdateCallback.cs 2014-12-04 00:02:01 +00:00
adelikat 471b73eb0b disable an annoying warning in 7z code, since we don't really maintain it, I won't fix it, just hide it 2014-12-03 23:57:26 +00:00
zeromus 26c35ca7b8 rough draft of file ID system. not ready to be used just yet, but I think it can go the distance. I'll have to hook it up later. 2014-12-03 06:14:59 +00:00
goyuken 78209348dd move NullSound to its own file, as it's not actually used in NullEmulator 2014-12-01 16:56:51 +00:00
adelikat a104c420cf Move CoreComm.cs out of the interfaces folder 2014-12-01 14:28:57 +00:00
adelikat b08bfc0a2b Move DisplayType out of IEmulator.cs, that's an annoying place for it to be, instead put it in a new file with Enum.cs which has one line which is silly. silly > annoying 2014-12-01 14:27:23 +00:00
adelikat a283063f5f some Atari 2600,7800 reorg 2014-12-01 14:21:37 +00:00
adelikat bd458fc0dc Ti83 - nit picky reorg 2014-11-30 23:50:07 +00:00
adelikat 9adc45f4d1 Add a ServiceNotApplicable attribute for cores to mark things like SaveRam and ISettable as not applicable for the given core, update the CoreFeatureAnalysis dialog to not show these interfaces for the given core (and not mark them as incomplete). Set various cores accordingly 2014-11-30 23:41:54 +00:00
adelikat 09cb098705 Core Feature Analysis - don't reflect properties, their get/set methods show up when iterating methods 2014-11-30 23:28:18 +00:00
adelikat c4768c102e Move ControllerDefinition to its own file 2014-11-30 23:05:00 +00:00
adelikat b05bed93ac Emulation.Common - move Base Implementations out of the interfaces folder, never made sense to be there 2014-11-30 23:02:16 +00:00
adelikat 6c08847c38 Disable Rewind & States menu item based on if the core is IStatable 2014-11-30 22:58:03 +00:00
adelikat 745b8f555b Controller Config menu item - disable based on ControllerDefinition having any buttons rather than check for Null Emulator 2014-11-30 22:56:02 +00:00
adelikat 8cffecede9 ditto 2014-11-30 20:40:17 +00:00
adelikat c7c038b7ca add more interfaces that got missed 2014-11-30 20:38:15 +00:00
adelikat fef1011e9b oops, Coleco is IStatable 2014-11-30 20:34:51 +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 a83d714c42 Break off IsLagFrame and LagCount from IEmulator and put into its own interface IInputPollable, and refactor cores as necessary. EmuHawk - account for the possibility that a core is not an IInputPollable, and do things like disable the lag counter menu item. Still some front end todos. Also still todo, move the InputCallbackSystem from CoreComm to IInputPollable 2014-11-30 20:29:30 +00:00
adelikat 5ce1d02df7 Null Emulator - rip out now uneeded stubs, increment frame counter during FrameAdvance (might as well, since it has a notion of advancing a frame) 2014-11-30 20:01:36 +00:00
adelikat 71c92cb87e don't freak out if someone attempts to rewind on a core that is not IStatable 2014-11-30 19:58:32 +00:00
adelikat 15ccb45dce Don't show save slot stuff in the Statusbar if core is not an ISettable 2014-11-30 19:52:32 +00:00
adelikat 2bd45e653c Check HasSavestates() on some hotkeys 2014-11-30 19:48:10 +00:00
goyuken 2fce719309 comments 2014-11-30 19:13:58 +00:00
adelikat 2ae3609791 Replace an IsNull() check with a Global.Game != null 2014-11-30 18:52:46 +00:00
adelikat 6ae238b725 Remove a dubious IsNull() call 2014-11-30 18:49:58 +00:00
adelikat 21889bba58 Lua Console - replace a NullEmulator check with a Global.Game != null check as that is more precisely why a check is happening 2014-11-30 18:44:20 +00:00
adelikat 773a53d2e3 Hotkeys that operate on tools - check that the core has the proper prerequisites before opening them 2014-11-30 18:35:25 +00:00
hegyak f77fdf81d8 Finish cleaning up the FileSubMenu_DropDownOpened Dialogs enabling/disabling. 2014-11-30 18:31:00 +00:00
adelikat c0b1f6a285 remove IsNull() usage for tools that require IMemoryDomains, better to fail catastrophically as they shouldn't be able to get this far. 2014-11-30 18:24:28 +00:00
adelikat 39f145d58b Hex Editor don't check for Null Emulator, tool should not be able to be opened anyway in this situation 2014-11-30 18:22:44 +00:00
adelikat fbcfc37b9f No need to disable the RebootCore menu item if Null Emulator 2014-11-30 18:19:38 +00:00
adelikat caa4296018 Toolbox - show tastudio only if HasSavestates() 2014-11-30 18:10:04 +00:00
adelikat 9e7193f8b2 Virtualpad is fine during null emulator don't disable the menu item, useless but nothing bad happens. Tastudio menu item should be disabled if core is not an IStatable 2014-11-30 18:06:26 +00:00
adelikat a442e879d3 Named Savestate save/load methods - check HasSaveStates() not IsNull() 2014-11-30 18:03:02 +00:00
goyuken d582161d82 allow av recording and screenshots of null emulator (static screen) 2014-11-30 17:58:37 +00:00
adelikat 1e5474c345 SaveSlotManager - check HasSavestate() not IsNull() 2014-11-30 17:58:26 +00:00
adelikat eed16fafc8 TasStateManager - don't check for null emulator nor IStatable, fail catastrophically if a core is not IStatable, they shouldn't have gotten this far if it wasn't 2014-11-30 17:54:21 +00:00