Commit Graph

45 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 3f1ef8dd4d add a IMovieSession property to ToolFormBase and use it 2020-04-16 12:25:42 -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 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
adelikat df538c2833 ToolManager - lock down UpdateBefore/After, calling code should always only use UpdateToolsBefore/After since it properly deals with lua. This fixes inconsistent behavior in MovieZone and tastudio branch loading 2020-04-06 17:46:59 -05:00
YoshiRulz 0ba7a5a7df
Rename axis-related types, members, and locals
I left a few methods where they had an equivalent *Bool*() for buttons, and also
left some in TAStudio that get serialised.
2020-03-31 17:29:55 +10:00
YoshiRulz e1951b9fc5
Cleanup PathExtensions
Fixes f02295455/c731e1168/5c7135d67
2020-03-21 13:45:58 +10:00
adelikat 33a14327b7 move most logic from PathManager to extension methods in BizHawk.Common 2020-03-15 15:45:11 -05:00
adelikat 348cbd18df
Remove PathManager code that had dependencies on Globals (#1881)
* move one usage of Firwmare method into Firmware config where it is better suited

* PathManager - remove unused code

* move some PathEntry specific logic out of PathManger and into PathEntryCollection extension methods

* PathManager - detangle some exe pathing logic from Global.Config usage, clarify what a completely broken method should actuall do

* move more logic from PathManager to PathEntryCollection extension method

* move absolute path creation to PathEntryCollection, lots of refactoring and simplifying of PathEntries usage

* simplify PathEntryColleciton usage more

* simplify PathEntryCollection more

* break PathEntry classes into separate files, a bit of cleanup

* move Rom path logic out of PathManager into PathEntryCollectionExtensions

* move config UseRecentForRoms and LastRomPath into PathEntries, note that this is a breaking change for previous configs, those values will revert back to default values

* move SaveRamPath logic from PathManager to PathEntryCollections

* move cheats path logic from PathManager to PathEntryCollection

* move another method out of PathManager

* move some Retro hacks to PathEntryCollections, exposes more implicit dependencies

* move savestate logic out of PathManager to PathEntryCollection

* move more logic out of PathManager

* move some savestate logic out of PathManager, move most to MainForm where it is used, detangle some implicit dependencies from SaveSlotManager

* rename method

* move more logic from PathManager to PathCollectionEntry

* movie final Global.Config.PathEntries logic out of PathManager and into PathEnties
2020-03-15 15:12:36 -05:00
YoshiRulz 9829fd699b Unify helpers for generating file extension lists (for open/save) 2020-02-20 21:59:20 +00:00
Zach ef18c1a3a6
Fix Macro Functionality (fixes #1838) (#1839)
* Initial fixes for macro menu items

* Arguments for this constructor can't be optional.
2020-02-07 13:45:13 -06:00
adelikat 626efe8caf put control extension methods into the EmuHawk names space isntead of a custom one. We want these to be found and used, and most dialogs use them 2020-02-03 12:54:32 -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 7062ba5b6a
Clarify "Autoload" text (from #971) 2020-01-13 01:54:15 +10:00
adelikat 6183d6e3a6 Don't use Global.Emulator in MacroInput.ButtonSelect 2020-01-03 14:12:13 -06:00
adelikat 68e45d6108 MovieZone - pass in some dependencies and use globals less 2019-12-22 13:32:18 -06:00
adelikat 0207575695 MovieZone - cleanups 2019-12-22 13:32:18 -06:00
adelikat 87cd264ed2 MacroInput - less global, cleanup 2019-12-22 13:32:18 -06:00
adelikat 1aa318d7e1 use ToolFormBase properties instead of globals 2019-12-22 10:57:06 -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
J.D. Purcell 39b54f7202 Fix missing UI usings. 2019-11-02 00:38:50 -04:00
YoshiRulz e6374ef477
Use string interpolation 2019-03-19 00:06:37 +10: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
adelikat 6e06947a33 rename ToolAttributes 2017-07-12 14:44:14 -05:00
adelikat 5ff33e7569 Rename IController.Type to IController.Definition to more clearly describe the property 2016-12-12 12:30:32 -06:00
adelikat 6889a72ba2 a bit more cleanup of MovieZone.cs 2016-12-06 11:10:50 -06:00
adelikat d0e632ad9d code cleanup in MovieZone.cs 2016-12-06 11:09:17 -06:00
adelikat 5c4b11d29b MacroInput - use the Emulator RequiredService property instead of Global.Emulator 2016-12-06 11:03:15 -06:00
adelikat 9e2ec00160 MacroInput tool - some code cleanup 2016-12-06 11:01:47 -06:00
zeromus a7d2b8d7f7 * add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to.  Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
adelikat 01e72a2d94 Change macro input to released = false 2015-12-20 12:46:17 -05: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
SuuperW 9b8d2f70ab Various fixes 2015-03-22 16:55:34 +00:00
SuuperW 7e29f04f01 -Macros work without a TasMovie
-Bugfix: Display showed movie still playing after last frame
-Bugfix: Autorestore frame was lost when making rapid changes
-Bugfix: Canceling conversion of movie to TasProj stopped movie.
2015-03-20 16:53:42 +00:00
SuuperW 37590e7ea4 TasStateManager can now save states to disk. 2015-03-15 06:26:57 +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 04fafd910d Macro tool now seems to work when TAStudio is open. 2015-03-10 20:06:34 +00:00
SuuperW 6fd8aad86b Lots of work on the Macro Tool. 2015-03-09 22:30:54 +00:00
adelikat aaa615533b Start a Macro Input tool 2015-03-08 20:11:02 +00:00