Commit Graph

71 Commits

Author SHA1 Message Date
feos 62e25eadb0 tastudio: attempts to fix branch states.
relying on dynamic serial number was plain wrong, but TotalSeconds might be obsoleted by new branch field that doesn't change and is unique for each branch, like a counter of created branches.
todo: load branch states from tasproj, or at least not drop the states above divergent point when loading.
2015-09-13 23:36:47 +03:00
adelikat b692acf2f9 TastStateManager - more exception prevention 2015-09-06 14:18:31 -04:00
adelikat 0a4ad42eaa TasStateManager - more work arounds to deal with the scenario of removing branches, I doubt this is the correct approach, but I don't know what else to do, someone should revisit this 2015-09-06 13:39:14 -04:00
adelikat f06e2d86da TasStateManager - fix crashes when deleting and updating branches, these are all probably hacks that need to be revisisted 2015-09-06 13:23:40 -04:00
feos 3fccda33fd tastudio: hail copypaste-driven development! 2015-09-06 18:02:50 +03:00
adelikat 0da8f3cac4 TasStateManager - don't modify while iterating 2015-09-06 10:56:31 -04:00
zeromus a7bf968554 fix TasStateManager clearing bug 2015-08-17 16:29:45 -05:00
Suuper 1f4b0d5d77 -More work on TasStateManager
-Fix: SaveStateSettingsForm was setting the disk capacity to 1 mb on load if it had been set to 0.
2015-08-17 11:32:46 -05: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 b054032694 TasStateManager: Improve performance of StateToRemove
A lot of work on tracking states, still lots to do.
2015-08-16 11:28:03 -05:00
Suuper d6e3553449 TAStudio: Fixed displayed maximum state capacity.
Clear states to stay within the new limit when settings are changed.
2015-08-15 10:07:56 -05:00
zeromus 432adc7874 ..huh. fix building, and also change an int to a long where it was conceivably inadequate 2015-08-13 21:54:38 -05:00
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
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
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 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
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
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
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 19423092cd Tastudio/lua - implement tastudio.ongreenzoneinvalidated 2015-07-02 14:51:42 -04: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 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 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
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 eed16fafc8 TasStateManager - don't check for null emulator nor IStatable, fail catastrophically if a core is not IStatable, they shouldn't have gotten this far if it wasn't 2014-11-30 17:54:21 +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 2041b15260 Tasproj loading - don't attempt to read from empty files if they exist but are empty 2014-11-20 00:14:33 +00:00
adelikat b4f7e13d1b Tastudio - in non-developer builds, set the minimum savestate frequency from 2 to 1 2014-11-19 16:22:03 +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
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 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 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 ce58f0e803 Tastudio/TasMovie - simplify some more code 2014-10-14 13:31:14 +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