Commit Graph

154 Commits

Author SHA1 Message Date
adelikat 70633419ac
Refactor TasMovie and add interface (#1940)
* create ITasMovie interface, still lots of todos

* interface for TasMovie.ChangeLog

* rename method

* interface more TasMovie things

* file rename

* interface more ITasMovie things

* make Bk2Movie and TasMovie internal, rely on interfaces for behavior and MovieService for instantiation

* MovieService cleanup

* cleanup TasBranch handling and simplify ITasMovie api

* more branch logic cleanup and ITasMovie simplificaiton

* more cleanup of branch handling

* more ITasMovie simplification

* nitpick cleanup

* Use IMovie.GetInputLogEntry instead of GetLogEntries

* more ITasMovie cleanup

* move come ITasMovie properties to TasBranchCollection

* TasMovie cleanup

* simplify ITasMovie more

* cleanup
2020-04-19 13:38:45 -05:00
adelikat 656f2b814e Move IEmulator extensions to the Emulation.Common namespace, the intent is that these are used and serve as built in functionality, so it's overly tedious to when most situations require both Common and an additional extensions namespace 2020-02-15 12:33:15 -06:00
adelikat 6527b98476 TasSTateManager - at least consolidate the Global usage problem, until there's a solution to be found 2020-01-25 11:40:43 -06:00
adelikat 3ce88eaa3b pass config settings into TasSTateManager instead of using Global.Config, now TasMovie incorreclty uses Global.Config, but that's a step 2020-01-25 11:35:33 -06:00
YoshiRulz dabbaae075
Cleanup TasStateManager.Invalidate
had this written down for after #1591 merge
2020-01-04 04:54:26 +10:00
YoshiRulz a8408ed3be
Improve exception docs in BizHawk.Client.Common 2020-01-02 21:51:27 +10: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 00691b58a2 misc cleanups in Client.Common movie and watch files, mostly typos and C#7isms 2019-10-31 19:25:11 -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
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 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
YoshiRulz 2642ef4049
Remove empty docs 2019-06-06 16:41:10 +10:00
alyosha-tas 2bddf3663e TAStudio: Fix some bugs in new from menues 2019-01-19 13:30:42 -06: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
feos ae6ce00d7c I've heard bad things about ElementAt() 2018-03-27 19:01:17 +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 13a49b00d0 tsm: improving the algo 2018-02-26 01:45:44 +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 1809d19ecb smart state gap for greenzone. fix #915
disable disk capacity setting
2017-11-05 22:34:58 +03:00
adelikat 43cb50d5c3 Misc cleanups in Client.Common 2017-05-19 13:17:07 -05:00
adelikat 70baf9d306 Client.Common cleanups 2017-05-18 11:36:38 -05:00
adelikat cf15eb8950 TasStateManager - deciding upon a "fix" to the probable bug. This is technically different behavior than before but the intended behavior? This might break stuff 2017-05-17 13:20:57 -05:00
adelikat 2a54517b52 more misc Client.Common cleanups 2017-05-17 13:18:26 -05:00
adelikat dfea029fe4 Misc cleanups in Client.Common, documentation fixes 2017-05-17 11:16:55 -05:00
adelikat 22e2df3868 Point out a probable bug 2017-05-10 14:26:21 -05:00
adelikat 29d470a933 Cleanup tasproj related code. This includes C#6ism (feos has 2015 now). Added some todos for some sketch code 2017-05-10 14:19:46 -05:00
adelikat e0985465b6 misc Client.Common code cleanups 2017-05-09 13:19:55 -05: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 36f53116b1 tastudio: quit pretending -1 is a legit branchHash
seems to fix #785
2017-01-29 10:24:11 +03:00