Commit Graph

960 Commits

Author SHA1 Message Date
feos a1c553d1de mame: add button mnemonics 2020-04-10 13:44:17 +03:00
adelikat 2b281116ed misc cleanups 2020-04-08 16:03:35 -05:00
YoshiRulz 573aa13c64
Replace Tuple with ValueTuple in input system 2020-04-08 02:24:48 +10: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 a072879dca DS - fixes to dsm importer, add mnemonics for LidOpen and LidClose 2020-03-28 17:45:48 -05:00
adelikat 6511632f15 add .dsm importer, doesn't import commands yet, need some examples, doesn't parse the TimeAtBoot value 2020-03-28 17:08:09 -05:00
adelikat 8988c9bb8f O2 - bk2 mnemonics for some missing buttons 2020-03-23 14:06:05 -05:00
adelikat 8da4b13f94 mnemonics for a few missing NDS buttons 2020-03-21 12:09:23 -05:00
YoshiRulz e1951b9fc5
Cleanup PathExtensions
Fixes f02295455/c731e1168/5c7135d67
2020-03-21 13:45:58 +10:00
adelikat 8ea04c3ed5 cleanup StringLog.cs, removes a warning 2020-03-19 10:28:34 -05:00
alyosha-tas 5d88199c97 vbm import: properly parse GBC into movie header 2020-03-16 16:55:49 -04:00
alyosha-tas bc61ce3114 VBM import: always import as GB. 2020-03-16 16:30:35 -04:00
alyosha-tas ab6caa70d2 VBM import: import gambatte movie if gambatte is the loaded core 2020-03-16 16:16:32 -04:00
adelikat 4152dce1ca Simplify some core name shenanigans with an extension method 2020-03-15 18:18:00 -05: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 1f617221fc Make InputManager not static, but make a static instance in globals, phase 1 of some refactoring 2020-03-15 17:19: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 079a0a4104 HeaderKeys - CONSTANTSDONTNEEDTOBEALLCAPS 2020-03-01 16:36:47 -06:00
adelikat 5bea6efe5f rename a variable 2020-03-01 16:05:04 -06:00
adelikat 18762c75ee misc cleanups in Client.Common 2020-03-01 15:49:48 -06:00
adelikat 0ffac58ce8 misc cleanups in Client.Common 2020-03-01 15:05:42 -06:00
adelikat db21af9e59 cleanups in Client.Common, mostly removing redundant parenthesis 2020-03-01 14:52:16 -06:00
alyosha-tas 961f682cdc SubGBHawk: misc. movie stuff 2020-02-23 19:20:49 -05:00
adelikat 5386b8b18c Client.Common cleanups - mostly using higher language features 2020-02-22 12:29:12 -06:00
YoshiRulz 9829fd699b Unify helpers for generating file extension lists (for open/save) 2020-02-20 21:59:20 +00:00
YoshiRulz f71cc532a8
Misc. cleanups 2020-02-21 07:05:13 +10:00
YoshiRulz 3afcf416e8
Follow attribute class best practices, cleanup docs on attributes 2020-02-19 03:54:50 +10: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
feos 8b59754349 warn about mismatching cycle counts for gambatte 2020-02-08 20:02:00 +03:00
adelikat f43d7c5b1b MovieSession - add a PopupMessage method, will be used later 2020-02-08 10:50:05 -06:00
feos 08ee1c8170 show proper movie length for cycle based timing (gambatte) 2020-02-08 15:36:21 +03:00
alyosha-tas 75ead6e3c4 GBHawk: put CGB flag into bk2 for proper parsing 2020-02-07 07:40:33 -05: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 45221eb0ad do non-timeline movie state logic after the core is loaded, fixes input display when loading a state in read-only mode, which has been broken since 2014 2020-02-02 11:52:05 -06:00
adelikat 4c9ebf6ed4 MovieSession - rename hacky step 1 and 2 to meaningful names 2020-02-02 11:39:54 -06:00
adelikat 8f7b0aaac9 Movie Session - move some logic out of hacky step 1 and into hacky step 2 2020-02-02 11:38:12 -06:00
adelikat 8c99e87867 MovieSession - cleanup 2020-02-02 11:06:30 -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 e6e1962b54
Convert SMS settings to use GenericCoreConfig (#1816)
* refactor Sms settings including naming conventions and fix a typo, breaks configs with SMS settings already saved

* convert SMS controller type setting to an enum

* convert SMS Region setting to an enum

* Move SMS display type setting to an enum

* convert sms settings to properties

* SMS - wire up generic core config to a settings menu item

* remove some SMS menu items that are redundant to generic settings config

* remove more SMS menu items that are now redundant to generic core config

* remove more redundant SMS settinsg including SMSGraphicsConfig dialog, add descriptions and display names to SMS settings objects
2020-01-26 12:56:54 -06:00
adelikat 90e1a89516 rename config variable to match type name 2020-01-25 11:44:58 -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
adelikat ef13754f79 consistent variable naming in config.cs 2020-01-25 10:57:39 -06:00
YoshiRulz bfde89b9f3
Enable SA1139 and fix noncompliance
"Use literal suffix notation instead of casting"
2020-01-25 07:55:48 +10:00
YoshiRulz ff2efca658
Cleanup Util 2020-01-23 14:54:34 +10:00
adelikat 10e2f24210 TasMovie - private setter for a variable 2020-01-18 17:30:40 -06:00
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