Commit Graph

491 Commits

Author SHA1 Message Date
adelikat 24d84f3f08 Tastudio - don't setup columns when loading a file, the file has the column settings 2019-12-11 11:43:05 -06:00
YoshiRulz f309c831b3
Move icons out of InitializeComponent
cc9ff8022
2019-12-11 06:58:53 +10:00
adelikat 6107bc4553 TasMovie - rip out input caching attempt that wasn't even working 2019-12-07 12:21:42 -06:00
adelikat f944cd65a7 Tastudio - LoadState() - properly dispose of IDisposables, avoid unnecessary .ToArray() call 2019-12-06 17:20:01 -06:00
adelikat 7ac720d931 Tastudio - use global references less in favor of internal properties 2019-12-06 17:14:27 -06:00
adelikat aa94ddccd5 Tastudio - expand message column to fix text, similarly to branches 2019-12-03 20:10:00 -06:00
adelikat c2b942d9a4 InputRoll - remove some vestigial code 2019-12-03 18:57:50 -06:00
adelikat b230502228 Tastudio - cleanup 2019-12-03 18:44:01 -06:00
adelikat 6640146c0a InputRoll - add a flag for whether the control can be toggled into HorizontalOrientation, and only enable it on tastudio 2019-12-02 20:29:29 -06:00
adelikat d687babb41 TAStudio - expose Horizontal Orientation in non-developer builds 2019-12-02 20:23:14 -06:00
adelikat 68797f18f7 Tastudio - fix crash when attempting to use right-click column autohold if the movie was loaded via autoload 2019-11-27 20:10:06 -06:00
adelikat 1b8b4b4926 Tastudio - rip out option to do autorestore on mouse up vs down, make it on up only, and fix autorestore logic 2019-11-26 18:54:46 -06:00
adelikat 943454554d Tastudio - don't update bookmark view on UpdateValues() 2019-11-26 17:34:50 -06:00
adelikat 24a0bdbbed Tastudio/InputRoll - improve performance in UpdateValues some 2019-11-26 14:37:49 -06:00
adelikat cb912bea58 Tastudio - when clearing, invalidate on the first non-empty input rather than first selected row 2019-11-24 17:53:27 -06:00
adelikat 5bbdf2a49e Tastudio.MenuItems - cleanup, fix potential NRE's surrounding clipboard access, fix off by one on clear menu item invalidation logic, fix not dispointing of a disposable dialog 2019-11-24 16:54:08 -06:00
adelikat caced9c2a8 TasMovie - remove unused constructor params 2019-11-24 15:40:26 -06:00
adelikat 883fea9ec6 Add a font picker, fixes #952 2019-11-24 14:58:58 -06:00
adelikat 8bbc2c75d0 lua - tastudio.loadbranch - use the already existing (and better) load branch method 2019-11-24 14:41:03 -06:00
adelikat 4e9b780539 Lua - implement tastudio.loadbranch #fixes #1650 2019-11-24 13:55:46 -06:00
feos b70c49892c omit autosaving if we have the default project name
close #1599
2019-11-20 20:04:03 +03:00
J.D. Purcell 90724bb777 Work on InputRoll horizontal mode a bit. 2019-10-27 17:55:53 -04:00
adelikat cbace55d01 Tastudio - misc cleanups 2019-10-27 09:59:05 -05:00
adelikat aaee3cf48c Tastudio - fix splitter restore logic on restore defaults 2019-10-27 09:34:32 -05:00
adelikat b54be19e9e InputRoll - reorg - put in its own folder, break out column and cell classes into separate files 2019-10-26 16:49:52 -05:00
adelikat 437c2f067a TAStudio - Consolidate the two restore defaults menu items. Restore splitter positions when restoring defaults 2019-10-26 11:40:04 -05:00
adelikat c0e2529b20 tastudio - don't nag about inaccurate cores if autoloading a file 2019-10-24 15:49:23 -05:00
J.D. Purcell 1df41efc0d Consolidate core accuracy warning dialog. 2019-10-21 23:54:16 -04:00
J.D. Purcell 0dcb0b9bb4 Fix DPI scaling issue in custom message boxes (Snex9x/QuickNES accuracy warnings). 2019-10-12 22:34:53 -04:00
adelikat 512b03f1b4 misc cleanups in tastudio files, mostly typos and redundant code 2019-06-28 17:51:03 -05:00
adelikat 5075160355 some cleanups 2019-06-15 18:38:56 -05:00
adelikat 394a6d86b5 According to the TSM api, the indexer will never return null, check length instead 2019-06-15 16:38:33 -05:00
adelikat eaef336492 rip out IStateManager.MountForWriteAccess() and simplify 2019-06-15 16:06:35 -05:00
adelikat e0a51eaab1 Rename IStateManager.StateCount -> IStateManager.Count 2019-06-15 14:49:43 -05:00
alyosha-tas 655729f29c TAStudio: orderly shutdown if starting TAStudio returned nullEmulator. 2019-04-21 08:46:50 -04:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10:00
feos 766de68e18 tastudio: don't tell about clipboard if it's empty 2019-01-23 17:24:42 +03:00
feos cd2d63b04a tastudio:
- don't use branch laglog after loading it. it's useless because we invalidate if needed anyway
- PauseOnFrame being null started to crash seeking, fixed
- make use of movie alias in branchbox
- capture tsm state after loading the branch

todo: if we load a branch in the middle of invalid greenzone, advancing won't draw new greenzone even tho states are being created. laglog doesn't seem to allow gaps either. unsure how to resolve
2019-01-05 21:30:06 +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 0433b10d31
Revert "This fixes a bug in TAStudio where you cannot use '<'to get to frame 0" (#1382)
I'm committing the proper fix after this
2018-11-28 22:03:16 +03:00
adelikat b73e9d2f7a
Merge pull request #1371 from TASVideos/rewind_frame0
This fixes a bug in TAStudio where you cannot use '<'to get to frame 0
2018-11-18 11:07:11 -06:00
adelikat 06bb89791f Add a nag when attempting to record a quicknes movie (but allow the user to continue), fixes #1353 2018-11-18 10:05:12 -06:00
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 1455e4cad7 tastudio: hide a few computer columns by default 2018-09-09 15:38:45 +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 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
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 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
TASeditor 36900b15d4 tastudio lua: setinput functions, onbranch callbacks (#1098) 2018-02-10 14:58:46 +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 f424a22033 Tastudio - fix recent menu - fixes #920 2017-07-17 11:20:59 -05:00
adelikat ac6b18c137 tastudio - change performance profile nag to a snes9x nag 2017-06-12 20:56:32 -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
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 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 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 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
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 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 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 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