Commit Graph

1736 Commits

Author SHA1 Message Date
zeromus e0c09a553b redo how subwcrev stuff is done, so that the subwcrev process doesnt have to run for every project. improves build times. 2014-12-09 19:20:22 +00:00
scepheo 50730ae132 Added nag when loading a movie without SyncSettings. 2014-12-08 22:53:09 +00:00
adelikat ec58c2d34c Don't load missing or empty Sync Settings when loading a movie, just keep the user's current settings rather than forcing default settings on them 2014-12-08 19:07:36 +00:00
zeromus 08ae448257 start adding d3d9 display method, but.. it was more work than gdi+, as I expected. I'll finish it another time. 2014-12-08 02:15:42 +00:00
adelikat 1473db5aa8 Move AddBreakpointDialog to the Debugger folder 2014-12-07 20:17:15 +00:00
adelikat 68e1eae014 MemoryCallbackSystem - implement IEnumerable, Debugger - use it to pre-populate the breakpoint dialog with pre-existing breakpoints 2014-12-07 19:38:42 +00:00
adelikat 1c179da80c MemoryCallback System - another refinement, make an IMemoryCallback and make that the argument for add methods 2014-12-07 19:09:36 +00:00
adelikat 2d1a43dc65 MemoryCallbackSystem - simplify by having a single Add method with a MemoryCallbackType parameter, and some simplifying of client code as a result 2014-12-07 18:53:56 +00:00
adelikat ba31d7d28b Debugger - better handling of what is or isn't implemented on startup, no longer crashes when opened using the QuickNes core 2014-12-07 14:52:09 +00:00
zeromus 556b7b0123 gdi+ display method! 2014-12-07 02:26:52 +00:00
adelikat 415fda2373 Debugger - on close, turn off trace logging 2014-12-06 16:28:42 +00:00
adelikat 97476a8b69 Debugger - breakpoints 2014-12-06 15:07:01 +00:00
adelikat 93692b0220 Debugger - update register values 2014-12-06 13:42:59 +00:00
adelikat 4b8f5b2962 Debugger - add a crude Register box, dynamically reads the cores flags and registers and creates ui, is they are settable it creates textboxes (registers) and checkboxes (flags) with change events that set the core values. If register setting is not implemented, it creates labels instead. Plenty of details to refine about this process. 2014-12-06 01:14:58 +00:00
adelikat 748fab4dfb Debugger - use the Tracer.Header property 2014-12-06 00:21:25 +00:00
adelikat 00523ca5aa Debugger - implement trace logger 2014-12-06 00:18:51 +00:00
adelikat 4a96e58a24 Start a generic Debugger tool, does nothing now except for open and have the standard ui options all tool forms have (such as autoload) 2014-12-06 00:03:36 +00:00
adelikat 0b84beec88 Move MemoryCallbackSystem from CoreComm to IDebuggable and refactor accordingly, Lua - tell the user when memory callbacks are not available for a given core 2014-12-05 01:56:45 +00:00
adelikat f5cc38c9cd AsInputPollable() 2014-12-05 00:59:00 +00:00
adelikat e2033c9d2e AsStatable() and also update statusbar saveslots on CloseRom() 2014-12-05 00:52:16 +00:00
goyuken 40416656a2 eliminate snowiy emulator option from CoreComm. this commit is a bit hackish 2014-12-05 00:39:02 +00:00
adelikat 1fad6f4a88 AsSaveRam() 2014-12-05 00:34:57 +00:00
adelikat 04f9081943 in IEmulator extensions add methods such as AsMemoryDomains(), AsStatable() that do the service calling magic. In the client code replace appplicable casts of IMemoryDomains with AsMemoryDomains(), more commits of this nature for the other IEmulatorServices soon to follow 2014-12-05 00:32:29 +00:00
adelikat a91de9ad9c Move TraceHeader out of CoreComm and into ITracer and TraceBuffer 2014-12-05 00:10:48 +00:00
adelikat 309088211c Move TraceBuffer from CoreComm to IDebugable and refactor accordingly 2014-12-05 00:05:40 +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 529591ce2d Rename ICoreService to IEmulatorService 2014-12-04 02:12:57 +00:00
goyuken f2ff432b3a helpful mouseover tooltips in firmwares config 2014-12-04 00:37:06 +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 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 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 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
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 70a9b535f5 check HasSavestates() on some save and loadstate calls that can be accessed via lua (and other stuff) 2014-11-30 17:51:16 +00:00
adelikat 65249ad0f9 MainForm - File Menu - disable savestate related submenus if core does not implement IStatable 2014-11-30 17:41:24 +00:00
adelikat bdccb6d400 Record Movie - remove the "Now" option if the core doesn't implement IStatable 2014-11-30 17:37:22 +00:00
adelikat 76148ae111 Break off savestate functionality from IEmulator into IStatable and refactor things accordingly. Still todo (a big todo): EmuHawk should gracefully handle a core that is not an IStatable by disabling functionality dependent upon it (Savestates, Rewind, Tastudio, etc) 2014-11-30 16:42:58 +00:00
adelikat 230cd3fb6a remove a warning 2014-11-30 16:04:38 +00:00
adelikat 865795049b Break off saveram methods from IEmulator into a separate ISaveRam interface. Remove the setter for SaveRamModified (every single core was throwing an error on this, and no client code was using it). Remove these methods from cores that don't actually implement this interface 2014-11-30 15:22:08 +00:00
adelikat e1a90430ea refactor MainForm.cs SaveStateAs() to use object initializer syntax 2014-11-30 14:21:11 +00:00
adelikat 4681fef0c2 Add an IsNull() extension method to IEmulator (checks for null and if NullEmulator) and replace EmuHawk NullEmulator checks with this method instead 2014-11-30 14:18:44 +00:00
goyuken ff54192fdc fix missing movie extension for game names that have a . at Length-4 2014-11-30 04:02:31 +00:00
goyuken 8271da0855 fix crash trying to use snes bg hotkeys when snes is not loaded 2014-11-29 21:06:15 +00:00
goyuken b21cfdd927 ward off possible bugs 2014-11-29 19:36:11 +00:00
goyuken 0b16e36776 fix issue 330 2014-11-29 18:57:57 +00:00
adelikat a26e36719a Don't allow drag and drop of a movie file if a movie is already active 2014-11-29 00:59:14 +00:00
adelikat 96b626434f Lua Console - on drag and drop, don't be case sensitive with the file extension 2014-11-26 17:42:30 +00:00
zeromus 16896dc858 use nearest neighbor filtering when resizing an avi dump without padding, instead of bilinear. 2014-11-25 19:34:27 +00:00
adelikat bded999177 Create a FeatureNotImplemented attribute, the intend of which is to apply to any unimplemented method of an ICoreService method/property, set some methods in Intellivision to this, and have CoreFeatureAnalysis look for the presence of this attribute and report unimplemented properties/methods 2014-11-24 00:38:29 +00:00
adelikat 56d425d49f Core Features form - show icons based on completeness 2014-11-23 23:35:00 +00:00
adelikat ada9ca6fb9 Core Features dialog - properly determine if a core is ISettable, don't add properties and fields if the interface isn't implemented anyway 2014-11-23 22:04:34 +00:00
adelikat 189de87e8e Start a core features dialog in Help, only visible in developer mode (currently). Uses reflection to see what ICoreService implementations are implemented by which cores 2014-11-23 21:46:28 +00:00
adelikat e6e2972e3d Make IMemoryDomains inherit IEmulator and simplify some code slightly as a result 2014-11-23 16:03:04 +00:00
adelikat 584b5feaa3 Tastudio - properly load a file on drag and drop 2014-11-22 15:19:32 +00:00
adelikat 7de427fb3c Tastudio - fix exception on load in relase builds 2014-11-22 15:09:01 +00:00
hegyak 0d8e111c55 Change the VirtualPads/schema/LynxSchema.cs from LYNX to Lynx 2014-11-21 04:19:01 +00:00
adelikat d64be5ed76 SystemID is Lynx not LYNX, cuz I said so 2014-11-21 01:32:15 +00:00
hegyak fa5c614641 Added schema/LynxSchema.cs 2014-11-20 17:45:44 +00:00
hegyak a3f8d4bac8 Changed defctrl.json to support Lynx's Pause Button. Apparently that is an important button. 2014-11-20 16:54:06 +00:00
hegyak 92de71a0c6 Restore missing 7Z.dlll File and missing Global.cs
Sorry about removing them.
2014-11-20 15:35:27 +00:00
adelikat 5a893c1a43 Tastudio - don't expose Rotate menu item for non-developer builds since it is not ready. A pro would get around this 2014-11-19 23:21:08 +00:00
adelikat d7596684c2 Lua - Expose tastudio library in non-developer builds 2014-11-19 16:17:40 +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 8bfe2220ef Expose GBA in the platform picker 2014-11-19 16:07:03 +00:00
adelikat 81146fde8e Add Lynx controller image to controller config dialog 2014-11-19 02:39:43 +00:00
hegyak d1f0bfd89c Allow Virtual Pad to support QuickNES with One, Two or No controllers. 2014-11-19 01:01:27 +00:00
hegyak 33f52599f8 Fix Issue 310 2014-11-19 01:00:35 +00:00
adelikat 099f0518bc Fix bug where a quicknes movie would permanently change the core setting 2014-11-19 00:50:50 +00:00
adelikat 34741cb614 Path Config - fix exception when opening during null emulator, fixes Issue 312 2014-11-19 00:42:46 +00:00
adelikat 17c6a2c1f6 Snes - use the compatibility profile override option in the game db, note that it will be a temporary override for the game if detected, the user setting will not be permanently changed. This touched a bunch of things, and many other things had to be considered, there's a reasonable chance that this broke something 2014-11-19 00:32:51 +00:00
zeromus 315316210d fix window size getting stuck in caption after resizing done 2014-11-18 18:33:04 +00:00
adelikat e4cd7a3449 Lua Console - when reporting a script error, update the number of active scripts label 2014-11-18 01:09:06 +00:00
adelikat 0cf61812c2 Path Config - Fix bug where dual gb is selected by default when a gb game is active 2014-11-17 23:16:50 +00:00
adelikat 6459f4dec5 add .lynx to open file dialog 2014-11-17 22:23:06 +00:00
goyuken 0a17fadb8e gb: add mute sound as a setting. most useful in dual mode. 2014-11-16 21:56:32 +00:00
adelikat eb292eddcc Tastudio - fix crash when loading a state for a frame after the current movie length, tastudio was getting refreshed before the row count was being updated 2014-11-15 21:48:34 +00:00
adelikat ae9e31d984 Tastudio - fix up some behavior of metadata dialogs when the first show 2014-11-15 15:36:22 +00:00
adelikat e0207b748f Tastudio - remove some user controls that do nothing that I've decided won't be used 2014-11-15 15:02:52 +00:00
goyuken ed8e8508f8 fix audio capture problem that broke with r7973 2014-11-14 17:48:18 +00:00
zeromus a7432a1e52 firmwaremanager now tracks filesizes, and filesizes of known firmwares are used to restrict scope of scanning 2014-11-13 00:09:16 +00:00
zeromus 2e88a279bb rename firmwares base path to firmwares search path, cos thats more like what it is. 2014-11-12 01:32:56 +00:00
zeromus 38ebdd45d2 fix Issue #292 - Bizhawk still here after emulating N64 and "Exit key" has been pressed 2014-11-12 00:11:31 +00:00
zeromus 4d5b25600e add a GC.Collect() call to workaround a .net slow-GC problem, and fix an old bug related to firmware scans occurring several times actually every time you think it should happen once, which probably wasn't helping things 2014-11-12 00:04:08 +00:00
adelikat b0eb4ee791 When loading a movie that specified quicknes or neshawk (or bsnes vs snes9x), don't permanently override the user's core preference 2014-11-09 17:14:16 +00:00
adelikat 252ea85f99 Lua Console - add a duplicate script menu and toolbar item, functions similarly to new script except it starts with the text from the highlighted script 2014-11-09 16:18:09 +00:00