Commit Graph

90 Commits

Author SHA1 Message Date
f19cf1753b Config: Port WiiSDCard setting to new config system. 2022-01-06 16:13:56 +01:00
2aa44b10ba Config: Port TimingVariance setting to new config system. 2022-01-06 16:13:56 +01:00
dc7e7d08ad Config: Port Fastmem setting to new config system. 2022-01-06 16:13:56 +01:00
88d725c918 Config: Port SyncOnSkipIdle setting to new config system. 2022-01-06 16:13:56 +01:00
e613cbf395 Config: Port FastDiscSpeed setting to new config system. 2022-01-06 16:13:55 +01:00
7184983ee8 Config: Port DisableICache setting to new config system. 2022-01-06 16:13:55 +01:00
d98c6b0b1d Config: Port GPUDeterminismMode setting to new config system. 2022-01-06 16:13:55 +01:00
68688e7903 Config: Port PerfMapDir setting to new config system. 2022-01-06 16:13:55 +01:00
fb47035f97 Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
0bfffe4095 Config: Port GC Adapter settings to new config system. 2022-01-05 03:25:19 +01:00
e08171fa24 Config: Port remaining Core settings to new config system (partial). 2022-01-05 00:54:15 +01:00
d6331c1e71 Config: Port remaining Interface settings to new config system. 2021-12-31 17:40:04 +01:00
247f5d823f Config: Port USBPassthrough setting to new config system. 2021-12-31 01:15:38 +01:00
526887899e Config: Port BluetoothPassthrough settings to new config system. 2021-12-30 23:17:19 +01:00
810dcfa0f6 Config: Port Debug settings to new config system. 2021-12-30 22:28:05 +01:00
9c4b2b65b4 Config: Port Input setting to new config system. 2021-12-30 21:50:36 +01:00
aa437d9805 Config: Port Movie settings to new config system. 2021-12-30 20:16:17 +01:00
96fa0919be Config: Port AutoUpdate settings to new config system. 2021-12-27 21:19:28 +01:00
56f747ebf3 Config: Port FifoPlayer setting to new config system. 2021-12-27 17:56:34 +01:00
66411571fa Merge pull request #10293 from AdmiralCurtiss/config-port-cpu-overclock
Config: Port CPU overclock setting to new config.
2021-12-27 00:16:24 -05:00
5999e9e139 Config: Port GameList settings to new config system. 2021-12-26 23:46:35 +01:00
cae4b545bd Config: Port CPU overclock settings to new config system. 2021-12-25 21:52:50 +01:00
8ea6bef98f Port Main.DSP to MainSettings
While trying to work on adding audiodump support for CLI, I was alerted that it was important to first try moving the DSP configs to the new config before continuing, as that makes it substantially easier to write clean code to add such a feature.

This commit aims to allow for Dolphin to only rely on the new config for DSP-related settings.
2021-10-15 23:24:46 -04:00
e091c2e817 Add an option to abort when a panic alert occurs
Prompted by https://dolphin.ci/#/builders/24/builds/985

A 1-character typo in a recent PR caused FifoCI builds to break
horribly and spew millions of panic alerts until buildbot crashed.

This PR adds a new config option -- defaulting to off -- that allows
Dolphin to abort early on when a panic alert occurs instead of
continuing forever.
2021-08-29 02:02:07 +02:00
fa0525f826 Port Enable Cheats to the new config system 2021-08-11 18:07:43 +02:00
110887435c Config: GBA settings 2021-07-13 16:41:18 +02:00
de54856fbb Merge pull request #9846 from jordan-woyak/report-dup-setting
Config: Add an ini setting to control real Wii Remote report duplication.
2021-07-13 03:32:49 +02:00
e149ad4f0a treewide: convert GPLv2+ license info to SPDX tags
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00
a2acd0b92e Config: Add an ini setting to control real Wii Remote report duplication and decouple it from the speaker data setting.
It is enabled by default.
2021-06-26 17:45:50 -05:00
1bf6762709 Fix Android controller mappings accidentally being in IsSettingSaveable
Settings.SECTION_INI_ANDROID and Settings.SECTION_BINDINGS
both have the value "Android", but we only want the former
to be marked as being handled by the new config system.

This change fixes a problem where controller settings were
not being properly saved to Dolphin.ini.
2021-05-16 17:08:51 +02:00
27acba620c Core: Add new Free Look settings and config 2020-12-24 13:49:25 -06:00
b285991b88 Turn Config::Info into a class with getters 2020-12-11 19:54:16 +01:00
db5aec019c Add Fallback Region to configuration menu
Fallback Region
A user-selected fallback to use instead of the default PAL

This is used for unknown region or region free titles to give them
the ability to force region to use. This replaces the current fallback region
of PAL. This can be useful if a user is trying to play a region free
tilte that is originally NTSC and expects to be run at NTSC speeds. This
may be done when a user attempts to dump a WAD of their own without
understanding the settings they have chosen, or could be an intentional
decision by a developer of a ROM hack that can be injected into a
Virtual Console WAD.

Remove using System Menu region being checked in GetFallbackRegion

Use DiscIO::Region instead of std::String for fallback

Add explanation text for Fallback Region
2020-11-28 15:40:21 -05:00
353a67824d Android: Add AndroidOverlayButtons INI section 2020-10-20 12:03:41 -04:00
9c97654603 Config: Add SYSCONF to IsSettingSaveable
SYSCONF very much is saveable. Whether it's in IsSettingSaveable
or not hasn't mattered until now since the SYSCONF settings use
separate config loader code that doesn't check IsSettingSaveable,
but the next commit will require SYSCONF to be marked as saveable.
2020-09-16 12:15:50 +02:00
b0f9bb9f13 Port some settings to the new config system
Other than the controller settings and JIT debug settings,
these are the only settings which were defined in Java code
but not defined in the new config system in C++. (There are
still a lot of settings that are defined in the new config
system but not yet saveable in the new config system, though.)
2020-08-03 15:07:53 +02:00
2e8c5b4521 DolphinQt: Show a warning when launching an NKit disc image
It is my opinion that nobody should use NKit disc images without
being aware of the drawbacks of them. Since it seems like almost
nobody who is using NKit disc images knows what NKit is (hmm, now
how could that have happened...?), I am adding a warning to Dolphin
so that you can't run NKit disc images without finding out about the
drawbacks. In case someone really does want to use NKit disc images,
the warning has a "Don't show this again" option. Unfortunately, I
can't retroactively add the warning where it's most needed:
in Dolphin 5.0, which does not support Wii NKit disc images.
2020-07-29 21:05:57 +02:00
26536832c3 Config: Simplify IsSettingSaveable
Should make it both easier to edit and faster to run.
2020-07-22 11:46:47 +02:00
d89162c8ad Merge pull request #8848 from JosJuice/fix-build
Fix build
2020-06-06 15:46:32 +02:00
b4584abaa6 Fix build
There was a race condition between two PRs incrementing the
array size. CI didn't catch it because the PR that was merged
last (PR #8824) wasn't rebuilt after the first PR was merged.
2020-06-06 15:09:48 +02:00
9f7c72b7eb Merge pull request #8824 from Techjar/sd-read-only
Add option to disallow SD card writes
2020-06-06 07:02:02 -04:00
52e0294166 Add option to disallow SD card writes 2020-05-28 15:11:37 -04:00
8df56cb319 Migrate video backend setting to the new config system
Fixes https://bugs.dolphin-emu.org/issues/12087
2020-05-22 16:54:53 +02:00
10870a0f74 Config: Migrate SSL options to Onion config 2020-05-17 20:37:10 +01:00
5bd7cc8bac Core: Add freelook camera control type setting 2020-05-03 13:34:13 -05:00
19da101164 Remove redundant Config prefix from ConfigInfo/ConfigLocation
Both structs are already in the Config namespace.
2020-05-02 14:40:14 +02:00
cc858c63b8 Configurable MEM1 and MEM2 sizes at runtime via Dolphin.ini
Changed several enums from Memmap.h to be static vars and implemented Get functions to query them. This seems to have boosted speed a bit in some titles? The new variables and some previously statically initialized items are now initialized via Memory::Init() and the new AddressSpace::Init(). s_ram_size_real and the new s_exram_size_real in particular are initialized from new OnionConfig values "MAIN_MEM1_SIZE" and "MAIN_MEM2_SIZE", only if "MAIN_RAM_OVERRIDE_ENABLE" is true.

GUI features have been added to Config > Advanced to adjust the new OnionConfig values.

A check has been added to State::doState to ensure savestates with memory configurations different from the current settings aren't loaded. The STATE_VERSION is now 115.

FIFO Files have been updated from version 4 to version 5, now including the MEM1 and MEM2 sizes from the time of DFF creation. FIFO Logs not using the new features (OnionConfig MAIN_RAM_OVERRIDE_ENABLE is false) are still backwards compatible. FIFO Logs that do use the new features have a MIN_LOADER_VERSION of 5. Thanks to the order of function calls, FIFO logs are able to automatically configure the new OnionConfig settings to match what is needed. This is a bit hacky, though, so I also threw in a failsafe for if the conditions that allow this to work ever go away.

I took the liberty of adding a log message to explain why the core fails to initialize if the MIN_LOADER_VERSION is too great.

Some IOS code has had the function "RAMOverrideForIOSMemoryValues" appended to it to recalculate IOS Memory Values from retail IOSes/apploaders to fit the extended memory sizes. Worry not, if MAIN_RAM_OVERRIDE_ENABLE is false, this function does absolutely nothing.

A hotfix in DolphinQt/MenuBar.cpp has been implemented for RAM Override.
2020-04-28 12:10:50 -05:00
11ba623f26 Add an option to present/skip presenting duplicate frames
Currently, we do not display every second frame in 25fps/30fps games
which run to vsync. This improves performance as there's less rendering
for the GPU to perform, but when combined with vsync, could cause frame
pacing issues.

This commit adds an option to force every frame generated by the console
to be displayed to the host, which may improve pacing for these games.
2020-01-14 10:57:35 +10:00
11339d77c6 IsSettingSaveable.cpp: Significant code size reduction.
- Refactor the Config::System::Main check so we check system once,
  then we check for the section.

- Use an std::array<> instead of std::vector<>.

- Use an array of pointers instead of an array of ConfigLocation.
  The latter contains two std::string objects, whereas pointers
  are only 8 bytes (on 64-bit).

Code size comparison: (64-bit Linux, gcc-9.2.0, release build)

   text    data     bss     dec     hex filename
  16136       0      40   16176    3f30 IsSettingSaveable.cpp.o [before]
   3933     720       0    4653    122d IsSettingSaveable.cpp.o [after]
 -12203    +720     -40  -11523   -2d03 Difference
2019-12-29 23:45:02 -05:00
b712cc106b Merge pull request #7909 from LAGonauta/dplii-quality-slider
Add slider to change DPLII decoder quality
2019-11-16 18:13:58 +01:00