Commit Graph

960 Commits

Author SHA1 Message Date
adelikat 45003ea584 revert "Use Ranges" on TasMovie since it causes exceptions when attempting to create the first branch of a tasproj 2020-01-17 09:00:56 -06:00
adelikat a51be3efbe remove useless regions in previous commit 2020-01-13 15:50:49 -06:00
adelikat 63da3d7bd3 expose GenerateLogKey and Map as methods on ILogEntryGenerator and remove all the direct casting that was happening in tastudio code 2020-01-13 15:49:11 -06:00
YoshiRulz dd4f9aaf64
Use ranges 2020-01-13 06:59:40 +10:00
adelikat eaca35d3d0 properly use TasMovie.Session - fixes #1771 2020-01-12 10:55:15 -06:00
YoshiRulz dabbaae075
Cleanup TasStateManager.Invalidate
had this written down for after #1591 merge
2020-01-04 04:54:26 +10:00
YoshiRulz 9ef32cf8f5
Merge ctors using default params, resolves a TODO 2020-01-02 22:10:42 +10:00
YoshiRulz a8408ed3be
Improve exception docs in BizHawk.Client.Common 2020-01-02 21:51:27 +10:00
adelikat 18975e390d use Globals less in Tastudio sub-components 2019-12-31 16:31:32 -06:00
James Groom 78fcde9480
Merge branch 'master' into winhacksbgone 2019-12-22 17:01:10 +00:00
adelikat b80b367831 refactor IMovie to expose the movie mode, and make extension methods that do IsPlaying type logic. This way there can be direct checks, and more variety of methods without cluttering the interface 2019-12-21 16:34:29 -06:00
adelikat d26cb7d272 small cleanup 2019-12-21 15:55:01 -06:00
adelikat 8ac53f51c0 move bkm files to the import folder now that they are only used for import 2019-12-21 12:55:57 -06:00
YoshiRulz 784c800ca2
Disable features using Win32 unless on Windows host
forms: GBAGPUView, GBGPUView, LogWindow, SNESGraphicsDebugger,
SynclessRecordingTools; features: A/V recording, logging to AWE(?)
2019-12-21 18:31:03 +10:00
adelikat 7cd4bf881c TasBranch - remove last reminents of UniqueIdentifier.GetHashCode() 2019-12-08 14:26:29 -06:00
adelikat 6107bc4553 TasMovie - rip out input caching attempt that wasn't even working 2019-12-07 12:21:42 -06:00
adelikat 9bb07dca76 Bk2ControllerAdapter/Bk2Movie - don't new up everytime some things that don't change through the lifetime of the object. HUGE (3x-4x) speedup to TAStudio 2019-12-07 11:35:48 -06:00
adelikat 4a522263d9 Bk2ControllerAdapter - small cleanups 2019-12-07 11:02:17 -06:00
adelikat 6eb9fa9b51 movie importers - import the core header key on systems that we check for core when loading the movie 2019-11-26 20:10:34 -06:00
adelikat f0f8cd3171 cleanup Bk2Movie.HeaderApi.cs 2019-11-26 20:04:12 -06:00
adelikat 3c14371009 pjm import - fix analog stick importing 2019-11-26 09:11:20 -06:00
adelikat 3e92b8c5ab pjm import - account junk white space at the ened of the file 2019-11-26 08:53:09 -06:00
adelikat c741c37789 fix .pjm import, text based input parsing was completely broken. Fixes #1723 2019-11-25 15:02:26 -06:00
adelikat 64f32983f6 misc movie code cleanups 2019-11-25 08:37:11 -06:00
adelikat ffd2aedfa5 oops, fix paste logic to be the first different frame, not the last 2019-11-24 19:23:12 -06:00
adelikat 6eef264f91 paste - only invalidate on the first different frame pasted, rather than the first selected frame 2019-11-24 19:14:49 -06:00
adelikat 1f4a2274d3 TasMovie - more cleanup 2019-11-24 16:06:01 -06:00
adelikat 60487c6a96 don't use Guid.GetHashCode, this was a leftover from some old bad code 2019-11-24 15:53:33 -06:00
adelikat caced9c2a8 TasMovie - remove unused constructor params 2019-11-24 15:40:26 -06:00
adelikat 6a584c00bd TasMovie - delete unused progress worker 2019-11-24 15:35:45 -06:00
adelikat 7d0b736e8d Simplify TasMovie by using auto-properties 2019-11-24 15:33:25 -06:00
adelikat 1c67066e13 TasMovie - a small simplification 2019-11-24 15:26:44 -06:00
adelikat 289971c9e9 .tasproj - convert Session saving/loading to json. This is a breaking change, and older versions will silently fallback to defaults 2019-11-23 21:55:29 -06:00
adelikat b4c4c3b870 .tasproj - use json to save/load statemanager settings. This is a breaking format change, earlier .tasproj will load and silently fallback to default settings 2019-11-23 21:43:23 -06:00
adelikat 707419bba1 some TasMovie cleanups 2019-11-23 21:33:48 -06:00
feos d15dc56e15 address #1631 for gambatte 2019-11-20 21:25:55 +03:00
adelikat eb1d87933b Fix Nintento (breaking config change but we've already thoroughly broken compatibility since last release), partially addresses #971 2019-11-16 12:42:18 -06:00
adelikat ab9c7699ec misc cleanups 2019-11-15 15:15:13 -06:00
adelikat c4658c3e85 remove Bkm as a IMovie implementation and remove all code other than what is necessary to import it 2019-11-14 21:41:37 -06:00
adelikat adf834480a remove .bkm as a standard movie type, require user to run the importer 2019-11-14 21:39:15 -06:00
adelikat 8dfbd752ae SmvImport - remove useless If 2019-11-14 21:03:50 -06:00
adelikat 40e5106064 oops 2019-11-14 18:01:52 -06:00
adelikat 5aed5ed9c7 rename importer attribute 2019-11-14 18:01:16 -06:00
adelikat 673073e650 data drive the import movies dialog filter 2019-11-14 18:00:33 -06:00
adelikat 0235ca21ab make movie importers internal 2019-11-14 17:19:59 -06:00
adelikat af50d74b98 simplify movie import code more 2019-11-14 17:00:47 -06:00
adelikat f93766e5bb Movie import cleanup 2019-11-14 16:35:29 -06:00
adelikat 0043c1de1e Movie Import cleanup - use IMovie more, don't redundantly save in Pjm and Psx importers, cleanups 2019-11-14 15:59:01 -06:00
adelikat eb1b658f6e movie import - cleanup 2019-11-13 20:52:20 -06:00
adelikat fb8111d630 convert .mmv import to new style, properly import game gear flag 2019-11-13 20:52:19 -06:00
YoshiRulz 5eb54dbf9e
Fix #1727 2019-11-14 11:37:13 +10:00
adelikat 641c3e9f82 convert .smv importer to new style, also convert to bsnes instead of snes9x 2019-11-12 14:59:07 -06:00
adelikat 33d53638e9 convert Vbm importer to new style 2019-11-10 14:35:58 -06:00
adelikat dce39c1cff convert GMV importer to new style 2019-11-10 13:20:13 -06:00
adelikat b1bdb8c7ea port fmv importer to new style 2019-11-10 12:48:51 -06:00
adelikat f9eadf104b delete unused movie import code 2019-11-10 12:18:28 -06:00
adelikat c5ecba326f convert YMV importing to new way, and also fix it, it's been broken for a long time, if it ever worked 2019-11-10 12:14:50 -06:00
adelikat c1516de259 Convert mc2 to new import style, properly support pcecd flag, and number of controller ports 2019-11-10 11:35:45 -06:00
adelikat ced5b313a5 Leagcy movie import - remove more fm2 and lsmv specific code 2019-11-10 11:10:45 -06:00
adelikat 6086f98fa0 convert lsmv importer to new style 2019-11-10 10:55:53 -06:00
adelikat 223795887e remove importer support for .mcm, .nmv, .vmv, .zmv. These are very dated and with very few movies out in the wild 2019-11-10 10:02:26 -06:00
adelikat 6d535a11ee Convert fcm importer to new style, input parsing seems to have been broken this whole time, this commit doesn't fix that, just converts it 2019-11-10 09:55:27 -06:00
adelikat d0f54f88ee delete some fm2 specific legacy importer code 2019-11-10 09:05:17 -06:00
adelikat 8baa400d34 fix up new fm2 import and use it instead of the old one. FDS is still not supported, nor peripherals, but they weren't supported in the old one either 2019-11-10 09:00:27 -06:00
adelikat 0a63255244 progress on fm2 importer rewrite (not wired up yet) 2019-11-10 09:00:27 -06:00
adelikat 7c9f2a2873 cleanup Import classes 2019-11-10 09:00:27 -06:00
adelikat 46ea09da10 MovieImport - cleanup, and properly wire up the new style importers. Pjm, Pxm no longer broken 2019-11-09 14:43:49 -06:00
adelikat 93562eb935 cleanup FileLoader.cs 2019-11-09 13:40:15 -06:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
adelikat 00691b58a2 misc cleanups in Client.Common movie and watch files, mostly typos and C#7isms 2019-10-31 19:25:11 -05:00
adelikat 7d554f06d3 return an IMovie instead of Bk2Movie from ImportFile 2019-10-31 16:08:05 -05:00
adelikat 3b25fdc8ca simplify some movie import code 2019-10-31 16:08:05 -05:00
James Groom 90b0574bc3
Remove unnecessary calls to ToList (e.g. in foreach)
squashed PR #1591
2019-10-13 15:50:57 +00:00
alyosha-tas d2fe217869 GBHawk: expose 4x core 2019-10-04 13:52:29 -04:00
alyosha-tas 79c4b1e846 GBHawkLink3x: Initial Commits 2019-09-08 16:35:39 -04:00
feos ab042fafd0 srt export: I was dumb and made it edit the original thing instead of the copy 2019-08-30 19:51:49 +03:00
adelikat 290de71b71 some misc cleanups 2019-06-28 20:33:40 -05:00
adelikat 6b249c648d fix a bug in TasLagLog, not sure how it was working 2019-06-28 20:26:18 -05:00
adelikat 062ec8cb97 remove a todo that we decided not to do 2019-06-28 20:22:10 -05:00
feos 2edf5c08f8
Merge pull request #1592 from TASVideos/tsm-interface
Tsm interface
2019-06-23 18:04:56 +03:00
alyosha-tas 982dc479e7 SubNESHawk: Play Movie dialog now calculates time correctly 2019-06-21 17:58:13 -04:00
alyosha-tas fb9ac2f3af Vectrex: hook up controllers 2019-06-16 08:17:34 -04:00
feos a2846ea8e6 fix #1447 2019-06-16 10:41:10 +03:00
adelikat 5075160355 some cleanups 2019-06-15 18:38:56 -05:00
adelikat cb4b7d7089 some cleanup 2019-06-15 18:31:46 -05:00
adelikat 26c190cd32 simplify 2019-06-15 18:26:59 -05:00
adelikat c9ae8e3db3 StateManagerState begone! 2019-06-15 17:06:13 -05:00
adelikat ea55217c3f I'm convinced this is a worthless check, -1 was never being passed in, and shouldn't be 2019-06-15 16:49:08 -05:00
adelikat 3ec2ec325a IStateManager - refactor indexer to not return a keyvalue pair, since it by design will try to return the exact frame, returning the frame is redundant 2019-06-15 16:43:21 -05:00
feos 6f5d2cf24b movie: when pause on movie end is chosen, go to finished mode instead of stopping 2019-06-16 00:32:39 +03:00
adelikat d79a00f035 remove IStateManager.IsMarkerState 2019-06-15 16:17:49 -05:00
adelikat e89bb6c276 reorg TasStateManager file 2019-06-15 16:13:16 -05:00
adelikat eaef336492 rip out IStateManager.MountForWriteAccess() and simplify 2019-06-15 16:06:35 -05:00
adelikat c87c1d8328 simplify 2019-06-15 15:51:56 -05:00
adelikat d4432db7f9 simplify 2019-06-15 15:44:34 -05:00
adelikat 2a8b4504cd Simplify 2019-06-15 15:43:22 -05:00
adelikat 7f43fb09af delete an absurd check 2019-06-15 15:29:25 -05:00
adelikat d998a9587f remove a todo 2019-06-15 15:28:10 -05:00
adelikat 21c164abcf simplify Last implementation 2019-06-15 15:22:12 -05:00
adelikat 6004f30d3a rename IStateManager.ClearStateHistory -> Clear, LastStatedFrame -> Last 2019-06-15 15:19:18 -05:00
adelikat 0ab1b1887e IStateManager - remove IDisposable, this isn't a terrible idea, but let's put it back if/when we need it. Remove IDisposable from StateManagerState 2019-06-15 15:15:14 -05:00
adelikat b1296dd9bb rip out NDBDatabase 2019-06-15 15:13:08 -05:00
adelikat ed85ce806b more cleanup 2019-06-15 14:57:26 -05:00
adelikat 81ee00a1b6 cleanup 2019-06-15 14:56:03 -05:00
adelikat e0a51eaab1 Rename IStateManager.StateCount -> IStateManager.Count 2019-06-15 14:49:43 -05:00
adelikat cb4e71ebf7 rename a StateManager method, and delete some unused methods 2019-06-15 14:40:18 -05:00
adelikat 8f116a8428 Pass TasMovie into StateManagerDecay and have it get the last edited frame instead of from IStateManager 2019-06-15 14:35:31 -05:00
adelikat 3c27a332bb create IStateManager interface and use that instead of TasStateManager 2019-06-15 14:31:06 -05:00
adelikat 1bcf6394ed cleanup 2019-06-15 13:27:10 -05:00
adelikat 694ba93ec1 I think this is the correct wasLag logic 2019-06-15 13:10:31 -05:00
adelikat f431492944 better code for populating wasLag, I think 2019-06-15 12:53:17 -05:00
adelikat 3b9e54c250 refactor TasLagLog to allow for gaps in the history. Note that this is a breaking .tasproj format change currently 2019-06-15 12:11:52 -05:00
James Groom 067477ce18
Merge branch 'master' into clean_docs 2019-06-14 13:28:39 +00:00
feos 2423f44540 tastudio: drop laglog from branches since they don't have greenzone anymore 2019-06-13 19:39:52 +03:00
feos bc990061b7 tastudio: refactor out a variable
fix autorestore triggering while drawing on future frames
2019-06-12 22:34:16 +03:00
feos f5bcdc4aba fix #1513
OSD info on branch hover is mandatory, so I'm not removing it. drawing the branch OSD-framebuffer on the emulator screen is barely possible without butchering everything, so I'm not doing it. instead, keep both core and client framebuffers and use them where they make sense: osd FB shows up on hover, core FB goes to emulator screen on branch load.
2019-06-09 20:34:14 +03:00
YoshiRulz 2642ef4049
Remove empty docs 2019-06-06 16:41:10 +10:00
alyosha-tas 1c9182a290 Fix exception when statrting from saveram multple times 2019-04-21 09:06:16 -04:00
vadosnaprimer 7915ec8bc1 tsm decay: try to work around some more removal bugs 2019-04-18 19:11:45 +03:00
James Groom 779975f689
Use nameof 2019-03-28 14:17:14 +11:00
YoshiRulz 9d0ee22885
Use string interpolation 2019-03-20 15:01:12 +10:00
alyosha-tas 2bddf3663e TAStudio: Fix some bugs in new from menues 2019-01-19 13:30:42 -06:00
alyosha-tas 74d20ca45c SubNEShawk: Add VBL Count to BK2 movie header 2019-01-12 13:27:00 -06:00
feos 56e77f4907 tastudio: allow to actually unbind markers from input, and unbind by default 2019-01-05 21:48:40 +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 b316efb922 cute, I forgot to save the actual changes 2018-12-03 21:16:06 +03:00
feos 3a688d543b tastudio: fix rec mode dying when appending movie frames
close #1376
2018-12-03 21:10:14 +03:00
layland34 edab819d6b
fix typo 2018-11-25 14:54:55 +01:00
adelikat 288baf568d Revert "here's how I think input display should work. also fixes your bug. also breaks something that had this comment (maybe)"
This reverts commit d4a48a8ee1.
2018-11-18 10:43:11 -06:00
alyosha-tas 6dbbc9256a Movie Importer: Display Failure Message 2018-11-10 17:23:45 -06:00
Asnivor acebf2621c Manual reversion of PR #1277 2018-09-21 15:38:52 +01:00
Asnivor 2565f49c89
Merge branch 'AmstradCPC' into master 2018-09-19 14:56:41 +01:00
zeromus ba4b32f619 rename TempFileCleaner to TempFileManager; add global path config for temp files
I did this in a funny way (sets the environment for the process).
The idea is that any code which sloppily used Path.GetTempDirectory (etc.) would now have its pathing changed.
It is a little dangerous to allow this to be changed on the fly (I do allow it) since something may expect it to be stable, but I think it's OK.
So anyway. keep your eyes peeled for problems. It's possible I could do this differently and only affect a subset of safely managed things.

should fix #1252
2018-09-11 21:32:50 -04:00
zeromus d4a48a8ee1 here's how I think input display should work. also fixes your bug. also breaks something that had this comment (maybe)
// adelikat: TODO: this is likely the source of frame 0 TAStudio bugs, I think the intent is to check if the movie is 0 length?
2018-09-10 16:57:10 -04:00
feos fbdea8282d add missing zxs mnemonics
tastudio: properly handle Show X menu items
2018-09-10 20:22:41 +03:00
Asnivor f436e25426 Fix movie header SystemID (#1277)
From ticket #1246

Small change to MovieConversionExtensions.PopulateWithDefaultHeaderValues()

Just changes SystemID to "GG" or "SG" if Global.Emulator .IsGameGear or IsSG1000 is true.

Without this, the play movie dialog shows 'Platform' as SMS for game gear and SG1000 movies (and highlights this in RED as it is incorrect).
2018-08-22 20:51:20 +03:00
feos a365284383 tastudio states decay: fix logic for last edited frame 2018-08-22 20:05:33 +03:00
Asnivor a471206d6a ZXHawk: Added bk2 mnemonic constants 2018-08-13 09:12:38 +01:00
Asnivor 531833c7b0 CPCHawk: Initial project outline (may or may not come to something eventually) 2018-07-03 14:53:09 +01:00
feos a0e5e0e593 tastudio: actually don't drop state above last edited frame 2018-05-10 20:32:44 +03:00
feos 056c24e4cf tastudio: attempt to fix greenzone decay failing to drop states 2018-05-09 17:18:21 +03:00
Asnivor a679a8a7f2 ZXHawk: platformrates - more accuratey 2018-05-08 22:01:10 +01:00
Asnivor f79e2853c0 ZXHawk: Added to PlatformFrameRates.cs 2018-05-08 21:57:19 +01:00
adelikat ca0ae3d971 Make the bk2 SetControllersAsMnemonic implementation less bad. Fixes #1181 2018-04-28 09:48:24 -05:00
feos ae6ce00d7c I've heard bad things about ElementAt() 2018-03-27 19:01:17 +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 3932e5a025 tsm decay: fix failing to delete frames if marker is there
markers can be *not* mod _step
2018-03-11 13:49:40 +03:00
feos 244530ffe3 tastudio: thanks for this 4 years old off-by-one
these kinds of errors are haunting me lately!

actually useful info about what it fixes: greenzone not being created after you insert right on current frame
2018-03-10 18:01:08 +03:00
feos 9c0328859d tastudio: fix disgusting copy-paste error causing exceptions out of nowhere 2018-03-10 18:01:08 +03:00
feos 9d95a520f9 tastudio: fix analog values getting stuck in input port for new frames
interestingly, MovieControllerAdapter.LatchSticky() is only used by tastudio, so this shouldn't cause problems
2018-03-08 21:15:18 +03:00