Commit Graph

28991 Commits

Author SHA1 Message Date
JosJuice 5642772ec4 Movie: Fix 83b9fef regressions
1. Comparing string_views does not behave the same as strncmp
   in the case where SConfig's game ID is longer than 6 chars.
2. DTMHeader::GetGameID wasn't excluding null bytes for game IDs
   shorter than 6 chars.
3. == was accidentally used instead of !=.
2020-11-28 23:35:55 +01:00
Léo Lam cf32c4d479
Merge pull request #9296 from JosJuice/issue-12327-workaround
JitArm64: Add a workaround for issue 12327
2020-11-28 22:44:37 +01:00
JosJuice d2a34fdab7 JitArm64: Add a workaround for issue 12327
This issue is both severe and surprisingly difficult to find
the root cause of, so I think it would make sense to add a simple
hotfix for now. https://bugs.dolphin-emu.org/issues/12327
2020-11-28 22:35:49 +01:00
Vincent Cunningham 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
Léo Lam c0f7f91507
Core: Fix an assertion that mistakenly uses a fmt format string
Unfortunately, adding a DEBUG_ASSERT_MSG_FMT isn't actually possible
right now because of compiler bugs:
https://github.com/dolphin-emu/dolphin/pull/9284

We could require a newer version of GCC (10) but that would require
updating GCC on the build machines.

For what it's worth, older versions of GCC (8, 9) are broken in
many ways: adding constexpr to some Matrix functions causes GCC 8
to generate bugged code that causes the Wii IR pointer to disappear,
which means that the generated builds are already unusable
(see https://dolp.in/i12324).

Additionally,  we've already had to add workarounds for those versions
in the format macros to fix compilation bugs. This time, it looks like
workarounds won't cut it; even applying the workaround
described in https://github.com/fmtlib/fmt/pull/1580 does not help.
2020-11-28 21:11:27 +01:00
iwubcode cc837a59d6 Core / DolphinQt: Add ini only option to force low-contrast tooltips 2020-11-28 11:49:14 -06:00
iwubcode 9c204428fe DolphinQt: Add tooltip support to Software Renderer Graphics tab 2020-11-28 11:49:14 -06:00
iwubcode 2bfb8ebf96 DolphinQt: Add tooltip support to Hacks Graphics tab 2020-11-28 11:49:14 -06:00
iwubcode 1673442794 DolphinQt: Add tooltip support to Advanced Graphics tab 2020-11-28 11:49:14 -06:00
iwubcode d083dae7fd DolphinQt: Add tooltip support to Enhancements Graphics tab 2020-11-28 11:49:14 -06:00
iwubcode b9eae86704 DolphinQt: Add tooltip support to General Graphics tab 2020-11-28 11:49:14 -06:00
iwubcode a9271aa167 DolphinQt: Add the ability to show a tooltip for custom graphics controls 2020-11-28 11:49:14 -06:00
iwubcode af0161cafd DolphinQt: Add generic tooltip controls 2020-11-28 11:49:14 -06:00
iwubcode 613d8b1cba DolphinQt: Remove description box handling from graphics widget and window 2020-11-28 11:49:14 -06:00
iwubcode c754b02aae DolphinQt: Add BalloonTip which is built off of an internal Qt class. It gives the ability to show a tooltip with an arrow! 2020-11-28 11:49:14 -06:00
Léo Lam a9845e0a3d
Merge pull request #9191 from sepalani/net-interface
IP/Top: Add Android network interface
2020-11-28 18:22:33 +01:00
Léo Lam a34f19cb96
Merge pull request #9291 from lioncash/alert-audio
AudioCommon: Convert alerts over to fmt-based variants
2020-11-28 16:33:50 +01:00
JosJuice d69f243c32 FrameDump: Start timing at 0 ticks when starting from boot 2020-11-27 17:54:08 +01:00
Sepalani 20ebed51bb IP/Top: Add Android network interface 2020-11-27 19:10:28 +04:00
Lioncash 56d233c47c AudioCommon: Convert alerts over to fmt-based variants
Continues the migration over to fmt

Converts two panic alerts into error logs, since they aren't really
things a user can do anything about.
2020-11-27 10:10:11 -05:00
Markus Wick 26302c2257
Merge pull request #9280 from blaahaj/OpenGL-ES-3.1-ARB_shader_storage_buffer_object
Fix bounding box incorrectly disabled on OpenGL ES 3.1, 3.2
2020-11-27 15:56:50 +01:00
Léo Lam 9b03cdf93e
Merge pull request #9101 from sepalani/fix-ip-fallback
IP/Top: Fix fallback IP address
2020-11-27 02:39:15 +01:00
Léo Lam 2a85534805
Merge pull request #9283 from JosJuice/config-get-speedup
Common: Optimize Config::Get
2020-11-27 02:36:33 +01:00
Admiral H. Curtiss 324de7fa02 VideoCommon: Use Common::SavePNG() to write textures. 2020-11-26 23:55:05 +01:00
Admiral H. Curtiss 33c1a5b941 InputCommon: Use Common::SavePNG() to write images. 2020-11-26 23:55:05 +01:00
Admiral H. Curtiss 2de3b12e9d Common: Add SavePNG() function that writes PNGs using the simplified libpng API. 2020-11-26 23:55:05 +01:00
Lioncash 978e5469af Core: Remove commented out logs
Commented out logs shouldn't be kept around, since it makes performing
renames and migrations harder, as tooling generally doesn't inspect
comments.
2020-11-26 07:49:37 -05:00
Lioncash ffbf3d71f0 Frontends: Migrate logs over to fmt 2020-11-25 21:19:08 -05:00
Léo Lam 4c9ffb58fa
Merge pull request #9250 from Dentomologist/fix-fst-error
Fix file rename errors on Windows
2020-11-26 02:09:30 +01:00
Léo Lam e00572dd07
Merge pull request #9282 from lioncash/core-log5
Core: Convert logging over to fmt pt.5
2020-11-26 02:06:41 +01:00
Léo Lam d573ce34d7
Merge pull request #9281 from AdmiralCurtiss/iofile-write-string
IOFile: Replace fprintf with WriteString/fmt.
2020-11-26 01:39:56 +01:00
Léo Lam 3891ac2682
Merge pull request #9232 from AdmiralCurtiss/show-result-value-in-expression-editor
Qt/IOWindow: Show result value in expression editor.
2020-11-26 01:30:12 +01:00
Dentomologist 1734cf55d8 Fix file rename errors on Windows
On Windows, when the Rename function fails to replace an existing file
it will now retry the operation multiple times with increasingly long
delays between attempts.  This fixes transient rename failures.

I've been getting sporadic yet annoyingly frequent errors saying:
'IOS_FS: Failed to rename temporary FST file'
These typically appear on startup but I've also gotten them randomly.

Investigation shows this happens when the Windows ReplaceFile function
returns the error ERROR_UNABLE_TO_REMOVE_REPLACED.  That happens in the
context of using ReplaceFile to perform an atomic file overwrite, which
is required when saving updates to a file to avoid corruption.  The
error mainly happens with the /Wii/fst.bin file but I've seen it
happen with multiple other files as well.

I haven't been able to definitively pin down why the error occurs,
though online discussions suggest antivirus scanning may be a major
culprit.  That said, I've excluded the Dolphin folder from Windows
Defender scans to no avail and don't have any other antivirus running,
so this is likely to be a problem others are experiencing as well.

The number and duration of retry delays is arbitrary but I feel like a
combined second or so in the worst case is an acceptable tradeoff for
the reduction (actually elimination in my experience) of those errors.
This is even more true when you consider the time it takes to read and
dismiss the error dialogs.
2020-11-25 16:12:58 -08:00
Admiral H. Curtiss 11e226a91a Qt/IOWindow: Remove Apply button. 2020-11-26 00:47:37 +01:00
Admiral H. Curtiss 334100509b Qt/IOWindow: Show the current value of the expression. 2020-11-26 00:46:51 +01:00
Admiral H. Curtiss ddfb8fa404 Qt/IOWindow: Apply expressions immediately so we can query the current value of the expression. 2020-11-26 00:45:31 +01:00
Admiral H. Curtiss 45d4746a5d IOFile: Replace all fprintf string writing with calls to WriteString. 2020-11-25 22:11:21 +01:00
Lioncash ef75e9acd8 Core: Convert logging over to fmt pt.5
Converts the remaining PowerPC code over to fmt-capable logging.

Now, all that's left to convert over are the lingering remnants within
the frontend code.
2020-11-25 13:23:48 -05:00
JosJuice 2f264c6448 Common: Optimize Config::Get
The way Config::Get works in master, it first calls
Config::GetActiveLayerForConfig which searches for the
setting in all layers, and then calls Config::Layer::Get
which searches for the same setting again within the given
layer. We can remove this second search by combining the
logic of Config::GetActiveLayerForConfig and
Config::Layer::Get into one function.
2020-11-25 16:26:13 +01:00
Admiral H. Curtiss 9c590e215f IOFile: Add WriteString() method to replace fprintf string writing. 2020-11-25 15:41:25 +01:00
Léo Lam e2a019ae9a
Merge pull request #9276 from lioncash/core-log4
Core: Convert logging over to fmt pt.4
2020-11-25 13:21:23 +01:00
Léo Lam 140daf5960
Merge pull request #9268 from leoetlino/devicememcard-minor-cleanup
EXI_DeviceMemoryCard: Medium cleanup
2020-11-25 10:07:44 +01:00
Léo Lam 12a215c232
Merge pull request #9277 from JosJuice/gles-vertex-uber
Fix vertex ubershader GLES compile errors
2020-11-25 10:04:45 +01:00
Léo Lam 4a21be5d77
Merge pull request #9278 from lioncash/latent
Core: Convert missed log calls over to fmt
2020-11-25 09:58:40 +01:00
blåhaj bf0fe0281a Fix bounding box incorrectly disabled on OpenGL ES 3.1, 3.2 2020-11-24 21:22:39 +01:00
JosJuice d01f85cfd8 Add Rock Band 3 MIDI PRO Adapter to known Wii peripherals
Based on info from https://forums.dolphin-emu.org/Thread-emulate-midi-pro-adapter
2020-11-24 14:25:19 +01:00
Lioncash eedfe2abf1 Core: Convert missed log calls over to fmt 2020-11-23 12:20:02 -05:00
Lioncash 6cd718163f Core: Convert logging over to fmt pt.4
Continues the migration of logging in the Core library. This part
finishes up the remaining log calls within the IOS code.
2020-11-23 11:53:21 -05:00
JosJuice 28c696fa74 Fix vertex ubershader GLES compile errors
Regression from 51724c1.
2020-11-23 11:42:41 +01:00
Léo Lam 17b11cf4a4
Merge pull request #9095 from JosJuice/android-reset-setting
Android: Long press a setting to reset it
2020-11-23 02:50:40 +01:00
Léo Lam b555f0fb93
Merge pull request #9265 from lioncash/core-log3
Core: Convert logging over to fmt pt.3
2020-11-23 02:46:58 +01:00
JosJuice b53127a1fa
Merge pull request #9274 from JosJuice/av-register-all
FrameDump: Re-add call to av_register_all
2020-11-22 12:45:59 +01:00
Sepalani 79f50cd4fd IP/Top: Fix fallback IP address 2020-11-22 15:34:27 +04:00
Léo Lam 5d9eb8f6ce
Merge pull request #9271 from leoetlino/warnings
Fix several warnings and only enable extra warnings for our own code
2020-11-22 02:04:53 +01:00
JosJuice 118d056410 FrameDump: Re-add call to av_register_all
This was removed in 4902146329.
We still need this for the ffmpeg version we're using on Windows.
2020-11-22 00:11:23 +01:00
Lioncash 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
Léo Lam 9efc81ae98
Fix variable shadowing warnings 2020-11-21 02:08:09 +01:00
Léo Lam 7840f61524
Silence "missing switch cases" warnings 2020-11-21 02:08:09 +01:00
Léo Lam 6ab1ab1f12
Fix -Wmaybe-uninitialized warnings 2020-11-21 02:08:09 +01:00
Léo Lam 82f1e6204d
Fix -Wsign-compare warnings 2020-11-21 02:08:09 +01:00
Léo Lam 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
Léo Lam 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
Léo Lam 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
Stenzek d6ce8eef36 Software: Use same logic for colors as hardware backends 2020-11-20 15:54:06 -08:00
Stenzek 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
Léo Lam 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
JosJuice 115dedec63 Android: Fix default values for GC/Wii controller 1 2020-11-20 22:17:00 +01:00
JosJuice 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
JosJuice 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
JosJuice 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
JosJuice e63b00e562 Fix translatable strings which contain non-positional arguments 2020-11-20 20:24:30 +01:00
Léo Lam f82145d9dd
EXI_DeviceMemoryCard: Use std::array 2020-11-20 19:41:23 +01:00
Léo Lam f81062f561
EXI_DeviceMemoryCard: Use enum class for Command 2020-11-20 19:38:07 +01:00
Léo Lam b2f00be637
EXI_DeviceMemoryCard: Fix member variable names 2020-11-20 19:37:39 +01:00
Léo Lam 1f15119f80
EXI_DeviceMemoryCard: Use override rather than virtual 2020-11-20 19:36:34 +01:00
Léo Lam 279197b278
EXI_DeviceMemoryCard: Use more efficient overload of find_last_of 2020-11-20 19:36:34 +01:00
Léo Lam 4ad88ce2e4
EXI_DeviceMemoryCard: Clean up casts and implicit conversions 2020-11-20 19:36:33 +01:00
Léo Lam e144d20dd6
EXI_DeviceMemoryCard: Remove unused include 2020-11-20 18:51:16 +01:00
Léo Lam 2631243379
EXI_DeviceMemoryCard: Rename variables to follow our naming conventions 2020-11-20 18:51:16 +01:00
JosJuice 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
Léo Lam 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
Léo Lam 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
Léo Lam 88cc1b7c8a
DSP: Fix one DEBUG_LOG call 2020-11-20 16:21:05 +01:00
Lioncash 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
Léo Lam 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
Jonathan Marek 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
Léo Lam 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
Dentomologist 7ded075561 DolphinQt: Add Show/Hide All options to gamelist region menu 2020-11-19 20:39:49 -08:00
Léo Lam 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
Léo Lam 30bffca5c3
Merge pull request #9193 from JosJuice/android-clear-motioncontrolsenabled
Android: Re-add motionControlsEnabled to clearWiimoteNewIniLinkedPreferences
2020-11-20 02:37:51 +01:00
Léo Lam 7f7fd4d8d3
Merge pull request #9220 from jordan-woyak/ext-crypto
WiimoteEmu: Implement extension encryption edge case.
2020-11-20 02:28:17 +01:00
Léo Lam 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
Léo Lam 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
Léo Lam 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
Lioncash 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
Léo Lam e3247b567d
Merge pull request #9185 from Losuc/skipEFBaccessHotkey
Add a Skip EFB Access Hotkey
2020-11-19 17:28:45 +01:00
Léo Lam dde6090e98
Common/MsgHandler: Add compile-time format string checks 2020-11-19 17:09:24 +01:00
Léo Lam 62eeb05519
Common: Validate the number of {} fields in format strings
Unfortunately, {fmt} allows passing too many arguments to a format call
without raising any runtime or compile-time error [1].

As this is a common source of bugs since we started migrating to {fmt},
this commit adds some custom logic to validate the number of
replacement fields in format strings in addition to {fmt}'s own checks.

[1] https://github.com/fmtlib/fmt/issues/492
2020-11-19 17:09:24 +01:00
Léo Lam 47c91696ee
Common/Log: Check format strings
Helps with catching incorrect format strings.

PanicAlertFmt already uses FMT_STRING and fmt::make_args_checked.
2020-11-19 17:09:24 +01:00
Admiral H. Curtiss 83c235b7cb WiiUtils: Create Wii Shop log files when installing a WAD.
Fixes https://bugs.dolphin-emu.org/issues/12269
2020-11-19 03:26:27 +01:00
Léo Lam 4eecb8fd11
Merge pull request #9248 from lioncash/video-fmt
VideoCommon: Migrate over to fmt
2020-11-18 11:10:48 +01:00
Lioncash 3d9b2aa005 VideoCommon: Migrate over to fmt
Migrates off the printf-based formatting where applicable.
2020-11-17 21:23:58 -05:00
Léo Lam eb1581bbcc
Merge pull request #9246 from JosJuice/translation-eot
DolphinQt: Don't return 0x04 bytes from tr
2020-11-18 02:31:13 +01:00
Léo Lam 31d7be521c
Merge pull request #7714 from cristian64/avoid_leaking_gamelistmodel
DolphinQt: Avoid leaking the GameListModel instance to gracefully shutdown the GameTracker and prevent a crash on exit
2020-11-18 02:14:51 +01:00
Léo Lam 0339889806
Merge pull request #9251 from sepalani/sockopt
IP/Top: Add missing sockopt
2020-11-18 02:10:37 +01:00
Léo Lam b8bc6c3c86
Merge pull request #9256 from JosJuice/android-keep
Android: Add @Keep annotation to things accessed using JNI
2020-11-18 01:01:34 +01:00
JosJuice 52c615f1b1 Remove a redundant i18n comment 2020-11-17 18:23:27 +01:00
JosJuice a8d385c705 Android: Add @Keep annotation to things accessed using JNI
This acts as a hint to both people and automated tools
that a variable or method shouldn't be renamed or removed.
2020-11-17 14:11:51 +01:00
JosJuice 9a01c3fb9f Use positional arguments in all translatable fmt strings
We want to use positional arguments in translatable strings
that have more than one argument so that translators can change
the order of them, but the question is: Should we also use
positional arguments in translatable strings with only one
argument? I think it makes most sense that way, partially
so that translators don't even have to be aware of the
non-positional syntax and partially because "translatable
strings use positional arguments" is an easier rule for us
to remember than "transitional strings which have more than
one argument use positional arguments". But let me know if
you have a different opinion.
2020-11-16 13:28:11 +01:00
Dentomologist 6dcf7643e5 Fix updater not always cleaning up temp directory
Updater was only deleting TempUpdate folder when an error occured.
2020-11-13 12:25:53 -08:00
JosJuice 53da97208a DolphinQt: Don't return 0x04 bytes from tr
tr calls with more than one argument would have a 0x04 byte
in the returned string when no translation was found
(which always is the case when using Dolphin in English).
2020-11-12 19:44:44 +01:00
Léo Lam 8a621c2d5e
Merge pull request #9236 from lioncash/log-backend
VideoBackends: Migrate logging over to fmt
2020-11-12 14:51:28 +01:00
Léo Lam ec5313fe24
Merge pull request #9204 from fbastos1/master
fix emulator issue #12139
2020-11-12 14:43:35 +01:00
Lioncash d8e1921b57 InputCommon: Migrate over to fmt-capable panic alerts
Continues the migration over to fmt.
2020-11-12 02:29:26 -05:00
LC 93212049ac
Merge pull request #9242 from lioncash/disc-panic
DiscIO: Make use of fmt-capable panic alerts
2020-11-12 02:22:21 -05:00
JosJuice 161f8c3fad Android: Warn when path in config is unavailable
Content URIs stop working if Dolphin loses permissions,
which happens for instance when reinstalling Dolphin.
2020-11-11 18:56:15 +01:00
JosJuice 9e3e325add
Merge pull request #9243 from JosJuice/android-input-overlay-null
Android: Add null check for InputOverlay
2020-11-11 11:22:41 +01:00
JosJuice 32ad2dcec3 Android: Add null check for InputOverlay
Hopefully fixes https://bugs.dolphin-emu.org/issues/12316.
2020-11-11 10:38:49 +01:00
Lioncash 689eec5304 DiscIO: Make use of fmt-capable panic alerts
Migrates the DiscIO code over to fmt.
2020-11-11 01:09:42 -05:00
LC ae83685b0b
Merge pull request #9237 from lioncash/msghandler
Common/MsgHandler: Add fmt-capable variants of the alert macros
2020-11-11 00:34:45 -05:00
altimumdelta f44b13ffcd FrameDump Logging: Separate log type and migrate to fmt 2020-11-10 17:17:43 +01:00
LC 0a2564a89d
Merge pull request #9234 from lioncash/rename-fmt
ShaderGenCommon: Rename WriteFmt() to Write()
2020-11-09 22:08:42 -05:00
JosJuice ff4b7ca7f4 Remove Android-specific settings from UISettings.cpp
They are unused, since there is no C++ code that touches
these settings. See the discussion in PR 9152, which is
a PR that adds a lot more Android-specific settings.
2020-11-09 21:41:00 +01:00
JosJuice e260f9815c Android: Move orientation setting to main settings screen
I moved it from the main settings screen to the in-game menu
in PR 8439 so that it could be changed while a game is running,
but now that the main settings can be accessed while a game is
running, there's no reason to not put it in the main settings.

https://bugs.dolphin-emu.org/issues/12067
2020-11-09 21:41:00 +01:00
Lioncash 7b21f7af2e Common/MsgHandler: Add fmt-capable variants of the alert macros
Adds an interface that uses fmt under the hood, which is much more
flexible than printf, particularly for localization purposes, given fmt
supports positional formatters in a cross-platform manner out of the box
with no configuration necessary.
2020-11-09 08:48:17 -05:00
LC 43e2f0e88f
Merge pull request #9235 from lioncash/ui-log
UICommon: Migrate logging over to fmt
2020-11-09 07:28:28 -05:00
JosJuice 8181a7b3dd Android: Remove unnecessary ANativeWindow_release call
This is already handled by SurfaceDestroyed. In the worst case,
the extra code could even race with SurfaceDestroyed if they
are triggered at the same time, but this is highly improbable.
2020-11-09 10:38:50 +01:00
JosJuice d982afd1ef Android: Fix alert messages when EmulationActivity is being destroyed
The previous commit made this easy to reproduce when launching
an invalid disc image with the phone rotated incorrectly.
2020-11-09 10:38:50 +01:00
JosJuice ee52f465b1 Android: Fix rotating EmulationActivity after boot fails
Time for yet another new iteration of working around the
"surface destruction during boot" problem...
This time, the strategy is to use a mutex in MainAndroid.cpp.
2020-11-09 10:38:49 +01:00
JosJuice d06830b274 Android: Only show emulation menu toast if boot succeeds 2020-11-09 10:33:53 +01:00
JosJuice 0280f3557c Android: Finish EmulationActivity from C++
This makes EmulationActivity automatically close if booting
fails, and lets us get rid of s_emulation_end_event.
2020-11-09 10:33:52 +01:00
Lioncash 21dd7a8ebb Vulkan: Migrate logging over to fmt
Migrates the vulkan backend over to the fmt-capable logger.
2020-11-09 03:26:16 -05:00
Lioncash 23a8baa605 Software: Migrate logging over to fmt
Migrates the software backend over to the fmt-capable logger.
2020-11-09 03:14:01 -05:00
Lioncash 413d64e7fc OpenGL: Migrate logging over to fmt
Migrates over to the fmt-capable logger.
2020-11-09 03:09:09 -05:00
Lioncash 4d9a7c7a54 D3DCommon: Migrate logging over to fmt
Migrates the logging over to the fmt-capable logger.
2020-11-09 03:03:26 -05:00
Lioncash 2345d5f98d D3D: Migrate logging over to fmt
Migrates the logging over to the fmt-capable logger.
2020-11-09 03:02:00 -05:00
Lioncash d7834bd6b4 D3D12: Migrate logging over to fmt
Migrates the logging over to the fmt-capable logger.
2020-11-09 02:59:51 -05:00
Lioncash 52f2fadb36 UICommon: Migrate logging over to fmt
A very simple change that continues the migration of the logs over to
fmt.
2020-11-09 02:39:55 -05:00
Lioncash a5b28f1f07 ShaderGenCommon: Rename WriteFmt() to Write()
Now that we've converted all of the shader generators over to using fmt,
we can drop the old Write() member function and perform a rename
operation on the WriteFmt() to turn it into the new Write() function.

All changes within this are the removal of a <cstdarg> header, since the
previous printf-based Write() required it, and renaming. No functional
changes are made at all.
2020-11-09 02:31:49 -05:00
LC a9ef7e0e43
Merge pull request #9225 from JosJuice/android-convertfragment-path
Android: Rename path variable in ConvertFragment
2020-11-09 02:16:59 -05:00
LC db83c7ec8d
Merge pull request #9227 from JosJuice/android-menu-scrollbar
Android: Make scrollbar for in-game menu always visible
2020-11-09 02:16:34 -05:00
LC 98726400bc
Merge pull request #9230 from JosJuice/android-savesettings-onstop
Android: Call saveSettings in EmulationActivity.onStop
2020-11-09 02:15:21 -05:00
LC 418f9faa9d
Merge pull request #9228 from JosJuice/android-jclass
Android: Fix jobject/jclass warnings
2020-11-09 02:15:04 -05:00
LC 766fab2561
Merge pull request #9231 from Ebola16/ASW
Android: Remove unnecessary WrongConstant warning suppression
2020-11-09 02:14:26 -05:00
LC add2b44eb7
Merge pull request #9197 from lioncash/uber-pixel
UberShaderPixel: Migrate over to fmt
2020-11-09 02:13:57 -05:00
JosJuice 6df543fbc9 Android: Catch SecurityException in ContentHandler 2020-11-08 23:05:34 +01:00
JosJuice 713d309386 Android: Call notifyItemChanged after file picker 2020-11-08 23:05:33 +01:00
JosJuice 62e6bedd25 Android: Show warning after picking file with wrong extension 2020-11-08 23:05:31 +01:00
JosJuice 73f013e3cc Android: Use storage access framework for custom SD card paths
This is part of my efforts to add support for scoped storage.
2020-11-08 17:51:59 +01:00
altimumdelta 77dc289517 CPUDetect: Indicate slow PDEP/PEXT only for Zen1/+/2 (Family 23) 2020-11-08 14:27:24 +01:00
Admiral H. Curtiss cae741584b InputCommon: Return error, if any, from ControlReference::SetExpression(). 2020-11-08 01:04:33 +01:00
JosJuice e4793cfb39 Android: Don't name unused JNIEnv/jobject/jclass parameters 2020-11-07 12:08:48 +01:00
JosJuice 57dc54144d Android: Fix jobject/jclass warnings
Static methods use jclass, and non-static methods use jobject.
2020-11-07 12:06:57 +01:00
Ryan Meredith cd52da959c Android: Remove unnecessary WrongConstant warning suppression 2020-11-07 01:35:59 -05:00
JosJuice a1a4d12b62 Android: Call saveSettings in EmulationActivity.onStop
I didn't realize that onSaveInstanceState doesn't get called
when finishing the activity.
2020-11-06 22:40:29 +01:00
JosJuice 2acd3abe35
Merge pull request #9223 from Ebola16/D
Android: Suppress warnings in EmulationActivity
2020-11-06 19:57:06 +01:00
JosJuice 5afda5efe3
Merge pull request #9209 from Ebola16/AIRSDS
Android: Update IR sensitivity default values
2020-11-06 19:56:53 +01:00
JosJuice 70df5446d3 Android: Make the handling of SAF open modes more robust 2020-11-06 17:40:03 +01:00
JosJuice b6e236ef86 Android: Make scrollbar for in-game menu always visible
Some users aren't noticing that the in-game menu can be scrolled.
I hope this will help with that, though I'm not sure by how much.
2020-11-06 11:40:38 +01:00
JosJuice a348efe947 Fix dereferencing nullptr BootParameters 2020-11-06 09:34:53 +01:00
JosJuice 56122f38bb Android: Rename path variable in ConvertFragment
Not sure why I named it path, because it isn't a path.
2020-11-05 18:16:07 +01:00
Sepalani 4e32ec35a7 IP/Top: Add missing sockopt 2020-11-05 19:51:20 +04:00
Ryan Meredith 0a239cc1bd Android: Suppress warnings in EmulationActivity 2020-11-04 20:34:25 -05:00
JosJuice 28aa04312c Common/LinearDiskCache: Replace std::fstream with File::IOFile
File::IOFile is better suited to this type of task.
Split out from a future PR.
2020-11-05 00:31:17 +01:00
Jordan Woyak a9c643e698 WiimoteEmu: Implement extension encryption edge case. 2020-11-04 15:22:06 -06:00
Markus Wick 069840fb7e
Merge pull request #9218 from JosJuice/aarch64-hle-hooks
JitArm64: Implement HLE function hooking
2020-11-04 10:29:37 +01:00
Jordan Woyak 3cd4c56645
Merge pull request #9203 from nick-michael/virtual-notches
Logic & UI for "Virtual Notches"
2020-11-03 17:10:54 -06:00
Nick Michael 55dd3d7337 Virtual Notch settings and UI for octagonal stick 2020-11-03 22:06:27 +00:00
Jordan Woyak d2f80a4595
Merge pull request #9138 from martymac/VK_NULL_HANDLE-fix
Fix build on FreeBSD i386 - nullptr vs VK_NULL_HANDLE
2020-11-03 08:28:11 -06:00
JosJuice fe986b6161 JitArm64: Implement HLE function hooking
Closely based on the x86-64 implementation.
Fixes https://bugs.dolphin-emu.org/issues/10965.
2020-11-03 09:48:22 +01:00
Ganael Laplanche d456e2e391 Resolve VkDeviceMemory/nullptr type mismatch to fix build on FreeBSD i386 2020-11-03 07:47:43 +01:00
LC d5c0a9a185
Merge pull request #9215 from JosJuice/android-pointer-portrait
Android/InputOverlayPointer: Don't assume surface covers whole screen
2020-11-02 18:05:47 -05:00
LC 4e2875eec3
Merge pull request #9217 from JosJuice/android-touch-checks
Android: Remove some touchscreen checks from EmulationActivity
2020-11-02 18:05:15 -05:00
Léo Lam cbaf8f82ec
Merge pull request #9214 from OatmealDome/macos-bind
Top: Set port when connecting a socket to find the default interface
2020-11-02 22:17:38 +01:00
Léo Lam 5b9cd83137
Merge pull request #8758 from sepalani/so-shutdown
Socket: Abort pending operations on shutdown
2020-11-02 21:52:28 +01:00
OatmealDome dd688f4eb0 Top: Set port when connecting a socket to find the default interface 2020-11-02 13:27:38 -05:00
JosJuice 8123263631 Android: Remove some touchscreen checks from EmulationActivity
It's better to directly check whether we have an InputOverlay
than to check a proxy for it.
2020-11-02 11:05:21 +01:00
JosJuice f6ef6a317d Android: Don't reset savestate time on load 2020-11-02 10:47:39 +01:00
JosJuice a66afc864f Android/InputOverlayPointer: Don't assume surface covers whole screen
This assumption is false both in portrait mode (where it only
covers the top half of the screen) and when using two apps at once.

Fixes https://bugs.dolphin-emu.org/issues/12307.
2020-11-02 10:23:57 +01:00
JosJuice 4bb0ac918b Simplify Arm64GPRCache::Flush
`flush = cond ? flush : true` makes little sense when `flush`
is always true at that point.
2020-11-01 19:48:57 +01:00
Losucaru 407ef8b596 Add a Skip EFB Access from CPU Hotkey 2020-10-29 21:03:06 -03:00
Ryan Meredith 9999cf05f3 Android: Update IR sensitivity default values 2020-10-29 17:58:16 -04:00
Léo Lam f665ddae51
Merge pull request #9202 from WamWooWam/patch-http-requests
Fix logger related crash when HTTP response is empty.
2020-10-29 22:07:24 +01:00
Léo Lam 650638c069
Merge pull request #9091 from shuffle2/pch
Add some files to pch
2020-10-29 21:29:28 +01:00
Thomas May 72e1131123
Common: Fix logger related crash when HTTP response is empty 2020-10-29 21:20:59 +01:00
Felipe d7fa75ef64 modify file export to create folder in OS when explicitly extracting a directory 2020-10-29 15:20:46 -04:00
LC fe727ed1d0
Merge pull request #9194 from leoetlino/offsetof-warning
IOS/USB: Fix -Winvalid-offset warnings
2020-10-29 12:53:11 -04:00
LC 3a5b921008
Merge pull request #9206 from Ebola16/SOMC
Android: Minor cleanups
2020-10-29 12:52:40 -04:00
LC 752b1048df
Merge pull request #9196 from Dentomologist/update-register-view-debug-font
DolphinQt: Update register view font when Debug Font changes
2020-10-29 12:52:02 -04:00
Dentomologist 5fe7528855 DolphinQt: Update register view font when Debug Font changes
Resolves https://bugs.dolphin-emu.org/issues/12261

Co-authored-by: Léo Lam <leo@leolam.fr>
2020-10-29 09:31:14 -07:00
JMC47 6a3a71cfd7
Merge pull request #9141 from Techjar/but-for-how-long
Re-enable GPU Texture Decoding under MoltenVK
2020-10-29 01:22:13 -04:00
Ryan Meredith cc53249591 Android: showMotionControlsOptions cleanup 2020-10-28 06:17:11 -04:00
Sergei Trofimovich 447de580ab Source/Core/Common/Config/Config.cpp: add missing <mutex> include
Noticed missing include as a build failure on gcc-11:

```
[ 15%] Building CXX object Source/Core/Common/CMakeFiles/common.dir/Config/Config.cpp.o
Source/Core/Common/Config/Config.cpp:23:24:
  error: 'unique_lock' in namespace 'std' does not name a template type
    23 | using WriteLock = std::unique_lock<std::shared_mutex>;
        |                        ^~~~~~~~~~~
Source/Core/Common/Config/Config.cpp:11:1:
  note: 'std::unique_lock' is defined in header '<mutex>';
  did you forget to '#include <mutex>'?
```

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2020-10-28 08:53:15 +00:00
Ryan Meredith df4cef44fd Android: Remove unused imports 2020-10-28 02:14:30 -04:00
LC 23e6980b7b
Merge pull request #9200 from shuffle2/nomoc
dolphinqt msbuild: do not moc TASSlider.h
2020-10-27 13:28:16 -04:00
Lioncash dc72edf0e2 UberShaderPixel: Migrate over to fmt
Completes the migration over to using the fmt-formatting WriteFmt
function. The next PR will rename all usages of WriteFmt, while
simultaneously getting rid of the old printf code.
2020-10-27 13:25:11 -04:00
Ryan Meredith 721f3bef69 Android: Fix initTouchPointer 2020-10-27 05:15:17 -04:00
Shawn Hoffman 2ebe02fd1b dolphinqt msbuild: do not moc TASSlider.h 2020-10-26 18:37:46 -07:00
Léo Lam 2d921da860
FileUtil: Fix format string
Fixes a recent regression: https://github.com/dolphin-emu/dolphin/pull/9187#issuecomment-716835091
2020-10-26 22:47:56 +01:00