Commit Graph

769 Commits

Author SHA1 Message Date
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 3b117752cf tastudio: refine autorestore again 2016-11-27 00:28:52 +03:00
feos beb204bb4c tastudio: when new seeking starts, kill the old one 2016-11-26 20:02:54 +03:00
feos 593433106b tastudio: attempt to fix autorestore during analog editing 2016-11-26 19:49:26 +03:00
feos 2f0ccb99f1 tastudio: don't jump to greenzone end when entering analog edit mode 2016-11-26 16:35:14 +03: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 0e9e4cc034 tastudio: fix < button when seeking is paused 2016-11-21 21:19:53 +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 95dc2fd6b3 tastudio: move arrow keys logic to hotkeys
disallow sending Minus to MainForm
2016-11-20 23:26:13 +03:00
feos acbdfbcec9 tastudio: make analog editing mode expandable along with selection
- apply the changes made using keys to all the analog edited cells
- clamp displayed value if needed the same the resulting value is clamped
2016-11-20 17:16:29 +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
feos edf21b8bfe fix tastudio crashes when:
- setting 0 space for disk states
- righclicking on selection if a bunch of selected frames contains the last frame
- cutting the last frame
2016-11-17 20:05:41 +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 578b688d51 tastudio analog editing: Escape key cancels all changes
also prevent marker set from entering analog mode and releasing the LMB over the frame column (might happen after drag editing)
2016-11-13 16:42:24 +03:00
feos dbc35224e6 tastudio analog editing:
- autorestore after every drag edited change
- increase the mouse move step to 4 from 3
2016-11-13 16:19:46 +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 e2d5a1d390 tastudio analog editing: typing past max digits overwrites existing value
this required a new method in FloatRange class
2016-11-12 15:30:44 +03:00
feos 60950f1148 tastudio paste: clipboard input would give an extra empty line after splicing for whatever reason. Iterate thorough one less line. 2016-11-10 00:29:14 +03:00
feos 00d07b8602 tastudio: attempt to fix crash caused by seek progressbar 2016-10-29 16:58:09 +03:00
feos 9714aa5cc9 tastudio:
- preserve branch text per update (unless default text has changed)
- remove redundant code from paste functions, rely on global clipboard fully with cut/copy too
2016-10-10 19:00:59 +03:00
feos 0a554a984f tastudio: fix infinite pasting loop 2016-10-09 16:21:01 +03:00
feos f52d8a526b tastudio: global clipboard has preference over internal 2016-10-09 15:51:47 +03:00
feos 5ed5613826 tastudio: paste from OS clipboard if _tasClipboard is empty 2016-10-01 20:12:50 +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 ef445c90c7 tastudio: fix a couple of crashes 2016-09-09 19:15:00 +03:00
feos e5f2f53bde tastudio: make sure we refresh when seeking is done 2016-09-09 18:48:23 +03:00
feos 634f11a202 tastudio: fix cursor dragging during seeking (by disabling it)
taseditor fashion
2016-09-09 18:46:05 +03:00
feos 7d1084bf98 tastudio: change internals of editing input during scrolling.
for now it only makes a single edit per click, since we only recalculate OnMouseDown if scrolling. this is required to get rid of scrolling recursion caused by various actions.

also ClearLeftMouseStates before saving dialog pops up
2016-09-08 22:22:33 +03:00
feos ba895e3bad tastudio:
- fix recursion in cell updates caused by clicking cursor column (fixes scrolling)
- display invalidated color consistently

n64: fix trace callback prototype
2016-09-04 12:03:12 +03: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 2b0dc82d16 tastudio: finally make < > buttons operate identically to advance/rewind hotkeys 2016-08-28 18:42:59 +03:00
feos 670501163b tastudio:
- rewind hotkey works like wheelup+RMB
- < > buttons fire instantly but can't be held yet
- prettify cursor colors
2016-08-28 17:13:14 +03:00
feos 4f24682289 taseditor: fix LastPositionFrame resets 2016-08-28 15:34:18 +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 54bd6b90fe tastudio: < and > buttons behave as mouse wheel when seeking 2016-08-22 19:39:05 +03:00
zeromus a7d2b8d7f7 * add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to.  Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
feos ffc1e2f41a tastudio: fix readonly hotkey on launch 2016-08-07 11:02:52 +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 f94b352765 tastudio:
- fix escape handling
- frame advance doesn't unpause emu when seek frame is reached
2016-08-04 19:42:42 +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 2894bb908d tastudio: stop copying nothing on Cut command. 2016-08-01 20:41:33 +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 7c868e5996 tastudio: show user text instead of timestamp in branchview
allows using as instantly visible branch names
fix #646
2016-07-09 15:22:25 +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 1a11f34c13 tastudio: bind insert/delete/clone/clear. 2016-06-13 16:40:13 +03:00
feos af4b3ec752 tastudio: bind autorestore, turboseek and followcursor. 2016-06-13 15:43:28 +03:00
feos db32c201d4 tastudio: escape cancels seeking 2016-06-13 14:14:10 +03:00
feos bade8f9217 tastudio: properly handle global rewind function (step'n'run)
not attaching it to playback buttons, because they're obsolete and because they kinda simulate holding anyway.
2016-06-13 13:17:21 +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 3e02e271fc tastudio: promote some links
bizbox: fix contributors link
2016-06-11 19:40:25 +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 32be07ce03 tastudio: don't record marker history edits to history
this generates a warning regarding "new is not required" for the functions I edited, dunno what to do with it
2016-06-11 12:48:11 +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 53c7f4e5be tastudio: ignore inputroll hotkeys and numeric branch hotkeys during float editing mode. 2016-05-07 15:05:07 +03:00
feos 408d0ae4d0 tastudio: attempt to make StateGap smarter.
it should rely on frames, not on state indexes. and we can only have states on frame numbers that are powers of 2.
doesn't work right on saving multiple times yet. need to cooperate with ExcludeStates() somehow.
2016-04-24 23:17:17 +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
zeromus 1a1a688b96 remove NeedsToPaint; client now repaints ~100fps while paused all the time. as it already did when input display was enabled. fixes #615.. probably 2016-04-20 12:17:41 -05: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 d7217df311 tastudio: stop using threaded project saver to ban all dialog manipulation.
should fix #596 and probably #580.
todo: option to only save every nth frame.
2016-04-17 19:37:01 +03:00
feos f0c18077d2 cutting too 2016-04-17 14:11:41 +03:00
feos f5746a7b8f tastudio: stop updating splicer after every new cell is appended.
quick fix to #597.
fix crash when pasting input beyond movie length. todo: make input log append like PasteInsert does.
2016-04-17 13:52:58 +03:00
feos de1f4112d8 tastudio: allow 2 more digits for FramesPrompt. 2016-04-17 12:37:22 +03:00
feos c9b3dc184a tastudio: fix #515 again. 2016-04-17 12:17:18 +03:00
zeromus 66683b16ed replace "Ok" with "OK" 2016-03-26 21:50:33 -05:00
feos 41845eb791 tastudio: don't allow saving while saving.
Fix #578.
2016-02-20 15:27:41 +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
Suuper 6f95431637 Merge branch 'master' of https://github.com/TASVideos/BizHawk 2016-01-29 12:30:04 -06:00
Suuper 81b2a5d597 Fixed #533. (Use TryParse, don't try to use a value that can't be parsed.)
Made numpad minus key work when typing a float value.
Made current typed float value display (so that "-" can show up).
2016-01-29 12:22:28 -06: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 1b8ef3738a tastudio:
- history form: canonical colors, show the current item better, report marker operations
- markers: adding markers updates dialog, don't ever remove marker 0
- tsm: attempt to fix exception in AllLag()
2016-01-27 12:53:26 +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 84ea239180 tastudio: better check if it was engaged.
baka-yoke branch messages.
2015-12-05 18:33:35 +03:00
feos abd118253f tastudio: Save State hotkeys (finally) control branches:
- save/load by slot number (select that branch if it exists)
- save/load current slot (selected branch)
- select branch by slot number
- select next/previous branch
- bind 2 default tastudio hotkeys
keep selection when branch gets removed.
2015-12-05 17:07:24 +03:00
feos 7fe4f4e1de context menu too. 2015-12-05 14:48:03 +03:00
feos 8411161930 tastudio shortcuts.
select all is never used, select between markers is frequent, simplify the latter.
clone and delete are used in pair, give them similar shortcuts.
insert and clear are rare, but are simple enough to drop modifiers.
insert # of frames is even rarer, make it the hardest shortcut.
2015-12-05 14:48:02 +03:00
feos 4bc74ce36e tastudio: arrow keys start making sense.
up/down - scroll tasview.
ctrl-up/down - move selection.
shift-up/down - append selection.
removed ctrl-shift-R, duplicate of ctrl-shift-F.
2015-12-03 23:06:28 +03:00