Commit Graph

907 Commits

Author SHA1 Message Date
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
adelikat 3aec45448c TasMovie - TasStateManager - pre-allocate the SortedDictionary size based on state size and memory usage capacity. Fixes the problem of performance grinding to a halt as the movie frame count increases 2014-08-24 22:50:21 +00:00
goyuken 63b533f15c tasstatemanager: fix out of memory on save 2014-08-24 21:53:48 +00:00
goyuken aab2a17947 tasstatemanagerstuff 2014-08-24 21:29:51 +00:00
adelikat 1d5cd2eb6d oops, nevermind 2014-08-24 20:30:56 +00:00
adelikat 2a98534fe4 TasMovie - optimize greenzone adding, no longer gets slower and slower as frame count increases 2014-08-24 20:28:46 +00:00
adelikat 06605346e0 FIx a nasty bug in bk2 and tasmovie that was saving a movie even if it was inactive 2014-08-24 18:07:14 +00:00
goyuken 728a6cf1e7 fix FDS and maybe CGB load fail switch, which were broken because i broke them 2014-08-24 17:25:29 +00:00
adelikat 24bb942dd1 if TasMovie constructors (a hacky way for now) 2014-08-24 15:07:27 +00:00
kylelyk 4455d5deac Editing Markers now is managed by TasMovie as a change to the movie file. Fixed bugs to do with adding and deleting markers. 2014-08-24 14:41:56 +00:00
adelikat 7baa960b4b Fix warning in rom loader 2014-08-24 14:12:31 +00:00
goyuken 805ff14cc0 (i didn't spot this typo at first because of other typos stopping the build) 2014-08-23 19:20:16 +00:00
goyuken 1d383a62cc romloader stuffs, nag me if it breaks anything, i don't think it breaks anything 2014-08-23 19:06:37 +00:00
kylelyk b66db36046 Dialog Title now has a asterisk at the end if the movie has pending changes to be saved. Added UI functionality for Auto-pause At End of Movie; does work yet. 2014-08-23 18:02:02 +00:00
kylelyk 6fa3cf4d28 Inserting frames in TAStudio now inserts before FirstSelectedIndex like FCEUX and most other programs with insertion options. 2014-08-23 02:06:56 +00:00
kylelyk 25b512a9c7 Quick add to subversion. 2014-08-23 01:28:04 +00:00
kylelyk 92bdba7938 GreenzoneSettings.MaxStatesInCapacity is now updated at dialog load and is a integer instead of a decimal. 2014-08-22 17:04:31 +00:00
kylelyk 17489f6175 Added Name property to Bk2Movie, fixed off-by-one in greenzone truncation, TAStudio displays name of movie in dialog title. 2014-08-22 02:56:27 +00:00
kylelyk 9bcb5f835a Fixed unable to edit subtitles while TAStudio is open. 2014-08-22 00:31:41 +00:00
kylelyk 464cde5efa Fixed crash on copy rows in TAStudio. Replaced spaces with tabs in previous commits. 2014-08-21 22:53:03 +00:00
kylelyk 1b85a89b66 Markers on frames to be truncated are now deleted like in TAS Editor. 2014-08-21 21:24:25 +00:00
kylelyk 26c65d727d Fixed TAStudio crashing on truncating movie in greenzone. 2014-08-21 18:45:14 +00:00
adelikat 82b249b28c more accurate fps numbers for genesis 2014-08-21 17:41:59 +00:00
adelikat ddaf0cce04 Add gens frame rates to PlayformFrameRates, todo: Nag natt to put in more precise values than just 60 and 50 2014-08-21 15:32:19 +00:00
goyuken e94d1f7345 issue 252 is fix 2014-08-19 00:59:02 +00:00
goyuken 7afabc4a06 mnemonic stuff 2014-08-18 02:38:11 +00:00
adelikat 9d053eac4e Fix multitrack recording 2014-08-17 16:29:39 +00:00
adelikat 95bdfaba42 ugh, oops 2014-08-17 16:00:46 +00:00
adelikat 602b47deba More multitrack reorg 2014-08-17 15:45:04 +00:00
adelikat 066b072627 Some more moving code around related to multitrack 2014-08-17 15:22:02 +00:00
adelikat 71a564b1cf Movie MultitrackRewiringControlllerAdapter to a property in the Multitrack object 2014-08-17 15:11:04 +00:00
adelikat 0a608edd07 some renaming and cleanup of the Multitrack object 2014-08-17 15:04:23 +00:00
scepheo 0f1ead706b Refactored srt exporting to have less logic client side and implemented color. 2014-08-17 11:36:37 +00:00
adelikat b91180d6a0 2014-08-17 00:13:00 +00:00
adelikat 64206efe82 Simplify some code in MovieSession.cs 2014-08-16 21:45:36 +00:00
adelikat d53afd2d2a This seems to improve the ram usage in bkm to bk2 conversions, it at least keeps the 75mb n64 movie I have from crashing during the convert. 2014-08-16 20:32:59 +00:00
adelikat db0dd17676 Hex Editor - fix wrapping logic when incrementing/decrementing frozen addresses 2014-08-16 14:44:40 +00:00
adelikat 3303652d99 On loadstate clear "button start" values in the autofire logic 2014-08-16 14:33:09 +00:00
goyuken 20f78a579f "fix" issue 246 by causing an absolute termination earlier in the process that makes it clear what happened 2014-08-15 17:50:43 +00:00
goyuken 14282c4740 fix issue 249 2014-08-15 15:52:08 +00:00
gochaism 6e01ca1808 Lua: Add bit.arshift for arithmetic right-shift. 2014-08-14 01:49:28 +00:00
zeromus 8e50487695 build luainterface.dll into the references folder, like other more modern things. 2014-08-14 01:07:26 +00:00
goyuken b8472ea760 gba stuff 2014-08-13 20:33:59 +00:00
goyuken 29f34ed79a clearsaveram() internal infrastructure changes 2014-08-13 19:16:48 +00:00
goyuken f8becef719 fix 7582 2014-08-13 17:55:34 +00:00
adelikat e29e4a1227 Helper method for path manager 2014-08-13 17:50:24 +00:00
adelikat 957e882e2d Set use snes9x to false, because everything has to be perfect in developer mode too since EmuCr sucks and I have to hear about it 2014-08-12 11:44:10 +00:00
goyuken 9e234b3bf5 vba next: some gamedb and saveram hookups, not all finished 2014-08-12 00:34:19 +00:00
goyuken b29f9e5be1 GBA: add gamedb. besides hash identification, this includes the data that various vba variants put in a "vba-over.ini" file (will be hooked up to core soon 2014-08-11 15:29:53 +00:00
adelikat 4afc5c4ec6 Fix multitrack movie recording 2014-08-10 02:21:08 +00:00
goyuken 80d1723a3a https://www.youtube.com/watch?v=XwzzyzUcNOQ 2014-08-08 00:55:33 +00:00
adelikat 0b81b6f773 start an experimental new widget intended for tastudio, doesn't do anything now but load and do nothing 2014-08-06 01:32:27 +00:00
adelikat 9b385adb7b config saving - do a try/catch instead of my attempt at checking read-only 2014-08-04 03:17:39 +00:00
zeromus d5c4787792 dont crash when organizing firmware 2014-08-03 22:38:27 +00:00
adelikat 2a7d4025cf Multitracking - restart when stopping or starting a movie, I busted this when refactoring to the Queued movie concept, also simplify some code in the multitrack object 2014-08-03 20:34:45 +00:00
adelikat ac7f1ff7eb When saving the config file - check if the file is read-only first, if it is, don't try to save 2014-08-03 15:51:08 +00:00
adelikat 7b72a43265 remove an unused method from RecentFiles.cs (one that had little to no value anyway) 2014-08-02 23:09:01 +00:00
adelikat a65e4a2be7 Add a Freeze/Unfreeze option to recent menus 2014-08-02 22:49:27 +00:00
adelikat 8799f27f60 Rip out the sync settings hack 2014-08-02 17:49:10 +00:00
adelikat bcd78cc4b8 Round 1 of Movie loading system overhaul, this fixes the problem of loading sram when a movie is loaded. Still todo: some cleanup of some hacks that are no longer needed, and restoring the ability to open the play movie dialog and other things, while a movie is active 2014-08-02 15:32:48 +00:00
adelikat 93b71373eb Rom Loader - Catch CGBNotSupportedException and output a message to the screen, then automatically reload the rom in regular mode 2014-08-02 02:41:12 +00:00
adelikat 9cfb30093a Ram Watch/Ram Search - Fix freezing of float values as well as some other types 2014-08-02 01:54:07 +00:00
goyuken 56467334b3 gambatte: throw unsupportedmapperexception when appropriate. libsnes: throw cgbexception when trying to load cgb only game in sgb 2014-08-01 14:56:23 +00:00
adelikat 157897ff55 Fix PCE virtualpad I, II, and Run buttons, also fix the mnemonic display for the Run button 2014-08-01 01:39:07 +00:00
goyuken 14c8dac1bf expand on r7462 2014-07-31 21:40:25 +00:00
adelikat ad5b60f137 Create a MissingFirmwareException in Emulation.Common, and catch this in the Rom loading logic, on the client side, respond to this type of error with a nice message and an option to configure their firmware. Have NesHawk throw this exception when there is a missing FDS Bios. Other cores will need to be implemented this way too at some point 2014-07-31 21:15:07 +00:00
adelikat 0fd5ddd0cf Fix crash when "NES with QuickNes" is selected, and the user attempts to load a FDS game without a proper FDS BIOS. Also, update the core statusbar label when bailing out of a failed Rom load attempt 2014-07-31 20:42:12 +00:00
adelikat 2fd1ffe824 VirtualListView - add a UseCustomBackground flag true by default, if set to false it will bypass custom background drawing logic resulting in that speedboost I keep doing checkins for. Refactor RamWatch to check if there is any need to draw ahead of time and set this flag. Most of the time this will result is a good speed boost for this dialog, only if they are watching a frozen address (which isn't very exciting anyway) or an out of range address (which they need to fix) do they suffer the speed cost of background drawing 2014-07-30 21:31:13 +00:00
goyuken 8bad959f84 stomp out some unused code in FFMPEG path determination 2014-07-30 16:02:39 +00:00
adelikat 28a459ab0e Don't choose to load in snes unless it is a developer build 2014-07-29 02:26:42 +00:00
adelikat c1e866c9c9 add a "SNES with Snes9x" menu item, only visisble in developer builds 2014-07-28 23:58:52 +00:00
goyuken 0c0f9eb93a snes9x rough-in 2014-07-28 20:45:21 +00:00
adelikat 2ac9395a37 TAStudio - wire up the Auto-restore checkbox, only the ui and the saving to the config, the logic of what it does is not in yet 2014-07-28 17:40:17 +00:00
adelikat ef14f661c0 Hex Editor - properly handle (and not throw exceptions) the display of cheat values in a byte size not equal to the cheat byte size 2014-07-28 00:49:48 +00:00
adelikat 4258c4a579 Make Pause status bar icon show turbo seeking and seeking if emulator is those modes, clicking it will cancel out the seek. Fix tastudio's integration with the seek feature, and refactor and simplify some of the code, and a few other tastudio tweaks 2014-07-27 19:07:13 +00:00
adelikat 83d1e39db3 Tastudio - implement turboseek 2014-07-27 17:49:25 +00:00
adelikat b4416e8317 VirtualPads - add an option "Clear clear analog input" 2014-07-27 12:39:56 +00:00
adelikat ede560fe1a fix issue 229 - float autoholds were not being cleared when closing a rom 2014-07-26 15:31:36 +00:00
adelikat 2a3260d22d Play movie dialog - match current hash by default 2014-07-26 13:07:51 +00:00
goyuken 7ac1d58a51 fix zipstate internals that caused movies that started from savestate to explode 2014-07-25 16:51:27 +00:00
adelikat 0326c9812e revert last commit 2014-07-24 23:39:11 +00:00
adelikat 1d45a6f379 When importing GMV, the system id should be Genesis, not GEN 2014-07-24 23:29:31 +00:00
adelikat 1a64af9bc5 Fixes to bkm for supporting 3 button controllers, this is needed since bkm is still used for the import process. Also, don't save 2 copies of the bk2 after importing a movie, one is sufficient 2014-07-24 23:22:26 +00:00
adelikat 36fe0473f5 TAStudio - keep markers sorted by frame 2014-07-23 01:52:12 +00:00
adelikat 7eb7071c1d Make warnings go away 2014-07-22 23:18:44 +00:00
zeromus 5f4ca3fe62 apply sevenzipsharp r84075 (17-jun-2013) which contained fixes including locks for the static library initialization that was striking us in the multi-threaded movie scanning code 2014-07-22 07:47:21 +00:00
adelikat 7d89765568 Better Global ROM folder logic 2014-07-21 23:41:41 +00:00
adelikat b5f6004674 Fix Issue 218, Global ROM folder now works 2014-07-21 23:22:22 +00:00
adelikat f7cfe4e393 Path Config - 1. remove Global Base from top and leave it in the Global tab, 2. Rename Global Tabs "base rom" to "ROM" 2014-07-21 23:18:18 +00:00