Commit Graph

1016 Commits

Author SHA1 Message Date
adelikat 3e8bad74a2 ensure that Tastudio is fully updated when doing cut/paste operations, should really fix #1956 this time 2020-05-01 15:14:49 -05:00
adelikat 83e685cfa1 Tastudio - remove unnecesary updates in GoToFrame(), since tastudio and other tools are already updated by other methods it calls 2020-05-01 14:26:48 -05:00
adelikat d1cb8d53ad Tastudio a few simplifications 2020-05-01 09:52:25 -05:00
adelikat a1c8c4ed3a Tastudio - create a FullRefresh() method that guarantees RowCount will be updated and all drawing will occur, but is slower, and use it in non-perormance situations such as copy/paste methods. Fixes #1956 2020-04-29 19:46:11 -05:00
adelikat 92db6b8b64 Tastudio - try to sort out when to fully redraw tastudio vs update row count 2020-04-29 19:39:18 -05:00
adelikat 9203f56eca tastudio - consolidate logic and always draw column emphasis (to show sticky state) when setting up columns, rather than only on load 2020-04-29 19:17:44 -05:00
adelikat 5252598aef tastudio - remove unnecessary setting of DialogResult 2020-04-29 19:10:57 -05:00
feos eec3cf44f2 fix #1837
while the project is open, the menu still doesn't update to account for this, but at least it can be saved properly now
2020-04-29 23:00:07 +03:00
adelikat 68251cdc55 tastudio - simplify a bit, move some methods and fields around, improve comemnts 2020-04-28 12:42:27 -05:00
feos a8472a77f3 cycle count: how low can we go? 2020-04-28 19:53:12 +03:00
adelikat c8ae659b19 Tastudio - simplify some redundant code 2020-04-27 20:26:51 -05:00
adelikat 80eacf88eb a few nitpick cleanups in Tastudio code 2020-04-27 16:51:42 -05:00
adelikat 8a6868be4a fix an unnecesary use of Global 2020-04-26 14:32:01 -05:00
adelikat 8ace823682 "fix" inability to open tastudio if default.tasproj was saved with a different system, the unnecessary save on load was necessary afterall, this code is bad. Fixes #1937 2020-04-26 14:21:14 -05:00
adelikat 7484fc1ad2 Revert "Tastudio - fix regression where default.tasproj is loaded if the file exists, fixes #1937"
This reverts commit 49395b435f.
2020-04-24 18:47:49 -05:00
adelikat 49395b435f Tastudio - fix regression where default.tasproj is loaded if the file exists, fixes #1937 2020-04-24 17:07:32 -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 56cc1fefff Tastudio - simplify movie loading stuff 2020-04-18 15:28:31 -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 d946aa6145 tastudio - cleanups 2020-04-18 14:50:25 -05:00
adelikat 7a77861896 Conisstently use MovieSession.StopMovie instead of stopping the movie directly, derefrence the movie on stopping instead of letting it hang around in memory 2020-04-18 14:50:25 -05:00
adelikat b2208d714c Tastudio cleanups 2020-04-18 14:50:25 -05:00
adelikat dc9fa1acf3 movie code cleanup 2020-04-18 11:54:49 -05:00
adelikat 9494243eef add an IStatable extension method that can load a state directly from a byte array, reduces the stream creation boiler plate in a number of palces 2020-04-18 10:26:08 -05:00
adelikat a460846ff8 Tastudio - account for an unlikely edge case NRE where right button held is true but mouse is outside of the control 2020-04-18 10:23:10 -05:00
adelikat 3f1ef8dd4d add a IMovieSession property to ToolFormBase and use it 2020-04-16 12:25:42 -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 13e58cbac5 refactor IMovieController 2020-04-14 19:05:17 -05:00
adelikat 03a7ea8438 IMovie.PopulateWithDefaultHeaderValues() - pass in dependencies instead of using Globals 2020-04-14 17:30:32 -05:00
adelikat 2b17c6d310 simplify some LogGenerator code 2020-04-14 16:44:37 -05:00
adelikat 831621b864 remove some unused code 2020-04-14 16:25:28 -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
adelikat 6a25679ae3 remove trailing comma in various places in Emuhawk probject 2020-03-21 16:04:08 -05:00
YoshiRulz e1951b9fc5
Cleanup PathExtensions
Fixes f02295455/c731e1168/5c7135d67
2020-03-21 13:45:58 +10:00
adelikat 6d5c444252 Move Global controller adapters into InputManager, it's a step in the right direction 2020-03-15 17:50:48 -05:00
adelikat edd8349dde fix typo in Global property 2020-03-15 17:09:11 -05: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 e12b5d8137
Refactor FloatRange creation and usage
effectively resolves #1200
* Replaced floats in FloatRange with ints (would have used shorts but
SubGBHawk/SubNesHawk use an axis to hack in cycle count or something), added
both Range<int> and Range<float> auto-properties
* Added bool field IsReversed to FloatRange
* Added enum AxisPairOrientation and factory method using it
* Cleaned up usages of FloatRange fields and properties
* Added new properties to PadSchema.ButtonSchema for type
PadInputType.AnalogStick (to hold the two FloatRanges) and used
ControllerDefinitions from cores to dedup these ranges in the schemata
* Made VirtualPadAnalogStick work properly: both the direction and bounds are
correctly set from the controller schemata, the polar conversion measures angles
consistently (though I think it might not work outside -128..127 e.g. for PSX),
and I didn't break the sensitivity override, plus negative percentages might
work now but I didn't allow those
* Renamed FloatRange to AxisRange, but did not rename related symbols
2020-03-14 20:47:45 +10:00
adelikat 9584ff1f53 use switch expressions in some various places in EmuHawk, and some other simplifications 2020-03-04 20:18:43 -06:00
adelikat 1337beed1b remove designer null check hacks in favor of the intended DesignMode flag 2020-03-01 16:49:37 -06:00
alyosha-tas 961f682cdc SubGBHawk: misc. movie stuff 2020-02-23 19:20:49 -05:00
YoshiRulz 9829fd699b Unify helpers for generating file extension lists (for open/save) 2020-02-20 21:59:20 +00:00
J.D. Purcell f7174eb398 Make display scaling apply to InputRoll column header widths. 2020-02-17 12:34:37 -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