Jordan Woyak
5ff2af9b6a
VideoInterface: Cleanup and minor fix in Update.
2025-03-04 20:39:14 -06:00
Jordan Woyak
16d75eadb5
VideoInterface: Update m_ticks_last_line_start from the event's ticks
...
value rather than the potentially "cycles late" value.
2025-03-04 15:33:51 -06:00
Jordan Woyak
b28dcf3687
VideoInterface: Adjust even-field to match odd-field pacing when PSB values differ.
2025-03-04 04:52:24 -06:00
Admiral H. Curtiss
3c5da38177
Merge pull request #13390 from jordan-woyak/ciface-clock
...
InputCommon: Use Clock from CommonTypes.
2025-03-03 22:29:25 +01:00
Jordan Woyak
e217d6c939
InputCommon: Use Clock from CommonTypes.
2025-03-02 15:42:26 -06:00
iwubcode
6dedf11c96
VideoCommon: mark 'WriteTexCoordTransforms' as 'static'
2025-03-02 11:27:54 -06:00
Jordan Woyak
5d16c51963
DolphinQt: Don't recommend v-sync for optimal frame pacing in tool-tip.
2025-03-02 05:43:00 -06:00
JMC47
65726b7b5f
Merge pull request #13374 from Dentomologist/performancemetrics_clamping_resetting_and_add_setting
...
PerformanceMetrics: Add clamping, resetting on resize, and setting
2025-02-26 19:44:13 -05:00
Jordan Woyak
3f92f86de1
WiimoteEmu: Add a static_assert in DesiredExtensionState to keep variant alternative order consistent.
2025-02-25 17:22:59 -06:00
Jordan Woyak
0d0734e083
WiimoteEmu: Clean up variant handling in DesiredExtensionState.
2025-02-25 17:22:59 -06:00
Jordan Woyak
1d481a395a
VariantUtil: Introduce WithVariantAlternative to dynamically construct and visit a variant alternative.
2025-02-25 17:22:59 -06:00
Tillmann Karras
4e460a7968
UberShaderPixel: use unswapped texture samples for depth
2025-02-25 18:45:01 +00:00
Tillmann Karras
359fb51d64
PixelShaderGen: use unswapped texture samples for depth
2025-02-25 18:45:01 +00:00
Tillmann Karras
7abb9e7974
Sofware/Tev: use unswapped texture samples for depth
2025-02-25 18:45:01 +00:00
Tilka
030892abd9
Merge pull request #13369 from Tilka/qt_warnings
...
CMake: disable Qt deprecation warnings we can't fix
2025-02-25 18:32:28 +00:00
JosJuice
89277ee52e
Merge pull request #13376 from jordan-woyak/serialized-wm-irext
...
WiimoteEmu: Make SerializedWiimoteState store camera points as IRExtended instead of custom layout.
2025-02-25 17:49:51 +01:00
Joshua Vandaële
0a83783fae
Migrate to SFML>=3.0.0
2025-02-25 06:42:13 +01:00
Jordan Woyak
104a25fe0d
DolphinQt: Fix MappingButton not updating text on middle-click clear.
2025-02-24 21:17:41 -06:00
Jordan Woyak
e5b55bfc06
WiimoteEmu: Make SerializedWiimoteState store camera points as IRExtended instead of custom layout.
2025-02-24 16:29:07 -06:00
Dentomologist
0645a267d9
PerformanceMetrics: Add clamping, resetting on resize, and setting
...
Clamp overlays to the render window (with some padding), reset their
positions when the render window changes sizes, and add a setting to
enable moving the overlays (off by default, .ini only for now).
2025-02-24 13:17:57 -08:00
JosJuice
7679b0e955
Merge pull request #13370 from JosJuice/i18n-pack-sd
...
Common: Make SD pack/unpack strings translatable
2025-02-24 18:57:55 +01:00
Tilka
4d1737e423
Merge pull request #13371 from Florin9doi/prusb1
...
USB: Remove unused parameters
2025-02-24 05:20:30 +00:00
JosJuice
0f83598493
Common: Make SD pack/unpack strings translatable
...
Regression from adc5b81
.
2025-02-23 23:09:24 +01:00
Florin9doi
7afc3df76f
USB: Infinity window icon
2025-02-24 00:08:42 +02:00
Florin9doi
51dc3ff466
USB: Remove unused params
2025-02-24 00:07:28 +02:00
Thales MG
97bc28aac4
feat(linux): allow configuring real wiimotes with known bluetooth addresses
...
This adds the option to configure real Wiimotes by specifying their Bluetooth addresses in
the configuration file. This allows off-brand Wiimotes to work without using the
Bluetooth Passthrough option, if you know their Bluetooth addresses beforehand.
Despite correctly setting the LAP to `0x9e8b00` in `WiimoteScannerLinux::FindWiimotes`
while scanning, which is indeed enough to make off-brand / knock-off Wiimotes respond to a
Bluetooth Inquiry, some (several? all?) bluetooth adapters seem to override and ignore
this given LAP value when performing the Inquiry, and actually use the `0x9e8b33` value as
if a null pointer have been given to `hci_inquiry`, as inspection of USB/Bluetooth packets
by Wireshark indicate. Off-brand Wiimotes don't respond to inquiries with this LAP.
If one happens to know the Bluetooth address of their Wiimote (for example, by checking
`BluetoothPassthrough.LinkKeys` after using Bluetooth Passthrough, or other means such as
directly using `libusb` to force the adapter to use the correct LAP in the Inquiry), then
it's enough to add those addresses to the vector of found Wiimotes.
Since this a niche use case and I only happen to know and have tested in Linux, this
change only affects the `WiimoteScannerLinux` backend. It's likely that it could be added
to other backends, but I'm unfamiliar with these.
If no addresses are given or this config section does not exist, behavior is completely
unchanged.
2025-02-23 18:27:48 -03:00
Tillmann Karras
a8363854ee
CMake: disable Qt deprecation warnings we can't fix
2025-02-23 14:18:05 +00:00
JMC47
6d9c887a21
Merge pull request #13365 from jordan-woyak/si-disco
...
SI: Set NOREP, ERRSTAT, and ERRLATCH when GetData returns false.
2025-02-23 01:23:39 -05:00
JMC47
aabde71484
Merge pull request #13348 from jordan-woyak/movie-SerializedWiimoteState
...
Core/Movie: Make DTM Wii Remote data use SerializedWiimoteState.
2025-02-22 14:08:41 -05:00
Jordan Woyak
8431c23cbc
SI: Set NOREP, ERRSTAT, and ERRLATCH when GetData returns false.
2025-02-22 09:25:57 -06:00
JMC47
43a6ec5bbd
Merge pull request #13353 from iwubcode/custom_shader_overhaul_vertex_texcoord
...
VideoCommon: move texcoord calculations to accessible functions in VertexShaderGen
2025-02-22 02:32:47 -05:00
Joshua Vandaële
5b4d4ca5eb
Fix multiple minor warnings
...
- ExpressionParser.cpp: `-Wmissing-declarations`
- AchievementManager.cpp: `-Wsign-compare`
- SI.cpp: `-Warray-bounds=`
- NetPlayClient.cpp: `-Wdangling-reference`
2025-02-21 19:17:29 +01:00
JosJuice
af064c57de
Merge pull request #13219 from Tilka/cp_cleanup
...
VideoCommon: drop CP MMIO registers that were probably added in the wrong place
2025-02-17 21:27:19 +01:00
Aneesh Maganti
fffb499da2
Core/HW: Add time tracking thread in CPU manager
...
Introduce method to track the time played for a game via time differences and TimePlayed methods. Threads are synchronized via Common::Event.
2025-02-16 23:15:12 +01:00
Aneesh Maganti
3c44fe592b
DolphinQt: Add "Time Played" column to game list view
...
Shows minutes/hours in the list view and handles column visibility.
2025-02-16 23:15:11 +01:00
Aneesh Maganti
276f043db8
DolphinQt: Create toggle for enabling/disabling time tracking
...
Introduce a new "Enable Time Tracking" checkbox in the InterfacePane UI. The checkbox is dynamically enabled or disabled based on the emulation state, preventing changes while emulation is active.
2025-02-16 23:15:11 +01:00
Aneesh Maganti
a9ebedbf7d
Core/Config: Add settings for time tracking
2025-02-16 23:15:11 +01:00
Aneesh Maganti
892d6e30df
Core/ConfigManager: Add locks for metadata methods
...
All metadata access methods now acquire a lock on `m_metadata_lock` to prevent race conditions.
2025-02-16 23:15:11 +01:00
Aneesh Maganti
803241c64b
Core: Add TimePlayed class to track game playtime
...
Creates TimePlayed class and implemented constructors, AddTime, GetTimePlayed, and Reload methods. Updates CMakeLists.txt and DolphinLib.props as appropriate.
2025-02-16 23:15:11 +01:00
Admiral H. Curtiss
aced90de97
Merge pull request #13329 from noahpistilli/guard-startup-patches
...
Core: Check if msr.DR and msr.IR are valid at ApplyStartupPatches
2025-02-16 16:14:35 +01:00
JMC47
343007fa9e
Merge pull request #13343 from jordan-woyak/dark-theme-indicator-gate-colors
...
DolphinQt/Mapping: Adjust dark theme indicator gate color calculation.
2025-02-15 16:34:30 -05:00
Jordan Woyak
66624abb12
DolphinQt/Mapping: Clear and skip "Modifier" iterative input mappings when using
...
analog inputs.
2025-02-15 14:15:51 -06:00
Jordan Woyak
3189de6c7a
DolphinQt: Add setting to enable iterative input mappings.
2025-02-15 14:15:51 -06:00
JMC47
a8fae9b826
Merge pull request #13320 from jordan-woyak/detect-alternations
...
DolphinQt/Mapping: Add setting to enable waiting for alternate mappings.
2025-02-15 12:59:23 -05:00
JMC47
c360ea0d9d
Merge pull request #13344 from Tilka/dither
...
VideoCommon: simplify dither calculation
2025-02-15 00:32:14 -05:00
JMC47
0fc36bbfa9
Merge pull request #13341 from jordan-woyak/sd-convert-buttons-rename
...
DolphinQt: Rename the pack/unpack SD Card buttons.
2025-02-15 00:31:40 -05:00
JMC47
f9accfd4d6
Merge pull request #13324 from Sintendo/jitarm64-cmp-imm
...
JitArm64_Integer: cmp/cmpl optimizations
2025-02-15 00:30:34 -05:00
JMC47
ac2026dd6e
Merge pull request #13322 from Xphalnos/D3D_Update
...
VideoBackends: Use DXGI 1.6 and D3D11_4
2025-02-15 00:30:13 -05:00
iwubcode
1ce78dd9b4
VideoCommon: move texcoord calculations to accessible functions in VertexShaderGen
2025-02-14 22:44:49 -06:00
Jordan Woyak
7a37d015b7
DolphinAnalytics/WiimoteEmu: Remove now-irrelevant game quirk check.
2025-02-13 17:39:54 -06:00
Jordan Woyak
59d25aceb6
WiimoteEmu: Removed unused Extension encryption key getter.
2025-02-12 23:42:44 -06:00
Jordan Woyak
83d4249838
Core/Movie: Make DTM Wii Remote data use SerializedWiimoteState.
2025-02-12 23:42:43 -06:00
Jordan Woyak
adc5b81c31
DolphinQt: Rename the pack/unpack SD Card buttons.
2025-02-12 13:30:48 -06:00
Tillmann Karras
5db6bd6054
VideoCommon: simplify dither calculation
...
This saves three instructions on AMD GPUs. Dunno about Nvidia.
2025-02-11 19:23:37 +00:00
Jordan Woyak
165e35ed5d
DolphinQt/Mapping: Adjust dark theme indicator gate color calculation.
2025-02-10 01:15:58 -06:00
Tillmann Karras
19d954eaea
VideoCommon: remove CP readonly field, it's now always false
2025-02-08 11:46:49 +00:00
Tillmann Karras
84e72c185a
VideoCommon: drop CP MMIO registers that were probably added in the wrong place
...
I think someone confused these with the actual token and bounding box
registers in PE, which were added later. In CP they never did anything
and it's suspicious that they have the same addresses as their PE
counterparts. On real hardware they always read as zero.
2025-02-08 11:46:49 +00:00
OatmealDome
c770e7c276
Merge pull request #13318 from sanjay900/dont-detach-macos
...
LibusbDevice: Don't detach kernel drivers on macOS
2025-02-08 01:01:58 -05:00
Dentomologist
363155b597
State: Increase Decompressing OSD message duration
...
Show the "Decompressing State..." message for 2 seconds, instead of the
half-second duration that caused it to be halfway faded out immediately.
2025-02-06 17:17:18 -08:00
Admiral H. Curtiss
c6be362a8c
Merge pull request #13334 from jordan-woyak/mplus-lround
...
WiimoteEmu/MotionPlus: Gyro data calculation cleanup.
2025-02-06 22:20:24 +01:00
Admiral H. Curtiss
b1f1d7d6a7
Merge pull request #13327 from jordan-woyak/input-expressions-compound-assignment
...
InputCommon/ExpressionParser: Add compound assignment operators.
2025-02-06 22:15:51 +01:00
Admiral H. Curtiss
05f217bd0b
Merge pull request #13330 from Dentomologist/performancemetrics_allow_moving_overlays
...
PerformanceMetrics: Allow users to move overlays
2025-02-06 21:56:57 +01:00
Admiral H. Curtiss
dcfb1361d2
Merge pull request #13223 from mitaclaw/branch-watch-tool-fixes-5
...
Branch Watch Tool: Refresh Context Menus OnEmulationStateChanged
2025-02-06 21:52:50 +01:00
JosJuice
db285b7c87
Merge pull request #13319 from hoogmin/infinite-style-fix
...
Refactor: Infinite loop in AsyncShaderCompiler according to style guidelines
2025-02-06 18:31:28 +01:00
Javier Martinez
7dec083af5
Refactor: Make loop non-infinite instead in AsyncShaderCompiler.
2025-02-05 20:06:59 -05:00
Admiral H. Curtiss
6ee08fb9db
Merge pull request #13302 from TryTwo/Breakpoints_Fix_Lag
...
Breakpoints: Fix lag when loading multiple memory breakpoints
2025-02-05 18:27:22 +01:00
TryTwo
bbf72e79f9
Breakpoints: Fix lag when adding or removing multiple memory breakpoints by only calling DBATUpdated() once.
2025-02-04 00:21:13 -07:00
Jordan Woyak
c857a7dd82
WiimoteEmu: Use a named constant instead of a magic number for speaker
...
data writes.
2025-02-03 19:52:38 -06:00
Jordan Woyak
857c93c529
WiimoteEmu/MotionPlus: Gyro data calculation cleanup.
2025-02-03 02:05:47 -06:00
Dentomologist
4b8e36cba9
PerformanceMetrics: Allow users to move overlays
...
Allow users to move the FPS, VPS, Speed, and Performance Graph overlays.
2025-02-02 19:40:01 -08:00
Sketch
4499718368
Core: Check if msr.DR or msr.IR are valid at ApplyStartupPatches
2025-02-02 17:27:16 -05:00
Dentomologist
f94e6cb73e
PerformanceMetrics: Call ImGui::End() unconditionally
...
Move ImGui::End() calls out of if(ImGui::Begin()) blocks.
Quoting from ImGui::Begin's function comment in imgui.cpp:
"You always need to call ImGui::End() even if false is returned."
In practice this didn't cause problems because the windows don't have
title bars and thus can't be collapsed, and so the block containing
::End would always run, but let's do it the right way.
2025-02-02 14:14:56 -08:00
Jordan Woyak
cdabd651aa
InputCommon/ExpressionParser: Add compound assignment operators.
2025-02-02 14:37:11 -06:00
Admiral H. Curtiss
f1fe32c93b
Merge pull request #13254 from brad0/openbsd_aarch64
...
ArmCPUDetect: Add OpenBSD support for elf_aux_info
2025-02-02 18:12:03 +01:00
Admiral H. Curtiss
77056ba7b7
Merge pull request #13208 from Dentomologist/wiitasinputwindow_update_on_attachment_change
...
WiiTASInputWindow: Update controls when attachment changes
2025-02-02 18:02:58 +01:00
Admiral H. Curtiss
017e0b5658
Merge pull request #13306 from OatmealDome/cubeb-optional
...
CMakeLists: Add flag to disable Cubeb
2025-02-02 17:50:20 +01:00
Admiral H. Curtiss
6a3a74508d
Merge pull request #13317 from cristian64/spurious_config_file
...
DolphinQt: Use global settings object also for debugger settings.
2025-02-02 17:25:24 +01:00
Admiral H. Curtiss
9ff833e2f4
Merge pull request #13315 from jordan-woyak/func-exp-cleanup
...
InputCommon/ExpressionParser: Function argument parsing minor cleanup.
2025-02-02 17:23:13 +01:00
Admiral H. Curtiss
04775b6ef8
Merge pull request #13314 from jordan-woyak/input-expressions-assignment-op-fix
...
InputCommon: Fix input expression assignment operator behavior.
2025-02-02 17:22:25 +01:00
Sintendo
755c003265
JitArm64_RegCache: Const correctness
...
Forgot this when I added it in #13120 .
2025-02-02 12:57:59 +01:00
Sintendo
7ce7da629e
JitArm64_Integer: cmpl - Subtract shifted 12-bit constant
...
You can encode a shifted 12-bit immediate in a SUB instruction on ARM64.
We exploit this to avoid materializing the immediate.
This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.
Before:
0x52a00218 mov w24, #0x100000 ; =1048576
0xcb180379 sub x25, x27, x24
After:
0xd1440379 sub x25, x27, #0x100, lsl #12 ; =0x100000
2025-02-02 12:57:59 +01:00
Sintendo
b7c3f91643
JitArm64_Integer: cmpl - Subtract 12-bit constant
...
You can encode a 12-bit immediate in a SUB instruction on ARM64. We can
exploit this to avoid materializing the immediate.
This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.
Before:
0x5280003a mov w26, #0x1 ; =1
0xcb1a033b sub x27, x25, x26
After:
0xd100073b sub x27, x25, #0x1
2025-02-02 12:57:59 +01:00
Sintendo
c5870ed0c7
JitArm64_Integer: cmp - Skip sign extension if possible
...
While we cannot always avoid materializing immediates, we can still
inspect the most significant bit and potentially skip sign extension.
This can sometimes save an instruction.
Before:
0x5280003a mov w26, #0x1 ; =1
0x93407f5b sxtw x27, w26
0xcb38c37b sub x27, x27, w24, sxtw
After:
0x5280003a mov w26, #0x1 ; =1
0xcb38c35b sub x27, x26, w24, sxtw
Before:
0x52a20018 mov w24, #0x10000000 ; =268435456
0x93407f79 sxtw x25, w27
0xcb38c339 sub x25, x25, w24, sxtw
After:
0x52a20018 mov w24, #0x10000000 ; =268435456
0x93407f79 sxtw x25, w27
0xcb180339 sub x25, x25, x24
2025-02-02 12:57:49 +01:00
Sintendo
075c35602f
JitArm64_Integer: cmp - Add shifted 12-bit constant
...
You can encode a shifted 12-bit immediate in an ADD instruction on
ARM64. If the negated constant fits in this range, we can exploit this
to avoid materializing the immediate.
This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.
Before:
0x52bff01a mov w26, #-0x800000 ; =-8388608
0x93407f1b sxtw x27, w24
0xcb3ac37b sub x27, x27, w26, sxtw
After:
0x93407f1b sxtw x27, w24
0x9160037b add x27, x27, #0x800, lsl #12 ; =0x800000
2025-02-02 12:01:08 +01:00
Sintendo
01eed0a758
JitArm64_Integer: cmp - Add 12-bit constant
...
You can encode a 12-bit immediate in an ADD instruction on ARM64. If the
negated constant fits in this range, we can exploit this to avoid
materializing the immediate.
This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.
Before:
0x12800019 mov w25, #-0x1 ; =-1
0x93407f5b sxtw x27, w26
0xcb39c37b sub x27, x27, w25, sxtw
After:
0x93407f5b sxtw x27, w26
0x9100077b add x27, x27, #0x1
2025-02-02 12:01:05 +01:00
Sintendo
352cbc4772
JitArm64_Integer: cmp - Subtract shifted 12-bit constant
...
You can encode a shifted 12-bit immediate in a SUB instruction on ARM64.
Constants in this range do not need to be sign extended, so we can
exploit this to avoid materializing the immediate.
This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.
Before:
0x52a00099 mov w25, #0x40000 ; =262144
0x93407f7a sxtw x26, w27
0xcb39c35a sub x26, x26, w25, sxtw
After:
0x93407f7a sxtw x26, w27
0xd141035a sub x26, x26, #0x40, lsl #12 ; =0x40000
2025-02-02 12:00:44 +01:00
Sintendo
4a29e0e4f4
JitArm64_Integer: cmp - Subtract 12-bit constant
...
You can encode a 12-bit immediate in a SUB instruction on ARM64.
Constants in this range do not need to be sign extended, so we can
exploit this to avoid materializing the immediate.
This approach saves an instruction if it does not need to be
materialized in a register afterwards. Otherwise, we just materialize
it later and the total number of instructions stays the same.
Before:
0x52800416 mov w22, #0x20 ; =32
0x93407f78 sxtw x24, w27
0xcb36c318 sub x24, x24, w22, sxtw
After:
0x93407f78 sxtw x24, w27
0xd1008318 sub x24, x24, #0x20
2025-02-02 12:00:12 +01:00
Xphalnos
c9bd6a13a9
VideoBackends: Use DXGI 1.6 and D3D11_4
2025-02-02 09:02:35 +01:00
JMC47
8291cff46d
Merge pull request #13280 from jordan-woyak/input-expressions-highlighting
...
InputCommon/DolphinQt: Fix sometimes broken syntax highlighting in IOWindow.
2025-02-02 02:01:34 -05:00
Jordan Woyak
6e7e808b66
DolphinQt/Mapping: Add setting to enable waiting for alternate mappings
...
using the OR-operator.
2025-02-01 01:54:10 -06:00
Sanjay Govind
10e044872d
LibusbDevice: Don't detach kernel drivers on macOS
2025-02-01 10:32:20 +13:00
cristian64
a153c7cb7c
DolphinQt: Use global settings object also for debugger settings.
...
A number of settings in the `debugger` group were wrongly using a newly
constructed `QSettings` object instead of the singleton object that
`GetQSettings()` provides.
This made the application create a spurious, extra configuration file in
the user directory:
```
~/.config/Dolphin Emulator/dolphin-emu.conf
```
Notice that, by default, the application configuration files are stored
in `~/.config/dolphin-emu`; not in `~/.config/Dolphin Emulator`.
2025-01-30 22:02:03 +00:00
Javier Martinez
391dae718d
Refactor: infinite loop based on Dolphin's style guidelines
2025-01-30 14:36:22 -05:00
OatmealDome
b5a0d293ae
Merge pull request #13305 from OatmealDome/vertexloader-config
...
VertexLoaderBase: Allow the vertex loader type to be set via config
2025-01-29 17:14:05 -05:00
Jordan Woyak
67b8100cd2
InputCommon/ExpressionParser: Make ValidateArguments access existing
...
members instead of passing arguments.
2025-01-28 20:15:45 -06:00
Jordan Woyak
e4b464e727
InputCommon/ExpressionParser: Make function argument parsing error
...
message more clear.
2025-01-28 20:13:06 -06:00
JMC47
897978e955
Merge pull request #13310 from jordan-woyak/small-vec-placement-new
...
Common: Make SmallVector work with non-standard-layout types.
2025-01-28 20:59:14 -05:00
JMC47
e16e3f9a61
Merge pull request #13291 from iwubcode/imgui_1_91_7
...
Externals / VideoCommon: update imgui to 1.91.7 and implot to v0.16
2025-01-28 20:57:28 -05:00
Jordan Woyak
c9ad5430d0
InputCommon: Fix input expression assignment operator behavior.
2025-01-28 14:32:39 -06:00
Admiral H. Curtiss
3f79aa23b4
Merge pull request #13267 from Sintendo/arm64-fix-gt-micro
...
JitArm64_SystemRegisters: Small FixGTBeforeSettingCRFieldBit optimization
2025-01-28 19:43:53 +01:00
Admiral H. Curtiss
0b7f9541d0
Merge pull request #13304 from JoshuaVandaele/argsegfault
...
Fix segfault when passing invalid arguments
2025-01-28 19:27:23 +01:00
JMC47
f92f174450
Merge pull request #13297 from jordan-woyak/config-ext-btn
...
DolphinQt: Add a "Configure Extension" button under the extension selection combo box.
2025-01-27 21:17:41 -05:00
JMC47
e18a4d04b4
Merge pull request #13178 from jordan-woyak/input-expressions-conditional-op
...
InputCommon: Add ternary conditional operator to input expressions.
2025-01-27 21:16:29 -05:00
JMC47
2b5cd96cb1
Merge pull request #11261 from TryTwo/PR_MemoryView_Auto_Update
...
MemoryView auto-update while running and color recently changed cells.
2025-01-27 21:15:57 -05:00
JosJuice
d117614c00
Merge pull request #13213 from JosJuice/remove-filter-patches-lock
...
Core: Remove redundant lock for FilterApprovedPatches call
2025-01-27 20:15:00 +01:00
Jordan Woyak
9777e8e76b
Common: Make SmallVector work with non-standard-layout types.
2025-01-26 13:03:39 -06:00
JosJuice
e29e0cd150
Merge pull request #13296 from jordan-woyak/sdl-motor-lr
...
InputCommon: Make SDL Motor L/R Outputs not fight each other and support trigger rumble.
2025-01-26 19:45:44 +01:00
JosJuice
c9e5975545
Merge pull request #13290 from iwubcode/formatter_abstract_texture_type
...
VideoCommon: add formatter for AbstractTextureType
2025-01-26 19:40:12 +01:00
JosJuice
ca15b4a7d9
Merge pull request #13229 from sanjay900/wii-drum-velocity-fixes
...
WiimoteEmu: Fix Drum Extension Velocity
2025-01-26 14:15:53 +01:00
JosJuice
01358c79a6
Merge pull request #13298 from jordan-woyak/less-bt-spam
...
Core/WiimoteReal: Make Wii Remote scan logging less spammy on Linux.
2025-01-26 14:13:44 +01:00
OatmealDome
d89e7c84fb
CMakeLists: Add flag to disable Cubeb
2025-01-25 14:06:55 -05:00
JosJuice
56b7b0a804
Merge pull request #13303 from JoshuaVandaele/aboutresize
...
AboutDialog: Disable resizing the About window
2025-01-25 10:37:37 +01:00
OatmealDome
bffaec9c5e
VertexLoaderBase: Allow the vertex loader type to be set via config
2025-01-24 18:31:42 -05:00
Jordan Woyak
799b9d4092
Merge pull request #13192 from jordan-woyak/netplay-win32-interface-list
...
NetPlay: Implement GetInterfaceListInternal for Windows.
2025-01-24 14:40:25 -06:00
Joshua Vandaële
f1f147965b
Fix segfault when passing invalid arguments
2025-01-24 20:52:33 +01:00
Joshua Vandaële
a76ed94120
AboutDialog: Disable resizing the About window
2025-01-24 10:45:54 +01:00
Sanjay Govind
ef97185854
WiimoteEmu: Fix Drum Extension Velocity
2025-01-24 10:06:09 +13:00
Brad Smith
a20f96b78c
ArmCPUDetect: Add OpenBSD support for elf_aux_info
2025-01-22 22:58:00 -05:00
Jordan Woyak
01abfafa4e
Core/WiimoteReal: Make Wii Remote scan logging less spammy on Linux.
2025-01-22 14:43:20 -06:00
Jordan Woyak
a33368b102
DolphinQt: Add a "Configure Extension" button under the extension
...
selection combo box.
2025-01-22 02:58:32 -06:00
Jordan Woyak
8354279aae
InputCommon: Add support for SDL gamecontroller rumble triggers.
2025-01-21 21:09:39 -06:00
Jordan Woyak
fb512adc5f
InputCommon: Make SDL Motor L/R Outputs not fight each other.
2025-01-21 19:19:01 -06:00
Jordan Woyak
ae72a781d4
DolphinQt: Remove MappingButton bold/italic text indication.
2025-01-20 17:55:10 -06:00
Jordan Woyak
d8cf835f07
MappingWidget: Fix shadowed variable warning.
2025-01-20 17:55:10 -06:00
Jordan Woyak
d19304dc15
MappingIndicator: Add graphical indicators on the left of MappingButton
...
that don't have a large indicator.
2025-01-20 17:55:10 -06:00
Tilka
510a688a2a
Merge pull request #13279 from jordan-woyak/delimited-token
...
InputCommon/ExpressionParser: Require delimited tokens actually have their terminating delimiter.
2025-01-20 23:14:22 +00:00
Pokechu22
761e65ed26
Merge pull request #13275 from Pokechu22/d3d12-custom-root-param-index
...
D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled
2025-01-20 14:53:40 -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
iwubcode
75425ced05
Common: add 'clear' function to SmallVector
2025-01-20 15:13:56 -06:00
iwubcode
25c805be99
Externals / VideoCommon: update imgui to 1.91.7 and implot to v0.16; imgui changed types for ImTextureId, which was addressed by using an implicit cast
2025-01-20 14:47:14 -06:00
iwubcode
ee906ae6e8
VideoCommon: add formatter for AbstractTextureType
2025-01-20 14:24:54 -06:00
OatmealDome
7ba56bc738
Merge pull request #13269 from OatmealDome/memarena-darwin
...
MemArena: Add Darwin implementation
2025-01-20 14:11:37 -05:00
Joshua Vandaële
a3b06b0572
Enforce XCB within code
2025-01-20 11:57:21 +01:00
TryTwo
0b8301ff97
MemoryViewWidget: Add auto update toggle.
2025-01-19 23:24:59 -07:00
TryTwo
7b19192134
MemoryViewWidget: Color recently changed memory when auto updating.
2025-01-19 23:24:08 -07:00
TryTwo
6d8f40c245
MemoryViewWidget: Reduce amount of unnecessary update calls.
2025-01-19 23:19:40 -07:00
TryTwo
32e135e6a9
MemoryViewWidget: Add OnFrameEnd callback to auto-update memory while a game is running.
2025-01-19 23:18:38 -07:00
LillyJadeKatrin
cbe44efe5f
Gecko/AR Batch Approval
...
Adding a community-requested list of Gecko and Action Replay codes to the allowlist. Many of these codes were from the wiki and are being added to Dolphin's repo for the first time.
2025-01-19 22:20:31 -05:00
Jordan Woyak
78bb30d44c
InputCommon/ExpressionParser: Require delimited tokens actually have their terminating delimiter.
2025-01-19 17:20:07 -06:00
Admiral H. Curtiss
90eba2b1a0
Merge pull request #13273 from JoshuaVandaele/master
...
Fix build with minizip-ng>=4.0.8
2025-01-19 23:59:14 +01:00
Admiral H. Curtiss
d87ee2daa5
Merge pull request #13281 from jordan-woyak/iowindow-signal-proper-fix
...
DolphinQt: Fix QObject::connect: signal not found in IOWindow error.
2025-01-19 23:52:58 +01:00
JosJuice
af87d60b6c
Merge pull request #13266 from JosJuice/jitarm64-cr-bits-1-to-31
...
JitArm64: Fix creqv/crorc setting eq bit
2025-01-19 13:00:30 +01:00
JosJuice
dabb4350bd
Merge pull request #13282 from jordan-woyak/onion-tweaks
...
Core/Config: Replace some std::pair with struct to make code more readable.
2025-01-19 12:20:48 +01:00
Joshua Vandaële
fa442dc90b
Fix build with minizip-ng 4.0.8
2025-01-19 10:30:41 +01:00
JMC47
8e9596e221
Merge pull request #13259 from TryTwo/PR_Config_signals
...
Qt: Fix some options not changing enabled status on game start.
2025-01-18 18:11:04 -05:00
Dentomologist
fb3a727fcc
WiiTASInputWindow: Update controls when attachment changes
...
Change the displayed controls in the TAS Input window when the
controller's extension (including MotionPlus) is changed.
This previously required restarting Dolphin after the attachment was
changed, as the controls were never updated after the WiiTASInputWindow
was created at Dolphin startup.
2025-01-18 14:15:20 -08:00
Jordan Woyak
28ce81f09b
Core/Config: Use structured bindings for cleaner std::map/pair usage.
2025-01-17 22:21:39 -06:00
Jordan Woyak
b44aaf8a86
Core/Config: Replace some std::pair with struct to make code more readable.
2025-01-17 22:06:02 -06:00
Jordan Woyak
205a85b991
DolphinQt: Fix QObject::connect: signal not found in IOWindow error.
2025-01-17 20:17:01 -06:00
Jordan Woyak
e91b83d166
DolphinQt: Make input expression syntax highlighting less hacky.
2025-01-17 02:44:31 -06:00
Jordan Woyak
a618854413
ExpressionParser: Remove RemoveInertTokens.
2025-01-17 02:31:33 -06:00
Jordan Woyak
c94ec85460
InputCommon: Make input expression multiline-comment tokenizing less hacky.
2025-01-17 02:29:23 -06:00
Jordan Woyak
c3f66e83e6
DolphinQt: Fix ASSERT failure in IOWindow in debug build.
2025-01-15 16:39:45 -06:00
JosJuice
85cd0ca51b
JitArm64: Optimize creqv setting eq/gt bit
...
For the eq and gt bits specifically, setting negate_result is one
instruction shorter than not setting it.
2025-01-15 21:22:31 +01:00
OatmealDome
c344514ba2
Merge pull request #13270 from OatmealDome/vk-metal-layer
...
Vulkan: Only attempt to create a CAMetalLayer on macOS
2025-01-15 15:08:03 -05:00
JosJuice
aa9696e1c1
JitArm64: creqv/crorc setting eq bit
...
When I wrote 71e9766519
, there was an interaction I didn't take into
account: When setting eq, SetCRFieldBit assumes that all bits in the
passed-in host register except the least significant bit are 0. But if
we use EON or ORN, all bits except the least significant bit get set to
1. This can cause eq to end up unset when it should be set.
This commit fixes the issue.
crandc is unaffected by the issue because the "1" bits get ANDed with
"0" bits from the first operand.
Note that in practice, we never have both bits_1_to_31_are_set and
negate at once, so while it looks like this commit adds an extra AND
instruction in some cases, those cases don't happen in practice, meaning
this fix shouldn't affect performance.
2025-01-15 18:35:05 +01:00
Pokechu22
64514bd8d4
D3D12: Fix out of bounds root parameter index when per-pixel lighting is disabled
2025-01-14 22:30:31 -08:00
Admiral H. Curtiss
3ea870ef8c
Merge pull request #13244 from dreamsyntax/bugfix-double-osd-texture-messages
...
Core/VideoCommon: Fix duplicate OSD Custom Textures messages
2025-01-12 16:16:09 +01:00
Admiral H. Curtiss
ede963d4db
Merge pull request #13272 from dreamsyntax/ppc-crlf
...
PPCSymbolDB: Fix loading maps with CRLF endings
2025-01-12 14:26:27 +01:00
Admiral H. Curtiss
b0e5ebc80d
Merge pull request #13247 from sepalani/debug-map-ranges
...
PPCSymbolDB: Refactor SymbolMap Save/Load
2025-01-12 14:26:04 +01:00
Daniel Peukert
f28e134c88
Clean up CRLF line endings
2025-01-12 11:06:04 +01:00
dreamsyntax
b9a2d89035
PPCSymbolDB: Fix loading maps with CRLF endings
...
Symbol maps ending in CRLF were not properly loading on non-windows
systems.
2025-01-10 14:37:58 -07:00
Admiral H. Curtiss
d10cb9dfc4
Merge pull request #13238 from JosJuice/jitarm64-rlwinmx-imm-mask
...
JitArm64: Handle rlwinmx with zero mask
2025-01-10 04:44:22 +01:00
Tilka
e24e107b3c
Merge pull request #13265 from Sintendo/warnings
...
Fix several minor warnings
2025-01-08 21:44:24 +00:00
Tilka
ffa312f8e8
Merge pull request #13158 from jordan-woyak/wiiu-rename
...
DolphinQt: Rename "GameCube Adapter for Wii U".
2025-01-08 21:39:08 +00:00
Admiral H. Curtiss
0e5d7d0f2d
Merge pull request #13268 from AdmiralCurtiss/ini-delete-case-sensitive
...
Common/IniFile: Fix case sensitivity mismatch in IniFile::Section::Delete()
2025-01-08 21:42:32 +01:00
TryTwo
3edb5accca
MemoryViewWidget: Refactor updates using a dispatch function. Isolate memory reads from table updates.
...
Preparations for auto update while a game is running.
2025-01-08 13:40:46 -07:00
OatmealDome
2633b84b98
Vulkan: Only attempt to create a CAMetalLayer on macOS
2025-01-08 13:51:53 -05:00
OatmealDome
d5dbb0b285
MemArena: Add Darwin implementation
2025-01-08 12:46:31 -05:00
Admiral H. Curtiss
8f9e3ffd83
Merge pull request #13228 from OatmealDome/fix-curl-2
...
curl: Update to 8.11.1 and use CMake to configure
2025-01-08 18:14:10 +01:00
Admiral H. Curtiss
22dc21cca4
Merge pull request #13262 from Ferdi265/feature/fix-fmt11
...
Fix compiling with libfmt>=11.0
2025-01-08 18:12:19 +01:00
Admiral H. Curtiss
c567248b73
Common/IniFile: Fix case sensitivity mismatch in IniFile::Section::Delete()
...
values uses a case insensitive comparison, so erasing the equivalent key in keys_order also must do so.
2025-01-08 05:30:39 +01:00
Admiral H. Curtiss
7133bfbb0e
Merge pull request #13180 from jordan-woyak/eof-logic
...
Core/VideoCommon: Fix some weird (!eof) logic.
2025-01-08 05:27:42 +01:00
OatmealDome
d525776ae6
GeckoCodeConfig: Remove HTTPS workaround for Android
2025-01-07 23:02:13 -05:00
OatmealDome
4dc368d8df
WiiUtils: Remove HTTPS workaround for Android
2025-01-07 23:02:13 -05:00
TryTwo
2e006d9787
MemoryViewWidget: Refactor. Remove OnItemChanged signal and QSignalBlocker - replace with a signal that is only sent at the correct time.
2025-01-07 15:57:53 -07:00
OatmealDome
696b363f47
Merge pull request #13162 from jordan-woyak/non-blocking-input-detection
...
DolphinQt/InputCommon: Make input mapping and output testing non-blocking.
2025-01-07 16:55:55 -05:00
TryTwo
5395f21ae5
Qt, Config controls system: Remove signal block so signals can refresh the enabled status of certain options when a new config is loaded (such as on starting a game). Blocks previously unwanted behavior with a new safety check.
...
QCheckBox::toggled and other similar signals are used to save changes and to update widget status (such as enabled).. OnConfigChanged needs to load new values and trigger widget updates, but the new value shouldn't trigger a save. A save is unnecessary (the config has the correct values and the UI is being updated to those values) and it'd trigger another ConfigChanged signal. This commit blocks the save without blocking the signal entirely.
2025-01-07 03:02:39 -07:00
Sintendo
24f2981e54
JitArm64_SystemRegisters: Small FixGTBeforeSettingCRFieldBit optimization
...
The computed value is only used when the register is equal to zero, so
we can fully precompute it and materialize the constant instead. In
other words, we change from
```
return reg == 0 ? (reg | 1ULL << 63) : reg;
```
to
```
return reg == 0 ? 1ULL << 63 : reg;
```
The number of instructions remains the same, but we eliminate an
unnecessary dependency on the register value.
Before:
0xb241037a orr x26, x27, #0x8000000000000000
0xeb1f037f cmp x27, xzr
0x9a9a137b csel x27, x27, x26, ne
After:
0xd2f0001a mov x26, #-0x8000000000000000 ; =-9223372036854775808
0xeb1f037f cmp x27, xzr
0x9a9a137b csel x27, x27, x26, ne
2025-01-06 12:09:12 +01:00
Sintendo
532e25be12
Fix several minor warnings
2025-01-06 11:31:39 +01:00
JosJuice
b35f7af355
Merge pull request #13257 from CasualPokePlayer/dtm_country_code
...
Add SYSCONF country code to DTM
2025-01-06 10:39:53 +01:00
JosJuice
eec2e2f07a
Merge pull request #13251 from Sintendo/carry-opts
...
JitArm64_Integer: Carry flag optimizations
2025-01-06 10:39:43 +01:00
JosJuice
43d5f61a60
Merge pull request #13149 from Sintendo/dcbx-msub
...
JitArm64_LoadStore: Small dcbx optimization
2025-01-06 09:29:08 +01:00
OatmealDome
8d9ec2fde9
Merge pull request #13210 from OatmealDome/fix-scmrevgen
...
ScmRevGen: Don't generate Info.plist files directly
2025-01-06 01:18:20 -05:00
JMC47
6b686be5f1
Merge pull request #13233 from TryTwo/PR_Codec
...
AdvancedWidget: Replace FFV1 codec with Ut Video
2025-01-04 22:26:36 -05:00
Ferdinand Bachmann
b79bdb13c0
Common: Fix compile failure with fmt>=11
2025-01-04 19:13:05 +01:00
Ferdinand Bachmann
825092ad33
BBA/HLE: Fix incorrect fmt format string
2025-01-04 18:45:32 +01:00
Sepalani
bbf835b30b
PPCSymbolDB: Check SplitString result
2025-01-04 17:02:13 +04:00
Sepalani
77e77863dc
PPCSymbolDB: Add alignment detection heuristic
...
Update parse_entry_of in accordance to the sscanf change
2025-01-04 15:32:52 +04:00
Sepalani
5778cb42db
PPCSymbolDB: Deduplicate parsing of the 'entry of' string
2025-01-04 15:32:52 +04:00
Sepalani
5c151c11ac
PPCSymbolDB: Use ranges in SaveSymbolMap
2025-01-04 15:32:52 +04:00
Jordan Woyak
3b85653003
NetPlay: Implement GetInterfaceListInternal for Windows.
2025-01-04 00:29:34 -06:00
JMC47
9b3b6bea9d
Merge pull request #12801 from JosJuice/jitarm64-crxxx-opt
...
JitArm64: Optimize crXXX
2025-01-03 16:32:49 -05:00
Jordan Woyak
f12846a0e9
DolphinQt: Make input mapping and output testing non-blocking.
2025-01-01 16:48:32 -06:00
Jordan Woyak
bc95c001c8
InputCommon: Move input mapping function into a class for non-blocking usage.
2025-01-01 16:48:32 -06:00
mitaclaw
527841f1df
Simplify `std::search` with `Common::ContainsSubrange`
2025-01-01 09:52:03 -08:00
mitaclaw
d92c68e1de
Simplify `std::find_if` with `Common::Contains`
2025-01-01 09:52:03 -08:00
mitaclaw
110d32729e
Simplify `std::find` with `Common::Contains`
...
In NandPaths.cpp, the `std::initializer_list<char>` of illegal characters has been turned into a `char[]` (similar to the one in GameList.cpp).
The reverse iteration in ResourcePack.cpp seemed to provide no benefits, and doing without it it seemed to have no ill effects.
2025-01-01 09:52:03 -08:00
mitaclaw
6f10acea3f
Common: Create "Contains.h" Algorithm Header
...
The new `Common::Contains` and `Common::ContainsSubrange` function objects mirror C++23's `std::ranges::contains` and `std::ranges::contains_subrange`, respectively.
2025-01-01 09:52:01 -08:00
Jordan Woyak
0938fca6e3
Core/VideoCommon: Fix some weird (!eof) logic.
2024-12-30 20:13:59 -06:00