Commit Graph

36531 Commits

Author SHA1 Message Date
Pokechu22 75cdcd5ac2 FifoPlayer: Add missing call to LoadSettings()
This resulted in the loop checkbox appearing unchecked, even though loop was enabled.
2022-01-17 11:00:13 -08:00
Léo Lam b7e55e2d52
Merge pull request #10368 from Pokechu22/gamelist-lowercase-extension
GameList: Convert file extensions to lowercase
2022-01-17 11:43:50 +01:00
Shawn Hoffman 3175e38a2e GXPipelineUid: remove explicit shallow copy where it's the default 2022-01-16 22:34:39 -08:00
Pokechu22 43e146a1d5 GameList: Convert file extensions to lowercase
This means that dol/elf files with upercase extensions (e.g. BOOT.DOL) are properly detected.
2022-01-16 17:00:16 -08:00
Pokechu22 6e5f4125e3 Use Common::ToLower and Common::ToUpper 2022-01-16 17:00:12 -08:00
Pokechu22 aaec64501a Create Common::ToLower and Common::ToUpper 2022-01-16 16:56:53 -08:00
Léo Lam e627718560
Merge pull request #10373 from Pokechu22/cmake-tab
CMakeLists: Replace tab characters with spaces
2022-01-17 00:47:29 +01:00
Léo Lam cb19472f54
Merge pull request #10372 from Pokechu22/discio-core-dep
CMakeLists: Change DiscIO dependency from common to core
2022-01-17 00:39:55 +01:00
Pokechu22 ad9e8d97a9 CMakeLists: Replace tab characters with spaces
This commit only touches CMakeLists in Source and the main one; it doesn't touch them in Externals.
2022-01-16 15:20:40 -08:00
Pokechu22 b7ac11080e
Merge pull request #10364 from Pokechu22/exi-device-refactor
Create enum classes for EXI devices and slots
2022-01-16 15:10:55 -08:00
Pokechu22 65788290f6 Raise a panic alert if a movie is recorded with memcards but no memcards are inserted 2022-01-16 14:21:33 -08:00
Pokechu22 19ef936e27 Use Slot in GameCubePane 2022-01-16 14:21:33 -08:00
Pokechu22 9109258b85 Use Slot in GCMemcardManager 2022-01-16 14:21:32 -08:00
Pokechu22 777bb4d82c Use Slot in EXI devices 2022-01-16 14:21:28 -08:00
Pokechu22 7935e614d1 CMakeLists: Change DiscIO dependency from common to core
DiscIO depends on some IOS functions and other functions, which are in Core and not Common.  This results in link errors if using DiscIO on its own (which is why DolphinTool had a listed dependency on videocommon; videocommon has a dependency on core so adding that made things build).
2022-01-16 13:29:51 -08:00
Pokechu22 3f0b23ed2b Create Slot enum class for EXI slots 2022-01-14 20:24:53 -08:00
Pokechu22 fefde0481d Use EnumFormatter to generate names for EXI devices
This simplifies the code in GameCubePane, and allows us to use the EXIDeviceType enum in error messages.
2022-01-14 20:24:53 -08:00
Pokechu22 d354163fbe Replace TEXIDevices with an enum class 2022-01-14 20:24:53 -08:00
Mai M e8bbfc26fe
Merge pull request #10370 from leoetlino/siof
Fix static initialisation order fiasco issue for Version variables
2022-01-13 23:34:55 -05:00
Léo Lam 83c5446d85
Fix static initialisation order fiasco issue for Version variables
Fixes a crash that could occur if the static constructor function for
the MainSettings.cpp TU happened to run before the variables in
Common/Version.cpp are initialised. (This is known as the static
initialisation order fiasco.)

By using wrapper functions, those variables are now guaranteed to be
constructed on first use.
2022-01-14 00:04:22 +01:00
Pokechu22 fd04f4f32d Replace use of of unsigned char* with fmt
Using unsigned char* or signed char* results in a deprecation warning, which is treated as an error.  It needs to be casted to regular char* for it to work.
2022-01-13 11:11:08 -08:00
Pokechu22 29d6dd609c Fix non-constexpr format strings 2022-01-13 11:11:08 -08:00
Pokechu22 18cf8ac767 Create EnumFormatter for WD Command enums 2022-01-13 11:11:08 -08:00
Pokechu22 1a92699455 Cast to int for enums that are not formattable 2022-01-13 11:11:08 -08:00
Pokechu22 5465775d11 Fix ambiguous uses of format_to
At least in MSVC (which is not restricted from targetting C++20), these can be resolved to either std::format_to or fmt::format_to (though I'm not sure why the std one is available).  We want the latter.
2022-01-13 11:11:08 -08:00
Pokechu22 ac46b91673 Make all fmt::formatter constructors constexpr 2022-01-13 11:11:08 -08:00
Pokechu22 78e43a4404 Make all custom fmt::formatter's format functions const
fmt 8.0.0 requires this.
2022-01-13 11:11:08 -08:00
Pokechu22 cc592ab814 Use fmt::runtime in FmtFormatT
This format string is by definition dynamic and can't be checked at compile time.  There are other similar strings in the log handler and in asserts, but they use vformat and thus don't need fmt::runtime.  We might be able to do a similar thing where the untranslated string is compile-time checked, but FmtFormatT is used in so few places that I don't want to handle that in this PR.
2022-01-13 11:11:08 -08:00
Pokechu22 0cc211d1ef Use fmt::format_string 2022-01-13 11:11:08 -08:00
Pokechu22 ff8965c40b Replace uses of undocumented/deprecated fmt::format_to overload
This was deprecated in fmt 8.0.0.
2022-01-13 11:11:08 -08:00
Pokechu22 54cf8d030c Add fmt/xchar includes where wstring is used 2022-01-13 11:11:08 -08:00
Pokechu22 cb662509f2 CMake: Bump fmt version requirement to 8.0
We will be using fmt::runtime, which was added in fmt 8.0.0.
2022-01-13 11:11:01 -08:00
Pokechu22 1a2e88cbf3 Externals: Update fmt to 8.1.1 2022-01-13 11:11:01 -08:00
Léo Lam 07fd17445c
Merge pull request #10366 from Pokechu22/bad-int3-constructor
PixelShaderGen: Fix invalid use of int3(0)
2022-01-13 14:37:36 +01:00
Léo Lam 21b9e6a34f
Merge pull request #10355 from Pokechu22/fifo-player-config
FifoPlayer: Store early memory updates option in the config and allow changing loop option at runtime
2022-01-13 14:36:48 +01:00
Mai M 1cea399e9c
Merge pull request #10345 from jordan-woyak/modifier-range
InputCommon: Re-enable "Modifier" "Range" settings.
2022-01-13 08:32:15 -05:00
Mai M cfb8b9bcf4
Merge pull request #10357 from JosJuice/android-main-debug
Android: Make Main.Debug setting declarations match C++
2022-01-13 07:41:35 -05:00
Mai M 7ebc689b57
Merge pull request #10360 from JosJuice/android-div-6
Android: Don't divide SI device by 6
2022-01-13 07:41:08 -05:00
Pokechu22 fc0d958e26 PixelShaderGen: Fix invalid use of int3(0)
This syntax is allowed by GLSL, but HLSL doesn't allow it.  This meant that games using R8 comparisons in equal mode would produce shaders that failed to compile.  Super Mario Galaxy's water levels were affected by this.
2022-01-12 21:50:34 -08:00
JMC47 e4372a317d
Merge pull request #10247 from mbc07/GameINI
Game INI updates
2022-01-11 19:15:41 -05:00
JMC47 ca96421f42
Merge pull request #10365 from JosJuice/missing-ini-section
Config: Add missing legacy game INI mappings
2022-01-11 19:12:58 -05:00
JosJuice 2ca37922dc Config: Use "Controls" section for PadType in game INIs
This matches BootManager.cpp's old behavior.

Note: The other settings of the "Controls" section (WiimoteSource
and WiimoteSourceBB) are still handled in BootManager.cpp.
2022-01-11 22:38:37 +01:00
JosJuice 5283a1dcc6 Config: Add "DSP" to GetINIToSectionMap
The "DSP" game INI section name was supported by BootManager.cpp
before the section was ported to the new config system.
For backwards compatibility, we should keep supporting it.

Should fix https://bugs.dolphin-emu.org/issues/12792
2022-01-11 22:37:02 +01:00
JMC47 c18abfaecc
Merge pull request #10356 from AdmiralCurtiss/config-port-core-4
Config: Port remaining Core settings to new config system (the rest).
2022-01-11 16:08:19 -05:00
JMC47 d32b13fb36
Merge pull request #10363 from JosJuice/systemtimers-dma-period
SystemTimers: Refactor, get rid of s_audio_dma_period
2022-01-11 09:30:41 -05:00
JosJuice 3da6487531
Merge pull request #10209 from Pokechu22/assert-fmt
Assertion and panic alert improvements
2022-01-09 22:27:18 +01:00
Pokechu22 ca9bf3174f Use HRWrap in remaining locations
Note that D3DCommon can't use DX11HRWrap or DX12HRWrap since it's shared between them.
2022-01-09 12:44:55 -08:00
Pokechu22 1b32e6dae2 VideoBackends/D3D12: Include HRESULT in error messages 2022-01-09 12:44:53 -08:00
Pokechu22 23cdb5c576 VideoBackends/D3D11: Include HRESULT in error messages 2022-01-09 12:44:15 -08:00
Pokechu22 140c8217f6 Common: Create HRWrap
HRWrap now allows HRESULT to be formatted, giving useful information beyond "it failed" or a hex code that isn't obvious to most users.  This commit does not add any uses of it, though.
2022-01-09 12:44:15 -08:00