14162 Commits

Author SHA1 Message Date
mitaclaw
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
mitaclaw
6ca7e2856b Modernize std::find with ranges 2024-10-10 15:28:11 -07:00
Jules Blok
7db13d23c9
Merge pull request #13086 from Tilka/gameini
GameSettings: safe texture cache for "Winter Sports 3: The Great Tournament"
2024-10-09 02:06:51 +02:00
Pokechu22
de61430dae FifoPlayer: Set up additional BATs in Wii mode
The light LIT fifolog from https://bugs.dolphin-emu.org/issues/13635 has position data at physical address 11ae3180. This works fine when using the memory viewer in physical mode, but the corresponding virtual address (91ae3180) previously didn't show anything in effective mode. It works fine now though.

This shouldn't affect playback of fifologs as everything in there uses physical addresses; this only impacts the memory viewer.

This logic was copied from CBoot::SetupBAT.
2024-10-06 21:48:34 -07:00
JMC47
339f9311fb
Merge pull request #12918 from JosJuice/revert-revert-audit-get-state
Partially revert "Revert "Audit uses of IsRunning and GetState""
2024-10-06 11:26:06 -04:00
lycheefox
ad1109e191 Skylanders: Fix Head Rush (Nitro) 2024-10-05 22:14:17 -04:00
JosJuice
6798f63a2e Core: Include partition when calling GetGameTDBID for non-game partition
This problem was introduced in 8842a0f402ffe60a80ce7894bfd36afd039009fc
and is likely a copy-paste error.

Fixes the problem mentioned in the issue comment
https://bugs.dolphin-emu.org/issues/13640#note-2.
2024-10-05 13:04:50 +02:00
JosJuice
6ca2da53e8 Partially revert "Revert "Audit uses of IsRunning and GetState""
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a,
except for the changes in BaseConfigLoader.cpp, which caused the bug
that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917
contains an improved change to BaseConfigLoader.cpp, which can be merged
(or rejected) independently.

A few changes have also been made based on review comments.
2024-10-04 18:35:41 +02:00
Tillmann Karras
e455833ea4 Bluetooth: show vid:pid in error message 2024-10-02 21:50:25 +01:00
JMC47
122bce08de
Merge pull request #12953 from LillyJadeKatrin/retroachievements-fail-messaging
Achievements Fail Messaging
2024-10-02 14:50:21 -04:00
LillyJadeKatrin
2f40bc25ae Properly Notify when Achievements Login Fails 2024-10-01 18:03:46 -04:00
Tillmann Karras
a02cbc9b78 WII_IPC: rewrite multiply as 100_tbticks literal (NFC) 2024-10-01 01:42:16 +01:00
Tillmann Karras
b168a8092f Boot: write Apploader version into memory
When HLE-ing the apploader, this is necessary to avoid "Error #002"
errors. Homebrew doesn't care.
2024-09-29 03:57:44 +01:00
Tilka
61836e5d8e
Merge pull request #13077 from Dentomologist/graphicswindow_fix_first_opening_during_emulation_startup_crash
GraphicsWindow: Fix crash when opening for the first time during emulation startup
2024-09-27 05:38:37 +01:00
Dentomologist
2b82c34ea8 Core: Remove redundant call to PopulateBackendInfo
Remove the second of two calls to PopulateBackendInfo during emulation
startup. This call was originally the only one, but b214e0e added an
earlier call to handle the backend being changed by the GameINI.

The PR discussion doesn't explain why the original call was left in; I
suspect it was just overlooked.

As a bonus, this removes one of the extra copies of the "Video Info" On
Screen Display message at startup when using OpenGL.
2024-09-26 17:12:26 -07:00
mitaclaw
5f90673686 StringUtil: Remove JoinStrings
With 12 uses of `JoinStrings` in the codebase vs 36 uses of `fmt::join`, fmtlib's range adapter for string concatenation with delimiters is clearly the preferred option.
2024-09-22 21:09:36 -07:00
mitaclaw
671958f141 GeckoCode: Remove Dead Code 2024-09-21 15:33:40 -07:00
Tilka
af921685f7
Merge pull request #13035 from retroNUC/cheevo-hash
Add generation of rcheevos hash as an option in DolphinTool
2024-09-15 22:18:58 +01:00
retroNUC
a74b2a4dde Add generation of rcheevos hash to DolphinTool
Fixed coding standards issue

CalculateHash return string instead of using char array param
2024-09-15 15:52:04 +01:00
JosJuice
4eec061824
Merge pull request #12813 from Geotale/interpreter-subnormal-rounding
Proper Subnormal Rounding When Interpreting
2024-09-08 14:22:02 +02:00
JosJuice
0c1cd13b23
Merge pull request #12981 from Geotale/proper-integer-rounding
Improve Integer Rounding Accuracy
2024-09-08 12:09:58 +02:00
JosJuice
f9f832fa88
Merge pull request #13051 from mitaclaw/dead-config-code-2
SI_Device: Remove Dead Config Code
2024-09-07 13:40:34 +02:00
Tilka
2417545b63
Merge pull request #13052 from Tilka/ax
DSPHLE/AX: fix low-pass/biquad clipping
2024-09-07 11:36:06 +01:00
JMC47
efc395f7f4
Merge pull request #12977 from mitaclaw/branch-watch-tool-fixes-4
Branch Watch Tool: Refactors, Fixes, and Features
2024-09-04 19:36:24 -04:00
Tillmann Karras
eb54721475 DSPHLE/AX: fix low-pass/biquad clipping
The low-pass and biquad filters run in set40 mode where accessing ac#.m
returns the value of ac#.hm clamped to 16 bits.

This fixes the crackling in "Need for Speed: Nitro" (issue 13610).

Also make the lower bound match hardware (-0x8000 instead of -0x7FFF).
2024-09-04 22:33:31 +01:00
mitaclaw
e67e579b38 SI_Device: Remove Dead Config Code 2024-09-04 08:31:00 -07:00
Geotale
ffa680b15c Proper Subnormal Rounding When Interpreting
During 25-bit rounding, subnormals are "normalized"
This would normally mean that the exponent needs to be able to be <-1023
Instead, you can modify at what bit you round and get the same results!
This is done by finding the highest bit and shifting right the round bit

Co-Authored-By: JosJuice <josjuice@gmail.com>
2024-09-03 11:33:32 -05:00
Geotale
2f45391ca5 Improve Integer Rounding Accuracy
Changes integer rounding to more closely meet the documentation
The documentation explains to round before doing any bounds checks
All this really does is make sure some exception bits won't be set wrong
This depends on the rounding mode, fixing cases such as:
- Round to even, (0x7fffffff, 0x7fffffff.8)
- Round to down, (0x7fffffff, 0x80000000)

This change also uses some standard functions for rounding
Previously using them was casting to an s32 directly, now keeps the f64
RoundToIntegerMode introduced due to roundeven not being part of C++17

Finally, it can change a >0x7fffffff to >=0x80000000, done because:
- It looks nicer now with integers (I liked 0s)
- It gives ever so slightly better codegen on Aarch64

Co-Authored-By: JosJuice <josjuice@gmail.com>
2024-09-03 11:17:24 -05:00
mitaclaw
5a95c5dd14 CachedInterpreterEmitter: Fix std::memcpy UB
I wasn't aware that even with a size of zero, it's still not safe to pass a nullptr to `std::memcpy`. When `CachedInterpreterEmitter::PoisonCallback` is written, UB is happening.
2024-09-01 19:36:21 -07:00
mitaclaw
8f76a32be4 Branch Watch Tool: New Conditional Branch Inspection Tools
Invert conditions, invert decrement checks, and make conditional branches unconditional. USnapshotMetadata in prior versions of Dolphin is forward-compatible with these changes (tested on x86_64).
2024-08-31 15:37:34 -07:00
mitaclaw
8bdfdc88b2 Branch Watch Tool: Ignore Apploader Branch Hits Concurrency Fix
Also removed worthless `Start` and `Pause` helpers from `Core::BranchWatch`.
2024-08-31 15:37:34 -07:00
Tilka
a293abbfd0
Merge pull request #13044 from JosJuice/subfic-carry
Interpreter: Fix subfic carry calculation
2024-08-31 17:24:17 +01:00
JosJuice
ff75cc80aa Interpreter: Fix subfic carry calculation
This was accidentally using the instruction's output instead of the
instruction's input when the input and output registers were the same.
2024-08-31 17:24:55 +02:00
Admiral H. Curtiss
e1b1e4b4cf
Merge pull request #13031 from parona-source/libfmt-11
Add support for libfmt-11
2024-08-31 15:34:48 +02:00
Tillmann Karras
2669d0d8af AX: add analytics quirks for wiimote filters
I'm fairly sure the implementation is correct but I've not been able to
find a game that actually makes use of these filters.
2024-08-24 19:47:22 +01:00
Tillmann Karras
6946f17b8c AX: enable low-pass/biquad filtering of Wiimote audio 2024-08-24 16:31:59 +01:00
Tillmann Karras
9d2841be10 AX: add support for biquad filtering
This fixes e.g. the overly loud wind in "I SPY: Spooky Mansion".
2024-08-24 16:31:59 +01:00
JosJuice
f85c4413bd
Merge pull request #13009 from BryanJacobs/master
Graphics: Adapt aspect ratio when SBS/TAB 3D is used
2024-08-24 16:38:16 +02:00
mitaclaw
b6c20b715a BranchWatch: Don't Save Irrelevant Hits In Reduction Phase 2024-08-24 00:29:52 -07:00
Tilka
1f5e100a0e
Merge pull request #13033 from mitaclaw/remove-common-fill
TypeUtils: Remove Common::Fill
2024-08-23 09:16:13 +01:00
lycheefox
1108ccd62f Skylanders: Fix Hot Head (Sparkle) 2024-08-22 20:57:18 -04:00
mitaclaw
76a998ecf9 TypeUtils: Remove Common::Fill
This temporary solution is no longer needed.
2024-08-22 17:29:26 -07:00
Alfred Wingate
d7c93d87be
Add support for libfmt-11
fmt::join was moved into fmt/ranges.h

Signed-off-by: Alfred Wingate <parona@protonmail.com>
2024-08-22 16:54:35 +03:00
Bryan Jacobs
7ec6d116e8 Graphics: Adapt aspect ratio when SBS/TAB 3D is used
Adds support for choosing to present the full resolution
independently to each eye when using side-by-side or
top-and-bottom 3D.
2024-08-22 07:11:43 +10:00
OatmealDome
2058439598
Merge pull request #13028 from lycheefox/skylanders
Skylanders: Add Mobile Hot Streak and fix typo
2024-08-21 11:44:22 -04:00
lycheefox
b71474ec64 Skylanders: Add Mobile Hot Streak and fix typo 2024-08-20 21:45:36 -04:00
Dr. Dystopia
9602f36248 Remove redundant semicolons 2024-08-20 14:59:54 +02:00
Tillmann Karras
f358b67205 GameSettings: remove patches for "Wallace & Gromit in Project Zoo"
These patches were added in bde9a459cdd7a465cf9c9e275bd4562bb072ae7e
and enabled by default in 36ecfdd6b597b0264625d06320a5308147bbc55b.
They allowed the game to run in Dolphin but disabled dynamic shadows.
The game adds 4 to the start address of otherwise valid display lists
for no obvious reason. Now that Dolphin forces 32-byte alignment these
patches are no longer needed.
2024-08-18 05:00:38 +01:00
Tilka
36414bdb55
Merge pull request #12773 from Tilka/zelda_filters
DSPHLE/Zelda: Add two missing filters
2024-08-18 04:52:31 +01:00
Tilka
5f39db5876
Merge pull request #13008 from noahpistilli/kd-get-time-triggers
IOS/KD: Implement Get Time Triggers
2024-08-17 04:19:23 +01:00