Commit Graph

33566 Commits

Author SHA1 Message Date
f53a7a2b66 CMake: Pass various /Zc flags to MSVC for consistency with Base.props
969ea6e4f5

Fixes non-conformant handling of __VA_ARGS__.
2020-11-21 14:43:26 +01:00
cbbf044064 Core: Convert logging over to fmt pt.3
Continues the migration over to fmt up to IOS' ES module.
2020-11-21 05:56:37 -05:00
LC
41b79a66c7 Merge pull request #9270 from leoetlino/dtm-gameid-null
Core/Movie: Fix a likely out-of-bounds read for PanicAlertT
2020-11-21 01:53:15 -05:00
608dd6a37b Merge pull request #9122 from Pokechu22/pr-4601-test
Fix Super Mario Sunshine debug cubes (originally PR #4601 by stenzek)
2020-11-21 02:55:50 +01:00
9efc81ae98 Fix variable shadowing warnings 2020-11-21 02:08:09 +01:00
7840f61524 Silence "missing switch cases" warnings 2020-11-21 02:08:09 +01:00
6ab1ab1f12 Fix -Wmaybe-uninitialized warnings 2020-11-21 02:08:09 +01:00
82f1e6204d Fix -Wsign-compare warnings 2020-11-21 02:08:09 +01:00
4b7f784d1b Disable -Wstringop-truncation warnings
Disable -Wstringop-truncation warnings as they result in many false
positives.

In most (all?) cases where std::strncpy is used, we want to fill the
entire buffer or match emulated code that also ignores the null
terminator, so the warnings are not useful.

Given that Dolphin itself mostly uses std::string, they do not
really help catch any bugs.
2020-11-21 02:08:08 +01:00
83b9feff90 Core/Movie: Fix a likely out-of-bounds read for PanicAlertT
gameID isn't null terminated since it is just an std::array<char, 6>
and .data() returns a char* so {fmt} would go way beyond the bounds of
the array when it attempts to determine the length of the string.

The fix is to pass a std::string_view to {fmt}. This commit adds
a GetGameID() function that can also be used to simplify
string comparisons.
2020-11-21 01:30:02 +01:00
ade9f92a63 Enable extra warnings in Source CMakeLists, not in root CMakeLists
Having extra warnings enabled for everything including external
libraries produces an overwhelming amount of warnings in code that
isn't even part of our codebase.

Move the various warning flags to Source/CMakeLists.txt to get rid
of those useless warnings.

Note that the Source CMakeLists.txt is already where the MSVC warnings
are defined, so this commit improves consistency as well.
2020-11-21 00:59:17 +01:00
d6ce8eef36 Software: Use same logic for colors as hardware backends 2020-11-20 15:54:06 -08:00
51724c1ccd LightingShaderGen: Always calculate lighting for both color channels
Cel-damage depends on lighting being calculated for the first channel
even though there is no color in the vertex format (defaults to the
material color). If lighting for the channel is not enabled, the vertex
will use the default color as before.

The default value of the color is determined by the number of elements in
the vertex format. This fixes the grey cubes in Super Mario Sunshine.

If the color channel count is zero, we set the color to black before the
end of the vertex shader. It's possible that this would be undefined
behavior on hardware if a vertex color index that was greater than the
channel count was used within TEV.
2020-11-20 15:54:04 -08:00
fa73b1a23f Merge pull request #9269 from JosJuice/fmt-positional-checks
Common: Assert that translatable strings use positional arguments
2020-11-21 00:29:43 +01:00
115dedec63 Android: Fix default values for GC/Wii controller 1 2020-11-20 22:17:00 +01:00
0dcb6794d3 Android: Remove "Reset Paths to Default Settings"
There is now a more general way of resetting settings,
so we don't need this.
2020-11-20 22:17:00 +01:00
064cde9774 Android: Long press a setting to reset it
This is particularly important for game INIs, where a setting being
unset is not the same as it being set to the default value.
2020-11-20 22:17:00 +01:00
33f15f22e2 Merge pull request #9266 from JosJuice/android-startup-illegalstate
Android: Fix IllegalStateException on startup
2020-11-20 22:13:30 +01:00
e4ceed2bed Common: Assert that translatable strings use positional arguments
Like PR 9260, but for a different requirement (see PR 9253).
2020-11-20 20:24:30 +01:00
e63b00e562 Fix translatable strings which contain non-positional arguments 2020-11-20 20:24:30 +01:00
f82145d9dd EXI_DeviceMemoryCard: Use std::array 2020-11-20 19:41:23 +01:00
f81062f561 EXI_DeviceMemoryCard: Use enum class for Command 2020-11-20 19:38:07 +01:00
b2f00be637 EXI_DeviceMemoryCard: Fix member variable names 2020-11-20 19:37:39 +01:00
1f15119f80 EXI_DeviceMemoryCard: Use override rather than virtual 2020-11-20 19:36:34 +01:00
279197b278 EXI_DeviceMemoryCard: Use more efficient overload of find_last_of 2020-11-20 19:36:34 +01:00
4ad88ce2e4 EXI_DeviceMemoryCard: Clean up casts and implicit conversions 2020-11-20 19:36:33 +01:00
e144d20dd6 EXI_DeviceMemoryCard: Remove unused include 2020-11-20 18:51:16 +01:00
2631243379 EXI_DeviceMemoryCard: Rename variables to follow our naming conventions 2020-11-20 18:51:16 +01:00
730f9cb7bd Android: Fix IllegalStateException on startup
See https://github.com/dolphin-emu/dolphin/pull/9095#pullrequestreview-535576465
2020-11-20 18:33:00 +01:00
17da28ff07 Merge pull request #9267 from leoetlino/fix-lambda-captures
Core: Fix invalid lambda captures
2020-11-20 18:32:47 +01:00
542c49bab0 Core: Fix invalid lambda captures
PR #9260 made the MsgAlert macros use lambdas so that local
constexpr variables can be added while keeping the ability to
return a boolean from the macros.

Unfortunately, C++17 forbids referring to structured bindings in lambda
captures. This is fixed in P1091R3 but we cannot rely on C++20 yet...
2020-11-20 18:27:56 +01:00
f45a4a5916 Merge pull request #9263 from lioncash/core-log2
Core: Convert logging over to fmt pt.2
2020-11-20 16:36:47 +01:00
LC
7f5cecf7ef Merge pull request #9264 from leoetlino/fix-fmt-log
DSP: Fix one DEBUG_LOG call
2020-11-20 10:21:48 -05:00
88cc1b7c8a DSP: Fix one DEBUG_LOG call 2020-11-20 16:21:05 +01:00
a0f9b041a0 Core: Convert logging over to fmt pt.2
Continues the core migration of logs up to the EXI handling code.
2020-11-20 10:05:44 -05:00
419dfe4be4 Merge pull request #9260 from leoetlino/fmt-checks
Common/Log: Add compile-time format string checks
2020-11-20 16:05:25 +01:00
1d4672455c Merge pull request #9130 from flto/master
Vulkan: fix validation error in bSupportsGeometryShaders=false case
2020-11-20 12:35:40 +01:00
a20e69ff51 Vulkan: fix validation error in bSupportsGeometryShaders=false case
In CreateDescriptorSetLayouts(), one less dynamic binding is created when
bSupportsGeometryShaders=false. Reduce the dynamicOffsetCount argument by
one in that case. Avoids this validation error:

Attempting to bind 3 descriptorSets with 2 dynamic descriptors, but
dynamicOffsetCount is 3. It should exactly match the number of dynamic
descriptors. The Vulkan spec states: dynamicOffsetCount must be equal to
the total number of dynamic descriptors in pDescriptorSets

Signed-off-by: Jonathan Marek <jonathan@marek.ca>

[Applied clang-format]
Signed-off-by: Léo Lam <leo@leolam.fr>
2020-11-20 12:23:34 +01:00
c580a70a12 Merge pull request #9210 from Dentomologist/regions-show-hide-all
DolphinQt: Add Show/Hide All options to gamelist region menu
2020-11-20 11:35:22 +01:00
a4aec0556b Merge pull request #9212 from nf6429/master-diff
Game INI Changes
2020-11-20 11:10:52 +01:00
7ded075561 DolphinQt: Add Show/Hide All options to gamelist region menu 2020-11-19 20:39:49 -08:00
858d7612ef Merge pull request #9170 from JosJuice/android-extension-hack-2
Android: Remove hacks for Wii Remote extension setting, round 2
2020-11-20 02:47:23 +01:00
30bffca5c3 Merge pull request #9193 from JosJuice/android-clear-motioncontrolsenabled
Android: Re-add motionControlsEnabled to clearWiimoteNewIniLinkedPreferences
2020-11-20 02:37:51 +01:00
7f7fd4d8d3 Merge pull request #9220 from jordan-woyak/ext-crypto
WiimoteEmu: Implement extension encryption edge case.
2020-11-20 02:28:17 +01:00
bca82bb942 Merge pull request #9239 from altimumdelta/FFDUMP_Separate_Logging
FrameDump Logging: Separate log type and migrate to fmt
2020-11-20 02:21:57 +01:00
5921a93d71 Merge pull request #9247 from Dentomologist/fix-updater-temporary-folder
Fix updater not always cleaning up temp directory
2020-11-20 02:01:43 +01:00
eff566b318 Merge pull request #9258 from lioncash/core-log
Core: Convert logging over to fmt pt. 1
2020-11-19 20:32:19 +01:00
958cbf38a4 Core: Convert logging over to fmt pt. 1
Converts up to the DSP-related files for easier reviewing, the rest will
be progressively moved over after this change gets merged.
2020-11-19 14:21:06 -05:00
e3247b567d Merge pull request #9185 from Losuc/skipEFBaccessHotkey
Add a Skip EFB Access Hotkey
2020-11-19 17:28:45 +01:00
c724447f80 Merge pull request #9259 from Strum355/utf8-source
Fixed non-UTF8 chars in PeakFinder.cpp
2020-11-19 17:23:00 +01:00