Commit Graph

895 Commits

Author SHA1 Message Date
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 150dcae98d When importing snes movies, set the movie sync settings to Compatibility profile 2014-11-09 16:49:11 +00:00
adelikat 2f51331ca8 Fix a nasty bug in movie loadstate behavior 2014-11-09 15:48:06 +00:00
adelikat a932cef662 Add a description attribute for EmulatorLuaLibrary 2014-11-08 14:08:32 +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
adelikat 149a759a26 Tastudio - oops, fix major bug in r8145 2014-11-02 14:25:06 +00:00
adelikat 38f6661cc1 mnemonic constants for option 1 and 2 buttons on lynx 2014-11-02 14:11:14 +00:00
adelikat 2f3f3d29fc Tastudio - invalidate lag log when editing frame 0 2014-11-02 13:52:45 +00:00
adelikat 7f18d9ebc0 Fix bugs in last commit 2014-11-02 01:10:19 +00:00
adelikat f7460d1821 Tastudio - make green/red drawing for lag correspond with FCEUX's taseditor. Rather than show what the lag counter is saying, show what the next frame will be. The logic here is that green means a frame in which an edit will have an effect on emulation and red means it will not. 2014-11-02 00:39:53 +00:00
adelikat 8197f96c98 TasMovie - make a TasLagLog class to simplify some code 2014-11-02 00:22:04 +00:00
adelikat 01909dfb98 Tastudio - When creating a savestate-anchored movie from an existing movie, copy the previous input into VerificationLog.txt 2014-11-01 14:01:21 +00:00
adelikat 900ce76a3b TasMovie - add a VerificationLog.txt file in the tasproj, doesn't use it yet but it does properly save and load it, will save if there is any log entries, will load it if the file exists in the tasproj 2014-11-01 13:37:18 +00:00
adelikat 6611ddd9ba Some fixups to TasMovie - mostly code cleanup but also some subtle bug fixes 2014-11-01 12:50:36 +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
adelikat bd9a47f780 ToTasMovie() - apply the same hacky fix that ToBk2() received 2014-10-29 21:52:35 +00:00
adelikat 7ffe0805c1 When converting an IMovie to a TasMovie and auto-generating the filename, check that the file exists, and ensure a non-existent filename 2014-10-29 21:41:01 +00:00
goyuken ff95066672 quicknes: reject (with the appropriate unsupported exception) any bootgod positive euro rom 2014-10-29 18:58:43 +00:00
goyuken daf74eb91b framebuffer in movie anchor states 2014-10-27 01:14:47 +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 fa9971022b TasStateManager - GetStateClosestToFrame() - state savestate anchored movies into account 2014-10-26 23:17:20 +00:00
zeromus 5cf5894329 firmware importer now supports archives 2014-10-26 14:22:26 +00:00
adelikat 170bc4aab0 TasStateManager - Invalidate() - take savestate anchored movies into account 2014-10-25 19:33:28 +00:00
adelikat b301546237 TasStateManager - take starts from savestate into account in the HasState() method 2014-10-25 16:11:40 +00:00
adelikat 429b298dc1 TastStateManager - take starts from savestate into account when deciding if there are any states 2014-10-25 16:05:11 +00:00
adelikat c49e51d03f When converting a movie to a tasproj, properly capture whether it starts from savestate and make the appropriate marker 2014-10-25 15:47:15 +00:00
adelikat 7be7f3aba6 Fix putting sync settings into movies for some cores, broken by the change to ISettable 2014-10-23 22:30:47 +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
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 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 eb28732087 when setting IMovie.SyncSettingsJson, simply do not set it if the core is not an ISettable, rather than throwing an exception 2014-10-19 01:39:43 +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
jlennox 01a994fe9c Break IDebuggable off from IEmulator 2014-10-18 22:13:25 +00:00
adelikat d6b4ce6dfe A fix to RunQueuedMovie, this doesn't seem to cause regressions, and I don't that the old code was behaving incorrectly, but the code was definitely wrong, and this is correct 2014-10-18 20:55:10 +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 e1b0544668 TasMovie - fix stop movie, if there were no changes to the movie file it was IGNORING the request to stop, that was bad and was the cause of various subtle oddities 2014-10-18 15:17:49 +00:00
adelikat 305dea53ab Tastudio - a dialog to change the default "greenzone" settings 2014-10-18 01:01:45 +00:00
adelikat 48eb40449c Make TasStateManagerSettings use default values from the config, next step: a ui to change the config values 2014-10-17 22:47:30 +00:00
adelikat f930622b5e Move TasStateManagerSettings to its own file 2014-10-17 22:39:40 +00:00
adelikat fe9dade094 tasmovie - don't capture information on GetInputLogEntry(), that is code that should have been been whaked when refactoring Everything ot UseGetInputState() instead. Still todo: get rid of this method alltogether 2014-10-16 23:11:29 +00:00
adelikat e58e911d7e Tastudio - when emuhawk is playing back frames, we must be logging lag and savestates in tasmovie if we do not have the information! This fixes a number of "spooky" bugs I've been finding! 2014-10-16 23:05:59 +00:00
adelikat b87177a0b5 Tastudio - implement the "Empty new Marker notes" menu item 2014-10-15 16:09:14 +00:00
adelikat 5436a7d24e BinarySavestates - add a HasLump() method, and use it to check for clientsettings in tasproj since it may or may not have it 2014-10-15 15:55:41 +00:00
adelikat 3be3264d60 TasStateManager - make frequency based on savestate size, formula should be tinkered with to get best results on all platforms, also dont' ever capture frame 0 on savestate-anchored movies since the anchor will be returned when 0 is requested 2014-10-15 15:47:04 +00:00
adelikat fc311c12e9 Tastudio - never remove the frame 0 savestate in non-savestate-anchored movies 2014-10-15 15:23:48 +00:00
adelikat e6cec0f52f Tastudio - Saving and loading of column info to the .tasproj file, loading is still problematic because it is being whacked by code that rebuilds the columns later, need to unspeghettify some things 2014-10-14 18:09:30 +00:00
adelikat ce58f0e803 Tastudio/TasMovie - simplify some more code 2014-10-14 13:31:14 +00:00
adelikat a639cfd275 remove some code in tasmovie that isn't necessary now 2014-10-14 13:24:15 +00:00
adelikat 9304283c03 Remove some unused config variables 2014-10-14 12:53:54 +00:00
goyuken 79f36198e9 play around with 7z a bit 2014-10-13 05:08:34 +00:00
goyuken 4539819156 internal improvements to 7z savestate writer 2014-10-12 04:57:49 +00:00
goyuken 4ee816e8bc code to use 7zip (unmanaged) to write archives, not active for the moment, still stuff to do 2014-10-12 04:24:31 +00:00
zeromus 4eeb48db13 block the use of the input stream length property by unmanaged 7z code. I think it was only using it for progress reporting. 2014-10-12 02:49:02 +00:00
zeromus 0303871ac5 sevenzipsharp - remove broken code which was requiring input streams to be seekable so that it could get their length so that it could produce a percent-based progress report 2014-10-11 21:26:39 +00:00
adelikat 2fb986715e tastudio - implement follow cursor 2014-10-11 19:43:05 +00:00
goyuken a09c488f5b add infrastructure to use alternate zipping libraries in savestate. use DotNetZip for some speedupzzzzzzzzzzzz 2014-10-09 23:39:13 +00:00
goyuken 277b277c2e benchmark savestate time to console 2014-10-09 01:49:44 +00:00
zeromus 45f7317b58 add exit program hotkey 2014-10-07 01:20:48 +00:00
goyuken c0beeb50b1 add atari lynx to pathconfig 2014-10-07 00:40:16 +00:00
adelikat 99e6b7ce27 Tastudio - for devleoper builds add a Greenzone Integrity Check menu item, runs through the movie and verifies the greenzone states are identical to the data gathered from emulating and replaying the movie and savestating 2014-10-05 14:11:30 +00:00
adelikat cfff19b808 TasStateManager - add an InitialState property, not used yet and has limited value, but might help with clarity 2014-10-05 12:59:12 +00:00
adelikat fda36d349d a fix to the fix of last commit 2014-10-02 23:50:50 +00:00
adelikat d0970c5ba4 fix last commit 2014-10-02 23:19:37 +00:00
adelikat 535ba7dc4a TasStateManager - don't delete frame 0 greenzone, todo: refactor to store this (for non-savestate anchored movies) separately 2014-10-02 23:10:36 +00:00
adelikat 4addd7fcbc Tastudio - implement a Clear Greenzone menu item 2014-10-02 22:58:36 +00:00
adelikat adf07367ad Support lynx .mcm importing, however it appears there are sync differences in the lynx cores 2014-09-29 22:39:06 +00:00
adelikat f4d3b70469 Ram Watch - fix issue with stale memory domains when rebooting a core, some cores were unaffected, cores like atari 2600 were affected by this bug 2014-09-28 16:39:53 +00:00
adelikat e00801d6f3 tasmovie - only save when stopping if there are changes 2014-09-27 23:56:23 +00:00
adelikat 734b8338bc Fix always getting a "movie was written to disk" message when stopping a movie, will now only say so if it actually was saved to disk 2014-09-27 23:44:59 +00:00
adelikat 1dc789eb02 Ram Tools - support poking frozen values, fixes issue 266 2014-09-27 21:52:15 +00:00
adelikat da7cb4ec59 when loading a movie, gracefully handle a movie/rom system id mismatch 2014-09-27 15:49:39 +00:00
adelikat 624ad32d4e Tastudio - fix some go to frame logic, but probably broke stuff too 2014-09-22 23:24:34 +00:00
adelikat ea3f86c11e Tastudio - Fix some erroneous StateManager logic 2014-09-22 22:52:34 +00:00
adelikat 0ef72d3ab2 Tastudio - fix a bug in tastatemanager 2014-09-22 14:44:32 +00:00
adelikat 8b212da594 tastudio/lua - implement tastudio.getmarker(), tastudio.setmarker(), and tastudio.removemarker() 2014-09-21 15:17:29 +00:00
adelikat 538c4632af Add a LuaLibraryAttributes attribute to lua libraries with a Released property, only register libraries that are released except in Developer Builds, set tastudio library Released flag to false 2014-09-20 01:00:50 +00:00
adelikat b3fffa99d3 Fix a bug in movie recording when the movie end action of "record" is picked, in that case, switching to record after a movie finishes was eating a frame 2014-09-18 22:54:15 +00:00
zeromus 81e1cfe549 satisfy my own comment about the " C " 2014-09-14 18:01:20 +00:00
zeromus 8447c46761 fix UDRL mutex. fixes issue #264 2014-09-14 01:43:42 +00:00
zeromus 7e3144fd07 support custom AR and display client size while resizing. fixes Issue #251 . 2014-09-14 00:51:30 +00:00
adelikat 1efaa896bc Add a N64 TAS profile in the profile config, has identical settings to TAS but also the Frame Advance skips Lag Frames option set to true 2014-09-13 01:21:55 +00:00
zeromus 2c8295ba76 Fix bug with core inventory launching n64 core with data that romgame had mangled in cases. todo: delete romgame. 2014-09-12 01:02:09 +00:00
zeromus 87e9d235f6 make some effort to support memdomain of full 32bits size, and use it for n64 system bus. make sure to check that its disabled in ramsearch engine and in hex editor. we could probably fix it to work in hex editor later. 2014-09-09 21:34:41 +00:00
adelikat a85b1d58a1 Don't bomb out when a core throws an exception on loadstate, still todo: bubble the error message up, instead of just telling them there was an error 2014-09-07 15:17:47 +00:00
zeromus ea1387c339 fix signed comparisons probably broken by last commit 2014-09-07 06:33:21 +00:00
zeromus c829183fa7 fix handling of sign extension and longs in ramsearch engine. fixes observed misbehaviours in n64 ramsearching. not tested real well, but definitely a needed improvement 2014-09-07 06:17:10 +00:00
adelikat d003be9cda remove some todos, I decided not to do any of them, it is too pedantic to do them 2014-09-01 19:07:05 +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
scepheo a1a73a2fef Fixed the core detection when playing back a NES/SNES movie. 2014-08-30 19:20:09 +00:00
adelikat e6d6dc7e51 Tastudio - more go to frame stuff 2014-08-30 00:40:53 +00:00
adelikat 16aabb1a4a remove an unused config variable 2014-08-29 12:39:06 +00:00
adelikat c7949501b2 Tastudio - proof of concept for cachine the input state during a screen refresh. A huge speed up here, about 400-500%. Implementation is a bit sloppy but works 2014-08-29 02:58:52 +00:00
adelikat 86fc66820c Oops 2014-08-29 02:40:45 +00:00
adelikat c033b26ad0 TasMovie - don't create a Bk2MnemonicConstants object everytime a display value is requested, gives a modest speed up to tastudio performance 2014-08-29 01:59:08 +00:00
adelikat bbc84471d8 TasStateManager - capture every other frame for now 2014-08-27 20:43:45 +00:00
adelikat ed6aeeba45 TasStateManager - yes we want to clear 2014-08-25 22:04:05 +00:00