Commit Graph

412 Commits

Author SHA1 Message Date
feos 8f8cf53052 tastudio columns: restore call missing since commit 3ea3012aa7
seems to only be needed for importing bk2s, other scenarios setup columns on their own, differently
2017-01-07 19:48:04 +03:00
feos 480bc5540f tastudio: reload the tasmovie if it was loaded outside tastudio and then tastudio was opened
also go to current emulator frame in that case

todo: one isn't expected to change anything in the tasmovie while in regular mode, otherwise something might break. fceux opens taseditor if a read+write state is about to load in such conditions
2017-01-02 13:59:00 +03:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00
adelikat 5258f9385c Tastudio - use the Emulator property not Global.Emulator, fix another CoreExension method 2016-12-04 12:30:51 -06:00
adelikat 2f375388b5 Tastudio - refactor screenshot code to use a required dependency on VideoProvider instead of using Global.Emulator, also put it on the load event instead of the constructor 2016-12-04 09:20:22 -06:00
alyosha-tas 3be6c8917c TAStudio fix default window size
Prevents marker and branch bozes from having zero size.
2016-12-03 09:36:35 -05:00
feos f59ebfe126 tastudio: refactor restore logic again, fixes some more bugs
(_autoRestoreFrame completely replaced by LastPositionFrame)
2016-11-21 23:59:12 +03:00
feos ef8068daa4 Revert "tastudio: move LastPositionFrame to TasMovie, prepare for another revision"
This reverts commit eea49f1895.
2016-11-21 20:03:56 +03:00
feos eea49f1895 tastudio: move LastPositionFrame to TasMovie, prepare for another revision 2016-11-21 19:29:11 +03:00
feos a8dde12c1f tastudio:
- set Float type to analog control columns
- set their size taking into account their MaxDigits
- stop displaying neutral analog values

input OSD:
- obtain real neutral analog value the given core uses and hide it, instead of hiding hardcoded zero
2016-11-19 19:31:04 +03:00
feos 3ea3012aa7 tastudio:
- properly setup autoloaded and normally loaded project columns
- actually call the callback that updates scrollbars and other stuff
2016-11-19 00:50:40 +03:00
feos 2a9bd175d8 tastudio: kill zombie denoteStatesWithBGColor and co. in InputRoll, having them in Settings is enough 2016-11-17 20:25:06 +03:00
adelikat 30f573729c Use Count not Count() 2016-11-14 15:21:26 -06:00
feos 0b1245d769 tastudio: when loading another project, update column menus
todo: fix autoload
2016-11-14 22:39:58 +03:00
feos 52506433a2 tastudio: don't try to apply ClientSettings (columns) before SyncSettings (amount of players) 2016-11-14 20:13:08 +03:00
feos 175862a5f3 tastudio analog editing:
- mouse dragging during float edit mode updates the displayed value and fires restore on mouse up
- Enter key exits float edit mode after applying the dragged value, while Escape exits it after ignoring the dragged value (should Escape cancel all changes?)
- currently disabled switch to enter float edit mode by single click
2016-11-12 17:53:15 +03:00
feos 00d07b8602 tastudio: attempt to fix crash caused by seek progressbar 2016-10-29 16:58:09 +03:00
Kyle Howell 3d88f77ec6 Fixed TAStudio crash when deselecting "Show Player X". The horizontal scrollbar was not updated which caused an exception when scrolling to the right. 2016-09-25 16:55:34 -06:00
feos 05feca4e4e tastudio: GlobalWin.MainForm alias
almost 100 cases of usage is worth it

make "recent rom not found" window topmost
2016-08-29 19:38:36 +03:00
feos 0246c952eb tastudio: complete overhaul of seek logic, replicating taseditor
todo: fix lastpositionframe dying if editing the same row twice with no autorestore, probably improve cursor color and rename old seek related vars
2016-08-28 01:08:43 +03:00
feos a2b55291b3 tastudio:
- movie end doesn't switch to record mode anymore. fix #586
- recording mode checkbox
- fix rec mode dying during fast rewind
todo:
- readonly hotkey doesn't work until we click the checkbox
- movie status icon doesn't show up if tastudio is autoloaded
2016-08-06 22:28:25 +03:00
feos b0893bdee8 tastudio: stop seeking when movie stops 2016-08-04 18:53:01 +03:00
feos 170681c3ad tastudio: Recording mode
a bit inconsistent with how it switches to record right now
2016-08-03 22:29:27 +03:00
feos 79badbbe63 tastudio: smarter column width 2016-07-27 21:06:13 +03:00
feos 9353b5afb1 tastudio:
- more columns hidden by default (psx)
- optimize width for those whose names are longer than 1 char
2016-07-26 20:46:15 +03:00
feos 7748c2f3a8 tastudio:
- show "fake analog" buttons too (fixes #672)
- stop pausing when loading branches
mainform: moved some tools around in menu
2016-07-26 20:01:46 +03:00
feos b4a9123515 tastudio: fix editing while unpaused + left button held scenario.
now it replicates taseditor:
- editing input while unpaused, if autorestore is off, resumes emulation and ignores seek frame. if you keep holding the LMB, and follow cursor is on, it will keep scrolling, drawing and emulating
- editing input while unpaused, if autoresotre is on, fires autorestore and then just pauses on the seek frame

what's different from taseditor:
- with autorestore and follow cursor on, if you hold the button, and seek frame is below the view, it will keep scrolling down, drawing new input and emulating. taseditor does *not* follow cursor while seeking.

this all doesn't necessarily make sense, but we need people to figure out what is best for work.
2016-07-11 21:39:32 +03:00
feos f23767ae6a tastudio: properly set input while unpaused
replicates taseditor behavior: if autorestore is off, emulation resumes running, otherwise it pauses on it.
todo: fix this during left button held
2016-07-10 22:25:02 +03:00
feos 2d2efba150 tastudio: option to do autorestore not only on mouseup.
doesn't affect rerecord counter
2016-06-13 18:29:29 +03:00
feos af4b3ec752 tastudio: bind autorestore, turboseek and followcursor. 2016-06-13 15:43:28 +03:00
feos 346c4e56b3 tastudio autosave:
- switch to appropriate method for backups
- option to save backup per file save
- menu command to save backup
2016-06-12 16:41:27 +03:00
feos 294654943b tastudio: ignore seek frame if unpaused via hotkey or playback pause button
this replicates taseditor behavior
2016-06-11 17:38:53 +03:00
feos 559eacf95a InputpPompt: allow multiline info
bk2 export for tastudio: stop endlessly appending extensions
tasstudio autosave:
- fix interval init on load
- 0 interval disables autosave
- canceling SaveAs doesn't kill the timer
- ability to append "backup" to filename allows saving to a separate file
-- don't let tasproject switch to the backup file (bit hacky)
2016-06-10 16:05:12 +03:00
feos bc30e87921 tastudio: autosave feature.
supposedly safe saving indication (hourglass cursor and status bar report).
2016-04-24 13:48:49 +03:00
feos 28fe9bb888 tastudio: hide some more columns by default. 2016-04-23 21:42:02 +03:00
feos 7fa99c7d13 tastudio: project savegap (finally!)
ScrollSpeed defaults to taseditor's
2016-04-17 23:29:25 +03:00
feos dc18535b88 tastudio: use VisibleRows instead of SeekingCutoffInterval.
allow SelectedIndexChanged again, just not use it in tasview. can we comment out in designers like that?
2016-04-17 21:02:21 +03:00
feos c9b3dc184a tastudio: fix #515 again. 2016-04-17 12:17:18 +03:00
adelikat d0d5df44c9 Tastudio - create settings sooner, hopefully fixes null reference errors with the splitter controls 2016-02-05 21:57:40 -05:00
feos ec3c862f4a tastudio: account for loading files with "All Files" filter.
todo: input import.
2016-02-05 23:35:57 +03:00
feos 40b8a82034 tastudio:
- don't clear selection on Cut
- don't mindlessly unpause the emulator if autorestore is off and we're editing input via menu
2016-02-05 23:35:56 +03:00
adelikat 0013646db5 Rip out obsolete notion of a WatchList domain, change ram watch menu item to Default Domain, who's functionality is simply to decide the default domain used when adding a new watch, also add some Visual Studio designer shenanigans for a previous commit I made that broke it 2016-01-30 22:17:31 -05:00
adelikat 894a9c2318 Rework ToolHelpers from a static object to ToolFormBase that inherits form and have a lot of tools inherit it, in hopes of moving a lot of copy pasta into a base class, move a few functions that show up a lot there 2016-01-30 20:24:53 -05:00
feos d39aa6433e tastudio: implement SeekingCutoffInterval 2016-01-27 16:18:20 +03:00
feos 1c6a40dec9 tastudio: seek progress bar:
- stop dividing by zero!
- ignore if seeking closer than 2 frames ahead (todo: make cutoff configurable)
2016-01-27 15:44:42 +03:00
feos dc3a133d0b tastudio: fix upward drawing. 2015-12-26 13:17:22 +03:00
feos 2535207a40 tastudio: actually implement seeking progressbar. 2015-12-13 00:00:23 +03:00
feos 2a6a2a7a8a tastudio: properly report saving progress.
also attempt to report seeking progress.
report occurs, but progressbar doesn't show up...
2015-12-10 01:38:06 +03:00
feos ea1368c819 tastudio: display changes in a loaded file too. 2015-12-09 19:58:09 +03:00
feos 8a6ddfbf3f tastudio: actually use initial state from anchored movies.
don't seek to whatever frame such a movie was created from.
2015-12-08 23:38:00 +03:00
feos 72b650d606 tastudio: properly save/load column settings.
wrap MainForm savestate functions that tastudio can now control into IControlMainform.
2015-12-07 20:05:04 +03:00
zeromus 35066b69ef tastudio - fix behaviour of menu by special hacks involving ALT key 2015-12-05 11:32:56 -06:00
feos d8ec9e6878 tastudio: editable HoverInterval for BranchView (stored to TAStudioSettings).
when comparing, we want them to show up instantly.
2015-11-30 23:45:06 +03:00
feos 796a62f883 tastudio: moved branch and marker popups to their controls.
marker add called from MarkerControl doesn't check TasView selection anymore: current frame has higher priority, and if we don't want a marker on it, we use TasView's doubleclic or menu to mark selection.
sight MarkerControl cleanup.
2015-11-25 23:28:46 +03:00
feos 344cd94aa2 tastudio: MarkerControl buttons (and commands).
also moved marker context menu from TAStudio to MarkerControl.
2015-11-25 00:10:34 +03:00
feos 1f1382ceb7 tastudio: attach usertext to branches, make it editable from menu.
moved branch functions and menu items around.
2015-11-23 23:27:27 +03:00
feos 5715dc2a84 tastudio: add user text area to screenshot control.
padding height is autocalculated based on string and bitmap width.
todo: add branch user text and use it for the above.
2015-11-22 22:31:08 +03:00
feos 099e37ad76 tastudio: load session and rebuild columns on every file load.
it was only loaded on tastudio launch, so whenever it's not autoloading a recent project, loading one with different syncSettings would cause ! columns.
2015-11-22 17:17:01 +03: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 3f1a3907b5 tastudio: put branch states to a separate greenzone file.
default scroll speed to 3.
2015-10-24 12:47:34 +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 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 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
adelikat 028c505fdc Tastudio - clear marker and branch selections when starting a new project 2015-09-06 14:56:12 -04:00
adelikat 30f170312d Tastudio - add menu items for created Savestate-anchored and SaveRam-anchored movies instead of them only appearing in the context menu under narrow conditions 2015-09-05 19:25:27 -04:00
adelikat 4f58ec09fd Tastudio - starts movie from saveram - allow saveram-anchored movies since they are supported on the backend, but do not allow savestate-anchored mvoies 2015-09-05 19:06:13 -04:00
adelikat 6d4dea9a14 Don't attempt to remember tool window size/position if tool is minimized/maximized, this fixes issue #491 but also fixes the bug in every tool (unless there is a tool that does not implement IAutoToolFormConfig that I missed in this changeset) 2015-09-05 17:05:14 -04:00
adelikat c64e1ccdd9 Fix hiding of Reset and Power columns 2015-09-02 17:53:02 -04:00
feos 0949bcb1bb tastudio: hide Power and Reset columns by default. 2015-09-01 21:24:13 +03:00
feos a998d472cf tastudio: optional icons for states and markers.
Settings -> Icons.
2015-09-01 21:24:12 +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
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
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
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 fd8d4e4678 Tastudio - branches - cap the framebuffer display size to 320 width 2015-07-28 20:46:11 -04:00
adelikat 6bcbf82b7c Tastudio - ability to move markers by shift+click dragging them 2015-07-28 20:03:03 -04: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
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
Suuper 00f38094b2 TAStudio: -Gave default values to my recently added TAStudioSettings settings.
-Properly check Always Folor Cursor menu item.
2015-07-25 20:01:02 -05:00
adelikat c969c57ee9 Tastudio - remember split container settings, and also restore defaults 2015-07-25 20:21:31 -04:00
adelikat 1a5814b7a8 Tastudio branches - tweaks to hover effect 2015-07-25 12:01:26 -04:00
adelikat 59c7349900 Tastudio branches - screenshot hover - fixes and cleanups 2015-07-25 11:08:23 -04:00
adelikat b67fda05f5 Tastudio - Branches - show frame buffer when hovering on the branch #, still a lot of tweaking to do 2015-07-25 08:59:39 -04:00
Suuper 70538adfac -Follow Cursor settings are now saved. 2015-07-25 03:33:23 -05:00
Suuper 4b669662b4 InputPromt: Signed and Unsigned behavior was backwards.
TAStudio: -Handle wheel scroll speed when changing orientation.
-Save wheel scroll speed setting.
-DrawInput setting was not being properly loaded.
2015-07-25 03:20:16 -05:00
Suuper 072aeb93d5 TAStudio: added an option to have the mouse wheel scroll TasView faster 2015-07-24 15:13:39 -05:00
adelikat 125a16ec67 Tastudio - refresh branches listview when loading a new/existing tasproj 2015-07-19 20:49:23 -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 bf3587bd5b Tastudio - wire an instance of tastudio into Bookmark control 2015-07-18 16:13:38 -04:00
Suuper bc8717c9f9 Fixed right-click input painting in TAStudio. Also removed mouseWheelTimer as it is no longer needed. 2015-07-16 13:57:51 -05:00
Suuper b9865db397 Fix: TAStudio was still seeking after edits with "Auto restore" disabled and while unpaused.
Fix: The bug where editing while seeking changed PauseOnFrame came back again.
2015-07-15 15:01:08 -05: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 f1b23b9ed3 Bugfix: Editing while seeking could set the seek frame to an earlier frame. 2015-07-14 15:14:00 -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
Suuper 228a24efb0 Fixed my previous commit/push; feos' change is back.
Improved "StartAtNearestFrameAndEmulate".
2015-07-13 14:02:21 -05:00
Suuper d84da62432 Tidied up TAStudio's "GoToFrame" and fixed a runaway seek in "StartAtNearestFrameAndEmulate" 2015-07-13 13:49:12 -05:00
feos feb14ad948 tastudio: don't jump to playback when advancing/rewinding
offscreen marker goto is the only SetVisibleIndex() call that should show playback
tastudio: cursor is not a marker anymore
2015-07-13 20:37:12 +03:00