Commit Graph

1759 Commits

Author SHA1 Message Date
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
zeromus 2f374d9199 add firmware import option (copies firmwares into firmware directory through toolbar or drag&drop) 2014-10-26 04:23:56 +00:00
adelikat 5adedbee8c a fix to restarting a movie, I broke this in recent commits 2014-10-25 23:11:55 +00:00
adelikat 3d30bd082e InputRoll - slight tweak to the SelectedIndexChanged event logic 2014-10-25 14:10:32 +00:00
adelikat 7b4f5c4a1b Tastudio - context menu for the Marker list, fix bug where double clicking the marker list beyond the actual markers resulted in an exception 2014-10-25 13:41:23 +00:00
adelikat d5aad8d0e2 Tastudio - cancel seek context menu item 2014-10-23 23:18:42 +00:00
adelikat 5c4a876d2d Tastudio - when editing while seeking, continue to seek to the originally intended frame 2014-10-23 23:14:32 +00:00
adelikat 5c85a8ca66 Tastudio - improve navigation performance by emulating a frame when possible rather than loading a state 2014-10-23 21:21:43 +00:00
adelikat 2e7546c67a TAstudio - on some editing functions, dont' pause the emulator if it wasn't paused to begin with 2014-10-23 21:09:54 +00:00
adelikat 32cdc80639 Tastudio - don't override read-only toggle, I think this is an ok thing to do, we shall find out 2014-10-23 20:41:52 +00:00
zeromus c39617b638 try fixing crash in trace logger. seemingly a race condition between a create, a flush, and a subsequent open for tracing (for issue #299) 2014-10-23 05:14:03 +00:00
adelikat 53fa3b9ada Tastudio - fix crashing after using Export to Bk2, running out of memory on export though, a definite concern now 2014-10-23 01:32:27 +00:00
adelikat dee45888de TAStudio - disable tab, shift+tab, and space, because people like to use these as important hotkeys and because FCEUX's taseditor does this, and people seem to want it that way 2014-10-23 00:47:30 +00:00
adelikat 2e36ab5cbb Tastudio - set Always on Top immediately, not when it is restarted 2014-10-22 23:15:59 +00:00
adelikat 8b5c9dc129 InputRoll - also Home and End hotkeys 2014-10-22 23:11:29 +00:00
adelikat ade5cfa8e6 InputRoll - implement PageUp/PageDown logic 2014-10-22 23:03:17 +00:00
adelikat 6099d4006e Tastudio - just in case do a triggered auto-restore on mouse leave, I think this code should never fire, but you never know what edge cases could trick winform events 2014-10-22 22:43:42 +00:00
zeromus a2722ae10f do some work which _should_ have supported rotated text. not sure why it isn't working though... 2014-10-22 07:59:06 +00:00
adelikat c71aaf4e4a Tastudio - support drag n drop of tasproj files onto the Tastudio dialog 2014-10-21 13:12:12 +00:00
adelikat 5a2e8071d6 Tastudio - break some code into a function in preparation for stuff 2014-10-21 01:31:41 +00:00
adelikat 1610555dbe Tastudio - double click a marker in the marker list will allow user to edit the message 2014-10-20 23:03:39 +00:00
adelikat f76211822f Tastudio - slight fix to the enabling of "Export to Bk2" menuitem 2014-10-20 21:26:01 +00:00
scepheo 28f21e1775 Lua:
- LoadState through Lua isn't counted for movie RerecordCount.
 - Added movie.setrerecordcount and movie.getrerecordcount for people who really want to count their bot loadstates.
2014-10-20 20:31:31 +00:00
adelikat d0aee55059 Tastudio - a bit of simplifying some code 2014-10-20 19:04:59 +00:00
adelikat 31c564ad06 Tastudio - fix stack overflow when user opens tastudio then clicks close rom in emuhawk 2014-10-20 00:31:05 +00:00
adelikat 590766d147 Tastudio - speed up selection by reducing unnecessary refresh calls 2014-10-20 00:11:07 +00:00
scepheo b4d065869e EditSubtitlesForm: Added rows now have default values. 2014-10-19 22:42:46 +00:00
adelikat 4e3188e091 Tastudio - some metadata dialogs are modeless, make the mainform the owner 2014-10-19 22:25:13 +00:00
adelikat 8ac0576c54 Tastudio - refresh after cloning or inserting frames 2014-10-19 21:45:02 +00:00
adelikat 6c9e902ebe Tastudio - truncate -> fix off by one 2014-10-19 16:36:47 +00:00
adelikat 09ec0322a7 Tastudio - delete no longer clears selection 2014-10-19 16:33:59 +00:00
adelikat 8feeb080d0 tastudio - insert # frames - change max digits from 3 to 5 2014-10-19 16:30:34 +00:00
adelikat e0cab40431 TAStudio - flag changes when tasview changes that are saved into the tasproj occur 2014-10-19 15:29:03 +00:00
adelikat 12e0215914 Tastudio add a Restore Defaults menu item to the Columns menu 2014-10-19 15:13:53 +00:00
adelikat 3593588d5f InputRoll - ColunReorder event handler, Tastudio - subscribe to this event handler and flag changes to the movie (since this information is saved into the tasproj file) 2014-10-19 14:46:01 +00:00
adelikat bcb8a00c77 InputRoll - column reordering, including saving and loading 2014-10-19 14:04:59 +00:00
jlennox a64017366c Create ISettable<T,T2>/ISettable interfaces. This checkin has not been extensively tested. 2014-10-19 01:22:47 +00:00
adelikat 2401de6ba2 Tastudio - don't open the context menu when user right-clicks a column header 2014-10-19 00:24:33 +00:00
adelikat 26a37544ac ditto for RightColumnClick 2014-10-19 00:19:17 +00:00
adelikat e54a731ada InputRoll - change the column click event to fire on mouse up instead of down 2014-10-19 00:16:58 +00:00
adelikat e2004133f2 tastudio - make sure changes are not flagged when starting a new project 2014-10-18 21:29:02 +00:00
adelikat 559884c0c0 tastudio - I dont' like this unnecessary osd message 2014-10-18 21:09:19 +00:00
adelikat 33eb056221 Fix record movie dialog defaulting to tasproj after tastudio is opened 2014-10-18 21:08:05 +00:00
adelikat 2599893b02 Tastudio - handle if user chooses stop movie in emuhawk 2014-10-18 20:40:20 +00:00
adelikat 97721ddcc3 InputRoll - fix logic in vertical view that was not drawing text in a column if any pixel of the column went off screen, save HorizontalOrientation in settings 2014-10-18 20:29:23 +00:00
adelikat 560a04e20a tastudio - another fix to autoload 2014-10-18 19:23:14 +00:00
adelikat 59ef98562b tastudio - a slight fix for autoload 2014-10-18 19:12:36 +00:00
adelikat 6b3c631702 Tastudio - Marker list - fix rather messed up background coloring logic 2014-10-18 16:34:41 +00:00
adelikat 27ca9bc1a3 tastudio - since there is no immediate plans to add anything else to the dialog, extend the marker list to the bottom of the dialog and anchor it 2014-10-18 16:24:25 +00:00
adelikat a3d58399a2 Tastudio - some ui fixups for the Marker list 2014-10-18 16:22:24 +00:00
adelikat 1b35ce3925 When tastudio is open, don't allow user to change the "On Movie End" option 2014-10-18 16:06:39 +00:00
adelikat 32898f0584 When doing Save logic, also revert to Save As if project name matches the default name 2014-10-18 15:53:58 +00:00
adelikat ceb79a4c26 Tastudio - make a new project called default.tasproj rather than gamename, only use gamename when suggesting a movie in a Open/SaveFileDialog 2014-10-18 15:50:12 +00:00
adelikat 2ba9d090ac Tastudio - reset row count when starting a new project 2014-10-18 15:31:51 +00:00
adelikat 2e7ee97de9 Tastudio - various fixes to restart and initializing logic, still some flaws but makes things less catastrophic 2014-10-18 15:27:53 +00:00
adelikat cfd756feb0 Tastudio - greenzone shall now be called Savestate history when exposed to the user 2014-10-18 01:35:59 +00:00