Commit Graph

70 Commits

Author SHA1 Message Date
adelikat 72c4e19183 MovieSession - hold on to a copy of the IEmulator instance, and use it instead of Global.Emulator 2020-04-20 09:20:00 -05:00
adelikat 91dd8c938e MovieSession.QueueNewMovie - reduce dependencies 2020-04-19 14:18:09 -05:00
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 918fbe6367 fix Tastudio .tasproj loading broken in previous commits (this code is a mess), MovieSession - remove setter on Movie property 2020-04-18 15:37:43 -05:00
adelikat 4e3aa0eb15 move Bk2 -> TasMovie conversion logic from Tastudio to MovieSession, fix crashing when loading .bk2 movies from the tastudio menu 2020-04-18 14:50:25 -05:00
adelikat 1611ff3aef IMovieSession - rename a property, add documentation 2020-04-18 14:50:25 -05:00
adelikat fa552cab81 restrict access to IMovieSession.QueuedMovie 2020-04-18 12:05:16 -05:00
adelikat dc9fa1acf3 movie code cleanup 2020-04-18 11:54:49 -05:00
adelikat 189a47ad3c move more movie loading logic out of Mainform and into MovieSession and also some extension methods 2020-04-18 11:25:37 -05:00
adelikat 3ec6662dc9 move core preference setting shenangians from MainForm.StartNewMovie() to MovieSession 2020-04-18 10:55:41 -05:00
adelikat dfe7f8e3ab refactor core preferences to be a dictionary<string, string> to be stored in config, and consolidate subnes and subgb into just another core selection 2020-04-18 09:55:57 -05:00
adelikat eb3ddab060 Cleanup IMovieSession method names to be a bit more conscise 2020-04-16 12:25:42 -05:00
adelikat 5c5d662f1b MovieSession cleanup 2020-04-15 14:41:57 -05:00
adelikat c0fde42a0c don't expose Bk2Controller, clients need to depend on an interface and rely on the Movie (well, MovieSession currently) to generate an IMovieController instance, since different implementations of IMovie need to be able to create their own controller implementations 2020-04-14 21:35:44 -05:00
adelikat f2e52988c1 simplify some IMovieSession stuff 2020-04-14 21:23:47 -05:00
adelikat ab7225c955 remove MovieSession convenience property that isn't that convenient anyway 2020-04-14 20:58:02 -05:00
adelikat 0d2f014621 refactor Bk2LogEntryGenerator to be stateless, refactor some IMovieSession shenangians 2020-04-14 20:50:21 -05:00
adelikat cdfeda8b71 rename IMovieController methods and classes to better describe what they are 2020-04-14 20:10:50 -05:00
adelikat aa80c3a0d6 majorly refactor Bk2Controller more 2020-04-14 19:33:49 -05:00
adelikat 13e58cbac5 refactor IMovieController 2020-04-14 19:05:17 -05:00
adelikat 2b17c6d310 simplify some LogGenerator code 2020-04-14 16:44:37 -05:00
feos 08ee1c8170 show proper movie length for cycle based timing (gambatte) 2020-02-08 15:36:21 +03:00
adelikat 6990b6f51f when loading GB/GBC movies, store the core and auto-switch between gamebatte and gbHawk, fixes #1805 2020-02-02 12:27:45 -06:00
adelikat 880f584674 cleanup variable naming in IMovieSession 2020-02-02 12:19:41 -06:00
adelikat 4c9ebf6ed4 MovieSession - rename hacky step 1 and 2 to meaningful names 2020-02-02 11:39:54 -06:00
adelikat 32f638107d delete unused code in MovieSession 2020-02-02 11:04:29 -06:00
adelikat 226c4b32ac Fix Movie.IsPlayingOrRecording() - fixes input dsiplay during record mode, as well as a lot of other things probably, partially addresses #1802, replay mode still broken and has been for a few releases now 2020-02-01 17:25:36 -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
adelikat 18975e390d use Globals less in Tastudio sub-components 2019-12-31 16:31:32 -06: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
alyosha-tas 982dc479e7 SubNESHawk: Play Movie dialog now calculates time correctly 2019-06-21 17:58:13 -04:00
feos a2846ea8e6 fix #1447 2019-06-16 10:41:10 +03:00
alyosha-tas 1e30ae0242 Update moives to remove EMU7800 2017-08-25 09:43:56 -04:00
adelikat 8de4e7bff9 add ui to switch to Atari7800Hawk, still not useable by humans, needs gamedb stuff 2017-05-27 08:56:25 -05:00
adelikat 85f78b358d IMovie - remove the unused GetInputLog() property and also from implementing classes. I guess savestate code that was using it got refactored at some point making it unused. 2017-05-17 13:26:14 -05:00
adelikat dfea029fe4 Misc cleanups in Client.Common, documentation fixes 2017-05-17 11:16:55 -05:00
adelikat e0985465b6 misc Client.Common code cleanups 2017-05-09 13:19:55 -05:00
feos 64665f0e82 tastudio: use LatchSticky() when adding new frames
fixes autohold behavior, making it operate like it did before banning user input latch in replay mode
now in replay mode all input is ignored except for autohold, which is set via tastudio gui
2017-03-12 17:28:54 +03:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00
zeromus a355f78631 don't load entire inputlog into a string when parking it in a savestate 2016-01-10 23:08:13 -06:00
zeromus b981e00889 fully support read-only movie opening. I hope this fixes #453 2015-08-05 17:00:39 -05:00
adelikat 490adc905e Support recording movies that start from SaveRam, note: as of this changeset tastudio does not support this concept and may interact in weird ways with saveram-anchored movies 2015-07-26 15:41:22 -04:00
adelikat c23e69a810 When loading GBA movies, load the correct core too 2015-06-21 13:32:53 +00:00
SuuperW 9b8d2f70ab Various fixes 2015-03-22 16:55:34 +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
adelikat aabd3f4526 create IMovieSession with the necessary API, instead of using an instance of MovieSession, the API though is completetly horrible, we need to address this 2015-02-22 23:23:36 +00:00
goyuken daf74eb91b framebuffer in movie anchor states 2014-10-27 01:14:47 +00:00
adelikat 734b8338bc Fix always getting a "movie was written to disk" message when stopping a movie, will now only say so if it actually was saved to disk 2014-09-27 23:44:59 +00:00
adelikat 02a5337cd6 Movies - rework some things so that MovieSession is in charge of sending a movie into finished mode, as opposed to GetInutState() having the side effect of MovieFInished 2014-07-13 22:36:37 +00:00
adelikat f79a674219 Remove GetInput() from IMovie 2014-07-13 22:17:31 +00:00