Commit Graph

178 Commits

Author SHA1 Message Date
feos 6d4c5ef17f preparations for state hotkeys functioning with tastudio branches.
typos.
2015-12-05 14:48:04 +03:00
feos 2ce108e310 lua: ability to SetBranchText.
doesn't make much sense to add text to existing branches from lua, but highly useful to set some text to a new branch.
and we also have a default branch text variable now.
2015-11-26 00:12:25 +03:00
zeromus 22192e700b attempt to make it possible to store movies on disk instead of in memory 2015-11-15 02:27:48 -06:00
feos 19add0ec93 tastudio: save/load TasSession variables in .tasproj.
right now only includes current frame and branch. current scroll is not needed as we GoToFrame anyway, current selection seems pointless.
2015-10-25 17:53:25 +03:00
feos d92d39f515 tastudio: don't truncate LagLog if the branch's one is shorter, but input is the same. 2015-10-21 19:00:25 +03:00
feos 31e476a3cd tastudio: load projects without branch state info.
fix some other crashes, kill selection when loading a file.
2015-10-05 19:08:21 +03:00
feos 2a8578c74f tastudio: keep the same identifier for updated branch.
ban context menu when there's no selection.
attempts to fix mysterious crashes in TasStateManager.
2015-10-04 18:00:04 +03:00
adelikat 9f67d8e59b TasBranchCollection - encapsulate unique identifier logic into TasBranchCollection 2015-10-04 10:43:36 -04:00
feos 4625bdce0f tastudio: a bunch of fixes.
- update branches per RefreshDialog()
- clear selection per right click if it's beyond movie length
- fix crash when load branch is called with null selection (can't stably reproduce, but it happens)
- assign guid to branches from the right place. this required setting some statics, don't know if it was right, but it works.
2015-10-04 13:39:14 +03:00
feos f3ad71af24 tastudio: duplicate hash check before adding. 2015-09-29 19:51:41 +03:00
feos 1175a86123 tastudio: use DivergentPoint() as a backup in case branches lose their states. 2015-09-23 19:43:21 +03:00
feos 4f07c908a0 tastudio: more branch work.
- change skipRemoval default to true, set to false only on state capturing
- put guid hashes to BranchStates
- setup a couple of functions using guid
2015-09-16 19:40:50 +03:00
feos ce3c9364df tastudio: ban state removal per branch load.
todo: figure out way to skip removal internally in StateToRemove().
2015-09-15 21:47:59 +03:00
feos 4fd55da52a tastudio: various fixes.
- saving and loading tasproj markers
- flagging changes after branch operations
- clearing InputRoll selection
2015-09-13 11:44:15 +03:00
Suuper f76c49ce1b -Fix: Loading a TasProj caued it to be saved immediately after. (Some old TasProj files are now broken.)
(Saving process for movies still needs some cleaning.)
-Fixed setting input log by reference when loading a branch
-Fix: TasStateManager wouldn't decrease Used when deleting a RAM state from a branch.
-Removed a useless call to Movie.Save()
-Fixed a bug with creating a savestate anchored tasproj.
2015-08-17 09:14:08 -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
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
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 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
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
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 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 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
SuuperW 9b8d2f70ab Various fixes 2015-03-22 16:55:34 +00:00
SuuperW 37590e7ea4 TasStateManager can now save states to disk. 2015-03-15 06:26:57 +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 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
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 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 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 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
christoph.boehmwalder c3f51f8b39 Made saving a little more convenient by putting it in its own thread. Might be very buggy still.
Also temporarily disabled reading TAStudio settings in PlaybackBox because of a NullReferenceException
2015-01-03 02:29:55 +00:00
adelikat 6d0a764a72 Tastudio - quick fix for crashing on startup, a better solution is needed eventually but this will work fine, it just isn't conceptually how we want to do things anymore 2014-12-21 23:53:40 +00:00
adelikat f5cc38c9cd AsInputPollable() 2014-12-05 00:59:00 +00:00
adelikat e2033c9d2e AsStatable() and also update statusbar saveslots on CloseRom() 2014-12-05 00:52:16 +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 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 ea6966a911 Tastudio - fix loading of projects 2014-11-19 15:54:00 +00:00
adelikat 5349affbc4 Tastudio - support "out of order savestating" using saveslot states. Experiemental, could have bugs particularly off by one issues 2014-11-15 21:49:58 +00:00
adelikat 410078081c Tastudio - fix lag lag to reflect the next frame 2014-11-15 14:55:44 +00:00
adelikat 80dae0d026 Tastudio - refactor lag log to be a list of frame,bool combinations instead of just a list of bools, note: this changeset reverts the list back to an "off by 1" where it corresponds to the current frame not the next frame, that will be solved in a later commit 2014-11-15 14:31:18 +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
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 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 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 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 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 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 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 fda36d349d a fix to the fix of last commit 2014-10-02 23:50:50 +00:00
adelikat 4addd7fcbc Tastudio - implement a Clear Greenzone menu item 2014-10-02 22:58:36 +00:00
adelikat e00801d6f3 tasmovie - only save when stopping if there are changes 2014-09-27 23:56:23 +00:00
adelikat e6d6dc7e51 Tastudio - more go to frame stuff 2014-08-30 00:40:53 +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
goyuken aab2a17947 tasstatemanagerstuff 2014-08-24 21:29:51 +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
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 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
adelikat 816fac55fa Tastudio - implement the Select Between Markers menu item 2014-07-17 18:38:30 +00:00
adelikat 103de3d34f TAStudio - when creating a power-on movie make a savestate on frame 0, if starting from savestate, use the savestate from the movie as frame 0 in the greenzone 2014-07-17 18:21:12 +00:00
adelikat b63a34249f TAStudio - add the notion of the "pending" frame, the frame about to be emulated, for which you can click to add input that will be captured into the movie the next frame. Logic is still wonky when switching from play to record at the end of a movie, and frame 0 is still messed up but that's a different problem 2014-07-16 23:04:56 +00:00
adelikat 8c064875c2 TAStudio - ability to add markers, very crude implementation for now 2014-07-15 23:43:17 +00:00
adelikat 0b35490b16 Profile Config - don't show custom profile in non-developer builds, put saving logic in the ok button click event instead of drop down change event. Remove a warning in TasMovie.cs 2014-07-15 00:05:18 +00:00
adelikat 02a5337cd6 Movies - rework some things so that MovieSession is in charge of sending a movie into finished mode, as opposed to GetInutState() having the side effect of MovieFInished 2014-07-13 22:36:37 +00:00
adelikat f79a674219 Remove GetInput() from IMovie 2014-07-13 22:17:31 +00:00
adelikat 57c86f7491 TAStudio - capture lag log during playback 2014-07-13 20:51:19 +00:00
adelikat eae94f9184 TAStudio - stuff 2014-07-13 15:26:50 +00:00
adelikat 43a687060c oops 2014-07-13 14:26:40 +00:00
adelikat 6b1bfc2d4a TAStudio - stuff 2014-07-13 14:13:20 +00:00
adelikat 40912a3c2b TAStuduio - implement Clear menu item and hotkey, properly invalidate greenzone on input painting and other already implemented editing events 2014-07-11 19:58:24 +00:00
adelikat 2072eac45f Some Changes flag management in movie objects 2014-07-11 18:06:18 +00:00
adelikat f8ee569bbb TAStudio - float painting 2014-07-11 16:26:19 +00:00