Commit Graph

691 Commits

Author SHA1 Message Date
zeromus 849c489630 fix display manager custom AR/size. broken by 45e0abe39d. fixes #1975 2020-05-05 13:09:58 -05:00
adelikat fb443f262c Customize dialog - lua options - don't claim the default option is "use at yoru own risk" 2020-04-24 17:33:23 -05:00
zeromus 601e489b15 change NDS firmware color to DropDownList 2020-04-23 21:25:08 -04: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
YoshiRulz fa1c494ad8
Encapsulate input method, revive DirectInput, cleanup Input.Instance 2020-04-17 03:20:18 +10:00
YoshiRulz d2e19c9ba5
Slightly grow a GroupBox to avoid its contents overflowing (fix #1931) 2020-04-14 18:15:07 +10:00
zeromus 3b86bd741f REVERT DisplayConfig pre-layoutpanel (see if this helps #1930) 2020-04-13 20:53:35 -04:00
YoshiRulz 5c56d9580c
Rethink GroupBoxEx.Tracker access to allow Designer deserialisation 2020-04-10 09:48:05 +10:00
YoshiRulz 4f08496815
Fixup CGBColorChooserForm Designer file
faf4b02c2
2020-04-09 10:49:04 +10:00
TiKevin83 faf4b02c26
Undo Previous PR on Gambatte Colors and Implement an Option (#1918)
* Revert "New GBC LCD correction for Gambatte palette from documented shader research https://forums.libretro.com/t/real-gba-and-ds-phat-colors/1540"

This reverts commit 88cda24876.

* Implement the libretro GBC color palette as an added option instead of a change to the Gambatte option
2020-04-08 20:41:50 -04:00
YoshiRulz b960351732
Resize/realign controls in DispConfig, add fixed-size RadioButtonEx 2020-04-09 10:33:59 +10:00
zeromus c2917597b3 undo edits that replaced \' with ' in strings so I don't waste five minutes looking for them again in the future 2020-04-07 22:26:26 -04: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 905b18e429
Add helpers for getting selected radio button of group 2020-03-31 03:49:15 +10:00
YoshiRulz 6bf948a7b7
Extract GroupBoxExBase, add RadioButton tracking to GroupBoxExBase
The recent redesign of some config UIs used custom GroupBoxes and RadioButtons,
which was fine, but it also used FLPs liberally. RadioButtons can't
automatically uncheck their siblings if they're not direct siblings, i.e. both
are direct children of a GroupBox. Adding FLPs to GroupBoxes changed the tree,
introducing a bug.
2020-03-31 03:22:12 +10:00
adelikat 6a25679ae3 remove trailing comma in various places in Emuhawk probject 2020-03-21 16:04:08 -05:00
adelikat 50dc04980a NDS settings - move and anchor default button differently, to make it harder to click on accident instead of save 2020-03-21 13:44:13 -05:00
adelikat 7a558f1951 cleanup NDS settings code 2020-03-21 13:38:42 -05:00
adelikat 85fcb99717 cleanup NDS Settings dialog code 2020-03-21 13:25:39 -05:00
adelikat 8161066632 fix up NDS settings dialog 2020-03-21 13:08:03 -05:00
adelikat 7e48d11594 add DS controller image 2020-03-21 11:59:06 -05:00
adelikat a24d101f1c ControllerConfig - more gracefully handle not having a controller image 2020-03-21 11:48:37 -05:00
SuuperW c59d8130bb
DS Hawk (#1884)
* Add MelonDS.cs, support opening (but not really) .nds files.

* init MelonDS

* MelonDS: Load selected ROM.

* MelonDS: FrameAdvance and frame counter.

* MelonDS: IVideoProvider

* MelonDS: Add DLL files.

* MelonDS: IInputPollable

* MelonDS: IStatable (and add forgotten file MelonDS_InputPollable.cs)

* update libmelonDS.dll

* MelonDS: ISoundProvider

* Add NDS to Global.SystemInfo, and convert screen coords when running NDS.

* set up default NDS controller

* MelonDS: ISaveRam

* MelonDS: remove romlist.bin

* MelonDS: ISettable

* Create firmware folder if it doesn't exist on Windows; otherwise, an exception is thrown.

* Add database entries for NDS bios/firmware files.

* MelonDS: Use the bios/firmware files selected in BizHawk's "Firmwares" dialog.

* MelonDS: Re-work sync settings a bit.

* NDS's firmware file contains user settings; these are over-written by sync settings, so we shouldn't allow them to impact the hash

* MelonDS: Add (currently unused) bootToFirmware sync setting, and NDSSettings dialog.

* Update NDS firmware hash; it seems I had somehow corrupted mine.

* MelonDS: Use boot to firmware sync setting.

* MelonDS: Allow user to set some firmware user settings via the NDS settings dialog.

* MelonDS: Add singleInstance attribute to core.

* MelonDS: IMemoryDomains

* update libmelonDS.dll

* MelonDS: Set up default sync settings if none are provided.

* MelonDS: Allow user to reset settings to default.

* MelonDS: bios+firmware files are recommended

* libmelonDS.dll

* MelonDS: Don't use real time.

* MelonDS: Update to reflect new way of handling RTC in MelonDS.

* MelonDS: Notify if savestate load failed.

* update MelonDS.dll

* MelonDS: Allow user to set startup date/time in settings dialog.

* MelonDS: Create melon directory if it doesn't already exist.

* Don't include Designer's "fixes" in PR (partially reverts 56b474c00)

* Don't show a broken console window; alert user of need to restart instead.
This fixes an error related to MelonDS trying to use the broken stdout stream.

* update default NDS controls to match other updated controls

* Implement a system bus, using ARM9 read/writes.

* MelonDS: Allow BizHawk to change the contents of the frame buffer.

* update libmelonDS.dll

* fix stuff that was merged incorrectly, or was broken by merge

* update libmelonDS.dll
(includes memory leak fix)

* update libmelonDS.dll
(fixes memory leak and an occasional savestate crash)

* fix stuff that broke with the merge

* cleanups, remove stuff that is no longer needed by service interaces

* simplify DS MemoryDomains

* DS - fix order of controller buttons to be consistent with other consoles.  This probably breaks any existing movies made on this core, but those would have been experiments, right?

* NDSSettings - make min value for day and month 0, whiel those aren't "valid" values they are the default values in the core for whatever reason, better to not crash on load and not show a value that isn't actually the setting.  This can easily be reverted if the core changes to default to 1

Co-authored-by: YoshiRulz <OSSYoshiRulz@gmail.com>
Co-authored-by: adelikat <adelikat@tasvideos.org>
2020-03-21 10:53:30 -05:00
YoshiRulz e1951b9fc5
Cleanup PathExtensions
Fixes f02295455/c731e1168/5c7135d67
2020-03-21 13:45:58 +10:00
alyosha-tas af2f87deac Gambatte: do not sort settings alphabetically, so that GBC in GBA mode is not at top 2020-03-20 17:05:25 -04:00
adelikat 80c36d8155 FirmwareManager - don't use Global, pass in actual dependencies 2020-03-15 16:31:37 -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
adelikat 16781fa212 FirmwareManager - don't depend on Global.Config 2020-03-14 12:20:28 -05:00
adelikat d1623c32b7 Firmwares manager - depend on Global.Config less 2020-03-14 12:10:53 -05:00
YoshiRulz 5196b97459
Fix resources for BizHawk.Emulation.Cores and cleanup 2020-03-07 07:45:19 +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
YoshiRulz f7ddab25c7 Redesign 4 config dialogs as a proof-of-concept 2020-03-03 22:51:51 +00:00
YoshiRulz 10818ba069 Create a new project for custom controls and add some more 2020-03-03 22:51:51 +00:00
adelikat 1337beed1b remove designer null check hacks in favor of the intended DesignMode flag 2020-03-01 16:49:37 -06:00
YoshiRulz 2e645d0563
Re-align FLPs to Form and fix min size
fixes up 16040d53b
2020-02-29 10:21:18 +10:00
adelikat 16040d53ba auto-fire config - make default size enough to show the whole title 2020-02-28 18:00:20 -06:00
YoshiRulz 02c7a70297
Remove unnecessary code from AutofireConfig.Designer.cs 2020-02-29 08:50:10 +10:00
YoshiRulz 33cf3eff81
Redesign AutofireConfig using some of the new controls 2020-02-29 08:48:20 +10:00
adelikat dff8a536f0 address some typos 2020-02-28 13:09:05 -06:00
adelikat 46d05de51f nothing to see here 2020-02-28 12:52:48 -06:00
adelikat c7ed6015a2 use null propagation in Client.EmuHawk 2020-02-28 11:32:51 -06:00
YoshiRulz 9829fd699b Unify helpers for generating file extension lists (for open/save) 2020-02-20 21:59:20 +00:00
adelikat 4711546e4a fix Rewind & States config dialog saying aborted after Ok btn is clicked 2020-02-15 12:14:32 -06:00
adelikat 4b7a7dd293
Make Binary states default and Textstates opt-in for cores (#1848)
* Rewind & State config - remove the default option

* remove the savestate type of default, not that this is a breaking config change for anyone that had specifically set savestates to text

* remove BinaryStatesPreferred from IStatable and use config setting when starting movies from "Now" in record movie dialog

* remove BinaryStatesPreferred from cores

* make text savestates an extension method off of IStatable and an inteface ITextStatable it uses if the core implements it. This will allow cores to opt in to text states if desired

* make cores with actual text savestate impleemntations get ITextStatable, remove text state logic from cores that just have a binary as as text implementation
2020-02-15 10:22:26 -06:00
adelikat 29cddca49a use globals a bit less 2020-02-08 09:12:45 -06:00
adelikat ba7fd37ce8 some nitpick cleanups 2020-02-05 18:58:57 -06:00
adelikat a9a85fccb9 Profile config - simplify logic by applying settings in layers. Also tweak a few settings for some of the profiles that were likely mistakes hard to see when there was so much copy pasta 2020-02-03 19:31:06 -06:00
adelikat 5b2b72ce9e profile config - break up config setting into separate methods 2020-02-03 19:06:27 -06:00
adelikat e770047eef profile config - rip out code for the custom profile that never got implemented 2020-02-03 17:51:07 -06:00