Commit Graph

566 Commits

Author SHA1 Message Date
zeromus 5bf21e391c TasStateManager uses a new data structure to write all states to one auto-deleting file per TasStateManager instance. TasStateManager is now IDisposable; this needs to be followed rigorously (I didn't do that). 2015-08-13 21:51:51 -05:00
Suuper 078bd102e8 TasStateManager should work with branch states on disk now.
Also now tracks the RAM/disk space used by branch states.
Added bookmarks to branches.
2015-08-13 13:03:22 -05:00
Suuper 4ce346661b Branch states on RAM should work. (Disk states will break things.) 2015-08-13 09:42:04 -05:00
feos e687c4ab1a tastudio: don't count rerecords while drawing 2015-08-06 20:03:30 +03:00
zeromus 4eb89c823d fix slow big O in TasStateManager, causing performance catastrophe when state scavenging begins. But I'm not 100% sure I did it right. 2015-08-05 19:42:01 -05:00
adelikat ba21484ddd add IRegionable as an emulator service to indicate NTSC vs PAL, etc. Refactor cores that conveyed this information to use this service, fixed cheaty reflection to grab this info to use the service instead, marked some cores as region not applicable where it made sense to me (I'm sure I'm wrong in some cases) 2015-08-05 20:12:09 -04:00
zeromus b981e00889 fully support read-only movie opening. I hope this fixes #453 2015-08-05 17:00:39 -05:00
zeromus 3ec314d20b TasStateManager: don't touch disk unless opened for 'write access' 2015-08-05 16:36:44 -05:00
adelikat a686465911 Tastudio - Branches - show timestamp not movie length, and save/load the timestamp to the .tasproj 2015-08-04 21:41:31 -04:00
adelikat 07fddd31d7 Tastudio - tweak rerecord counting to what was probably intended, only increment rerecord count on Invalidate() if Invalidate() actually invalidated any states 2015-08-04 20:24:49 -04:00
zeromus 5173541730 fix #460 2015-08-04 18:44:21 -05:00
adelikat 0205762409 lua - remove movie.insertframe() as it is no longer needed and was not coded in an acceptable way, if such a feature is needed in the future, it needs to be thought through better 2015-08-01 22:21:44 -04:00
adelikat 383a462207 lua - implement movie.InsertFrame(int index, string logEntry), for now, will only work on .bk2 movies (.bkm and .tasproj will crash) 2015-08-01 15:46:43 -04:00
feos 90cdbc1d1f tastudio: fix crash when comparing branches with identical input and different length.
it was setting loop count basing on a longer branch (if it's current), the shorter one going OOB.
2015-07-31 00:04:01 +03:00
Suuper 0d87c8330c TAStudio: -Put lag log and change log back into branches.
-Bugfix: clearing states in a savestate-anchored movie threw an exception
-Clear disk states when clearing states
2015-07-30 15:14:34 -05:00
adelikat a219e7150e Tastudio - add an option to create a saveram anchored movie from a selected frame, just like the savestate anchored movie feature, it uses the current movie to create a verification log 2015-07-27 19:25:48 -04:00
Suuper 2d64e0d115 TAStudio: -Scroll by painting doesn't require FollowCursor anymore
-Undo History form display bug fixes.
-Removed menu item to combine consecutive recordings/draws
2015-07-26 14:54:31 -05:00
adelikat 26f824625c TAStuido - support saving and loading of saveram in saveram-anchored movies 2015-07-26 15:48:12 -04:00
adelikat 490adc905e Support recording movies that start from SaveRam, note: as of this changeset tastudio does not support this concept and may interact in weird ways with saveram-anchored movies 2015-07-26 15:41:22 -04:00
Suuper f72eadb76e TAStudio: -Fix: Undo/Redo didn't always jump back to valid frame.
-Performance boosts with multiple selected rows
2015-07-25 22:49:52 -05:00
adelikat a2edd3a018 Tastudio - Branches - fix screenshot hover, and also set the screenshot hover size to a "1x" resolution for the given core 2015-07-25 21:31:06 -04:00
adelikat e73c7813bf Tastudio branches - make a copy of a branches log, instead of referencing it! 2015-07-25 18:13:56 -04:00
adelikat 182ce33a3c Tastudio branches - invalidate lag log on branch load for now, even though the information is saved in branches and is valid (todo: a better design or quit saving this info). Also don't load the changelog from branches, again, don't save this info if this isn't desired. 2015-07-25 18:02:58 -04:00
adelikat df41eeffc3 Tastudio - branches - invalidate on branch load at the point the branch diverges from the current greenzone, not at frame 0 2015-07-25 16:24:38 -04:00
adelikat 819a13a6f0 Tastudio branches - save the OSD frame buffer to disk as the size that it is 2015-07-25 12:04:39 -04:00
Suuper 3c3cdc4590 Fixed a display bug cauased by player highlighting
(also renamed a variable and changed comment lines)
2015-07-23 13:30:25 -05:00
Suuper f9cd2f4075 -TAStudio: Players' 2, 4, etc input columns have darkened bg colors.
-LagLog is now moved over to new savestate-anchored movies
2015-07-23 12:55:22 -05:00
nattthebear e43e89e5cc tasproj branch thumbnail: change load to simply load whatever size is present in the zip file. 2015-07-22 18:02:38 -04:00
Suuper 01290d2e59 -Allow creating savestate-anchored movie from savestate-anchored movie
-Fix marker placement in savestate-anchored movies
2015-07-22 15:08:50 -05:00
Suuper 52544efec9 -Branches now have their own undo history 2015-07-22 14:31:47 -05:00
Suuper 6f105f6ee8 -Better fix of lag log clearing.
-Current branch is now highlighted in BranchView
2015-07-22 14:14:33 -05:00
Suuper 635ad9c01d -Fixed LagLog.Clone (was putting LagLog in the new WasLag)
-Fixed lag log being cleared on re-loading branch
2015-07-22 13:17:24 -05:00
nattthebear 862f82b1b2 Screenshots on tasproj branches 2015-07-21 19:41:57 -04:00
nattthebear 14db42c28a Stuff. Sorry, I'm having a bad day. 2015-07-19 17:09:05 -04:00
nattthebear e280e4f55c TasMovie Branch internals 2015-07-19 15:57:40 -04:00
adelikat 4188f2105e Tastudio - branches - ability to load a branch, currently the frame buffer does not have OSD info 2015-07-19 10:37:53 -04:00
adelikat 1af28239dc Tastudio - lots of progress on branches 2015-07-18 22:20:38 -04:00
adelikat ebe23ada64 Tastudio - save the lag log into regular mainform produced savestates 2015-07-18 09:48:14 -04:00
Suuper 07a8a4c1d3 Removed SuppressGreenzoning because TAStudio should not allow the user to be on a frame that isn't "greenzoned". It will now jump back to the greenzoned area immediately when an edit invalidates part of the greenzone, and pause there until mouse up.
This fixes a bug which caused TAStudio to generate and keep invalid savestates.
2015-07-15 14:26:56 -05:00
Suuper e3a8c33be5 -Fixed typo in variable name (SupressGeenzonging)
-Removed state capture from TasMovie.RecordFrame
-Fixed: States weren't captured while left mouse button was still down from clicking a frame.
-TAStudio now automatically captures after loading a new movie.
2015-07-13 22:06:21 -05:00
feos 451fd779bc tastudio: apply autohold to appended frames.
needs current frame to be emulated with autohold already to pick up the pattern.
2015-07-13 22:44:17 +03:00
adelikat 7ecf96772c tastudio/lua - implement tastudio.setlag() 2015-07-09 13:16:55 -04:00
feos 53c415a843 tastudio: keep track of rerecords, increment them in InvalidateAfter()
markers: fix input roll context menu command removing Markers
gpgx: updated dll
2015-07-09 00:48:04 +03:00
adelikat 19423092cd Tastudio/lua - implement tastudio.ongreenzoneinvalidated 2015-07-02 14:51:42 -04:00
adelikat 13044547e4 Tastudio - fix issue #446 - don't greenzone between the mouse down and mouse up events when editing input 2015-06-28 10:43:45 -04:00
adelikat 7c35d7b80d AppleII mnemonics - make L and R uppercase to be consistent with other alphanumeric buttons. I don't think this change breaks anything, other than cosmetics when looking at pre-existing Apple II movies 2015-06-21 16:20:39 +00:00
adelikat c23e69a810 When loading GBA movies, load the correct core too 2015-06-21 13:32:53 +00:00
adelikat 55b4991d8e Fix bug where movie was failing to go into finished mode and would crash instead, fixes issue #429 2015-06-14 13:29:19 +00:00
adelikat 7a090edcb0 hack to fix a bkm to bk2 bug 2015-06-08 22:49:30 +00:00
adelikat 0cb912cfb2 Apple II mnemonics 2015-05-18 02:01:57 +00:00
adelikat 0d59fd622e Apple II - mnemonics 2015-04-19 14:18:35 +00:00
SuuperW 52659ac9a9 -Hacky removal of a useless save when loading a TasProj
-Made ControlsOrdered much faster
2015-03-23 21:16:13 +00:00
SuuperW 9d7a522576 Fix, fix, fix... 2015-03-23 20:15:35 +00:00
SuuperW 9b8d2f70ab Various fixes 2015-03-22 16:55:34 +00:00
SuuperW 7e29f04f01 -Macros work without a TasMovie
-Bugfix: Display showed movie still playing after last frame
-Bugfix: Autorestore frame was lost when making rapid changes
-Bugfix: Canceling conversion of movie to TasProj stopped movie.
2015-03-20 16:53:42 +00:00
SuuperW 9328dd2f3a -TAStudio automatically set Read-Only
-TAStudio no longer refreshes every frame if playback cursor isn't visible; slight performance boost
-Editing while in playback won't mess up the LagLog (states still do)
-Fixes to rotated display and HBar scrolling
2015-03-19 19:55:38 +00:00
SuuperW 91dc780103 Fixes/changed to state history saving.
State History Integrity Check now stops at the last state.
2015-03-17 01:02:38 +00:00
SuuperW 6783978f49 Bugfix: Extending movie by painting invalidated last frame
Moved GreenzoneCurrentFrame call to a new method called after frame advance.
Feature: Scroll to marker
Page up/down now scrolls by one page
Scrolling via dragging bar and via wheel now both have the same max value.
2015-03-16 20:42:14 +00:00
SuuperW a3eadc8e5f Various bug fixes, most to TasStateManager. 2015-03-16 16:36:00 +00:00
SuuperW 37590e7ea4 TasStateManager can now save states to disk. 2015-03-15 06:26:57 +00:00
SuuperW c661591c5c Smarter state management.
Don't focus on TasView if TAStudio doesn't have focus.
Bugfix: Scrolling with wheel didn't update pointed cell
Setting: Scroll to top/bottom/center
Follow cursor hotkey
2015-03-14 16:38:07 +00:00
SuuperW 1a0476892f Bugfix: TasProjects without states loaded without a power on state.
Bugfix: There were several ways to edit movie in TAStudio without rewinding to edited frame.
Smarter state management.
2015-03-12 18:31:28 +00:00
SuuperW c283f2d55a Macro tool button select works
-Recent macros list now saves
-Macros can now be saved/loaded from TAStudio.
2015-03-11 16:14:02 +00:00
SuuperW 6013b9ed2b Implemented feature: Auto-adjust Input according to Lag;
Added option: Hide WasLag Frames
-Changed implementation of TasLagLog
-Removed single-line Marker functions from TAStudio.
2015-03-10 17:11:29 +00:00
SuuperW 9891e73313 Added a couple Refreshes to TAStudio; Lag History is no longer completely cleared on making an edit. 2015-03-10 06:14:14 +00:00
SuuperW e2f79254be Changed TAStudio to not reference the no longer used StickyXORAdapter.
Chagned GetFloatValue to GetFloatState (to match SetFloatState)
2015-03-10 04:16:42 +00:00
SuuperW 7360badb4a Added AutoFire support in TAStudio, fixed/improved patterns.
-A couple minor fixes
2015-03-08 04:42:04 +00:00
adelikat 159f1d9da2 don't crash in Bk2MnemonicConstants on a "P" key from a keyboard 2015-03-08 02:50:46 +00:00
SuuperW 189ecfeb2e TAStudio:
-Undo History UI, some history bugfixes
-Painting input past the movie no longer moves markers
2015-03-04 19:03:00 +00:00
SuuperW 1e0ce3b7c1 -Feature: Changing input past the movie now extends the movie.
-Implemented max undo levels feature.
-Started making TAStudio UI for undo history.
2015-03-03 21:10:48 +00:00
SuuperW e4c4910b37 TAStudio:
-Several buggixes
-Feature: Right-click dragging frames to move/copy/clone. (Combine with Shift and/or Ctrl.)
2015-03-03 18:22:54 +00:00
christoph.boehmwalder 1d7a8e9b73 Fix a minor indexing bug 2015-03-03 17:01:54 +00:00
SuuperW e40b10a0b6 -marker undo code moved to proper place
-undo history fixes
-feature: binding markers to input
-bugfix: TasView wasn't always refreshing when inserting/deleting frames
2015-03-03 08:32:39 +00:00
SuuperW 25e54f4390 -More StateHistory names
-Smarter state history management
TAStudio: A few bugfixes and performance boosts
2015-03-03 06:56:45 +00:00
SuuperW 2c876858f2 -Bugfix: TAStudio couldn't re-save a project.
-Bugfix: tasproj files without StateHistory couldn't load.
-Gave a bunch of StateHistory stuff proper names.
2015-03-02 23:43:52 +00:00
SuuperW bff3d64a4a -Various fixes, mostly to Undo/Redo.
-Changed Program.cs to not use a couple try statements when debugger is attached.
-Implemented the Undo/Redo menu item buttons.
-Ctrl-deselecting frames in TasView now supports dragging.
2015-03-01 19:29:33 +00:00
SuuperW 6639bbd127 -Reverted a change to TasMovieMarker, made Undo/Redo moving markers re-sort the markers list.
-Added file that was supposed to be in previous commit
2015-03-01 15:41:54 +00:00
SuuperW cf081ce1fc TAStudio:
-Moved Toggle/SetStates from TasMovie.cs to TasMovie.Editing.cs
-bugfix: Yet another bug in setting LastVisibleFrame
-Removed unused declaration
-Fixed MarkerControl to not mess up display when a deleted marker is still selected.
-feature: Basic undo/redo history functions seem to work. (Ctrl+Z/Y in TasView)
2015-03-01 05:47:32 +00:00
adelikat dd28c386de Fixes to how firmware is added and loaded from movies 2015-02-26 21:58:44 +00:00
adelikat 240b89082b Tastudio - fix capturing during the movie playback frame loop, used some duct tape for now, need a better solution 2015-02-24 21:56:01 +00:00
adelikat 6a02656417 Tastudio - track lag log history (1 level deep) and color "invalidated greenzone" using this information (a lighter shade of normal greezone colors) 2015-02-24 21:23:16 +00:00
adelikat 817b9d83aa tabs to spaces, whitespace commits are the best 2015-02-24 20:15:43 +00:00
adelikat 634acd8fe1 TAStudio - Remove some code that captures lag and savestate info of the current frame when requesting input, because that's a bogus notion, such methods shoudln't have side effects. I was going to hack it for the scenarios where it needs to happen, but I couldn't find any downside to just deleting the code, if there's regressions traced back to this commit, let me know! 2015-02-24 03:06:15 +00:00
adelikat aabd3f4526 create IMovieSession with the necessary API, instead of using an instance of MovieSession, the API though is completetly horrible, we need to address this 2015-02-22 23:23:36 +00:00
adelikat fd1621a536 pass in an Emulator instance to QueueNewMovie() 2015-02-22 19:57:24 +00:00
adelikat 1d3e0471d7 Remove references to Global.MovieSession in MovieSession itself 2015-02-22 19:47:14 +00:00
adelikat 5626473fbf When adding firmware info to movies, don't attempt to add duplicate keys 2015-02-08 20:28:57 +00:00
adelikat e020574b8d Store served firmware information in movie headers 2015-02-06 00:16:53 +00:00
adelikat 6fb2599320 Disable new movie import system, since I won't be attempting that seriously any time soon 2015-02-05 22:34:41 +00:00
adelikat 124ee7b236 start a movie import refactor, and start implementing a new fm2 importer as a proof of concept, does not do anything useful yet (such as SyncSettings and input) 2015-02-05 02:19:46 +00:00
adelikat 60ed815b68 add some plumbing for a PJM importer 2015-02-03 00:24:38 +00:00
adelikat 1202305a47 move MovieImport.cs into an import folder in preparation to break it up 2015-02-03 00:15:36 +00:00
adelikat 1235246d19 Multitrack recording - support analog input 2015-01-25 19:21:50 +00:00
adelikat ec9bc9462b fix slowdown in movie finished mode 2015-01-16 17:56:56 +00:00
adelikat 21f5209726 oops, fix movie recording that was busted by revision 8761 2015-01-12 22:48:57 +00:00
adelikat c8c563153c Bk2 input display generation - don't generate the mnemonic string twice, one time per function call will do 2015-01-11 15:50:01 +00:00
adelikat d560eb80b4 BK2 mnemonics - support up to 8 players by default (without the need for a platform override) 2015-01-11 15:44:12 +00:00
adelikat 5e73e82b29 Fix the "pause" movie end option 2015-01-10 15:49:31 +00:00
adelikat 57023ffcb7 Movie playback - fix issue 358, duplicate input after a movie ends, note: this commit could be a breaking change for other movie related things (such as alternate movie end types other than the default of "finished") 2015-01-10 15:12:58 +00:00
adelikat fdc290cc14 Roll back last commit, nevermind. 2015-01-06 02:29:30 +00:00