Commit Graph

1714 Commits

Author SHA1 Message Date
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
adelikat 78b466ff78 When saving/using the main window location, negative values are in fact valid values (if your left most monitor is not set as the main monitor for instance), allow negative but properly account for -32000 scenarios 2014-11-09 16:00:39 +00:00
adelikat 0578eb6436 Tastudio - take the emuhawk context menu item "stop without saving" into account 2014-11-08 17:44:25 +00:00
adelikat 5c92adcaaa Wire up the Log callback into lua libraries, this got lost in the last refactor I did, and so errors were not getting reported 2014-11-08 14:54:00 +00:00
zeromus 8c1eaf25ff system for more thorough tooltips in hotkey and controller config dialogs (so, for instance, the function of a key can be described) 2014-11-07 16:58:27 +00:00
zeromus 813bfa6ad4 use FolderBrowserEx instead of lame FolderBrowserDialog for the PathConfig dialog 2014-11-06 23:31:19 +00:00
zeromus 7a4d60c483 change AutoScaleMode of MainForm and GBPrefs to None and Inherit, so that the dialog wont be whack for japanese users 2014-11-06 21:35:45 +00:00
zeromus 9f3763409b call WhackMOTW on .exe, besides just .dll. Fixes bug with windows prompting to allow execution of bsnes executables 2014-11-06 19:04:51 +00:00
adelikat 829ee72914 Tastudio - make comment editor always in edit mode, make it modeless, add a save button 2014-11-02 15:20:17 +00:00
adelikat b10ef0b1a4 EditCommentsForm - some code and whitespace cleanup 2014-11-02 15:07:19 +00:00
goyuken f3e9958f07 quicknes: support unplugging controllers 2014-11-01 17:44:04 +00:00
goyuken dc2ca1f010 remove the extra ISettable (non-generic argument) interface and corresponding crud from cores, and replace with a shim class 2014-10-31 15:46:13 +00:00
adelikat 549b948ffd Tastudio - add a context menu "create new project from here", it will take the currently selected frame and create a savestate-anchored project on this frame (keeping any input after this frame), and load this new project. 2014-10-30 23:29:21 +00:00
goyuken 81fc95ab43 NES: add UI support for datach barcode reader 2014-10-29 22:28:14 +00:00
hegyak 975492b4de It's Fullscreen, not fullscreen or FullScreen. 2014-10-27 21:19:48 +00:00
goyuken daf74eb91b framebuffer in movie anchor states 2014-10-27 01:14:47 +00:00
adelikat 3286d34953 When using Alt+Up/Down hotkeys - show an osd message informing the user of what the new screensize is 2014-10-26 23:47:59 +00:00
adelikat 223a4fc358 Tastudio - when auto-converting an existing movie when loading tastudio - add the newly created tasproj to the recent menu 2014-10-26 23:44:04 +00:00
adelikat e3b6d29956 Refactor last commit and some other code so that reset happens in a singular place when loading a state from the state manager 2014-10-26 23:37:42 +00:00
adelikat 59494767f5 Tastudio - refactor TasStateManager GetStateClosestToFrame() to return a KeyValuePair (frame number and savestate data) so the calling code has a clue which savestate was returned, reset counters if a savestate-anchored movie's "anchor" was loaded 2014-10-26 23:26:43 +00:00
adelikat ad7782df35 Tastudio - A much simpler and less hacky implementation of previous commit, and have Tastudio take over the mainform's RestartMovie method using the IControlMainform interface 2014-10-26 16:36:50 +00:00
adelikat 78b4748675 Tastudio - when loading with an existing movie loaded, restart the movie 2014-10-26 15:48:19 +00:00
zeromus 5cf5894329 firmware importer now supports archives 2014-10-26 14:22:26 +00:00