Commit graph

510 commits

Author SHA1 Message Date
Jordan Woyak
8822479477
Merge pull request #13572 from tygyh/UnitTests-Remove-redundant-virtual-specifier
UnitTests: Remove redundant `virtual` specifier
2025-05-07 16:06:25 -05:00
Jordan Woyak
1c54583ae7
Merge pull request #13569 from tygyh/UnitTests-Use-constexpr
UnitTests: Use `constexpr`
2025-05-07 15:48:26 -05:00
Jordan Woyak
3e09d10123
Merge pull request #13571 from tygyh/VertexLoaderTest-Replace-std-tie-with-structured-bindings
VertexLoaderTest: Replace `std::tie` with structured bindings
2025-05-07 15:42:33 -05:00
Jordan Woyak
e3f7486ca7
Merge pull request #13567 from tygyh/UnitTests-Rename-lambda-parameters-which-hide-previous-declarations
UnitTests: Rename lambda parameters which hide previous declarations
2025-04-30 22:07:35 -05:00
Jordan Woyak
e8b63fe090 UnitTests: Add tests for WorkQueueThread. 2025-04-30 14:31:51 -05:00
Tilka
805307f432
Merge pull request #13451 from vyuuui/numeric_labels
Add numeric label support to assembler
2025-04-25 01:56:43 +01:00
Dr. Dystopia
d5314cbf48 UnitTests: Remove redundant virtual specifier 2025-04-23 14:33:14 +02:00
Dr. Dystopia
9926a9bd7f VertexLoaderTest: Replace std::tie with structured bindings 2025-04-23 13:11:17 +02:00
Dr. Dystopia
947bdea590 UnitTests: Use constexpr 2025-04-23 12:45:08 +02:00
Dr. Dystopia
6e6736c89f UnitTests: Rename lambda parameters which hide previous declarations 2025-04-23 08:15:10 +02:00
Jordan Woyak
af960651e8 Common: SPSCQueue cleanups and improvements. 2025-04-22 23:49:32 -05:00
vyuuui
e34907025d Add numeric label support to assembler 2025-03-24 18:59:32 -07:00
Niel Lebeck
e5e3944d55 Add a SplitPath unit test exercising Windows paths with drive letters 2025-01-29 22:07:19 -08:00
JosJuice
a9a720faa7
Merge pull request #13204 from LillyJadeKatrin/retroachievements-allow-batch
Gecko/AR Batch Approval
2025-01-20 23:35:17 +01:00
Sintendo
532e25be12 Fix several minor warnings 2025-01-06 11:31:39 +01:00
Niel Lebeck
bae4616dd1 Add some unit test coverage of the SplitPath function 2024-12-26 11:42:01 -08:00
LillyJadeKatrin
81fd763601 Add ReadVerified testing to PatchAllowlistTest
New code adds a test failure if there's a Patches/Gecko/AR_Retroachievements_Verified code that doesn't appear to actually exist in the file. This will catch if the allowed patch is formatted wrong, which I found happening several times already due to not realizing that the patch author's name would need to be omitted.
2024-12-10 00:15:13 -05:00
LillyJadeKatrin
81098433c8 Add Gecko and AR codes to the Patch Allowlist Test 2024-11-29 21:56:44 -05:00
mitaclaw
62d7166e6a GDBStub: Signal Breakpoint Changes To Host 2024-11-15 15:12:11 -08:00
JMC47
adafe1f347
Merge pull request #13147 from mitaclaw/jit-block-table-model-fix
JitBlockTableModel: Catch All Block Invalidating Events (I Hope)
2024-10-30 17:00:27 -04:00
JMC47
aa8226fa88
Merge pull request #12744 from nlebeck/settingshandler-split-2
Split `SettingsHandler` into separate reader and writer classes
2024-10-27 19:23:05 -04:00
mitaclaw
3d9c728910 Host: Rename JitCacheInvalidation
There are two hard problems in computer science...
2024-10-23 23:43:24 -07:00
Admiral H. Curtiss
c13c11d230
Add missing algorithm header in SettingsHandlerTest.cpp 2024-10-22 23:48:43 +02:00
Niel Lebeck
1d79991ec4 Split SettingsHandler into separate reader and writer classes 2024-10-21 20:20:15 -07:00
mitaclaw
9afd09598c DolphinQt: JIT Widget Refresh
Fulfilling a certain six-year-old todo.
2024-10-19 02:30:44 -07:00
mitaclaw
a0987829e5 JITs: Add GetMemoryStats Function
Using the updated rangeset library
2024-10-19 00:14:54 -07:00
mitaclaw
46f8fe0eaf JITs: Add EraseSingleBlock Function 2024-10-19 00:14:54 -07:00
JosJuice
07605bf67c
Merge pull request #13090 from mitaclaw/ranges-modernization-1-trivial
Ranges Algorithms Modernization - Trivial
2024-10-15 17:08:55 +02:00
Pokechu22
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
mitaclaw
249defa72b Modernize std::equal with ranges 2024-10-10 00:53:48 -07:00
mitaclaw
c46060e298 Modernize std::count with ranges 2024-10-10 00:53:48 -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
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
JosJuice
9594ce871d UnitTests: Remove MSBuild input/output tracking
Input/output tracking is intended to speed up incremental builds by
skipping a target when it doesn't need to be built. However, this seems
to be unreliable for UnitTests' AfterBuild target. Let's remove it.

It's still the case that UnitTests' AfterBuild target will be skipped if
UnitTests doesn't need to be rebuilt. (Note that UnitTests always needs
to be rebuilt if SCMRevGen changed.)

I haven't seen these problems with DolphinQt's rather similar
input/output tracking. This may be because DolphinQt's one also has the
exe file as an input/output.
2024-08-17 15:59:45 +02:00
JosJuice
f695a65aad UnitTests: Delete output Sys folder before copying to it
Like the previous commit, but for UnitTests. This time all operating
systems were affected.

I also made UnitTests.vcxproj use the same way of copying as
DolphinQt.vcxproj, just for consistency.
2024-08-16 21:09:10 +02:00
Tilka
07557e5d9c
Merge pull request #13015 from tygyh/Use-boolean-literals
Replace boolean constants with boolean literals
2024-08-16 20:04:45 +01:00
mitaclaw
9fa4eb9aab Use 'contains' method 2024-08-15 14:20:16 -07:00
Dr. Dystopia
309df9ed5b Replace boolean constants with boolean literals 2024-08-15 07:14:43 +02:00
Dr. Dystopia
15500198d8 Remove self-comparison 2024-08-14 14:50:15 +02:00
LillyJadeKatrin
ae87bf9af5
Add Unit Test for Patch Allowlist
This unit test compares ApprovedInis.json with the contents of the GameSettings folder to verify that every patch marked allowed for use with RetroAchievements has a hash in ApprovedInis.json. If not, that hash is reported in the test logs so that the hash may be updated more easily.
2024-07-07 21:29:03 +02:00
Admiral H. Curtiss
3f0f5b3b4e
Merge pull request #12815 from Dentomologist/enable_hotkeys_and_controllers_for_focused_tas_input
TAS Input: Enable emulator hotkeys and controller input when TAS Input window has focus
2024-06-15 15:25:40 +02:00
Admiral H. Curtiss
04c246d11f
Merge pull request #12837 from JosJuice/cmake-one-tests-binary
CMake: Put all unit tests in one binary
2024-06-10 22:47:45 +02:00
Niel Lebeck
9b0dcc83d1 Add some unit tests for the Rectangle class 2024-06-09 16:28:35 -07:00
JosJuice
f404edb4dc CMake: Put all unit tests in one binary
We currently have 32 different binaries containing unit tests. At least
when I build for Android, each one takes up over 200 MiB, and linking
them all increases my incremental build times by over a minute. I'd
like to change this for the sake of my productivity and disk space.

For reference, MSBuild is already putting all tests in a single binary.
2024-06-06 19:30:43 +02:00
Dentomologist
c3bdd05d2a TAS Input: Enable hotkeys and controller input when Input has focus
Enable emulator hotkeys and controller input (when that option is
enabled) when a TAS Input window has focus, as if it was the render
window instead.  This allows TASers to use frame advance and the like
without having to switch the focused window or disabling Hotkeys Require
Window Focus which also picks up keypresses while other apps are active.

Cursor updates are disabled when the TAS Input window has focus, as
otherwise the Wii IR widget (and anything else controlled by the mouse)
becomes unusable. The cursor continues to work normally when the render
window has focus.
2024-05-31 15:14:44 -07:00
JosJuice
2c91367429
Merge pull request #12737 from nlebeck/settingshandler-split
Eliminate SettingsHandler's `SetBytes` and `Reset` methods
2024-05-05 22:35:23 +02:00
Pokechu22
fbbfea8e8e Replace Common::BitCast with std::bit_cast 2024-05-03 18:43:51 -07:00
Niel Lebeck
36cdb4a544 Eliminate SettingsHandler's SetBytes and Reset methods
Also make the `Decrypt` method private.

As far as I can tell, the only motivation for exposing the `SetBytes`
and `Reset` methods is to allow `CBoot::SetupWiiMemory` to use the same
`SettingsHandler` instance to read settings data and then write it back.
It seems cleaner to just use two separate instances, and require a given
`SettingsHandler` instance to be used for either writing data to a
buffer or reading data from a buffer, but not both.

A natural next step is to split the `SettingsHandler` class into two
classes, one for writing data and one for reading data. I've deferred
that change for a future PR.
2024-04-23 17:19:01 -07:00
Guilherme Janczak
50dc0ffbce
port to OpenBSD 2024-04-22 20:50:47 +00:00
Niel Lebeck
d2b96736e0 Pass SettingsHandler buffers by const ref instead of rvalue ref 2024-04-12 18:50:21 -07:00