Commit Graph

31467 Commits

Author SHA1 Message Date
fed8220c39 Merge pull request #12712 from Dentomologist/remove_defined_out_code
Remove defined-out code
2024-10-19 19:36:19 +01:00
88cf25e915 Merge pull request #13114 from TryTwo/PR_Turbo_Mutes_Audio
Audio: Add option to temporarily mute audio when using turbo
2024-10-19 13:11:05 -04:00
e10821a847 Merge pull request #13104 from TellowKrinkle/MTLLogging
VideoBackends:Metal: Log file on failed pipeline compile
2024-10-19 13:03:52 -04:00
21f4319302 Merge pull request #13092 from mitaclaw/ranges-modernization-3-spaceship
Ranges Algorithms Modernization - Compare
2024-10-17 13:37:16 -04:00
3d7ae07dbf Merge pull request #13112 from Tilka/ioslog
IOS: log cIOS device checks as warnings, not errors
2024-10-17 12:17:47 -04:00
37ebb13ece DSPHLE/AXWii: fix wiimote audio in multiple games
Three bugs specific to older Wii games:
- The size difference between high-pass and biquad filter was not
  accounted for, causing wiimote related fields to be corrupted.
- Wiimote sample buffer pointers were advanced by 32 samples per
  millisecond instead of 6 samples. Usually hidden by the first bug.
- PB updates on Wii were being byte-swapped twice, but I've not actually
  found any Wii games that make use of PB updates.

This fixes wiimote audio in at least the following games:
- Excite Truck
- Ice Age 2: The Meltdown
- Kororinpa: Marble Mania
- Rapala Tournament Fishing
- Shrek the Third
- Super Monkey Ball: Banana Blitz
- Tiger Woods PGA Tour 07
- WarioWare: Smooth Moves (issue 11725)
- Wing Island
2024-10-15 18:54:41 +01:00
07605bf67c Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial
Ranges Algorithms Modernization - Trivial
2024-10-15 17:08:55 +02:00
a56a27a219 Audio: Add option to AudioPane to temporarily mute audio when emulation speed limit is disabled. 2024-10-15 03:05:19 -07:00
ef8b753cd7 Merge pull request #13115 from Tilka/syncfifo
VideoCommon: fix common opcode decoding errors
2024-10-14 21:26:08 -04:00
8e619b7302 Merge pull request #13127 from Tilka/dol001
Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
2024-10-12 22:05:21 +02:00
937bb2aa2e Cache normals in addition to binormals and tangents
Fixes LIT (https://bugs.dolphin-emu.org/issues/13635). The text does not include normals, but has lighting enabled. With the previous default of (0, 0, 0), lighting was always black (as dot(X, (0, 0, 0)) is always 0). It seems like the normal from the map in the background (0, 0, 1) is re-used.

LIT also has the vertex color enabled while vertex color is not specified, the same as SMS's debug cubes; the default MissingColorValue GameINI value of solid white seems to work correctly in this case.
2024-10-12 10:32:41 -07:00
09b163d814 Boot: don't error for NTSC IPL v1.2 of DOL-001 consoles
Checksum and descriptions from Redump.
2024-10-12 16:11:42 +01:00
2024d9f8ff Merge pull request #13126 from jordan-woyak/no-big-banner
DolphinQt: Restrict size of banner image in game properties info tab.
2024-10-12 09:40:20 +01:00
f635c71f28 Merge pull request #13125 from jordan-woyak/mapping-tab-bar-auto-hide
DolphinQt: Auto hide the mapping window tab bar.
2024-10-12 09:36:19 +01:00
9eb0429c2e Merge pull request #13124 from jordan-woyak/trigger-threshold-99
ControllerEmu: Change trigger threshold check to prevent user error.
2024-10-12 09:34:53 +01:00
23ba1c9133 DolphinQt: Restrict size of banner image in game properties info tab. 2024-10-11 22:56:33 -05:00
3d762c20ee DolphinQt: Auto hide the mapping window tab bar. 2024-10-11 22:03:05 -05:00
ccdce615ec ControllerEmu: Change trigger threshold check to >= instead of > and set minimum threshold in UI to 1% to prevent user error. 2024-10-11 19:38:38 -05:00
863889a34e DolphinQt/MappingIndicator: Use Settings::IsThemeDark instead of reimplementing it. 2024-10-11 18:50:32 -05:00
d6e10e586a Merge pull request #13076 from robxnano/dbus-inhibit
Linux: Use D-Bus to inhibit screensaver
2024-10-12 00:31:58 +01:00
f4e0a42cfc Merge pull request #13075 from robxnano/qt-color-scheme
Remove unneeded Win32 code for color scheme
2024-10-11 22:20:42 +01:00
8679d6c334 Merge pull request #13120 from Sintendo/mtspr
JitArm64: Optimize mtspr
2024-10-11 21:42:12 +01:00
d2a56b321f Merge pull request #13095 from mitaclaw/ranges-modernization-6-n
Ranges Algorithms Modernization - N
2024-10-11 20:28:06 +01:00
c1832d17f6 Merge pull request #13117 from mitaclaw/ranges-modernization-9-trivial-find
Ranges Algorithms Modernization - Find
2024-10-11 20:27:18 +01:00
203923b267 JitArm64_RegCache: Simplify std::find using ranges and projections 2024-10-11 12:09:00 -07:00
8b1975ab18 GraphicsMod: Simplify std::sort using ranges and projections 2024-10-11 12:08:22 -07:00
2edf6c6419 CoreTiming: Simplify algorithms using ranges and three-way comparison 2024-10-11 12:08:22 -07:00
e8d5fb89e4 C++20: Synthesize operator!= From operator==
The inequality operator is automatically generated by the compiler if `operator==` is defined.
2024-10-10 20:23:55 -07:00
d296b2613c Modernize std::adjacent_find with ranges 2024-10-10 15:28:11 -07:00
e4fb837f4b Modernize std::find_if with ranges
In BTEmu.cpp, `std::mem_fn` was not necessary for the predicate to compile.
2024-10-10 15:28:11 -07:00
6ca7e2856b Modernize std::find with ranges 2024-10-10 15:28:11 -07:00
a9a779a6b9 JitArm64_Integer: Use IsImm helper more 2024-10-10 22:21:31 +02:00
0d9984b299 JitArm64_SystemRegisters: Optimize mtspr
No need to materialize the immediate if it is zero, we can just use WZR.

Before:
mov    w27, #0x0                 ; =0
str    w27, [x29, #0x1178]

After:
str    wzr, [x29, #0x1178]
2024-10-10 22:16:28 +02:00
8304ae3361 JitArm64_RegCache: Add IsImm helper
Because checking if a register is a specific immediate is a rather
common operation.
2024-10-10 22:13:34 +02:00
e572081ac3 Modernize std::min_element with ranges 2024-10-10 00:53:48 -07:00
c99a0c25e0 Modernize std::max_element with ranges 2024-10-10 00:53:48 -07:00
88a1a5b4f2 Modernize std::set_intersection with ranges 2024-10-10 00:53:48 -07:00
728663bdc0 Modernize std::binary_search with ranges
In VolumeVerifier.cpp, constructing a `std::string_view` of the volume's GameID is unnecessary, as `std::`(`ranges::`)`binary_search` supports heterogeneous lookup. The usage in GameFile.cpp is a perfect example.
2024-10-10 00:53:48 -07:00
01d0bdf1bb Modernize std::is_sorted with ranges
In OGLConfig.cpp, `std::views::reverse` is used rather than sorting using `std::ranges::greater` in order to parallel other instances of reverse iteration in the function.
2024-10-10 00:53:48 -07:00
ebf7cebc32 Modernize std::sort with ranges 2024-10-10 00:53:48 -07:00
bcaf665d14 Modernize std::reverse_copy with ranges 2024-10-10 00:53:48 -07:00
78440ca335 Modernize std::reverse with ranges 2024-10-10 00:53:48 -07:00
9bd1dae41d Modernize std::fill with ranges
In DSPCore.cpp, there were two `std::fill` uses that could be simplified using `std::fill_n`. Due to their proximity with other `std::fill` algorithms being modernized with ranges, I chose to make these examples into the rare `std::ranges::fill_n`.
2024-10-10 00:53:48 -07:00
a7160c7b38 Modernize std::replace_if with ranges 2024-10-10 00:53:48 -07:00
0a80243a92 Modernize std::replace with ranges 2024-10-10 00:53:48 -07:00
72436a0d1f Modernize std::transform with ranges
In StringUtil.h, the lambdas wrapping `Common::ToLower(char)` and `Common::ToUpper(char)` were only necessary due to the function names being overloaded.
2024-10-10 00:53:48 -07:00
7ce170f138 Modernize std::copy with ranges 2024-10-10 00:53:48 -07:00
249defa72b Modernize std::equal with ranges 2024-10-10 00:53:48 -07:00
4cc5e1972a Modernize std::count_if with ranges 2024-10-10 00:53:48 -07:00
c46060e298 Modernize std::count with ranges 2024-10-10 00:53:48 -07:00