Commit Graph

188 Commits

Author SHA1 Message Date
feos 56e77f4907 tastudio: allow to actually unbind markers from input, and unbind by default 2019-01-05 21:48:40 +03:00
feos c85bb39d98 tastudio: branch loading now can behave as it does for regular rerecording!
Old control scheme for Branches ON:
- Loading in read+write (recording) mode restores the branch input and truncates it after the branch frame
- Loading in read-only (playback) mode only makes emulation jump to the frame of the branch, disregarding its savestate and timeline

Old control scheme for Branches OFF:
- Loading a branch ALWAYS restores its entire input

TASEditor adds to this that you only start recording after you load a branch in rec mode, but I don't think this is important here.
2018-12-04 00:16:14 +03:00
feos 731584344d tastudio: BranchesRestoreEntireMovie and LoadBranchOnDoubleclick 2018-12-03 22:33:42 +03:00
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 61bf9b67a8 tastudio: a whole bunch of actions shouldn't be possible with no selection 2018-03-12 21:41:11 +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
feos 40e28f2f98 tastudio: enable paste menu items when clipboard is available 2018-03-08 19:23:26 +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
vadosnaprimer d074880242 tastudio: MarkerView.ShrinkSelection() 2018-01-10 22:06:43 +03:00
feos 7529570ab8 tastudio: unbreak things if user cancels movie conversion on file open 2017-10-07 23:17:02 +03:00
adelikat b03e224c5e TAStudio cleanup 2017-05-24 10:49:35 -05:00
nattthebear ebe789eed2 heh 2017-05-10 07:45:23 -04: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 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 868c02175c some more topmosts and sound mutes 2017-03-14 22:13:51 +03: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 37a44c2b17 tastudio: fix and tweak clipboard and selection display 2017-01-26 20:21:48 +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
adelikat 5258f9385c Tastudio - use the Emulator property not Global.Emulator, fix another CoreExension method 2016-12-04 12:30:51 -06: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 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 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 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 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 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 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 2894bb908d tastudio: stop copying nothing on Cut command. 2016-08-01 20:41:33 +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 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 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 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 41845eb791 tastudio: don't allow saving while saving.
Fix #578.
2016-02-20 15:27:41 +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 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 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 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
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
adelikat 74025d82c9 Clean up ToolHelpers.cs and reduce a lot of boilerplate code 2015-09-05 21:39:57 -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
feos a998d472cf tastudio: optional icons for states and markers.
Settings -> Icons.
2015-09-01 21:24:12 +03: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 65a9b0bfdd Fix my last commit. 2015-08-15 10:16:00 -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
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 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
Suuper 7a0103963d TAStudio: -History form's Auto Scroll now scrolls to current undo step instead of the last item in the list
-Allow user to cancel setting wheel scroll speed
2015-07-25 22:49:51 -05: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
Suuper 6ca7080a85 TAStudio: Fixes to how scrolling while painting input works. 2015-07-25 19:56:13 -05: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
Suuper 01290d2e59 -Allow creating savestate-anchored movie from savestate-anchored movie
-Fix marker placement in savestate-anchored movies
2015-07-22 15:08:50 -05:00
adelikat 6000a499e7 Tastudio - Branch context menu item available if pointing at the current frame 2015-07-19 21:57:41 -04:00
Suuper 194d988a5f Put frame clears and macro placements in undo batches
Better undo descriptions for right-click edits
2015-07-16 14:40:00 -05:00
feos 53c415a843 tastudio: keep track of rerecords, increment them in InvalidateAfter()
markers: fix input roll context menu command removing Markers
gpgx: updated dll
2015-07-09 00:48:04 +03:00
adelikat 46feea39cd TAStudio - account for a button name of "P" rather than assume it is a player number indicator, fixes issue #431 2015-06-21 16:13:35 +00:00
SuuperW 7da9efe3c2 Feature: Apply auto-fire patterns to painted input 2015-03-23 22:11:55 +00:00
SuuperW 9d7a522576 Fix, fix, fix... 2015-03-23 20:15:35 +00:00
SuuperW 9b8d2f70ab Various fixes 2015-03-22 16:55:34 +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 6783978f49 Bugfix: Extending movie by painting invalidated last frame
Moved GreenzoneCurrentFrame call to a new method called after frame advance.
Feature: Scroll to marker
Page up/down now scrolls by one page
Scrolling via dragging bar and via wheel now both have the same max value.
2015-03-16 20:42:14 +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 c283f2d55a Macro tool button select works
-Recent macros list now saves
-Macros can now be saved/loaded from TAStudio.
2015-03-11 16:14:02 +00:00
SuuperW 6013b9ed2b Implemented feature: Auto-adjust Input according to Lag;
Added option: Hide WasLag Frames
-Changed implementation of TasLagLog
-Removed single-line Marker functions from TAStudio.
2015-03-10 17:11:29 +00:00
SuuperW 9891e73313 Added a couple Refreshes to TAStudio; Lag History is no longer completely cleared on making an edit. 2015-03-10 06:14:14 +00:00
SuuperW 5fd1f6912b TAStudio:
Fixed the Greenzone Integiry Check feature.
Bugfix: Right-click menu didn't show up.
2015-03-10 05:12:13 +00:00
SuuperW 36c7d50528 TAStudio: Columns menu set up during initialization; toggling visibility of a player's input keeps individual column selections; toggling a button's visibility leaves the menu open. 2015-03-10 00:33:58 +00:00
SuuperW 0322e3bdbe TAStudio: Grouped column display options by player, added mass toggle by player. 2015-03-09 23:27:01 +00:00
SuuperW 7360badb4a Added AutoFire support in TAStudio, fixed/improved patterns.
-A couple minor fixes
2015-03-08 04:42:04 +00:00
SuuperW 189ecfeb2e TAStudio:
-Undo History UI, some history bugfixes
-Painting input past the movie no longer moves markers
2015-03-04 19:03:00 +00:00
SuuperW 1e0ce3b7c1 -Feature: Changing input past the movie now extends the movie.
-Implemented max undo levels feature.
-Started making TAStudio UI for undo history.
2015-03-03 21:10:48 +00:00
SuuperW e40b10a0b6 -marker undo code moved to proper place
-undo history fixes
-feature: binding markers to input
-bugfix: TasView wasn't always refreshing when inserting/deleting frames
2015-03-03 08:32:39 +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