Commit Graph

1016 Commits

Author SHA1 Message Date
adelikat c8265f6c10 allow snes9x movies to be recorded (still nag, but allow the user to continue) 2018-11-18 09:52:35 -06:00
alyosha-tas 4794c1bd46
Add files via upload 2018-11-18 09:04:56 -06:00
Isotarge e808618981 TAStudio: Squish some more exceptions
- Opening a TASProj or closing BizHawk with the Virtual Pad open
- Opening TAStudio with small window size saved in settings
2018-10-19 12:35:14 +10:30
feos fbdea8282d add missing zxs mnemonics
tastudio: properly handle Show X menu items
2018-09-10 20:22:41 +03:00
feos 47a66db995 tastudio: break keys into as many menus as needed, and show their ranges
the code looks somewhat crazy
2018-09-09 21:13:42 +03:00
feos 1b6d6988fc tastudio: break the keys menu into 2 dropdowns
WIP
2018-09-09 19:46:55 +03:00
feos 0893d96a7e tastudio: menus for keys 2018-09-09 17:41:57 +03:00
feos ef89b7bf67 tastudio: don't create player menus if we don't even have players 2018-09-09 16:48:25 +03:00
feos 1455e4cad7 tastudio: hide a few computer columns by default 2018-09-09 15:38:45 +03:00
feos 86999815f7 tastudio: show branch screenshot on the right if it's offscreen
fix #1311
2018-09-08 19:32:27 +03:00
feos c2e2e9a1f7 tastudio: fix #1310
we don't need statecount info to be THAT up-to-date
2018-09-07 23:33:07 +03:00
feos 08e33f7ec1 tastudio: make current branch track its new pos upon reordering 2018-06-23 00:47:46 +03:00
feos cea1a04425 tastudio: select newly created branch
makes button action experience smoother
2018-06-23 00:31:16 +03:00
feos a751131787 tastudio: disable shift+up/down, it breaks float editing mode 2018-03-12 21:41:11 +03:00
feos 61bf9b67a8 tastudio: a whole bunch of actions shouldn't be possible with no selection 2018-03-12 21:41:11 +03:00
feos 560092ffae tastudio: allow scrolling/jumping to marker 0 2018-03-11 20:05:33 +03:00
feos 661a15dc2c tsm decay: remove states within internal state gap
states settings: clamp things harder
2018-03-11 17:57:30 +03:00
feos 7162de1d3c tastudio: let's just report state count
will help to sort out possible decay bugs
2018-03-11 14:59:58 +03:00
feos e8103a1c53 tastudio macros: don't die from colons in paths when saving to file
disable macros menu items when there's no selection
2018-03-08 22:58:18 +03:00
TASeditor 6580c2abef Tastudio: drawing stuff, selection, patterns, add column lua function (#1125)
* alt+columnclick draws pattern
* selection: taseditor logic
* shift/ctrl keys restructure to taseditor
shift + up/down: move frame courser up/down by one
shift + pageup/pagedown: move frame courser to next/prev marker
ctrl + left/right: add/remove selection at last selected row
ctrl + shift + left/right: add/remove selection at first selected row
* Alt+drawing pattern
still not working with drawing upwards
* pattern drawing
upwards drawing working except it doesn't update last row.
TODO: Disallow Alt click to focus on menu.
* pattern: last input ignoring fixed
* Lua columnms
TODO: Don't save them into tasproj
* no need to update float edit stuff or cell changes when its not needed
* Shift+clicking draws input from first selected row to clicked cell
* fixed pattern drawing on empty cells
2018-03-08 22:15:47 +03:00
feos 40e28f2f98 tastudio: enable paste menu items when clipboard is available 2018-03-08 19:23:26 +03:00
feos b2642cd0d9 tastudio: let's try this super annoying method to introduce *intended* control scheme to users 2018-03-08 15:31:07 +03:00
feos f81f41f6f7 tastudio: fix #916 2018-03-08 14:44:09 +03:00
feos bf8c21663d
State manager decay (#1128)
* Finally use exponential decay algorithm for greenzone
  * Works in both directions (unlike fceux taseditor)
* Stop using last accesses states for anything
* When dropping states per project save, account for state gap better
* Use _states.Keys[i] instead of _states.ElementAt{i).Key in speedy parts, because it's apparently tons faster
* Use StateIsMarker() where it's supposed to be used
* Markers are still left untouched
* Branch states are still dead (probably forever)
2018-03-08 12:24:35 +03:00
feos 0fe703c9b7 tsm: redo the algo from scratch, probably not last time 2018-02-27 01:28:24 +03:00
feos 7ae374df01 tastudio: fuck this 2018-02-21 02:06:25 +03:00
TASeditor 36900b15d4 tastudio lua: setinput functions, onbranch callbacks (#1098) 2018-02-10 14:58:46 +03:00
vadosnaprimer fb692806c3 tastudio: supposedly fix #1090 question mark 2018-01-10 22:32:22 +03:00
vadosnaprimer d074880242 tastudio: MarkerView.ShrinkSelection() 2018-01-10 22:06:43 +03:00
vadosnaprimer 5bff769fe9 tastudio:
- scroll to new marker and new branch
- don't kill selection per marker removal
2018-01-10 22:06:41 +03:00
zeromus c17f793733 in 1809d19ecb @vadosnaprimer made the disk capacity for greenzone disabled, but for some reason old settings files may still be setting a value into it, or maybe old tasprojs or something, so I just put a big limit on it so things dont crash. /shrugs 2018-01-09 14:21:58 -06:00
vadosnaprimer fcb7588724 use actual Clamp() 2017-12-01 18:19:29 +03:00
vadosnaprimer cea50c1ab1 fix #1072
thanks for helping, .net
2017-11-30 19:53:52 +03:00
vadosnaprimer 1809d19ecb smart state gap for greenzone. fix #915
disable disk capacity setting
2017-11-05 22:34:58 +03:00
vadosnaprimer fbbe42d7fa tastudio: drop logic that shrinks branch screenshot popup
the fact that it was screwing up osd text (that's not pixel based by design) causes more problems than smaller popup was ever intended to solve. and it's not branch or tasproject size, because screenshots are stored in the same resolution as your emulator screen. so I don't even know which problems it was solving. if it was made to shrink because originally it couldn't expand outside tastudio, this has been resolved a while ago, and we can afford covering as much user screen as they already cover with emuhawk. unless they complain, then it can return as an option.
2017-11-05 17:33:12 +03:00
feos 1bd535c31f tastudio: don't trigger right button up events if left button is still held down 2017-10-07 23:40:54 +03:00
feos 7529570ab8 tastudio: unbreak things if user cancels movie conversion on file open 2017-10-07 23:17:02 +03:00
feos 84412eafd9 tastudio: do normal seeking while recording too. needs testing
if you go to a frame while recording and unpaused, it will seek to that frame (not touching input since rec mode is suspended), and after it reaches it, it will unpause and restore rec mode
2017-10-07 15:20:30 +03:00
adelikat 62c2e0fc6a TAStudio - remove ability to edit the platform id when editing the header 2017-07-30 14:21:40 -05:00
adelikat f424a22033 Tastudio - fix recent menu - fixes #920 2017-07-17 11:20:59 -05:00
adelikat f53624f336 tastudio greenzone settings - don't check for if 64 bit process 2017-07-09 09:39:36 -05:00
adelikat ac6b18c137 tastudio - change performance profile nag to a snes9x nag 2017-06-12 20:56:32 -05:00
feos 3ba4adb6bc tastudio: finish moving column click edits to taseditor logic 2017-05-29 20:20:44 +03:00
adelikat 19dde8018a InputRoll cleanups 2017-05-24 11:45:57 -05:00
adelikat 74b2cca967 more tastudio cleanups 2017-05-24 10:50:25 -05:00
adelikat b03e224c5e TAStudio cleanup 2017-05-24 10:49:35 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04:00
feos 8dcf9fb61a tastudio: tweak editing selection by clicking column header
instead of reverting every button state, apply the reverted state of the first selected frame to all the selection
2017-04-23 14:47:10 +03:00
adelikat 1184e8ed05 lua - implement tastudio.getselection(), tastudio.insertframes(), tastudio.deleteframes() 2017-04-22 20:50:03 -05:00
J.D. Purcell b53502eed8 Spaces -> tabs. 2017-04-15 16:37:30 -04:00
feos 54320865c0 tastudio: don't update branches if no movie was loaded 2017-03-18 18:15:21 +03:00
feos 216c7ea487 tastudio screenshot popup: act more like taseditor in terms of time
only update opacity by 1/8th every 40ms. allows to skip fading in if mouse moves around at regular speed, and only pops up if deliberately hovering over the cell

also reduce magic numbers a bit
2017-03-18 18:14:23 +03:00
feos 1827f44fb8 tastudio: detach screenshot popup timer since it crashes 2017-03-18 17:18:36 +03:00
feos e99b52342c tastudio: bind autosave and screenshot popup timers to controls
also annihilate _saveBackgroundWorker
2017-03-17 21:55:43 +03:00
feos a9cda4a21f tastudio: dynamically resize usertext column 2017-03-15 21:46:46 +03:00
feos 4eaa04d412 tastudio: branch text edit popup follows mouse pointer 2017-03-15 19:24:27 +03:00
feos 6e99227c72 tastudio: Clone() for branches. fixes UserText cancellation
also cancel backup and osd message if text edit was canceled
2017-03-15 19:17:47 +03:00
feos d254ad01d8 tastudio: add branch undo feature
the fact that it's separated from changelog is because there's no way to extend the latter, but *also* it's intended, as we want branches to be independent from changelog manipulations

todo: figure out branch text edits
2017-03-14 22:49:55 +03:00
feos c6d1aad25f tastudio: actually change branch screenshot bitmap 2017-03-14 22:15:20 +03:00
feos 868c02175c some more topmosts and sound mutes 2017-03-14 22:13:51 +03:00
feos a30b89039f more topmost modal dialogs 2017-03-12 14:50:24 +03:00
feos fed9380e33 tastudio: rewinding was turning rec mode off 2017-03-08 20:42:24 +03:00
feos a124fd72a1 tastudio: add jump to branch frame (aka read-only loading) 2017-03-08 19:32:09 +03:00
feos 31ccc9f413 tastudio: hide when going from branch 0 to header cell 2017-03-08 16:49:55 +03:00
feos 0ec0910207 tastudio: move screenshot popup to yet another control to allow fading
avoid false branch 0 hover when entering branch view from the top

todo: hide screenshot when moving upwards to header cell
2017-03-08 16:31:49 +03:00
feos 5c91c2f98c tastudio: allow exporting a named state 2017-02-24 21:58:41 +03:00
feos 03ea4f9126 tastudio: fix #806 part 2 2017-02-19 11:43:35 +03:00
feos d19fcb62ab tastudio: fix the first half of #806 2017-02-19 10:31:30 +03:00
feos 60d69db588 tastudio: stop crashing upon movie platform mismatch
make the error window topmost
2017-02-19 00:26:42 +03:00
zeromus f458648fad improve rewind in tastudio by leaving editmode intact but taking care not to clobber frames. take special pains to ensure that (reverse) frame progress vs smooth rewind semantics stay as expected. 2017-02-16 00:29:28 -06:00
feos 5bc643f1fd tastudio: shrink the branch image like you should 2017-02-09 23:10:41 +03:00
feos 821baeb649 tastudio: captured state 0 was useless if movie conversion happened at frame>0
capture it after core reboot
2017-02-09 22:51:52 +03:00
feos 230dcc2356 tastudio: make ToggleReadOnly() toggle read-only
this allows movie.getreadonly() return valid value
2017-02-07 19:03:46 +03:00
zeromus ea2188dc46 make tastudio.setplayback correctly restore the recording flag after it finishes seeking from the greenzone to the target frame 2017-02-07 00:01:14 -06:00
feos c739755e9b tastudio: hide whatever starts with "Key " by default
ideally, there should be separate Keys menu items in SetUpToolStripColumns() as well, moving them to a separate dropdown and hiding/showing all at once
2017-02-05 15:20:05 +03:00
zeromus d87a2b27a2 make lua's new tastudio.setplayback re-enable the record flag if it was set (the existing logic leaves it disabled I think as security against the GUI use case where users might stomp their video seeking while playing in record mode). future work: add lua control for the record mode flag 2017-02-05 04:20:07 -06:00
feos 5d3435e6e6 tastudio: update caption as well 2017-02-04 23:36:17 +03:00
feos ae15073180 tastudio: fix regular movie opening from tastudio 2017-02-04 22:33:52 +03:00
feos 51f21691fd tastudio: fix #788 2017-02-04 16:09:13 +03:00
feos f860c5d8b1 tastudio: try to fix opening a bk2 directly 2017-02-01 20:41:15 +03:00
feos 7d469c08a8 tastudio: show bsnes performance mode warning
addresses #788
2017-01-31 00:00:09 +03:00
feos 37a44c2b17 tastudio: fix and tweak clipboard and selection display 2017-01-26 20:21:48 +03:00
feos d8d0c62adf tastodio: completely redo branch screenshot popup just to avoid cropping
moved it to ToolTip, which feels like the proper way to do it
2017-01-22 17:46:54 +03:00
feos 74adace569 tastudio: file opener improvements
- fix opening and conversion of a regular movie
- fancy ofn filter, suggesting all available files first
2017-01-20 02:00:27 +03:00
feos ae16703ffc tastudio makers text popup:
- appears when double-clicking existing marker in tasview
- appears at cursor position when called from tasview (fancy)

this required adding optional position to ShowHawkDialog()
2017-01-19 23:24:41 +03:00
feos 17faf42b6e tastudio: try to be a bit smarter with SelectedIndexChanged
forces SetSplicer() calls, but only at InputRoll's OnMouseDown, the rest is handled by tastudio
2017-01-19 21:55:18 +03:00
feos 3548ec00dc tastudio: use Emulator the same way branch control uses it
this fixes a bug that generated a whole stack of temp fixes over temp fixes, as well as the crash those were trying to prevent
2017-01-13 18:26:52 +03:00
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 8bae2a4648 tastudio: fix double-click on the empty area throwing an exception 2017-01-04 20:16:34 +03:00
alyosha-tas c496674301 TASStudio revert design commit 2017-01-02 12:27:40 -05: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
alyosha-tas 0c3da629c8 Fix for exception in marker window 2016-12-13 22:37:06 -05:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00
adelikat 3bfce81eae LuaConsole - have a RequiredService of IEmulator and pass it into the lua implementation instead of using Global.Emulator 2016-12-06 10:35:11 -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 4ab2fadc93 Remove an unnecessary usage of Global.Emulator in Tastudio 2016-12-04 10:50:58 -06:00
adelikat 604ed74ff9 remove some usages of VideoProviderGlue by checking for VideoProvider availability before doing some dependent processes 2016-12-04 10: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 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
feos 69970c5ae5 tastudio: select the new cell on every rightclick.
only enabled for branches and markers, since in tasview we use rightclick to start advance/rewind.
involved some hackery, like killing context menu while OnMouseDown of the given listview, then going back to InputRoll's OnMouseDown and actually selecting a new cell. can we figure out a hovered cell while context menu is still active? also, it'd make sense to do this for leftclick as well, but without context menu hiding, there doesn't seem to be a way to force updating of listviews from InputRoll.
2015-12-03 21:16:55 +03:00
feos 0f6ef723bf tastudio: fix bug with ScreenshotPopupControl's alpha channel.
it was forgetting to discard alpha, and when creating a bitmap it dropped anything but lua hud, since it does have alpha bits that nothing else has, and with no lua hud involved, it showed all normally, since it didn't have to drop colors with zero alpha. lol.
2015-12-02 22:21:05 +03:00
feos ef563a77e0 tastudio: differentiate between marker with text and regular marker.
both have buttons and context menu items.
if mass adding regular markers, give a warning for 50+.
marker with text can only be added one at a time.

fix #504
2015-12-01 19:36:13 +03: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
Hathor86 1e2f4e12be Watch refactoring
Some improvement when you get Available types. Used to return a new
array each time you call the function. It has been transformed into an
IEnumrable and yield return.
DisplayType, PreviousType and Watchsize have been moved outside the
Watch Class
2015-11-28 22:52:00 +01: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
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 33144e18c7 tastudio: add buttons to branch view. 2015-11-24 20:43:43 +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 2723739a02 tastudio: screenshot control tweaks.
- don't cut it on the left if tasview is narrow, push it right instead
- don't hide it instantly if it spawns right under the mouse cursor, hide it if mouse leaves *it*, not branch control
- keep consistent Y position
2015-11-22 19:54:21 +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 33ac38fe5d tastudio: do right-click frame move only on Alt
right-scrolling should not fire frame drag AND greenzone invalidation (every time we accidentally move the mouse over the frame column)
2015-11-22 12:44:24 +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 ef07f8b0b0 tastudio: account for mouse speed when advancing/rewinding.
this way you get farther if you right-scroll fast, and still navigate precisely otherwise.
2015-10-25 20:48:51 +03:00
feos a4b3a57af2 tastudio: update RowCount before scrolling to frame.
fixes loading a branch whose movie length is longer than current.
2015-10-25 20:24:33 +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 8a86737ff0 tastudio: color stated frames on WasLag too. 2015-10-21 19:00:24 +03:00
feos ef5369a443 tastudio: "Erase branch states before all the rest" option.
fixed branch info loading.
2015-10-06 21:51:03 +03:00
feos e0c2e43e48 tastudio: add an option for (not) using branch states in tasproj.
clueless about what should go in its description.
fixed new guid being assigned to branches loaded from the project.
2015-10-05 22:11:45 +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 89d919e6a9 tastudio: loop guid dup check.
don't remove marker 0.
update when going to frame 0.
don't check hasDuplicate against current states if branch is not current (what was it for at all?). releases Used per branch removal.
2015-10-04 21:10:40 +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
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
Suuper d1fa718120 Put my AutofireStickyXORAdapter back and fixed the bug it had. 2015-10-03 09:36:07 -05:00
feos 29767ba522 tastudio: fix branchview bg updating. 2015-10-01 19:48:08 +03:00
feos 0bd4e99c8f tastudio: allow loading the current branch, since it might have been edited. 2015-09-25 21:17:07 +03:00
feos 60555db3cc tastudio: ColorZone for branches too. 2015-09-23 20:03:26 +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 b31c43321b tastudio: branches.
- update inputroll after branch operations
- properly remove BranchStates units
- don't load current branch
2015-09-14 20:45:27 +03:00
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
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
feos ff0844413c tastudio: update branch view on project load. 2015-09-06 16:40:22 +03:00
adelikat 74025d82c9 Clean up ToolHelpers.cs and reduce a lot of boilerplate code 2015-09-05 21:39:57 -04:00
adelikat 3886205bbc TAStudio - fix right-click autohold 2015-09-05 19:52:00 -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 45db096154 Tastudio - 'start movies from now' - allow movies that start from savestate since that feature is supported already in the backend 2015-09-05 18:28:05 -04:00
adelikat 03aeacae39 Tastudio - also prohibit making a movie from "now" if it is a saveram-anchored movie 2015-09-05 18:26:34 -04:00
adelikat 477afb8bf7 Tastudio - Only allow 'Start from here' option on the currently emulated frame 2015-09-05 18:10:21 -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 0e11ae4316 Tastudio - store icon Resources in variables to keep from churning while drawing, big speed up to tastudio 2015-09-02 19:00:52 -04:00
adelikat 951129048d Move InputRoll to the CustomControls folder 2015-09-02 18:27:34 -04:00
adelikat 888423df58 InputRoll - some misc formatting and cleanups 2015-09-02 18:23:29 -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
adelikat 407f44bf96 Fix issue #461 - broken by Tastudio autofire patterns, THIS BREAKS TAStudio autofire patterns, they need to be fixed, in a way that doesn't break autofire 2015-08-24 20:51:53 -04:00
adelikat f9e2b924cd proof of concept means it should only be in developer builds 2015-08-24 19:57:54 -04:00
adelikat 2a1c9e8602 TAStudio - anchor icons on frames with savestates, proof of concept. InputRoll - add offsetx,y values to queryItemIcon and queryItemText, also support ability to draw icons and text in the same cell 2015-08-24 18:30:45 -04:00