Commit Graph

844 Commits

Author SHA1 Message Date
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