mirror of
https://github.com/PCSX2/pcsx2.git
synced 2026-01-31 01:15:24 +01:00
Compare commits
49 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c768b6833 | ||
|
|
773f6968a4 | ||
|
|
1021199512 | ||
|
|
08ef9e2bd9 | ||
|
|
6ba3f96f27 | ||
|
|
7d5b7bc3ce | ||
|
|
0d43d30346 | ||
|
|
da824b4e9e | ||
|
|
ed08b5f34e | ||
|
|
0ce312c1c3 | ||
|
|
07bc2fa452 | ||
|
|
bfd2775074 | ||
|
|
94ccafd745 | ||
|
|
5c6049c4ae | ||
|
|
090464c42d | ||
|
|
89a00db3d6 | ||
|
|
fc415dff93 | ||
|
|
f648a9a438 | ||
|
|
cac6669423 | ||
|
|
7db487a49b | ||
|
|
c96607fe37 | ||
|
|
ba0dae5f57 | ||
|
|
5fe5148e86 | ||
|
|
5445cb516a | ||
|
|
84a29ffcca | ||
|
|
e56075976f | ||
|
|
0f709735c0 | ||
|
|
ad3f0fd6cd | ||
|
|
fbfdacd589 | ||
|
|
aedc51e151 | ||
|
|
fe95a697f4 | ||
|
|
f99cf28429 | ||
|
|
bea1eb0cf9 | ||
|
|
3cf21e0ab6 | ||
|
|
521b32c253 | ||
|
|
190b525ca6 | ||
|
|
baa00e4d38 | ||
|
|
51bc6c1465 | ||
|
|
ea8492082a | ||
|
|
9d1fd23d78 | ||
|
|
9ff575377d | ||
|
|
47250293cd | ||
|
|
f9b346521d | ||
|
|
b5a4c71eff | ||
|
|
2604256424 | ||
|
|
906ac6a8ea | ||
|
|
3db21e0579 | ||
|
|
abd03884de | ||
|
|
a159256b07 |
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
@@ -1,3 +1,4 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [PCSX2]
|
||||
liberapay: PCSX2
|
||||
|
||||
6
.github/workflows/linux_build_flatpak.yml
vendored
6
.github/workflows/linux_build_flatpak.yml
vendored
@@ -129,7 +129,7 @@ jobs:
|
||||
|
||||
- name: Push to Flathub (beta)
|
||||
if: ${{ inputs.publish == true && (inputs.stableBuild == false || inputs.stableBuild == 'false') }}
|
||||
uses: flatpak/flatpak-github-actions/flat-manager@10a3c29f0162516f0f68006be14c92f34bd4fa6c
|
||||
uses: flatpak/flatpak-github-actions/flat-manager@92ae9851ad316786193b1fd3f40c4b51eb5cb101
|
||||
with:
|
||||
flat-manager-url: https://hub.flathub.org/
|
||||
repository: beta
|
||||
@@ -138,7 +138,7 @@ jobs:
|
||||
|
||||
- name: Push to Flathub (stable)
|
||||
if: ${{ inputs.publish == true && (inputs.stableBuild == true || inputs.stableBuild == 'true') }}
|
||||
uses: flatpak/flatpak-github-actions/flat-manager@10a3c29f0162516f0f68006be14c92f34bd4fa6c
|
||||
uses: flatpak/flatpak-github-actions/flat-manager@92ae9851ad316786193b1fd3f40c4b51eb5cb101
|
||||
with:
|
||||
flat-manager-url: https://hub.flathub.org/
|
||||
repository: stable
|
||||
@@ -153,7 +153,7 @@ jobs:
|
||||
mv "./${{ steps.artifact-metadata.outputs.artifact-name }}.flatpak" "$GITHUB_WORKSPACE"/ci-artifacts/
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
path: ci-artifacts
|
||||
|
||||
4
.github/workflows/linux_build_qt.yml
vendored
4
.github/workflows/linux_build_qt.yml
vendored
@@ -55,7 +55,7 @@ jobs:
|
||||
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
||||
CCACHE_COMPRESS: true
|
||||
CCACHE_COMPRESSLEVEL: 9
|
||||
CCACHE_MAXSIZE: 500M
|
||||
CCACHE_MAXSIZE: 100M
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
@@ -174,7 +174,7 @@ jobs:
|
||||
|
||||
- name: Upload artifact
|
||||
if: inputs.buildAppImage == true
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
path: ci-artifacts
|
||||
|
||||
13
.github/workflows/macos_build.yml
vendored
13
.github/workflows/macos_build.yml
vendored
@@ -12,7 +12,7 @@ on:
|
||||
os:
|
||||
required: false
|
||||
type: string
|
||||
default: macos-15
|
||||
default: macos-26
|
||||
patchesUrl:
|
||||
required: false
|
||||
type: string
|
||||
@@ -42,7 +42,7 @@ jobs:
|
||||
CCACHE_DIR: ${{ github.workspace }}/.ccache
|
||||
CCACHE_COMPRESS: true
|
||||
CCACHE_COMPRESSLEVEL: 9
|
||||
CCACHE_MAXSIZE: 500M
|
||||
CCACHE_MAXSIZE: 100M
|
||||
# Only way to use a secret in an if statement
|
||||
SIGN_KEY: ${{ secrets.APPLE_SIGN_P12_B64 }}
|
||||
|
||||
@@ -62,8 +62,11 @@ jobs:
|
||||
echo "#define DEFAULT_UPDATER_CHANNEL \"stable\"" > ./pcsx2-qt/DefaultUpdaterChannel.h
|
||||
cat ./pcsx2-qt/DefaultUpdaterChannel.h
|
||||
|
||||
- name: Use Xcode 16.4
|
||||
run: sudo xcode-select -s /Applications/Xcode_16.4.app
|
||||
- name: Use Xcode 26.0.1
|
||||
run: sudo xcode-select -s /Applications/Xcode_26.0.1.app
|
||||
|
||||
- name: Install Metal Toolchain
|
||||
run: xcodebuild -downloadComponent MetalToolchain
|
||||
|
||||
- name: Prepare Artifact Metadata
|
||||
id: artifact-metadata
|
||||
@@ -194,7 +197,7 @@ jobs:
|
||||
cp "${{ steps.artifact-metadata.outputs.artifact-name }}.tar.xz" ci-artifacts/macOS.tar.xz
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
path: "*.tar.xz"
|
||||
|
||||
4
.github/workflows/release_cut_new.yml
vendored
4
.github/workflows/release_cut_new.yml
vendored
@@ -168,7 +168,7 @@ jobs:
|
||||
- name: Prepare Artifact Folder
|
||||
run: mkdir ./ci-artifacts/
|
||||
|
||||
- uses: actions/download-artifact@v5
|
||||
- uses: actions/download-artifact@v6
|
||||
name: Download all Artifacts
|
||||
with:
|
||||
path: ./ci-artifacts/
|
||||
@@ -203,7 +203,7 @@ jobs:
|
||||
echo "TAG_VAL=${TAG_VAL}"
|
||||
gh release edit ${TAG_VAL} --draft=false --repo PCSX2/pcsx2
|
||||
|
||||
- uses: actions/setup-node@v5
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 22
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ if %DEBUG%==1 (
|
||||
echo Building release libraries...
|
||||
)
|
||||
|
||||
set FORCEPDB=-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/DEBUG"
|
||||
set FORCEPDB=-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/DEBUG" -DCMAKE_SHARED_LINKER_FLAGS_MINSIZEREL="/DEBUG"
|
||||
set ARM64TOOLCHAIN=-DCMAKE_TOOLCHAIN_FILE="%SCRIPTDIR%\cmake-toolchain-windows-arm64.cmake"
|
||||
|
||||
echo Building Zlib...
|
||||
@@ -199,7 +199,7 @@ cd .. || goto error
|
||||
if %DEBUG%==1 (
|
||||
set QTBUILDSPEC=-DCMAKE_CONFIGURATION_TYPES="Release;Debug" -G "Ninja Multi-Config"
|
||||
) else (
|
||||
set QTBUILDSPEC=-DCMAKE_BUILD_TYPE=Release -G Ninja
|
||||
set QTBUILDSPEC=-DCMAKE_BUILD_TYPE=MinSizeRel -G Ninja
|
||||
)
|
||||
|
||||
echo Building Qt base...
|
||||
|
||||
@@ -95,7 +95,7 @@ if %DEBUG%==1 (
|
||||
echo Building release libraries...
|
||||
)
|
||||
|
||||
set FORCEPDB=-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/DEBUG" -DCMAKE_MODULE_LINKER_FLAGS_RELEASE="/DEBUG"
|
||||
set FORCEPDB=-DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/DEBUG" -DCMAKE_MODULE_LINKER_FLAGS_RELEASE="/DEBUG" -DCMAKE_SHARED_LINKER_FLAGS_MINSIZEREL="/DEBUG" -DCMAKE_MODULE_LINKER_FLAGS_MINSIZEREL="/DEBUG"
|
||||
|
||||
echo Building Zlib...
|
||||
rmdir /S /Q "zlib-%ZLIB%"
|
||||
@@ -196,7 +196,7 @@ cd .. || goto error
|
||||
if %DEBUG%==1 (
|
||||
set QTBUILDSPEC=-DCMAKE_CONFIGURATION_TYPES="Release;Debug" -G "Ninja Multi-Config"
|
||||
) else (
|
||||
set QTBUILDSPEC=-DCMAKE_BUILD_TYPE=Release -G Ninja
|
||||
set QTBUILDSPEC=-DCMAKE_BUILD_TYPE=MinSizeRel -G Ninja
|
||||
)
|
||||
|
||||
echo Building Qt base...
|
||||
|
||||
4
.github/workflows/windows_build_qt.yml
vendored
4
.github/workflows/windows_build_qt.yml
vendored
@@ -154,7 +154,7 @@ jobs:
|
||||
cmake --build build --config Release --target unittests
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}
|
||||
path: |
|
||||
@@ -186,7 +186,7 @@ jobs:
|
||||
}
|
||||
|
||||
- name: Upload artifact - with symbols
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: ${{ steps.artifact-metadata.outputs.artifact-name }}-symbols
|
||||
path: |
|
||||
|
||||
@@ -1840,6 +1840,8 @@ SCAJ-20095:
|
||||
region: "NTSC-Unk"
|
||||
gameFixes:
|
||||
- EETimingHack
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 4 # Aligns shadows to prevent artefacts.
|
||||
SCAJ-20096:
|
||||
name: "Guilty Gear Isuka"
|
||||
region: "NTSC-Unk"
|
||||
@@ -3821,9 +3823,13 @@ SCED-52491:
|
||||
SCED-52496:
|
||||
name: "This Is Football 2004 [Demo]"
|
||||
region: "PAL-M4"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCED-52497:
|
||||
name: "This Is Football 2004 [Demo]"
|
||||
region: "PAL-M4"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCED-52549:
|
||||
name: "Official PlayStation 2 Magazine Demo 47"
|
||||
region: "PAL-M5"
|
||||
@@ -5391,18 +5397,28 @@ SCES-51608:
|
||||
SCES-51610:
|
||||
name: "This is Football 2004 [Red Devils 2004]"
|
||||
region: "PAL-BE"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCES-51611:
|
||||
name: "This is Football 2004"
|
||||
region: "PAL-M4"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCES-51612:
|
||||
name: "This is Football 5"
|
||||
name: "This Is Football 2004"
|
||||
region: "PAL-E-N"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCES-51613:
|
||||
name: "This is Football 2004"
|
||||
region: "PAL-M4"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCES-51614:
|
||||
name: "Monde des Bleus 2004, Le - Nouvelle Generation"
|
||||
region: "PAL-F"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCES-51618:
|
||||
name: "SOCOM - U.S. Navy SEALs"
|
||||
region: "PAL-M5"
|
||||
@@ -11908,6 +11924,8 @@ SCUS-97362:
|
||||
SCUS-97365:
|
||||
name: "World Tour Soccer 2005"
|
||||
region: "NTSC-U"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCUS-97366:
|
||||
name: "SOCOM II - U.S. Navy SEALs [Public Beta v1.0]"
|
||||
region: "NTSC-U"
|
||||
@@ -12011,6 +12029,8 @@ SCUS-97395:
|
||||
SCUS-97396:
|
||||
name: "World Tour Soccer 2005 [Demo]"
|
||||
region: "NTSC-U"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
SCUS-97397:
|
||||
name: "Syphon Filter - The Omega Strain"
|
||||
region: "NTSC-U"
|
||||
@@ -19970,6 +19990,10 @@ SLES-52342:
|
||||
name: "Worms Forts - Under Siege"
|
||||
region: "PAL-E-F"
|
||||
compat: 5
|
||||
gameFixes:
|
||||
- BlitInternalFPSHack # Fixes internal FPS detection.
|
||||
gsHWFixes:
|
||||
PCRTCOverscan: 1 # Centers game output.
|
||||
SLES-52343:
|
||||
name: "Midway Arcade Treasures"
|
||||
region: "PAL-E"
|
||||
@@ -21168,6 +21192,10 @@ SLES-52733:
|
||||
SLES-52734:
|
||||
name: "Worms Forts - Under Siege"
|
||||
region: "PAL-M5"
|
||||
gameFixes:
|
||||
- BlitInternalFPSHack # Fixes internal FPS detection.
|
||||
gsHWFixes:
|
||||
PCRTCOverscan: 1 # Centers game output.
|
||||
SLES-52737:
|
||||
name: "Obscure"
|
||||
region: "PAL-E"
|
||||
@@ -23268,6 +23296,8 @@ SLES-53458:
|
||||
name: "Shin Megami Tensei - Digital Devil Saga"
|
||||
region: "PAL-E"
|
||||
compat: 5
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 4 # Aligns shadows to prevent artefacts.
|
||||
SLES-53459:
|
||||
name: "Marc Ecko's Getting Up - Contents Under Pressure"
|
||||
region: "PAL-M5"
|
||||
@@ -32381,6 +32411,8 @@ SLKA-25300:
|
||||
compat: 5
|
||||
gameFixes:
|
||||
- EETimingHack
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 4 # Aligns shadows to prevent artefacts.
|
||||
SLKA-25301:
|
||||
name: "디지털 데빌 사가: 아바탈 튜너 2" # Undumped on ReDump as of 2025-08-28
|
||||
name-en: "Digital Devil Saga - Avatar Tuner 2"
|
||||
@@ -44249,6 +44281,8 @@ SLPM-65597:
|
||||
region: "NTSC-J"
|
||||
gameFixes:
|
||||
- EETimingHack
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 4 # Aligns shadows to prevent artefacts.
|
||||
SLPM-65598:
|
||||
name: "転生學園 幻蒼録"
|
||||
name-sort: "てんしょうがくえん げんそうろく"
|
||||
@@ -48995,6 +49029,8 @@ SLPM-66372:
|
||||
region: "NTSC-J"
|
||||
gameFixes:
|
||||
- EETimingHack
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 4 # Aligns shadows to prevent artefacts.
|
||||
SLPM-66373:
|
||||
name: "DIGITAL DEVIL SAGA ~アバタール・チューナー2~ [ATLUS BEST COLLECTION]"
|
||||
name-sort: "でじたるでびるさーが あばたーるちゅーなー2 [ATLUS BEST COLLECTION]"
|
||||
@@ -68653,6 +68689,8 @@ SLUS-20974:
|
||||
name: "Shin Megami Tensei - Digital Devil Saga"
|
||||
region: "NTSC-U"
|
||||
compat: 5
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 4 # Aligns shadows to prevent artefacts.
|
||||
SLUS-20975:
|
||||
name: "One Piece - Grand Battle"
|
||||
region: "NTSC-U"
|
||||
@@ -69376,6 +69414,8 @@ SLUS-21093:
|
||||
name: "Worms Forts - Under Siege"
|
||||
region: "NTSC-U"
|
||||
compat: 5
|
||||
gameFixes:
|
||||
- BlitInternalFPSHack # Fixes internal FPS detection.
|
||||
SLUS-21094:
|
||||
name: "Midway Arcade Treasures 3"
|
||||
region: "NTSC-U"
|
||||
@@ -73867,7 +73907,7 @@ SLUS-21831:
|
||||
region: "NTSC-U"
|
||||
compat: 5
|
||||
SLUS-21834:
|
||||
name: "Goosebumps Horrorland - Happy Halloween"
|
||||
name: "Goosebumps Horrorland"
|
||||
region: "NTSC-U"
|
||||
compat: 5
|
||||
clampModes:
|
||||
@@ -74623,6 +74663,8 @@ SLUS-28046:
|
||||
SLUS-28049:
|
||||
name: "Shin Megami Tensei - Digital Devil Saga [Trade Demo]"
|
||||
region: "NTSC-U"
|
||||
gsHWFixes:
|
||||
halfPixelOffset: 4 # Aligns shadows to prevent artefacts.
|
||||
SLUS-28050:
|
||||
name: "Stella Deus - The Gate of Eternity [Trade Demo]"
|
||||
region: "NTSC-U"
|
||||
@@ -75524,7 +75566,9 @@ TCES-10001:
|
||||
region: "PAL-E"
|
||||
TCES-51613:
|
||||
name: "This Is Football 2004 Beta Trial Code"
|
||||
region: "PAL-E-S"
|
||||
region: "PAL-E"
|
||||
gsHWFixes:
|
||||
PCRTCOffsets: 1 # Fixes boot videos screen size.
|
||||
TCES-51904:
|
||||
name: "SOCOM II - U.S. Navy SEALs Beta Trial Code"
|
||||
region: "PAL-M5"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Game Controller DB for SDL in 2.0.16 format
|
||||
# Source: https://github.com/gabomdq/SDL_GameControllerDB
|
||||
# Source: https://github.com/mdqinc/SDL_GameControllerDB
|
||||
|
||||
# Windows
|
||||
03000000300f00000a01000000000000,3 In 1 Conversion Box,a:b2,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a3,righty:a2,start:b8,x:b3,y:b0,platform:Windows,
|
||||
|
||||
BIN
bin/resources/icons/AppIconLarge.ico
Normal file
BIN
bin/resources/icons/AppIconLarge.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 295 KiB |
@@ -175,8 +175,32 @@ float4 ps_main4(PS_INPUT input) : SV_Target0
|
||||
// high motion -> interpolate pixels above and below
|
||||
return (hn + ln) / 2.0f;
|
||||
else
|
||||
// low motion -> weave
|
||||
return cn;
|
||||
{
|
||||
// Check if it's completely static first, we don't need to mess with any of that.
|
||||
if((mh_max != -motion_thr.x) || (ml_max != -motion_thr.x) || (mc_max != -motion_thr.x))
|
||||
{
|
||||
// Check the diff with the above and below lines, if the difference is smaller between the new high and low lines
|
||||
// compared to the new centre line and the high line (with some threshold of about 25 color steps), then reconstruct.
|
||||
float3 mhln = hn.rgb - ln.rgb;
|
||||
float3 mchn = hn.rgb - cn.rgb;
|
||||
|
||||
mhln = max(mhln, -mhln) - motion_thr;
|
||||
mchn = max(mchn, -mchn) - motion_thr;
|
||||
|
||||
float mhln_max = max(max(mhln.x, mhln.y), mhln.z);
|
||||
float mchn_max = max(max(mchn.x, mchn.y), mchn.z);
|
||||
|
||||
// The new centre line is a fair chunk different from those surrounding it, so quite likely incorrect.
|
||||
if (mhln_max < 0.0f && mchn_max >= (mhln_max * 0.90f))
|
||||
return (hn + ln) / 2.0f;
|
||||
else
|
||||
// low motion -> weave
|
||||
return cn;
|
||||
}
|
||||
else
|
||||
// low motion -> weave
|
||||
return cn;
|
||||
}
|
||||
}
|
||||
|
||||
return float4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
|
||||
@@ -173,8 +173,32 @@ void ps_main4()
|
||||
// high motion -> interpolate pixels above and below
|
||||
SV_Target0 = (hn + ln) / 2.0f;
|
||||
else
|
||||
// low motion -> weave
|
||||
SV_Target0 = cn;
|
||||
{
|
||||
// Check if it's completely static first, we don't need to mess with any of that.
|
||||
if((mh_max != -motion_thr.x) || (ml_max != -motion_thr.x) || (mc_max != -motion_thr.x))
|
||||
{
|
||||
// Check the diff with the above and below lines, if the difference is smaller between the new high and low lines
|
||||
// compared to the new centre line and the high line (with some threshold of about 25 color steps), then reconstruct.
|
||||
vec3 mhln = hn.rgb - ln.rgb;
|
||||
vec3 mchn = hn.rgb - cn.rgb;
|
||||
|
||||
mhln = max(mhln, -mhln) - motion_thr;
|
||||
mchn = max(mchn, -mchn) - motion_thr;
|
||||
|
||||
float mhln_max = max(max(mhln.x, mhln.y), mhln.z);
|
||||
float mchn_max = max(max(mchn.x, mchn.y), mchn.z);
|
||||
|
||||
// The new centre line is a fair chunk different from those surrounding it, so quite likely incorrect.
|
||||
if (mhln_max < 0.0f && mchn_max >= (mhln_max * 0.90f))
|
||||
SV_Target0 = (hn + ln) / 2.0f;
|
||||
else
|
||||
// low motion -> weave
|
||||
SV_Target0 = cn;
|
||||
}
|
||||
else
|
||||
// low motion -> weave
|
||||
SV_Target0 = cn;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -194,8 +194,32 @@ void ps_main4()
|
||||
// high motion -> interpolate pixels above and below
|
||||
o_col0 = (hn + ln) / 2.0f;
|
||||
else
|
||||
// low motion -> weave
|
||||
o_col0 = cn;
|
||||
{
|
||||
// Check if it's completely static first, we don't need to mess with any of that.
|
||||
if((mh_max != -motion_thr.x) || (ml_max != -motion_thr.x) || (mc_max != -motion_thr.x))
|
||||
{
|
||||
// Check the diff with the above and below lines, if the difference is smaller between the new high and low lines
|
||||
// compared to the new centre line and the high line (with some threshold of about 25 color steps), then reconstruct.
|
||||
vec3 mhln = hn.rgb - ln.rgb;
|
||||
vec3 mchn = hn.rgb - cn.rgb;
|
||||
|
||||
mhln = max(mhln, -mhln) - motion_thr;
|
||||
mchn = max(mchn, -mchn) - motion_thr;
|
||||
|
||||
float mhln_max = max(max(mhln.x, mhln.y), mhln.z);
|
||||
float mchn_max = max(max(mchn.x, mchn.y), mchn.z);
|
||||
|
||||
// The new centre line is a fair chunk different from those surrounding it, so quite likely incorrect.
|
||||
if (mhln_max < 0.0f && mchn_max >= (mhln_max * 0.90f))
|
||||
o_col0 = (hn + ln) / 2.0f;
|
||||
else
|
||||
// low motion -> weave
|
||||
o_col0 = cn;
|
||||
}
|
||||
else
|
||||
// low motion -> weave
|
||||
o_col0 = cn;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -7,7 +7,6 @@ endif(NOT TOP_CMAKE_WAS_SOURCED)
|
||||
|
||||
add_library(common)
|
||||
|
||||
# x86emitter sources
|
||||
target_sources(common PRIVATE
|
||||
AlignedMalloc.cpp
|
||||
Assertions.cpp
|
||||
@@ -34,9 +33,9 @@ target_sources(common PRIVATE
|
||||
Timer.cpp
|
||||
WAVWriter.cpp
|
||||
WindowInfo.cpp
|
||||
YAML.cpp
|
||||
)
|
||||
|
||||
# x86emitter headers
|
||||
target_sources(common PRIVATE
|
||||
AlignedMalloc.h
|
||||
Assertions.h
|
||||
@@ -81,6 +80,7 @@ target_sources(common PRIVATE
|
||||
WAVWriter.h
|
||||
WindowInfo.h
|
||||
WrappedMemCopy.h
|
||||
YAML.h
|
||||
)
|
||||
|
||||
if(_M_X86)
|
||||
@@ -208,6 +208,7 @@ target_link_libraries(common PRIVATE
|
||||
target_link_libraries(common PUBLIC
|
||||
fmt::fmt
|
||||
fast_float
|
||||
rapidyaml::rapidyaml
|
||||
)
|
||||
|
||||
fixup_file_properties(common)
|
||||
|
||||
@@ -15,10 +15,6 @@ namespace CocoaTools
|
||||
void DestroyMetalLayer(WindowInfo* wi);
|
||||
std::optional<float> GetViewRefreshRate(const WindowInfo& wi);
|
||||
|
||||
/// Add a handler to be run when macOS changes between dark and light themes
|
||||
void AddThemeChangeHandler(void* ctx, void(handler)(void* ctx));
|
||||
/// Remove a handler previously added using AddThemeChangeHandler with the given context
|
||||
void RemoveThemeChangeHandler(void* ctx);
|
||||
/// Mark an NSMenu as the help menu
|
||||
void MarkHelpMenu(void* menu);
|
||||
/// Returns the bundle path.
|
||||
@@ -44,6 +40,6 @@ namespace CocoaTools
|
||||
void RunCocoaEventLoop(bool wait_forever = false);
|
||||
/// Posts an event to the main telling `RunCocoaEventLoop(true)` to exit
|
||||
void StopMainThreadEventLoop();
|
||||
}
|
||||
} // namespace CocoaTools
|
||||
|
||||
#endif // __APPLE__
|
||||
|
||||
@@ -85,63 +85,7 @@ std::optional<float> CocoaTools::GetViewRefreshRate(const WindowInfo& wi)
|
||||
return ret;
|
||||
}
|
||||
|
||||
// MARK: - Theme Change Handlers
|
||||
|
||||
@interface PCSX2KVOHelper : NSObject
|
||||
|
||||
- (void)addCallback:(void*)ctx run:(void(*)(void*))callback;
|
||||
- (void)removeCallback:(void*)ctx;
|
||||
|
||||
@end
|
||||
|
||||
@implementation PCSX2KVOHelper
|
||||
{
|
||||
std::vector<std::pair<void*, void(*)(void*)>> _callbacks;
|
||||
}
|
||||
|
||||
- (void)addCallback:(void*)ctx run:(void(*)(void*))callback
|
||||
{
|
||||
_callbacks.push_back(std::make_pair(ctx, callback));
|
||||
}
|
||||
|
||||
- (void)removeCallback:(void*)ctx
|
||||
{
|
||||
auto new_end = std::remove_if(_callbacks.begin(), _callbacks.end(), [ctx](const auto& entry){
|
||||
return ctx == entry.first;
|
||||
});
|
||||
_callbacks.erase(new_end, _callbacks.end());
|
||||
}
|
||||
|
||||
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context
|
||||
{
|
||||
for (const auto& callback : _callbacks)
|
||||
callback.second(callback.first);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
static PCSX2KVOHelper* s_themeChangeHandler;
|
||||
|
||||
void CocoaTools::AddThemeChangeHandler(void* ctx, void(handler)(void* ctx))
|
||||
{
|
||||
assert([NSThread isMainThread]);
|
||||
if (!s_themeChangeHandler)
|
||||
{
|
||||
s_themeChangeHandler = [[PCSX2KVOHelper alloc] init];
|
||||
NSApplication* app = [NSApplication sharedApplication];
|
||||
[app addObserver:s_themeChangeHandler
|
||||
forKeyPath:@"effectiveAppearance"
|
||||
options:0
|
||||
context:nil];
|
||||
}
|
||||
[s_themeChangeHandler addCallback:ctx run:handler];
|
||||
}
|
||||
|
||||
void CocoaTools::RemoveThemeChangeHandler(void* ctx)
|
||||
{
|
||||
assert([NSThread isMainThread]);
|
||||
[s_themeChangeHandler removeCallback:ctx];
|
||||
}
|
||||
// MARK: - Help menu
|
||||
|
||||
void CocoaTools::MarkHelpMenu(void* menu)
|
||||
{
|
||||
|
||||
@@ -85,7 +85,7 @@ static inline bool FileSystemCharacterIsSane(char32_t c, bool strip_slashes)
|
||||
if (c == '*')
|
||||
return false;
|
||||
|
||||
// macos doesn't allow colons, apparently
|
||||
// macos doesn't allow colons, apparently
|
||||
#ifdef __APPLE__
|
||||
if (c == U':')
|
||||
return false;
|
||||
@@ -2490,6 +2490,21 @@ bool FileSystem::DeleteDirectory(const char* path)
|
||||
return (rmdir(path) == 0);
|
||||
}
|
||||
|
||||
std::string FileSystem::GetPackagePath()
|
||||
{
|
||||
// NOTE: The reason this function is separated from FileSystem::GetProgramPath() is because
|
||||
// This path check breaks other usages of FileSystem::GetProgramPath for the AppImage.
|
||||
// Notably the CI-generated AppImage fails to start because PCSX2 can't find its resources
|
||||
// since it tries to look for them relative to the .AppImage file instead of relative to the actual executable.
|
||||
|
||||
// Check if we are running inside appimage. If so, return the path to the appimage instead.
|
||||
if (const char* appimage_path = getenv("APPIMAGE"))
|
||||
return std::string(appimage_path);
|
||||
|
||||
// Otherwise, find the executable file directly
|
||||
return GetProgramPath();
|
||||
}
|
||||
|
||||
std::string FileSystem::GetProgramPath()
|
||||
{
|
||||
#if defined(__linux__)
|
||||
|
||||
@@ -166,6 +166,9 @@ namespace FileSystem
|
||||
/// Copies one file to another, optionally replacing it if it already exists.
|
||||
bool CopyFilePath(const char* source, const char* destination, bool replace);
|
||||
|
||||
/// Returns the path to the current package (AppImage).
|
||||
std::string GetPackagePath();
|
||||
|
||||
/// Returns the path to the current executable.
|
||||
std::string GetProgramPath();
|
||||
|
||||
|
||||
@@ -100,54 +100,16 @@ void Common::SetMousePosition(int x, int y)
|
||||
SetCursorPos(x, y);
|
||||
}
|
||||
|
||||
/*
|
||||
static HHOOK mouseHook = nullptr;
|
||||
static std::function<void(int, int)> fnMouseMoveCb;
|
||||
LRESULT CALLBACK Mousecb(int nCode, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (nCode >= 0 && wParam == WM_MOUSEMOVE)
|
||||
{
|
||||
MSLLHOOKSTRUCT* mouse = (MSLLHOOKSTRUCT*)lParam;
|
||||
fnMouseMoveCb(mouse->pt.x, mouse->pt.y);
|
||||
}
|
||||
return CallNextHookEx(mouseHook, nCode, wParam, lParam);
|
||||
}
|
||||
*/
|
||||
|
||||
// This (and the above) works, but is not recommended on Windows and is only here for consistency.
|
||||
// Defer to using raw input instead.
|
||||
bool Common::AttachMousePositionCb(std::function<void(int, int)> cb)
|
||||
{
|
||||
/*
|
||||
if (mouseHook)
|
||||
Common::DetachMousePositionCb();
|
||||
|
||||
fnMouseMoveCb = cb;
|
||||
mouseHook = SetWindowsHookEx(WH_MOUSE_LL, Mousecb, GetModuleHandle(NULL), 0);
|
||||
if (!mouseHook)
|
||||
{
|
||||
Console.Warning("Failed to set mouse hook: %d", GetLastError());
|
||||
return false;
|
||||
}
|
||||
|
||||
#if defined(PCSX2_DEBUG) || defined(PCSX2_DEVBUILD)
|
||||
static bool warned = false;
|
||||
if (!warned)
|
||||
{
|
||||
Console.Warning("Mouse hooks are enabled, and this isn't a release build! Using a debugger, or loading symbols, _will_ stall the hook and cause global mouse lag.");
|
||||
warned = true;
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
// We use raw input messages which are handled by the windows message loop.
|
||||
// The alternative is to use a low-level mouse hook, but this passes Windows all mouse messages to PCSX2.
|
||||
// If PCSX2 hangs, or you attach a debugger, the mouse will stop working system-wide.
|
||||
return true;
|
||||
}
|
||||
|
||||
void Common::DetachMousePositionCb()
|
||||
{
|
||||
/*
|
||||
UnhookWindowsHookEx(mouseHook);
|
||||
mouseHook = nullptr;
|
||||
*/
|
||||
}
|
||||
|
||||
bool Common::PlaySoundAsync(const char* path)
|
||||
|
||||
43
common/YAML.cpp
Normal file
43
common/YAML.cpp
Normal file
@@ -0,0 +1,43 @@
|
||||
// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team
|
||||
// SPDX-License-Identifier: GPL-3.0+
|
||||
|
||||
#include "YAML.h"
|
||||
|
||||
#include <csetjmp>
|
||||
#include <cstdlib>
|
||||
|
||||
struct RapidYAMLContext
|
||||
{
|
||||
std::jmp_buf env;
|
||||
Error* error = nullptr;
|
||||
};
|
||||
|
||||
std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr file_name, Error* error)
|
||||
{
|
||||
RapidYAMLContext context;
|
||||
context.error = error;
|
||||
|
||||
ryml::Callbacks callbacks;
|
||||
callbacks.m_user_data = static_cast<void*>(&context);
|
||||
callbacks.m_error = [](const char* msg, size_t msg_len, ryml::Location location, void* user_data) {
|
||||
RapidYAMLContext* context = static_cast<RapidYAMLContext*>(user_data);
|
||||
|
||||
Error::SetString(context->error, std::string(msg, msg_len));
|
||||
std::longjmp(context->env, 1);
|
||||
};
|
||||
|
||||
ryml::EventHandlerTree event_handler(callbacks);
|
||||
ryml::Parser parser(&event_handler);
|
||||
|
||||
ryml::Tree tree;
|
||||
|
||||
// The only options RapidYAML provides for recovering from errors are
|
||||
// throwing an exception or using setjmp/longjmp. Since we have exceptions
|
||||
// disabled we have to use the latter option.
|
||||
if (setjmp(context.env))
|
||||
return std::nullopt;
|
||||
|
||||
ryml::parse_in_arena(&parser, file_name, yaml, &tree);
|
||||
|
||||
return tree;
|
||||
}
|
||||
18
common/YAML.h
Normal file
18
common/YAML.h
Normal file
@@ -0,0 +1,18 @@
|
||||
// SPDX-FileCopyrightText: 2002-2025 PCSX2 Dev Team
|
||||
// SPDX-License-Identifier: GPL-3.0+
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Error.h"
|
||||
|
||||
#include "ryml_std.hpp"
|
||||
#include "ryml.hpp"
|
||||
#include "ryml.hpp"
|
||||
|
||||
#include <optional>
|
||||
|
||||
/// Parse a YAML file with RapidYAML, and use setjmp/longjmp to recover from
|
||||
/// parsing errors (as is recommended by the documentation for cases where
|
||||
/// exceptions are disabled). The file_name parameter is only used for error
|
||||
/// messages, which are returned via the error parameter.
|
||||
std::optional<ryml::Tree> ParseYAMLFromString(ryml::csubstr yaml, ryml::csubstr file_name, Error* error);
|
||||
@@ -36,10 +36,12 @@
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\fast_float\include</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\fmt\include</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\jpgd</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\rapidyaml\include</AdditionalIncludeDirectories>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<ForcedIncludeFiles>PrecompiledHeader.h</ForcedIncludeFiles>
|
||||
<PrecompiledHeaderFile>PrecompiledHeader.h</PrecompiledHeaderFile>
|
||||
<ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName>
|
||||
<PreprocessorDefinitions>C4_NO_DEBUG_BREAK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
@@ -71,6 +73,7 @@
|
||||
<ClCompile Include="Timer.cpp" />
|
||||
<ClCompile Include="WAVWriter.cpp" />
|
||||
<ClCompile Include="WindowInfo.cpp" />
|
||||
<ClCompile Include="YAML.cpp" />
|
||||
<ClCompile Include="Perf.cpp" />
|
||||
<ClCompile Include="PrecompiledHeader.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
@@ -157,6 +160,7 @@
|
||||
<ClInclude Include="Timer.h" />
|
||||
<ClInclude Include="WAVWriter.h" />
|
||||
<ClInclude Include="WindowInfo.h" />
|
||||
<ClInclude Include="YAML.h" />
|
||||
<ClInclude Include="Threading.h" />
|
||||
<ClInclude Include="emitter\implement\avx.h" />
|
||||
<ClInclude Include="emitter\implement\bmi.h" />
|
||||
|
||||
@@ -127,6 +127,9 @@
|
||||
<ClCompile Include="SmallString.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="YAML.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="AlignedMalloc.h">
|
||||
@@ -335,6 +338,9 @@
|
||||
</ClInclude>
|
||||
<ClInclude Include="SingleRegisterTypes.h" />
|
||||
<ClInclude Include="FPControl.h" />
|
||||
<ClInclude Include="YAML.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
@@ -349,4 +355,4 @@
|
||||
<Filter>Source Files</Filter>
|
||||
</MASM>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -59,6 +59,7 @@ namespace GSRunner
|
||||
{
|
||||
static void InitializeConsole();
|
||||
static bool InitializeConfig();
|
||||
static void SettingsOverride();
|
||||
static bool ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& params);
|
||||
static void DumpStats();
|
||||
|
||||
@@ -119,42 +120,6 @@ bool GSRunner::InitializeConfig()
|
||||
|
||||
VMManager::SetDefaultSettings(si, true, true, true, true, true);
|
||||
|
||||
// complete as quickly as possible
|
||||
si.SetBoolValue("EmuCore/GS", "FrameLimitEnable", false);
|
||||
si.SetIntValue("EmuCore/GS", "VsyncEnable", false);
|
||||
|
||||
// Force screenshot quality settings to something more performant, overriding any defaults good for users.
|
||||
si.SetIntValue("EmuCore/GS", "ScreenshotFormat", static_cast<int>(GSScreenshotFormat::PNG));
|
||||
si.SetIntValue("EmuCore/GS", "ScreenshotQuality", 10);
|
||||
|
||||
// ensure all input sources are disabled, we're not using them
|
||||
si.SetBoolValue("InputSources", "SDL", false);
|
||||
si.SetBoolValue("InputSources", "XInput", false);
|
||||
|
||||
// we don't need any sound output
|
||||
si.SetStringValue("SPU2/Output", "OutputModule", "nullout");
|
||||
|
||||
// none of the bindings are going to resolve to anything
|
||||
Pad::ClearPortBindings(si, 0);
|
||||
si.ClearSection("Hotkeys");
|
||||
|
||||
// force logging
|
||||
si.SetBoolValue("Logging", "EnableSystemConsole", !s_no_console);
|
||||
si.SetBoolValue("Logging", "EnableTimestamps", true);
|
||||
si.SetBoolValue("Logging", "EnableVerbose", true);
|
||||
|
||||
// and show some stats :)
|
||||
si.SetBoolValue("EmuCore/GS", "OsdShowFPS", true);
|
||||
si.SetBoolValue("EmuCore/GS", "OsdShowResolution", true);
|
||||
si.SetBoolValue("EmuCore/GS", "OsdShowGSStats", true);
|
||||
|
||||
// remove memory cards, so we don't have sharing violations
|
||||
for (u32 i = 0; i < 2; i++)
|
||||
{
|
||||
si.SetBoolValue("MemoryCards", fmt::format("Slot{}_Enable", i + 1).c_str(), false);
|
||||
si.SetStringValue("MemoryCards", fmt::format("Slot{}_Filename", i + 1).c_str(), "");
|
||||
}
|
||||
|
||||
VMManager::Internal::LoadStartupSettings();
|
||||
return true;
|
||||
}
|
||||
@@ -709,6 +674,28 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa
|
||||
|
||||
continue;
|
||||
}
|
||||
else if (CHECK_ARG_PARAM("-ini"))
|
||||
{
|
||||
std::string path = std::string(StringUtil::StripWhitespace(argv[++i]));
|
||||
if (!FileSystem::FileExists(path.c_str()))
|
||||
{
|
||||
Console.ErrorFmt("INI file {} does not exit.", path);
|
||||
return false;
|
||||
}
|
||||
|
||||
INISettingsInterface si_ini(path);
|
||||
|
||||
if (!si_ini.Load())
|
||||
{
|
||||
Console.ErrorFmt("Unable to load INI settings from {}.", path);
|
||||
return false;
|
||||
}
|
||||
|
||||
for (const auto& [key, value] : si_ini.GetKeyValueList("EmuCore/GS"))
|
||||
s_settings_interface.SetStringValue("EmuCore/GS", key.c_str(), value.c_str());
|
||||
|
||||
continue;
|
||||
}
|
||||
else if (CHECK_ARG_PARAM("-upscale"))
|
||||
{
|
||||
const float upscale = StringUtil::FromChars<float>(argv[++i]).value_or(0.0f);
|
||||
@@ -813,6 +800,45 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa
|
||||
return true;
|
||||
}
|
||||
|
||||
void GSRunner::SettingsOverride()
|
||||
{
|
||||
// complete as quickly as possible
|
||||
s_settings_interface.SetBoolValue("EmuCore/GS", "FrameLimitEnable", false);
|
||||
s_settings_interface.SetIntValue("EmuCore/GS", "VsyncEnable", false);
|
||||
|
||||
// Force screenshot quality settings to something more performant, overriding any defaults good for users.
|
||||
s_settings_interface.SetIntValue("EmuCore/GS", "ScreenshotFormat", static_cast<int>(GSScreenshotFormat::PNG));
|
||||
s_settings_interface.SetIntValue("EmuCore/GS", "ScreenshotQuality", 10);
|
||||
|
||||
// ensure all input sources are disabled, we're not using them
|
||||
s_settings_interface.SetBoolValue("InputSources", "SDL", false);
|
||||
s_settings_interface.SetBoolValue("InputSources", "XInput", false);
|
||||
|
||||
// we don't need any sound output
|
||||
s_settings_interface.SetStringValue("SPU2/Output", "OutputModule", "nullout");
|
||||
|
||||
// none of the bindings are going to resolve to anything
|
||||
Pad::ClearPortBindings(s_settings_interface, 0);
|
||||
s_settings_interface.ClearSection("Hotkeys");
|
||||
|
||||
// force logging
|
||||
s_settings_interface.SetBoolValue("Logging", "EnableSystemConsole", !s_no_console);
|
||||
s_settings_interface.SetBoolValue("Logging", "EnableTimestamps", true);
|
||||
s_settings_interface.SetBoolValue("Logging", "EnableVerbose", true);
|
||||
|
||||
// and show some stats :)
|
||||
s_settings_interface.SetBoolValue("EmuCore/GS", "OsdShowFPS", true);
|
||||
s_settings_interface.SetBoolValue("EmuCore/GS", "OsdShowResolution", true);
|
||||
s_settings_interface.SetBoolValue("EmuCore/GS", "OsdShowGSStats", true);
|
||||
|
||||
// remove memory cards, so we don't have sharing violations
|
||||
for (u32 i = 0; i < 2; i++)
|
||||
{
|
||||
s_settings_interface.SetBoolValue("MemoryCards", fmt::format("Slot{}_Enable", i + 1).c_str(), false);
|
||||
s_settings_interface.SetStringValue("MemoryCards", fmt::format("Slot{}_Filename", i + 1).c_str(), "");
|
||||
}
|
||||
}
|
||||
|
||||
void GSRunner::DumpStats()
|
||||
{
|
||||
std::atomic_thread_fence(std::memory_order_acquire);
|
||||
@@ -871,6 +897,9 @@ int main(int argc, char* argv[])
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
// Override settings that shouldn't be picked up from defaults or INIs.
|
||||
GSRunner::SettingsOverride();
|
||||
|
||||
// apply new settings (e.g. pick up renderer change)
|
||||
VMManager::ApplySettings();
|
||||
GSDumpReplayer::SetIsDumpRunner(true);
|
||||
|
||||
@@ -81,6 +81,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -115,6 +118,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<class>AutoUpdaterDialog</class>
|
||||
<widget class="QDialog" name="AutoUpdaterDialog">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::ApplicationModal</enum>
|
||||
<enum>Qt::WindowModality::ApplicationModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
@@ -91,7 +91,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -132,6 +132,12 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>updateNotes</tabstop>
|
||||
<tabstop>downloadAndInstall</tabstop>
|
||||
<tabstop>skipThisUpdate</tabstop>
|
||||
<tabstop>remindMeLater</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -264,6 +264,14 @@ target_sources(pcsx2-qt PRIVATE
|
||||
resources/resources.qrc
|
||||
)
|
||||
|
||||
if (NOT APPLE)
|
||||
target_sources(pcsx2-qt PRIVATE
|
||||
ShortcutCreationDialog.cpp
|
||||
ShortcutCreationDialog.h
|
||||
ShortcutCreationDialog.ui
|
||||
)
|
||||
endif()
|
||||
|
||||
file(GLOB TS_FILES ${CMAKE_CURRENT_SOURCE_DIR}/Translations/*.ts)
|
||||
|
||||
target_precompile_headers(pcsx2-qt PRIVATE PrecompiledHeader.h)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<pixmap resource="resources/resources.qrc">:/icons/black/svg/artboard-2-line.svg</pixmap>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -40,6 +40,12 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>label</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -52,6 +58,12 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>urls</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -65,6 +77,12 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>useTitleFileNames</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -110,6 +128,12 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>urls</tabstop>
|
||||
<tabstop>useTitleFileNames</tabstop>
|
||||
<tabstop>start</tabstop>
|
||||
<tabstop>close</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -34,6 +34,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -45,10 +48,10 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
<enum>QFrame::Shape::NoFrame</enum>
|
||||
</property>
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
@@ -80,7 +83,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -108,6 +111,12 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>scrollArea</tabstop>
|
||||
<tabstop>closeCheckBox</tabstop>
|
||||
<tabstop>analyseButton</tabstop>
|
||||
<tabstop>closeButton</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<class>BreakpointDialog</class>
|
||||
<widget class="QDialog" name="BreakpointDialog">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::ApplicationModal</enum>
|
||||
<enum>Qt::WindowModality::ApplicationModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
@@ -56,10 +56,10 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QGroupBox" name="grpType">
|
||||
@@ -111,13 +111,16 @@
|
||||
</property>
|
||||
<layout class="QFormLayout" name="formLayout">
|
||||
<property name="formAlignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter</set>
|
||||
</property>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Address</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtAddress</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -147,6 +150,9 @@
|
||||
<property name="text">
|
||||
<string>Description</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtDescription</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -221,6 +227,9 @@
|
||||
<property name="text">
|
||||
<string>Size</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtSize</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -264,6 +273,9 @@
|
||||
<property name="text">
|
||||
<string>Condition</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtCondition</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -310,6 +322,19 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>rdoMemory</tabstop>
|
||||
<tabstop>rdoExecute</tabstop>
|
||||
<tabstop>txtAddress</tabstop>
|
||||
<tabstop>txtDescription</tabstop>
|
||||
<tabstop>chkLog</tabstop>
|
||||
<tabstop>chkEnable</tabstop>
|
||||
<tabstop>chkRead</tabstop>
|
||||
<tabstop>chkWrite</tabstop>
|
||||
<tabstop>chkChange</tabstop>
|
||||
<tabstop>txtSize</tabstop>
|
||||
<tabstop>txtCondition</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
|
||||
@@ -238,6 +238,12 @@ int DebuggerWindow::fontSize()
|
||||
|
||||
void DebuggerWindow::updateTheme()
|
||||
{
|
||||
// Detect recursive StyleChange events caused by updating the stylesheet.
|
||||
if (m_is_updating_theme)
|
||||
return;
|
||||
|
||||
m_is_updating_theme = true;
|
||||
|
||||
// TODO: Migrate away from stylesheets to improve performance.
|
||||
setStyleSheet(QString("font-size: %1pt;").arg(m_font_size));
|
||||
|
||||
@@ -248,6 +254,8 @@ void DebuggerWindow::updateTheme()
|
||||
setStyleSheet(QString());
|
||||
|
||||
dockManager().updateTheme();
|
||||
|
||||
m_is_updating_theme = false;
|
||||
}
|
||||
|
||||
void DebuggerWindow::saveWindowGeometry()
|
||||
@@ -535,6 +543,12 @@ void DebuggerWindow::onStepOut()
|
||||
this->repaint();
|
||||
}
|
||||
|
||||
void DebuggerWindow::changeEvent(QEvent* event)
|
||||
{
|
||||
if (event->type() == QEvent::PaletteChange || event->type() == QEvent::StyleChange)
|
||||
updateTheme();
|
||||
}
|
||||
|
||||
void DebuggerWindow::closeEvent(QCloseEvent* event)
|
||||
{
|
||||
dockManager().saveCurrentLayout();
|
||||
|
||||
@@ -60,7 +60,8 @@ Q_SIGNALS:
|
||||
void onVMActuallyPaused();
|
||||
|
||||
protected:
|
||||
void closeEvent(QCloseEvent* event);
|
||||
void changeEvent(QEvent* event) override;
|
||||
void closeEvent(QCloseEvent* event) override;
|
||||
|
||||
private:
|
||||
DebugInterface* currentCPU();
|
||||
@@ -75,6 +76,8 @@ private:
|
||||
int m_font_size;
|
||||
static const constexpr int MINIMUM_FONT_SIZE = 5;
|
||||
static const constexpr int MAXIMUM_FONT_SIZE = 30;
|
||||
|
||||
bool m_is_updating_theme = false;
|
||||
};
|
||||
|
||||
extern DebuggerWindow* g_debugger_window;
|
||||
|
||||
@@ -939,7 +939,7 @@ inline QString DisassemblyView::DisassemblyStringFromAddress(u32 address, QFont
|
||||
QColor DisassemblyView::GetAddressFunctionColor(u32 address)
|
||||
{
|
||||
std::array<QColor, 6> colors;
|
||||
if (QtUtils::IsLightTheme(palette()))
|
||||
if (!QtHost::IsDarkApplicationTheme())
|
||||
{
|
||||
colors = {
|
||||
QColor::fromRgba(0xFFFA3434),
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "DropIndicators.h"
|
||||
|
||||
#include "QtHost.h"
|
||||
#include "QtUtils.h"
|
||||
#include "Debugger/Docking/DockViews.h"
|
||||
|
||||
@@ -21,7 +22,7 @@ static std::pair<QColor, QColor> pickNiceColours(const QPalette& palette, bool h
|
||||
QColor fill = palette.highlight().color();
|
||||
QColor outline = palette.highlight().color();
|
||||
|
||||
if (QtUtils::IsLightTheme(palette))
|
||||
if (!QtHost::IsDarkApplicationTheme())
|
||||
{
|
||||
fill = fill.darker(200);
|
||||
outline = outline.darker(200);
|
||||
@@ -197,7 +198,7 @@ static const constexpr int INDICATOR_MARGIN = 10;
|
||||
static bool isWayland()
|
||||
{
|
||||
return KDDockWidgets::Core::Platform::instance()->displayType() ==
|
||||
KDDockWidgets::Core::Platform::DisplayType::Wayland;
|
||||
KDDockWidgets::Core::Platform::DisplayType::Wayland;
|
||||
}
|
||||
|
||||
static QWidget* parentForIndicatorWindow(KDDockWidgets::Core::ClassicDropIndicatorOverlay* classic_indicators)
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
<property name="text">
|
||||
<string>Name</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>nameEditor</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
@@ -28,6 +31,9 @@
|
||||
<property name="text">
|
||||
<string>Target</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cpuEditor</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@@ -35,6 +41,9 @@
|
||||
<property name="text">
|
||||
<string>Initial State</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>initialStateEditor</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -66,10 +75,10 @@
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -77,6 +86,11 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>nameEditor</tabstop>
|
||||
<tabstop>cpuEditor</tabstop>
|
||||
<tabstop>initialStateEditor</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<item>
|
||||
<spacer name="topSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -36,7 +36,10 @@
|
||||
<string>There are no layouts.</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>createDefaultLayoutsButton</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -45,7 +48,7 @@
|
||||
<item>
|
||||
<spacer name="leftSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -65,7 +68,7 @@
|
||||
<item>
|
||||
<spacer name="rightSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -80,7 +83,7 @@
|
||||
<item>
|
||||
<spacer name="bottomSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -92,6 +95,9 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>createDefaultLayoutsButton</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -21,6 +21,9 @@
|
||||
<property name="text">
|
||||
<string>Value</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtSearchValue</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -31,6 +34,9 @@
|
||||
<property name="text">
|
||||
<string>Type</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cmbSearchType</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -82,6 +88,9 @@
|
||||
<property name="text">
|
||||
<string>Hex</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>chkSearchHex</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
@@ -155,20 +164,26 @@
|
||||
<property name="text">
|
||||
<string>Comparison</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cmbSearchComparison</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0" alignment="Qt::AlignLeft">
|
||||
<item row="0" column="0" alignment="Qt::AlignmentFlag::AlignLeft">
|
||||
<widget class="QLabel" name="startLabel">
|
||||
<property name="text">
|
||||
<string>Start</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtSearchStart</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1" alignment="Qt::AlignLeft">
|
||||
<item row="0" column="1" alignment="Qt::AlignmentFlag::AlignLeft">
|
||||
<widget class="QLineEdit" name="txtSearchStart">
|
||||
<property name="text">
|
||||
<string notr="true">0x00</string>
|
||||
@@ -180,6 +195,9 @@
|
||||
<property name="text">
|
||||
<string>End</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>txtSearchEnd</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
@@ -206,6 +224,17 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>txtSearchValue</tabstop>
|
||||
<tabstop>cmbSearchComparison</tabstop>
|
||||
<tabstop>cmbSearchType</tabstop>
|
||||
<tabstop>chkSearchHex</tabstop>
|
||||
<tabstop>txtSearchStart</tabstop>
|
||||
<tabstop>txtSearchEnd</tabstop>
|
||||
<tabstop>btnSearch</tabstop>
|
||||
<tabstop>btnFilterSearch</tabstop>
|
||||
<tabstop>listSearchResults</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -30,7 +30,7 @@
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">No games in supported formats were found.</span></p><p>Please add a directory with games to begin.</p><p>Game dumps in the following formats will be scanned and listed:</p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -40,7 +40,7 @@
|
||||
<string notr="true">TextLabel</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -49,7 +49,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -69,7 +69,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -86,7 +86,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -106,7 +106,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -121,7 +121,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -133,6 +133,10 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>addGameDirectory</tabstop>
|
||||
<tabstop>scanForNewGames</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -23,6 +23,12 @@ static constexpr std::array<const char*, GameListModel::Column_Count> s_column_n
|
||||
static constexpr int COVER_ART_WIDTH = 350;
|
||||
static constexpr int COVER_ART_HEIGHT = 512;
|
||||
static constexpr int COVER_ART_SPACING = 32;
|
||||
|
||||
// Scaling these is not a linear transform due to float conversions; add them together here.
|
||||
static constexpr int SIZE_HINT_WIDTH = COVER_ART_WIDTH + (COVER_ART_SPACING / 2);
|
||||
static constexpr int SIZE_HINT_HEIGHT = COVER_ART_HEIGHT + (COVER_ART_SPACING / 2);
|
||||
static constexpr int SIZE_HINT_HEIGHT_TITLES = SIZE_HINT_HEIGHT + COVER_ART_SPACING;
|
||||
|
||||
static constexpr int MIN_COVER_CACHE_SIZE = 256;
|
||||
|
||||
static int DPRScale(int size, qreal dpr)
|
||||
@@ -265,31 +271,35 @@ int GameListModel::columnCount(const QModelIndex& parent) const
|
||||
return Column_Count;
|
||||
}
|
||||
|
||||
QString GameListModel::formatTimespan(time_t timespan)
|
||||
QString GameListModel::formatTimespan(const time_t timespan)
|
||||
{
|
||||
// avoid an extra string conversion
|
||||
// Avoid an extra string conversion over calling QString::fromStdString(GameList::FormatTimespan).
|
||||
const u32 hours = static_cast<u32>(timespan / 3600);
|
||||
const u32 minutes = static_cast<u32>((timespan % 3600) / 60);
|
||||
if (hours > 0)
|
||||
return qApp->translate("GameList", "%n hours", "", hours);
|
||||
else
|
||||
|
||||
const u32 minutes = static_cast<u32>((timespan % 3600) / 60);
|
||||
if (minutes > 0)
|
||||
return qApp->translate("GameList", "%n minutes", "", minutes);
|
||||
else
|
||||
return qApp->translate("GameList", "%n seconds", "", static_cast<u32>((timespan % 3600) % 60));
|
||||
}
|
||||
|
||||
QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
{
|
||||
if (!index.isValid())
|
||||
return {};
|
||||
return QVariant();
|
||||
|
||||
const int row = index.row();
|
||||
if (row < 0 || row >= static_cast<int>(GameList::GetEntryCount()))
|
||||
return {};
|
||||
return QVariant();
|
||||
|
||||
const auto lock = GameList::GetLock();
|
||||
const GameList::Entry* ge = GameList::GetEntryByIndex(row);
|
||||
if (!ge)
|
||||
return {};
|
||||
return QVariant();
|
||||
|
||||
// See: https://doc.qt.io/qt-6/qt.html#ItemDataRole-enum
|
||||
switch (role)
|
||||
{
|
||||
case Qt::DisplayRole:
|
||||
@@ -309,12 +319,7 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
return QString::fromStdString(fmt::format("{:08X}", ge->crc));
|
||||
|
||||
case Column_TimePlayed:
|
||||
{
|
||||
if (ge->total_played_time == 0)
|
||||
return {};
|
||||
else
|
||||
return formatTimespan(ge->total_played_time);
|
||||
}
|
||||
return ge->total_played_time ? formatTimespan(ge->total_played_time) : QVariant();
|
||||
|
||||
case Column_LastPlayed:
|
||||
return QString::fromStdString(GameList::FormatTimestamp(ge->last_played_time));
|
||||
@@ -323,55 +328,10 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
return QString("%1 MB").arg(static_cast<double>(ge->total_size) / 1048576.0, 0, 'f', 2);
|
||||
|
||||
case Column_Cover:
|
||||
{
|
||||
if (m_show_titles_for_covers)
|
||||
return QString::fromStdString(ge->GetTitle(m_prefer_english_titles));
|
||||
else
|
||||
return {};
|
||||
}
|
||||
return m_show_titles_for_covers ? QString::fromStdString(ge->GetTitle(m_prefer_english_titles)) : QVariant();
|
||||
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
case Qt::InitialSortOrderRole:
|
||||
{
|
||||
switch (index.column())
|
||||
{
|
||||
case Column_Type:
|
||||
return static_cast<int>(ge->type);
|
||||
|
||||
case Column_Serial:
|
||||
return QString::fromStdString(ge->serial);
|
||||
|
||||
case Column_Title:
|
||||
case Column_Cover:
|
||||
return QString::fromStdString(ge->GetTitleSort(m_prefer_english_titles));
|
||||
|
||||
case Column_FileTitle:
|
||||
return QtUtils::StringViewToQString(Path::GetFileTitle(ge->path));
|
||||
|
||||
case Column_CRC:
|
||||
return static_cast<int>(ge->crc);
|
||||
|
||||
case Column_TimePlayed:
|
||||
return static_cast<qlonglong>(ge->total_played_time);
|
||||
|
||||
case Column_LastPlayed:
|
||||
return static_cast<qlonglong>(ge->last_played_time);
|
||||
|
||||
case Column_Region:
|
||||
return static_cast<int>(ge->region);
|
||||
|
||||
case Column_Compatibility:
|
||||
return static_cast<int>(ge->compatibility_rating);
|
||||
|
||||
case Column_Size:
|
||||
return static_cast<qulonglong>(ge->total_size);
|
||||
|
||||
default:
|
||||
return {};
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -380,22 +340,16 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
switch (index.column())
|
||||
{
|
||||
case Column_Type:
|
||||
{
|
||||
return m_type_pixmaps[static_cast<u32>(ge->type)];
|
||||
}
|
||||
|
||||
case Column_Region:
|
||||
{
|
||||
return m_region_pixmaps[static_cast<u32>(ge->region)];
|
||||
}
|
||||
|
||||
case Column_Compatibility:
|
||||
{
|
||||
return m_compatibility_pixmaps[static_cast<u32>(
|
||||
(static_cast<u32>(ge->compatibility_rating) >= GameList::CompatibilityRatingCount) ?
|
||||
GameList::CompatibilityRating::Unknown :
|
||||
ge->compatibility_rating)];
|
||||
}
|
||||
|
||||
case Column_Cover:
|
||||
{
|
||||
@@ -408,22 +362,34 @@ QVariant GameListModel::data(const QModelIndex& index, int role) const
|
||||
const_cast<GameListModel*>(this)->loadOrGenerateCover(ge);
|
||||
return *m_cover_pixmap_cache.Insert(ge->path, m_loading_pixmap);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return {};
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
|
||||
case Qt::SizeHintRole:
|
||||
{
|
||||
switch (index.column())
|
||||
{
|
||||
case Column_Cover:
|
||||
return QSize(static_cast<int>(static_cast<float>(SIZE_HINT_WIDTH) * m_cover_scale),
|
||||
static_cast<int>(static_cast<float>(m_show_titles_for_covers ? SIZE_HINT_HEIGHT_TITLES : SIZE_HINT_HEIGHT) * m_cover_scale));
|
||||
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
}
|
||||
|
||||
QVariant GameListModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||
{
|
||||
if (orientation != Qt::Horizontal || role != Qt::DisplayRole || section < 0 || section >= Column_Count)
|
||||
return {};
|
||||
return QVariant();
|
||||
|
||||
return m_column_display_names[section];
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ private:
|
||||
void loadOrGenerateCover(const GameList::Entry* ge);
|
||||
void invalidateCoverForPath(const std::string& path);
|
||||
|
||||
static QString formatTimespan(time_t timespan);
|
||||
static QString formatTimespan(const time_t timespan);
|
||||
|
||||
float m_cover_scale = 0.0f;
|
||||
std::atomic<u32> m_cover_scale_counter{0};
|
||||
|
||||
@@ -260,7 +260,7 @@ void GameListWidget::initialize()
|
||||
connect(m_table_view->horizontalHeader(), &QHeaderView::customContextMenuRequested, this,
|
||||
&GameListWidget::onTableViewHeaderContextMenuRequested);
|
||||
connect(m_table_view->horizontalHeader(), &QHeaderView::sortIndicatorChanged, this,
|
||||
&GameListWidget::onTableViewHeaderSortIndicatorChanged);
|
||||
&GameListWidget::saveTableViewColumnSortSettings);
|
||||
|
||||
m_ui.stack->insertWidget(0, m_table_view);
|
||||
|
||||
@@ -571,11 +571,6 @@ void GameListWidget::onTableViewHeaderContextMenuRequested(const QPoint& point)
|
||||
menu.exec(m_table_view->mapToGlobal(point));
|
||||
}
|
||||
|
||||
void GameListWidget::onTableViewHeaderSortIndicatorChanged(int, Qt::SortOrder)
|
||||
{
|
||||
saveTableViewColumnSortSettings();
|
||||
}
|
||||
|
||||
void GameListWidget::onCoverScaleChanged()
|
||||
{
|
||||
m_model->updateCacheSize(width(), height());
|
||||
@@ -804,18 +799,15 @@ void GameListWidget::loadTableViewColumnSortSettings()
|
||||
hv->setSortIndicator(sort_column, sort_order);
|
||||
}
|
||||
|
||||
void GameListWidget::saveTableViewColumnSortSettings()
|
||||
void GameListWidget::saveTableViewColumnSortSettings(const int sort_column, const Qt::SortOrder sort_order)
|
||||
{
|
||||
const int sort_column = m_table_view->horizontalHeader()->sortIndicatorSection();
|
||||
const bool sort_descending = (m_table_view->horizontalHeader()->sortIndicatorOrder() == Qt::DescendingOrder);
|
||||
|
||||
if (sort_column >= 0 && sort_column < GameListModel::Column_Count)
|
||||
{
|
||||
Host::SetBaseStringSettingValue(
|
||||
"GameListTableView", "SortColumn", GameListModel::getColumnName(static_cast<GameListModel::Column>(sort_column)));
|
||||
}
|
||||
|
||||
Host::SetBaseBoolSettingValue("GameListTableView", "SortDescending", sort_descending);
|
||||
Host::SetBaseBoolSettingValue("GameListTableView", "SortDescending", sort_order == Qt::DescendingOrder);
|
||||
Host::CommitBaseSettingChanges();
|
||||
}
|
||||
|
||||
|
||||
@@ -81,7 +81,6 @@ private Q_SLOTS:
|
||||
void onTableViewItemActivated(const QModelIndex& index);
|
||||
void onTableViewContextMenuRequested(const QPoint& point);
|
||||
void onTableViewHeaderContextMenuRequested(const QPoint& point);
|
||||
void onTableViewHeaderSortIndicatorChanged(int, Qt::SortOrder);
|
||||
void onListViewItemActivated(const QModelIndex& index);
|
||||
void onListViewContextMenuRequested(const QPoint& point);
|
||||
void onCoverScaleChanged();
|
||||
@@ -106,7 +105,7 @@ private:
|
||||
void saveTableViewColumnVisibilitySettings();
|
||||
void saveTableViewColumnVisibilitySettings(int column);
|
||||
void loadTableViewColumnSortSettings();
|
||||
void saveTableViewColumnSortSettings();
|
||||
void saveTableViewColumnSortSettings(const int sort_column, const Qt::SortOrder sort_order);
|
||||
void listZoom(float delta);
|
||||
void updateToolbar();
|
||||
|
||||
|
||||
@@ -214,6 +214,15 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>viewGameList</tabstop>
|
||||
<tabstop>viewGameGrid</tabstop>
|
||||
<tabstop>viewGridTitles</tabstop>
|
||||
<tabstop>gridScale</tabstop>
|
||||
<tabstop>filterType</tabstop>
|
||||
<tabstop>filterRegion</tabstop>
|
||||
<tabstop>searchText</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
#include "Tools/InputRecording/InputRecordingViewer.h"
|
||||
#include "Tools/InputRecording/NewInputRecordingDlg.h"
|
||||
|
||||
#if !defined(__APPLE__)
|
||||
#include "ShortcutCreationDialog.h"
|
||||
#endif
|
||||
|
||||
#include "pcsx2/Achievements.h"
|
||||
#include "pcsx2/CDVD/CDVDcommon.h"
|
||||
#include "pcsx2/CDVD/CDVDdiscReader.h"
|
||||
@@ -138,21 +142,11 @@ MainWindow::~MainWindow()
|
||||
#ifdef _WIN32
|
||||
unregisterForDeviceNotifications();
|
||||
#endif
|
||||
#ifdef __APPLE__
|
||||
CocoaTools::RemoveThemeChangeHandler(this);
|
||||
#endif
|
||||
}
|
||||
|
||||
void MainWindow::initialize()
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
CocoaTools::AddThemeChangeHandler(this, [](void* ctx) {
|
||||
// This handler is called *before* the style change has propagated far enough for Qt to see it
|
||||
// Use RunOnUIThread to delay until it has
|
||||
QtHost::RunOnUIThread([ctx = static_cast<MainWindow*>(ctx)] {
|
||||
ctx->updateTheme(); // Qt won't notice the style change without us touching the palette in some way
|
||||
});
|
||||
});
|
||||
// The cocoa backing isn't initialized yet, delay this until stuff is set up with a `RunOnUIThread` call
|
||||
QtHost::RunOnUIThread([this] {
|
||||
CocoaTools::MarkHelpMenu(m_ui.menuHelp->toNSMenu());
|
||||
@@ -748,45 +742,37 @@ void MainWindow::onVideoCaptureToggled(bool checked)
|
||||
{
|
||||
if (!s_vm_valid)
|
||||
{
|
||||
QMessageBox msgbox(this);
|
||||
msgbox.setIcon(QMessageBox::Question);
|
||||
msgbox.setWindowIcon(QtHost::GetAppIcon());
|
||||
msgbox.setWindowTitle(tr("Record On Boot"));
|
||||
msgbox.setWindowModality(Qt::WindowModal);
|
||||
msgbox.addButton(QMessageBox::Yes);
|
||||
msgbox.addButton(QMessageBox::No);
|
||||
msgbox.setDefaultButton(QMessageBox::Yes);
|
||||
|
||||
if (!s_record_on_start)
|
||||
{
|
||||
QMessageBox msgbox(this);
|
||||
msgbox.setIcon(QMessageBox::Question);
|
||||
msgbox.setWindowIcon(QtHost::GetAppIcon());
|
||||
msgbox.setWindowTitle(tr("Record On Boot"));
|
||||
msgbox.setWindowModality(Qt::WindowModal);
|
||||
msgbox.setText(tr("Did you want to start recording on boot?"));
|
||||
msgbox.addButton(QMessageBox::Yes);
|
||||
msgbox.addButton(QMessageBox::No);
|
||||
msgbox.setDefaultButton(QMessageBox::Yes);
|
||||
if (msgbox.exec() == QMessageBox::Yes)
|
||||
{
|
||||
const QString container(QString::fromStdString(
|
||||
Host::GetStringSettingValue("EmuCore/GS", "CaptureContainer", Pcsx2Config::GSOptions::DEFAULT_CAPTURE_CONTAINER)));
|
||||
const QString filter(tr("%1 Files (*.%2)").arg(container.toUpper()).arg(container));
|
||||
|
||||
QString temp(QStringLiteral("%1.%2").arg(QString::fromStdString(GSGetBaseVideoFilename())).arg(container));
|
||||
temp = QDir::toNativeSeparators(QFileDialog::getSaveFileName(this, tr("Video Capture"), temp, filter));
|
||||
s_path_to_recording_for_record_on_start = temp;
|
||||
if (s_path_to_recording_for_record_on_start.isEmpty())
|
||||
return;
|
||||
s_record_on_start = true;
|
||||
const QString base_video_filename(QStringLiteral("%1.%2").arg(QString::fromStdString(GSGetBaseVideoFilename())).arg(container));
|
||||
s_path_to_recording_for_record_on_start = QDir::toNativeSeparators(QFileDialog::getSaveFileName(this, tr("Video Capture"), base_video_filename, filter));
|
||||
s_record_on_start = !s_path_to_recording_for_record_on_start.isEmpty();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QMessageBox msgbox(this);
|
||||
msgbox.setIcon(QMessageBox::Question);
|
||||
msgbox.setWindowIcon(QtHost::GetAppIcon());
|
||||
msgbox.setWindowTitle(tr("Record On Boot"));
|
||||
msgbox.setWindowModality(Qt::WindowModal);
|
||||
msgbox.setText(tr("Did you want to cancel recording on boot?"));
|
||||
msgbox.addButton(QMessageBox::Yes);
|
||||
msgbox.addButton(QMessageBox::No);
|
||||
msgbox.setDefaultButton(QMessageBox::Yes);
|
||||
if (msgbox.exec() == QMessageBox::Yes)
|
||||
s_record_on_start = false;
|
||||
}
|
||||
QSignalBlocker sb(m_ui.actionVideoCapture);
|
||||
m_ui.actionVideoCapture->setChecked(s_record_on_start);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1151,11 +1137,19 @@ bool MainWindow::shouldMouseLock() const
|
||||
if (!Host::GetBoolSettingValue("EmuCore", "EnableMouseLock", false))
|
||||
return false;
|
||||
|
||||
if(m_display_created == false || m_display_widget == nullptr && !isRenderingToMain())
|
||||
return false;
|
||||
|
||||
bool windowsHidden = (!g_debugger_window || g_debugger_window->isHidden()) &&
|
||||
(!m_controller_settings_window || m_controller_settings_window->isHidden()) &&
|
||||
(!m_settings_window || m_settings_window->isHidden());
|
||||
|
||||
return windowsHidden && (isActiveWindow() || isRenderingFullscreen());
|
||||
auto* displayWindow = isRenderingToMain() ? window() : m_display_widget->window();
|
||||
|
||||
if(displayWindow == nullptr)
|
||||
return false;
|
||||
|
||||
return windowsHidden && (displayWindow->isActiveWindow() || displayWindow->isFullScreen());
|
||||
}
|
||||
|
||||
bool MainWindow::shouldAbortForMemcardBusy(const VMLock& lock)
|
||||
@@ -1462,15 +1456,22 @@ void MainWindow::onGameListEntryContextMenuRequested(const QPoint& point)
|
||||
action = menu.addAction(tr("Set Cover Image..."));
|
||||
connect(action, &QAction::triggered, [this, entry]() { setGameListEntryCoverImage(entry); });
|
||||
|
||||
#if !defined(__APPLE__)
|
||||
connect(menu.addAction(tr("Create Game Shortcut...")), &QAction::triggered, [this]() { MainWindow::onCreateGameShortcutTriggered(); });
|
||||
#endif
|
||||
|
||||
connect(menu.addAction(tr("Exclude From List")), &QAction::triggered,
|
||||
[this, entry]() { getSettingsWindow()->getGameListSettingsWidget()->addExcludedPath(entry->path); });
|
||||
|
||||
connect(menu.addAction(tr("Reset Play Time")), &QAction::triggered, [this, entry]() { clearGameListEntryPlayTime(entry); });
|
||||
const time_t entry_played_time = GameList::GetCachedPlayedTimeForSerial(entry->serial);
|
||||
// Best two options given zero play time are to grey this out or to not show it at all.
|
||||
if (entry_played_time)
|
||||
connect(menu.addAction(tr("Reset Play Time")), &QAction::triggered, [this, entry, entry_played_time]()
|
||||
{ clearGameListEntryPlayTime(entry, entry_played_time); });
|
||||
|
||||
// Check Wiki Page functionality is based on a serial redirect.
|
||||
if (!entry->serial.empty())
|
||||
{
|
||||
connect(menu.addAction(tr("Check Wiki Page")), &QAction::triggered, [this, entry]() { goToWikiPage(entry); });
|
||||
}
|
||||
|
||||
action = menu.addAction(tr("Open Screenshots Folder"));
|
||||
connect(action, &QAction::triggered, [this, entry]() { openScreenshotsFolderForGame(entry); });
|
||||
@@ -1760,11 +1761,22 @@ void MainWindow::onToolsCoverDownloaderTriggered()
|
||||
{
|
||||
// This can be invoked via big picture, so exit fullscreen.
|
||||
VMLock lock(pauseAndLockVM());
|
||||
CoverDownloadDialog dlg(lock.getDialogParent());
|
||||
CoverDownloadDialog dlg(this);
|
||||
connect(&dlg, &CoverDownloadDialog::coverRefreshRequested, m_game_list_widget, &GameListWidget::refreshGridCovers);
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
#if !defined(__APPLE__)
|
||||
void MainWindow::onCreateGameShortcutTriggered()
|
||||
{
|
||||
const GameList::Entry* entry = m_game_list_widget->getSelectedEntry();
|
||||
const QString title = QString::fromStdString(entry->GetTitle());
|
||||
const QString path = QString::fromStdString(entry->path);
|
||||
VMLock lock(pauseAndLockVM());
|
||||
ShortcutCreationDialog dlg(lock.getDialogParent(), title, path);
|
||||
dlg.exec();
|
||||
}
|
||||
#endif
|
||||
void MainWindow::onToolsEditCheatsPatchesTriggered(bool cheats)
|
||||
{
|
||||
if (s_current_disc_serial.isEmpty() || s_current_running_crc == 0)
|
||||
@@ -1803,9 +1815,6 @@ void MainWindow::updateTheme()
|
||||
{
|
||||
QtHost::UpdateApplicationTheme();
|
||||
reloadThemeSpecificImages();
|
||||
|
||||
if (g_debugger_window)
|
||||
g_debugger_window->updateTheme();
|
||||
}
|
||||
|
||||
void MainWindow::reloadThemeSpecificImages()
|
||||
@@ -2322,19 +2331,24 @@ bool MainWindow::nativeEvent(const QByteArray& eventType, void* message, qintptr
|
||||
|
||||
if (msg->message == WM_INPUT)
|
||||
{
|
||||
UINT dwSize = 40;
|
||||
static BYTE lpb[40];
|
||||
if (GetRawInputData((HRAWINPUT)msg->lParam, RID_INPUT, lpb, &dwSize, sizeof(RAWINPUTHEADER)))
|
||||
UINT dwSize = 0;
|
||||
GetRawInputData((HRAWINPUT)msg->lParam, RID_INPUT, nullptr, &dwSize, sizeof(RAWINPUTHEADER));
|
||||
|
||||
if (dwSize > 0)
|
||||
{
|
||||
const RAWINPUT* raw = (RAWINPUT*)lpb;
|
||||
if (raw->header.dwType == RIM_TYPEMOUSE)
|
||||
std::vector<BYTE> lpb(dwSize);
|
||||
if (GetRawInputData((HRAWINPUT)msg->lParam, RID_INPUT, lpb.data(), &dwSize, sizeof(RAWINPUTHEADER)) == dwSize)
|
||||
{
|
||||
const RAWMOUSE& mouse = raw->data.mouse;
|
||||
if (mouse.usFlags == MOUSE_MOVE_ABSOLUTE || mouse.usFlags == MOUSE_MOVE_RELATIVE)
|
||||
const RAWINPUT* raw = reinterpret_cast<const RAWINPUT*>(lpb.data());
|
||||
if (raw->header.dwType == RIM_TYPEMOUSE)
|
||||
{
|
||||
POINT cursorPos;
|
||||
GetCursorPos(&cursorPos);
|
||||
checkMousePosition(cursorPos.x, cursorPos.y);
|
||||
const RAWMOUSE& mouse = raw->data.mouse;
|
||||
if (mouse.usFlags == MOUSE_MOVE_ABSOLUTE || mouse.usFlags == MOUSE_MOVE_RELATIVE)
|
||||
{
|
||||
POINT cursorPos;
|
||||
if (GetCursorPos(&cursorPos))
|
||||
checkMousePosition(cursorPos.x, cursorPos.y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2635,33 +2649,35 @@ void MainWindow::setupMouseMoveHandler()
|
||||
|
||||
void MainWindow::checkMousePosition(int x, int y)
|
||||
{
|
||||
if (!shouldMouseLock())
|
||||
return;
|
||||
// This function is called from a different thread on Linux/macOS
|
||||
// kaboom can happen when the widget is destroyed after shouldMouseLock is called, so queue everything to the UI thread
|
||||
QtHost::RunOnUIThread([this, x, y]() {
|
||||
if (!shouldMouseLock())
|
||||
return;
|
||||
|
||||
const QPoint globalCursorPos = {x, y};
|
||||
QRect windowBounds = isRenderingFullscreen() ? screen()->geometry() : geometry();
|
||||
if (windowBounds.contains(globalCursorPos))
|
||||
return;
|
||||
// physical mouse position
|
||||
const QPoint physicalPos(x, y);
|
||||
|
||||
Common::SetMousePosition(
|
||||
std::clamp(globalCursorPos.x(), windowBounds.left(), windowBounds.right()),
|
||||
std::clamp(globalCursorPos.y(), windowBounds.top(), windowBounds.bottom()));
|
||||
const auto* displayWindow = getDisplayContainer()->window();
|
||||
|
||||
/*
|
||||
Provided below is how we would handle this if we were using low level hooks (What is used in Common::AttachMouseCb)
|
||||
We currently use rawmouse on Windows, so Common::SetMousePosition called directly works fine.
|
||||
*/
|
||||
#if 0
|
||||
// We are currently in a low level hook. SetCursorPos here (what is in Common::SetMousePosition) will not work!
|
||||
// Let's (a)buse Qt's event loop to dispatch the call at a later time, outside of the hook.
|
||||
QMetaObject::invokeMethod(
|
||||
this, [=]() {
|
||||
Common::SetMousePosition(
|
||||
std::clamp(globalCursorPos.x(), windowBounds.left(), windowBounds.right()),
|
||||
std::clamp(globalCursorPos.y(), windowBounds.top(), windowBounds.bottom()));
|
||||
},
|
||||
Qt::QueuedConnection);
|
||||
#endif
|
||||
// logical (DIP) frame rect
|
||||
QRectF logicalBounds = displayWindow->geometry();
|
||||
|
||||
// physical frame rect
|
||||
const qreal scale = displayWindow->devicePixelRatioF();
|
||||
QRectF physicalBounds(
|
||||
logicalBounds.x() * scale,
|
||||
logicalBounds.y() * scale,
|
||||
logicalBounds.width() * scale,
|
||||
logicalBounds.height() * scale);
|
||||
|
||||
if (physicalBounds.contains(physicalPos))
|
||||
return;
|
||||
|
||||
Common::SetMousePosition(
|
||||
std::clamp(physicalPos.x(), (int)physicalBounds.left(), (int)physicalBounds.right()),
|
||||
std::clamp(physicalPos.y(), (int)physicalBounds.top(), (int)physicalBounds.bottom()));
|
||||
});
|
||||
}
|
||||
|
||||
void MainWindow::saveDisplayWindowGeometryToConfig()
|
||||
@@ -2911,17 +2927,18 @@ void MainWindow::setGameListEntryCoverImage(const GameList::Entry* entry)
|
||||
m_game_list_widget->refreshGridCovers();
|
||||
}
|
||||
|
||||
void MainWindow::clearGameListEntryPlayTime(const GameList::Entry* entry)
|
||||
void MainWindow::clearGameListEntryPlayTime(const GameList::Entry* entry, const time_t entry_played_time)
|
||||
{
|
||||
if (QMessageBox::question(this, tr("Confirm Reset"),
|
||||
tr("Are you sure you want to reset the play time for '%1'?\n\nThis action cannot be undone.")
|
||||
.arg(QString::fromStdString(entry->title))) != QMessageBox::Yes)
|
||||
tr("Are you sure you want to reset the play time for '%1' (%2)?\n\nYour current play time is %3.\n\nThis action cannot be undone.")
|
||||
.arg(entry->title.empty() ? tr("empty title") : QString::fromStdString(entry->title),
|
||||
entry->serial.empty() ? tr("no serial") : QString::fromStdString(entry->serial),
|
||||
QString::fromStdString(GameList::FormatTimespan(entry_played_time, true))),
|
||||
(QMessageBox::Yes | QMessageBox::No), QMessageBox::No) == QMessageBox::Yes)
|
||||
{
|
||||
return;
|
||||
GameList::ClearPlayedTimeForSerial(entry->serial);
|
||||
m_game_list_widget->refresh(false);
|
||||
}
|
||||
|
||||
GameList::ClearPlayedTimeForSerial(entry->serial);
|
||||
m_game_list_widget->refresh(false);
|
||||
}
|
||||
|
||||
void MainWindow::goToWikiPage(const GameList::Entry* entry)
|
||||
|
||||
@@ -170,6 +170,9 @@ private Q_SLOTS:
|
||||
void onAboutActionTriggered();
|
||||
void onToolsOpenDataDirectoryTriggered();
|
||||
void onToolsCoverDownloaderTriggered();
|
||||
#if !defined(__APPLE__)
|
||||
void onCreateGameShortcutTriggered();
|
||||
#endif
|
||||
void onToolsEditCheatsPatchesTriggered(bool cheats);
|
||||
void onCreateMemoryCardOpenRequested();
|
||||
void updateTheme();
|
||||
@@ -273,7 +276,7 @@ private:
|
||||
void startGameListEntry(
|
||||
const GameList::Entry* entry, std::optional<s32> save_slot = std::nullopt, std::optional<bool> fast_boot = std::nullopt, bool load_backup = false);
|
||||
void setGameListEntryCoverImage(const GameList::Entry* entry);
|
||||
void clearGameListEntryPlayTime(const GameList::Entry* entry);
|
||||
void clearGameListEntryPlayTime(const GameList::Entry* entry, const time_t entry_played_time);
|
||||
void goToWikiPage(const GameList::Entry* entry);
|
||||
void openScreenshotsFolderForGame(const GameList::Entry* entry);
|
||||
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
<addaction name="actionDEV9Settings"/>
|
||||
<addaction name="actionFolderSettings"/>
|
||||
<addaction name="actionAchievementSettings"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionControllerSettings"/>
|
||||
<addaction name="actionHotkeySettings"/>
|
||||
<addaction name="separator"/>
|
||||
|
||||
@@ -2328,7 +2328,12 @@ int main(int argc, char* argv[])
|
||||
{
|
||||
CrashHandler::Install();
|
||||
|
||||
// Exceptions are disabled, so we can't try/catch this.
|
||||
// Timestamps in some locales showed up wrong on Windows.
|
||||
// Qt already applies the user locale on Unix-like systems.
|
||||
#ifdef _WIN32
|
||||
std::locale::global(std::locale(""));
|
||||
#endif
|
||||
|
||||
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
|
||||
QtHost::RegisterTypes();
|
||||
|
||||
@@ -90,7 +90,9 @@ namespace QtUtils
|
||||
|
||||
const int min_column_width = header->minimumSectionSize();
|
||||
const int scrollbar_width = ((view->verticalScrollBar() && view->verticalScrollBar()->isVisible()) ||
|
||||
view->verticalScrollBarPolicy() == Qt::ScrollBarAlwaysOn) ? view->verticalScrollBar()->width() : 0;
|
||||
view->verticalScrollBarPolicy() == Qt::ScrollBarAlwaysOn) ?
|
||||
view->verticalScrollBar()->width() :
|
||||
0;
|
||||
int num_flex_items = 0;
|
||||
int total_width = 0;
|
||||
int column_index = 0;
|
||||
@@ -346,11 +348,6 @@ namespace QtUtils
|
||||
return csv;
|
||||
}
|
||||
|
||||
bool IsLightTheme(const QPalette& palette)
|
||||
{
|
||||
return palette.text().color().lightnessF() < 0.5;
|
||||
}
|
||||
|
||||
bool IsCompositorManagerRunning()
|
||||
{
|
||||
if (qEnvironmentVariableIsSet("PCSX2_NO_COMPOSITING"))
|
||||
|
||||
@@ -96,9 +96,7 @@ namespace QtUtils
|
||||
/// Converts an abstract item model to a CSV string.
|
||||
QString AbstractItemModelToCSV(QAbstractItemModel* model, int role = Qt::DisplayRole, bool useQuotes = false);
|
||||
|
||||
// Heuristic to check if the current theme is a light or dark theme.
|
||||
bool IsLightTheme(const QPalette& palette);
|
||||
|
||||
/// Checks if we can use transparency effects e.g. for dock drop indicators.
|
||||
bool IsCompositorManagerRunning();
|
||||
|
||||
/// Sets the scalable icon to a given label (svg icons, or icons with multiple size pixmaps)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<class>AchievementLoginDialog</class>
|
||||
<widget class="QDialog" name="AchievementLoginDialog">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::WindowModal</enum>
|
||||
<enum>Qt::WindowModality::WindowModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
@@ -44,7 +44,7 @@
|
||||
<string comment="Header text">RetroAchievements Login</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -63,7 +63,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -80,6 +80,9 @@
|
||||
<property name="text">
|
||||
<string>User Name:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>userName</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -90,12 +93,15 @@
|
||||
<property name="text">
|
||||
<string>Password:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>password</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="password">
|
||||
<property name="echoMode">
|
||||
<enum>QLineEdit::Password</enum>
|
||||
<enum>QLineEdit::EchoMode::Password</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -113,7 +119,7 @@
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel</set>
|
||||
<set>QDialogButtonBox::StandardButton::Cancel</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -121,6 +127,10 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>userName</tabstop>
|
||||
<tabstop>password</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -78,13 +78,13 @@
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBelow</enum>
|
||||
<enum>QSlider::TickPosition::TicksBelow</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>1</number>
|
||||
@@ -124,13 +124,13 @@
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBelow</enum>
|
||||
<enum>QSlider::TickPosition::TicksBelow</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>1</number>
|
||||
@@ -165,6 +165,9 @@
|
||||
<property name="text">
|
||||
<string>Notification Position:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>notificationPosition</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -284,6 +287,9 @@
|
||||
<property name="text">
|
||||
<string>Overlay Position:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>overlayPosition</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
@@ -418,7 +424,13 @@
|
||||
Login token generated at:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>viewProfile</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -458,7 +470,10 @@ Login token generated at:</string>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="gameInfo">
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -471,7 +486,7 @@ Login token generated at:</string>
|
||||
<string><html><head/><body><p align="justify">PCSX2 uses RetroAchievements as an achievement database and for tracking progress. To use achievements, please sign up for an account at <a href="https://retroachievements.org/">retroachievements.org</a>.</p><p align="justify">To view the achievement list in-game, press the hotkey for <span style=" font-weight:600;">Open Pause Menu</span> and select <span style=" font-weight:600;">Achievements</span> from the menu.</p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -487,7 +502,7 @@ Login token generated at:</string>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -499,6 +514,39 @@ Login token generated at:</string>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>enable</tabstop>
|
||||
<tabstop>hardcoreMode</tabstop>
|
||||
<tabstop>encoreMode</tabstop>
|
||||
<tabstop>spectatorMode</tabstop>
|
||||
<tabstop>unofficialAchievements</tabstop>
|
||||
<tabstop>achievementNotifications</tabstop>
|
||||
<tabstop>achievementNotificationsDuration</tabstop>
|
||||
<tabstop>leaderboardNotifications</tabstop>
|
||||
<tabstop>leaderboardNotificationsDuration</tabstop>
|
||||
<tabstop>soundEffects</tabstop>
|
||||
<tabstop>notificationPosition</tabstop>
|
||||
<tabstop>overlays</tabstop>
|
||||
<tabstop>leaderboardOverlays</tabstop>
|
||||
<tabstop>overlayPosition</tabstop>
|
||||
<tabstop>notificationSound</tabstop>
|
||||
<tabstop>notificationSoundPath</tabstop>
|
||||
<tabstop>notificationSoundBrowse</tabstop>
|
||||
<tabstop>notificationSoundOpen</tabstop>
|
||||
<tabstop>notificationSoundReset</tabstop>
|
||||
<tabstop>unlockSound</tabstop>
|
||||
<tabstop>unlockSoundPath</tabstop>
|
||||
<tabstop>unlockSoundBrowse</tabstop>
|
||||
<tabstop>unlockSoundOpen</tabstop>
|
||||
<tabstop>unlockSoundReset</tabstop>
|
||||
<tabstop>lbSound</tabstop>
|
||||
<tabstop>lbSoundPath</tabstop>
|
||||
<tabstop>lbSoundBrowse</tabstop>
|
||||
<tabstop>lbSoundOpen</tabstop>
|
||||
<tabstop>lbSoundReset</tabstop>
|
||||
<tabstop>viewProfile</tabstop>
|
||||
<tabstop>loginButton</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -32,6 +32,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Rounding refers here to the mathematical term.">Rounding Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>eeRoundingMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -63,6 +66,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Rounding refers here to the mathematical term.">Division Rounding Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>eeDivRoundingMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -94,6 +100,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Clamping: Forcing out of bounds things in bounds by changing them to the closest possible value. In this case, this refers to clamping large PS2 floating point values (which map to infinity or NaN in PCs' IEEE754 floats) to non-infinite ones.">Clamping Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>eeClampMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -187,6 +196,9 @@
|
||||
<property name="text">
|
||||
<string>VU1 Rounding Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>vu1RoundingMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -274,6 +286,9 @@
|
||||
<property name="text">
|
||||
<string>VU0 Clamping Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>vu0ClampMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
@@ -281,6 +296,9 @@
|
||||
<property name="text">
|
||||
<string>VU0 Rounding Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>vu0RoundingMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
@@ -288,6 +306,9 @@
|
||||
<property name="text">
|
||||
<string>VU1 Clamping Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>vu1ClampMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -446,6 +467,9 @@
|
||||
<property name="text">
|
||||
<string>Compression Level:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>savestateCompressionLevel</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
@@ -460,6 +484,9 @@
|
||||
<property name="text">
|
||||
<string>Compression Method:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>savestateCompressionMethod</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
@@ -499,6 +526,9 @@
|
||||
<property name="text">
|
||||
<string>Slot:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pineSlot</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
@@ -514,7 +544,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -526,6 +556,36 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>eeRoundingMode</tabstop>
|
||||
<tabstop>eeDivRoundingMode</tabstop>
|
||||
<tabstop>eeClampMode</tabstop>
|
||||
<tabstop>eeRecompiler</tabstop>
|
||||
<tabstop>eeCache</tabstop>
|
||||
<tabstop>eeWaitLoopDetection</tabstop>
|
||||
<tabstop>eeINTCSpinDetection</tabstop>
|
||||
<tabstop>eeFastmem</tabstop>
|
||||
<tabstop>pauseOnTLBMiss</tabstop>
|
||||
<tabstop>extraMemory</tabstop>
|
||||
<tabstop>vu0RoundingMode</tabstop>
|
||||
<tabstop>vu0ClampMode</tabstop>
|
||||
<tabstop>vu1RoundingMode</tabstop>
|
||||
<tabstop>vu1ClampMode</tabstop>
|
||||
<tabstop>vu0Recompiler</tabstop>
|
||||
<tabstop>vu1Recompiler</tabstop>
|
||||
<tabstop>vuFlagHack</tabstop>
|
||||
<tabstop>instantVU1</tabstop>
|
||||
<tabstop>iopRecompiler</tabstop>
|
||||
<tabstop>gameFixes</tabstop>
|
||||
<tabstop>patches</tabstop>
|
||||
<tabstop>savestateCompressionMethod</tabstop>
|
||||
<tabstop>savestateCompressionLevel</tabstop>
|
||||
<tabstop>backupSaveStates</tabstop>
|
||||
<tabstop>saveStateOnShutdown</tabstop>
|
||||
<tabstop>savestateSelector</tabstop>
|
||||
<tabstop>pineEnable</tabstop>
|
||||
<tabstop>pineSlot</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
<property name="text">
|
||||
<string>Circular Wrap:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>circularWrap</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -59,6 +62,9 @@
|
||||
<property name="text">
|
||||
<string>Shift:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>shift</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -99,6 +105,9 @@
|
||||
<property name="text">
|
||||
<string>Depth:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>depth</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
@@ -139,6 +148,9 @@
|
||||
<property name="text">
|
||||
<string>Focus:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>focus</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
@@ -179,6 +191,9 @@
|
||||
<property name="text">
|
||||
<string>Center Image:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>centerImage</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
@@ -219,6 +234,9 @@
|
||||
<property name="text">
|
||||
<string>Front Separation:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>frontSeparation</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
@@ -259,6 +277,9 @@
|
||||
<property name="text">
|
||||
<string>Rear Separation:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>rearSeparation</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
@@ -299,6 +320,9 @@
|
||||
<property name="text">
|
||||
<string>Low Cutoff:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>lowCutoff</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
@@ -339,6 +363,9 @@
|
||||
<property name="text">
|
||||
<string>High Cutoff:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>highCutoff</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
@@ -428,6 +455,9 @@
|
||||
<property name="text">
|
||||
<string>Block Size:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>blockSize</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -471,6 +501,18 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>blockSize</tabstop>
|
||||
<tabstop>circularWrap</tabstop>
|
||||
<tabstop>shift</tabstop>
|
||||
<tabstop>depth</tabstop>
|
||||
<tabstop>focus</tabstop>
|
||||
<tabstop>centerImage</tabstop>
|
||||
<tabstop>frontSeparation</tabstop>
|
||||
<tabstop>rearSeparation</tabstop>
|
||||
<tabstop>lowCutoff</tabstop>
|
||||
<tabstop>highCutoff</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -34,6 +34,9 @@
|
||||
<property name="text">
|
||||
<string>Driver:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>driver</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -76,10 +79,10 @@
|
||||
<number>50</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBothSides</enum>
|
||||
<enum>QSlider::TickPosition::TicksBothSides</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>20</number>
|
||||
@@ -117,6 +120,9 @@
|
||||
<property name="text">
|
||||
<string>Buffer Size:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>bufferMS</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="2">
|
||||
@@ -125,7 +131,10 @@
|
||||
<string>Maximum latency: 0 frames (0.00ms)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -134,6 +143,9 @@
|
||||
<property name="text">
|
||||
<string>Backend:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>audioBackend</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
@@ -147,10 +159,10 @@
|
||||
<number>200</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBothSides</enum>
|
||||
<enum>QSlider::TickPosition::TicksBothSides</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>20</number>
|
||||
@@ -181,6 +193,9 @@
|
||||
<property name="text">
|
||||
<string>Output Latency:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>outputLatencyMS</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -191,6 +206,9 @@
|
||||
<property name="text">
|
||||
<string>Output Device:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>outputDevice</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
@@ -198,6 +216,9 @@
|
||||
<property name="text">
|
||||
<string>Expansion:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>expansionMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
@@ -205,6 +226,9 @@
|
||||
<property name="text">
|
||||
<string>Synchronization:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>syncMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -221,6 +245,9 @@
|
||||
<property name="text">
|
||||
<string>Standard Volume:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>standardVolume</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -234,10 +261,10 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBothSides</enum>
|
||||
<enum>QSlider::TickPosition::TicksBothSides</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>10</number>
|
||||
@@ -256,7 +283,7 @@
|
||||
<string>100%</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -283,10 +310,10 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBothSides</enum>
|
||||
<enum>QSlider::TickPosition::TicksBothSides</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>10</number>
|
||||
@@ -305,7 +332,7 @@
|
||||
<string>100%</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -326,6 +353,9 @@
|
||||
<property name="text">
|
||||
<string>Fast Forward Volume:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>fastForwardVolume</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@@ -341,7 +371,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -353,6 +383,23 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>audioBackend</tabstop>
|
||||
<tabstop>driver</tabstop>
|
||||
<tabstop>outputDevice</tabstop>
|
||||
<tabstop>expansionMode</tabstop>
|
||||
<tabstop>expansionSettings</tabstop>
|
||||
<tabstop>syncMode</tabstop>
|
||||
<tabstop>stretchSettings</tabstop>
|
||||
<tabstop>bufferMS</tabstop>
|
||||
<tabstop>outputLatencyMS</tabstop>
|
||||
<tabstop>outputLatencyMinimal</tabstop>
|
||||
<tabstop>standardVolume</tabstop>
|
||||
<tabstop>resetStandardVolume</tabstop>
|
||||
<tabstop>fastForwardVolume</tabstop>
|
||||
<tabstop>resetFastForwardVolume</tabstop>
|
||||
<tabstop>muted</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
<property name="text">
|
||||
<string>Sequence Length:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>sequenceLength</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -59,6 +62,9 @@
|
||||
<property name="text">
|
||||
<string>Seekwindow Size:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>seekWindowSize</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -99,6 +105,9 @@
|
||||
<property name="text">
|
||||
<string>Overlap:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>overlap</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -199,6 +208,13 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>sequenceLength</tabstop>
|
||||
<tabstop>seekWindowSize</tabstop>
|
||||
<tabstop>overlap</tabstop>
|
||||
<tabstop>useQuickSeek</tabstop>
|
||||
<tabstop>useAAFilter</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -37,6 +37,12 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>searchDirectory</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
@@ -74,7 +80,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -156,7 +162,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -168,6 +174,16 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>searchDirectory</tabstop>
|
||||
<tabstop>browseSearchDirectory</tabstop>
|
||||
<tabstop>resetSearchDirectory</tabstop>
|
||||
<tabstop>fileList</tabstop>
|
||||
<tabstop>openSearchDirectory</tabstop>
|
||||
<tabstop>refresh</tabstop>
|
||||
<tabstop>fastBoot</tabstop>
|
||||
<tabstop>fastBootFastForward</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -418,7 +418,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -1021,7 +1021,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -1038,7 +1038,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -1076,7 +1076,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -1093,7 +1093,7 @@
|
||||
<item row="2" column="0" colspan="4">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -1255,6 +1255,36 @@
|
||||
<header>Settings/InputBindingWidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>Up</tabstop>
|
||||
<tabstop>Down</tabstop>
|
||||
<tabstop>Left</tabstop>
|
||||
<tabstop>Right</tabstop>
|
||||
<tabstop>Triangle</tabstop>
|
||||
<tabstop>Cross</tabstop>
|
||||
<tabstop>Square</tabstop>
|
||||
<tabstop>Circle</tabstop>
|
||||
<tabstop>L1</tabstop>
|
||||
<tabstop>L2</tabstop>
|
||||
<tabstop>R1</tabstop>
|
||||
<tabstop>R2</tabstop>
|
||||
<tabstop>LUp</tabstop>
|
||||
<tabstop>LDown</tabstop>
|
||||
<tabstop>LLeft</tabstop>
|
||||
<tabstop>LRight</tabstop>
|
||||
<tabstop>L3</tabstop>
|
||||
<tabstop>RUp</tabstop>
|
||||
<tabstop>RDown</tabstop>
|
||||
<tabstop>RLeft</tabstop>
|
||||
<tabstop>RRight</tabstop>
|
||||
<tabstop>R3</tabstop>
|
||||
<tabstop>Select</tabstop>
|
||||
<tabstop>Start</tabstop>
|
||||
<tabstop>Analog</tabstop>
|
||||
<tabstop>LargeMotor</tabstop>
|
||||
<tabstop>SmallMotor</tabstop>
|
||||
<tabstop>Pressure</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -55,7 +55,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -307,6 +307,19 @@
|
||||
<header>Settings/InputBindingWidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>Start</tabstop>
|
||||
<tabstop>Select</tabstop>
|
||||
<tabstop>Up</tabstop>
|
||||
<tabstop>Down</tabstop>
|
||||
<tabstop>Orange</tabstop>
|
||||
<tabstop>Blue</tabstop>
|
||||
<tabstop>Yellow</tabstop>
|
||||
<tabstop>Red</tabstop>
|
||||
<tabstop>Green</tabstop>
|
||||
<tabstop>Whammy</tabstop>
|
||||
<tabstop>Tilt</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -683,7 +683,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -700,7 +700,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -738,7 +738,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -799,7 +799,7 @@
|
||||
<item row="1" column="0" colspan="4">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -825,6 +825,26 @@
|
||||
<header>Settings/InputBindingWidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>Up</tabstop>
|
||||
<tabstop>Down</tabstop>
|
||||
<tabstop>Left</tabstop>
|
||||
<tabstop>Right</tabstop>
|
||||
<tabstop>Triangle</tabstop>
|
||||
<tabstop>Cross</tabstop>
|
||||
<tabstop>Square</tabstop>
|
||||
<tabstop>Circle</tabstop>
|
||||
<tabstop>L1</tabstop>
|
||||
<tabstop>L2</tabstop>
|
||||
<tabstop>R1</tabstop>
|
||||
<tabstop>R2</tabstop>
|
||||
<tabstop>DialLeft</tabstop>
|
||||
<tabstop>DialRight</tabstop>
|
||||
<tabstop>Select</tabstop>
|
||||
<tabstop>Start</tabstop>
|
||||
<tabstop>LargeMotor</tabstop>
|
||||
<tabstop>SmallMotor</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_5">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -581,7 +581,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -598,7 +598,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -636,7 +636,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -697,7 +697,7 @@
|
||||
<item row="1" column="0" colspan="4">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -723,6 +723,23 @@
|
||||
<header>Settings/InputBindingWidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>Up</tabstop>
|
||||
<tabstop>Down</tabstop>
|
||||
<tabstop>Left</tabstop>
|
||||
<tabstop>Right</tabstop>
|
||||
<tabstop>I</tabstop>
|
||||
<tabstop>II</tabstop>
|
||||
<tabstop>A</tabstop>
|
||||
<tabstop>B</tabstop>
|
||||
<tabstop>L</tabstop>
|
||||
<tabstop>R</tabstop>
|
||||
<tabstop>TwistLeft</tabstop>
|
||||
<tabstop>TwistRight</tabstop>
|
||||
<tabstop>Start</tabstop>
|
||||
<tabstop>LargeMotor</tabstop>
|
||||
<tabstop>SmallMotor</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -81,7 +81,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -343,7 +343,7 @@
|
||||
<item row="1" column="0" colspan="5">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -524,6 +524,19 @@
|
||||
<header>Settings/InputBindingWidget.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>Select</tabstop>
|
||||
<tabstop>Start</tabstop>
|
||||
<tabstop>YellowL</tabstop>
|
||||
<tabstop>BlueL</tabstop>
|
||||
<tabstop>BlueR</tabstop>
|
||||
<tabstop>YellowR</tabstop>
|
||||
<tabstop>WhiteL</tabstop>
|
||||
<tabstop>GreenL</tabstop>
|
||||
<tabstop>Red</tabstop>
|
||||
<tabstop>GreenR</tabstop>
|
||||
<tabstop>WhiteR</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
<item row="7" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -64,6 +64,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -90,6 +93,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -109,6 +115,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
@@ -142,6 +151,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -159,8 +171,7 @@
|
||||
<string>Controller LED Settings</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="lightbulb-line">
|
||||
<normaloff>.</normaloff>.</iconset>
|
||||
<iconset theme="lightbulb-line"/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -201,9 +212,15 @@
|
||||
<property name="text">
|
||||
<string>PCSX2 allows you to use your mouse to simulate analog stick movement.</string>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
@@ -241,6 +258,9 @@
|
||||
<property name="text">
|
||||
<string>The XInput source provides support for Xbox 360 / Xbox One / Xbox Series controllers, and third party controllers which implement the XInput protocol.</string>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -283,6 +303,22 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>enableSDLSource</tabstop>
|
||||
<tabstop>enableSDLEnhancedMode</tabstop>
|
||||
<tabstop>ledSettings</tabstop>
|
||||
<tabstop>enableSDLRawInput</tabstop>
|
||||
<tabstop>enableSDLIOKitDriver</tabstop>
|
||||
<tabstop>enableSDLMFIDriver</tabstop>
|
||||
<tabstop>enableXInputSource</tabstop>
|
||||
<tabstop>enableDInputSource</tabstop>
|
||||
<tabstop>enableMouseMapping</tabstop>
|
||||
<tabstop>mouseSettings</tabstop>
|
||||
<tabstop>multitapPort1</tabstop>
|
||||
<tabstop>multitapPort2</tabstop>
|
||||
<tabstop>useProfileHotkeyBindings</tabstop>
|
||||
<tabstop>deviceList</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<item row="3" column="0" colspan="4">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
<enum>QLayout::SizeConstraint::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
@@ -92,7 +92,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Close</set>
|
||||
<set>QDialogButtonBox::StandardButton::Close</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -107,6 +107,13 @@
|
||||
<header>ColorPickerButton.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<tabstops>
|
||||
<tabstop>SDL0LED</tabstop>
|
||||
<tabstop>SDL1LED</tabstop>
|
||||
<tabstop>SDL2LED</tabstop>
|
||||
<tabstop>SDL3LED</tabstop>
|
||||
<tabstop>enableSDLPS5PlayerLED</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -33,13 +33,19 @@
|
||||
<widget class="QListWidget" name="bindList"/>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<widget class="QLabel" name="bindListLabel">
|
||||
<property name="text">
|
||||
<string>Select the buttons which you want to trigger with this macro. All buttons are activated concurrently.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>bindList</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -52,13 +58,19 @@
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<widget class="QLabel" name="pressureLabel">
|
||||
<property name="text">
|
||||
<string>For buttons which are pressure sensitive, this slider controls how much force will be simulated when the macro is active.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pressure</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -116,6 +128,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -137,10 +152,13 @@
|
||||
<item row="2" column="0">
|
||||
<layout class="QHBoxLayout" name="deadzoneLayout" stretch="0,1,0">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<widget class="QLabel" name="deadzoneLabel">
|
||||
<property name="text">
|
||||
<string>Deadzone:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>deadzone</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -190,6 +208,9 @@
|
||||
<property name="text">
|
||||
<string>Macro will toggle every N frames.</string>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Controller Mapping Settings</span><br/>These settings fine-tune the behavior when mapping physical controllers to the emulated controllers.</p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -71,6 +71,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ignoreInversion</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -79,7 +82,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -92,12 +95,15 @@
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Close</set>
|
||||
<set>QDialogButtonBox::StandardButton::Close</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>ignoreInversion</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<item row="5" column="1">
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Close</set>
|
||||
<set>QDialogButtonBox::StandardButton::Close</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -40,6 +40,9 @@
|
||||
<property name="text">
|
||||
<string>Y Speed</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pointerYSpeedSlider</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -63,7 +66,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -107,6 +110,9 @@
|
||||
<property name="text">
|
||||
<string>X Speed</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pointerXSpeedSlider</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -130,7 +136,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -182,10 +188,10 @@
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Mouse Mapping Settings</span><br/>These settings fine-tune the behavior when mapping a mouse to the emulated controller.</p></body></html></string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::RichText</enum>
|
||||
<enum>Qt::TextFormat::RichText</enum>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -197,7 +203,7 @@
|
||||
<item row="4" column="0" colspan="2">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -226,6 +232,9 @@
|
||||
<property name="text">
|
||||
<string>Inertia</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pointerInertiaSlider</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -249,7 +258,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -293,6 +302,9 @@
|
||||
<property name="text">
|
||||
<string>X Dead Zone</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pointerXDeadZoneSlider</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -316,7 +328,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -360,6 +372,9 @@
|
||||
<property name="text">
|
||||
<string>Y Dead Zone</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>pointerYDeadZoneSlider</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -383,7 +398,7 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -410,6 +425,13 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>pointerXSpeedSlider</tabstop>
|
||||
<tabstop>pointerXDeadZoneSlider</tabstop>
|
||||
<tabstop>pointerYSpeedSlider</tabstop>
|
||||
<tabstop>pointerYDeadZoneSlider</tabstop>
|
||||
<tabstop>pointerInertiaSlider</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
<property name="text">
|
||||
<string>Select Hosts</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>hostList</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -36,7 +39,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -64,6 +67,11 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>hostList</tabstop>
|
||||
<tabstop>btnOK</tabstop>
|
||||
<tabstop>btnCancel</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -37,6 +37,9 @@
|
||||
<property name="text">
|
||||
<string>Ethernet Device:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethDev</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
@@ -44,6 +47,9 @@
|
||||
<property name="text">
|
||||
<string>Ethernet Device Type:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethDevType</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="3">
|
||||
@@ -84,6 +90,9 @@
|
||||
<property name="text">
|
||||
<string>Subnet Mask:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethNetMask</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
@@ -91,6 +100,9 @@
|
||||
<property name="text">
|
||||
<string>Gateway Address:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethGatewayAddr</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
@@ -105,6 +117,9 @@
|
||||
<property name="text">
|
||||
<string>Intercept DHCP:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethInterceptDHCP</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -126,6 +141,9 @@
|
||||
<property name="text">
|
||||
<string>PS2 Address:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethPS2Addr</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -140,6 +158,9 @@
|
||||
<property name="text">
|
||||
<string>DNS1 Address:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethDNS1Addr</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
@@ -154,6 +175,9 @@
|
||||
<property name="text">
|
||||
<string>DNS2 Address:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethDNS2Addr</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
@@ -213,7 +237,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -230,12 +254,15 @@
|
||||
<property name="text">
|
||||
<string>Internal DNS can be selected using the DNS1/2 dropdowns, or by setting them to 192.0.2.1</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ethHosts</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QTableView" name="ethHosts">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
<enum>QAbstractItemView::SelectionMode::SingleSelection</enum>
|
||||
</property>
|
||||
<property name="sortingEnabled">
|
||||
<bool>true</bool>
|
||||
@@ -326,10 +353,10 @@
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBelow</enum>
|
||||
<enum>QSlider::TickPosition::TicksBelow</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>5</number>
|
||||
@@ -360,6 +387,9 @@
|
||||
<property name="text">
|
||||
<string>HDD File:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>hddFile</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@@ -367,6 +397,9 @@
|
||||
<property name="text">
|
||||
<string>HDD Size (GiB):</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>hddSizeSlider</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
@@ -382,7 +415,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -394,6 +427,35 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>ethEnabled</tabstop>
|
||||
<tabstop>ethDevType</tabstop>
|
||||
<tabstop>ethDev</tabstop>
|
||||
<tabstop>ethTabWidget</tabstop>
|
||||
<tabstop>ethInterceptDHCP</tabstop>
|
||||
<tabstop>ethPS2Addr</tabstop>
|
||||
<tabstop>ethNetMask</tabstop>
|
||||
<tabstop>ethNetMaskAuto</tabstop>
|
||||
<tabstop>ethGatewayAddr</tabstop>
|
||||
<tabstop>ethGatewayAuto</tabstop>
|
||||
<tabstop>ethDNS1Addr</tabstop>
|
||||
<tabstop>ethDNS1Mode</tabstop>
|
||||
<tabstop>ethDNS2Addr</tabstop>
|
||||
<tabstop>ethDNS2Mode</tabstop>
|
||||
<tabstop>ethHostAdd</tabstop>
|
||||
<tabstop>ethHostDel</tabstop>
|
||||
<tabstop>ethHostExport</tabstop>
|
||||
<tabstop>ethHostImport</tabstop>
|
||||
<tabstop>ethHostPerGame</tabstop>
|
||||
<tabstop>ethHosts</tabstop>
|
||||
<tabstop>hddEnabled</tabstop>
|
||||
<tabstop>hddLBA48</tabstop>
|
||||
<tabstop>hddFile</tabstop>
|
||||
<tabstop>hddBrowseFile</tabstop>
|
||||
<tabstop>hddSizeSlider</tabstop>
|
||||
<tabstop>hddSizeSpinBox</tabstop>
|
||||
<tabstop>hddCreate</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -28,6 +28,9 @@
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -49,6 +52,9 @@
|
||||
<property name="text">
|
||||
<string>Automatically Analyze Program:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>analysisCondition</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -94,6 +100,10 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>analysisCondition</tabstop>
|
||||
<tabstop>generateSymbolsForIRXExportTables</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
<string><html><head/><body><p><br/></p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
<set>Qt::AlignmentFlag::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -168,6 +168,9 @@
|
||||
<property name="text">
|
||||
<string>Import from file (.elf, .sym, etc):</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>symbolFileTable</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -188,10 +191,10 @@
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectRows</enum>
|
||||
<enum>QAbstractItemView::SelectionBehavior::SelectRows</enum>
|
||||
</property>
|
||||
<property name="textElideMode">
|
||||
<enum>Qt::ElideLeft</enum>
|
||||
<enum>Qt::TextElideMode::ElideLeft</enum>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>false</bool>
|
||||
@@ -231,7 +234,7 @@
|
||||
<item>
|
||||
<spacer name="importSymbolFileSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -280,6 +283,9 @@
|
||||
<property name="text">
|
||||
<string>Scan Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>functionScanMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -328,10 +334,10 @@
|
||||
<item>
|
||||
<spacer name="startSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Maximum</enum>
|
||||
<enum>QSizePolicy::Policy::Maximum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -346,6 +352,9 @@
|
||||
<property name="text">
|
||||
<string>Start:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>addressRangeStart</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -356,6 +365,9 @@
|
||||
<property name="text">
|
||||
<string>End:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>addressRangeEnd</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -364,10 +376,10 @@
|
||||
<item>
|
||||
<spacer name="endSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Maximum</enum>
|
||||
<enum>QSizePolicy::Policy::Maximum</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -408,7 +420,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -420,6 +432,22 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>automaticallyClearSymbols</tabstop>
|
||||
<tabstop>symbolSourceScrollArea</tabstop>
|
||||
<tabstop>importFromElf</tabstop>
|
||||
<tabstop>importSymFileFromDefaultLocation</tabstop>
|
||||
<tabstop>demangleSymbols</tabstop>
|
||||
<tabstop>demangleParameters</tabstop>
|
||||
<tabstop>symbolFileTable</tabstop>
|
||||
<tabstop>addSymbolFile</tabstop>
|
||||
<tabstop>removeSymbolFile</tabstop>
|
||||
<tabstop>functionScanMode</tabstop>
|
||||
<tabstop>customAddressRange</tabstop>
|
||||
<tabstop>addressRangeStart</tabstop>
|
||||
<tabstop>addressRangeEnd</tabstop>
|
||||
<tabstop>grayOutOverwrittenFunctions</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
<property name="text">
|
||||
<string>Save Draw Start:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>saveDrawStart</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -99,6 +102,9 @@
|
||||
<property name="text">
|
||||
<string>Save Draw Count:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>saveDrawCount</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -116,6 +122,9 @@
|
||||
<property name="text">
|
||||
<string>Save Frame Start:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>saveFrameStart</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -130,6 +139,9 @@
|
||||
<property name="text">
|
||||
<string>Save Frame Count:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>saveFrameCount</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
@@ -147,6 +159,9 @@
|
||||
<property name="text">
|
||||
<string>Hardware Dump Directory:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>hwDumpDirectory</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
@@ -154,6 +169,9 @@
|
||||
<property name="text">
|
||||
<string>Software Dump Directory:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>swDumpDirectory</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
@@ -204,7 +222,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -216,6 +234,26 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>dumpGSData</tabstop>
|
||||
<tabstop>saveFrame</tabstop>
|
||||
<tabstop>saveRT</tabstop>
|
||||
<tabstop>saveDepth</tabstop>
|
||||
<tabstop>saveTexture</tabstop>
|
||||
<tabstop>saveAlpha</tabstop>
|
||||
<tabstop>saveInfo</tabstop>
|
||||
<tabstop>saveTransferImages</tabstop>
|
||||
<tabstop>saveDrawStart</tabstop>
|
||||
<tabstop>saveDrawCount</tabstop>
|
||||
<tabstop>saveFrameStart</tabstop>
|
||||
<tabstop>saveFrameCount</tabstop>
|
||||
<tabstop>hwDumpDirectory</tabstop>
|
||||
<tabstop>hwDumpBrowse</tabstop>
|
||||
<tabstop>hwDumpOpen</tabstop>
|
||||
<tabstop>swDumpDirectory</tabstop>
|
||||
<tabstop>swDumpBrowse</tabstop>
|
||||
<tabstop>swDumpOpen</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
<item>
|
||||
<spacer name="eeLoggingSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -286,7 +286,7 @@
|
||||
<item>
|
||||
<spacer name="iopLoggingSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -304,7 +304,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -316,6 +316,41 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>chkEnable</tabstop>
|
||||
<tabstop>chkEECOP0</tabstop>
|
||||
<tabstop>chkEECOP1</tabstop>
|
||||
<tabstop>chkEECOP2</tabstop>
|
||||
<tabstop>chkEER5900</tabstop>
|
||||
<tabstop>chkEECache</tabstop>
|
||||
<tabstop>chkEEMemory</tabstop>
|
||||
<tabstop>chkEEMMIO</tabstop>
|
||||
<tabstop>chkEEUNKNWNMMIO</tabstop>
|
||||
<tabstop>chkEEDMARegs</tabstop>
|
||||
<tabstop>chkEEDMACTRL</tabstop>
|
||||
<tabstop>chkEEMSKPATH3</tabstop>
|
||||
<tabstop>chkEEMFIFO</tabstop>
|
||||
<tabstop>chkEEIPU</tabstop>
|
||||
<tabstop>chkEECounters</tabstop>
|
||||
<tabstop>chkEEVIFCodes</tabstop>
|
||||
<tabstop>chkEEGIFTags</tabstop>
|
||||
<tabstop>chkEEVIF</tabstop>
|
||||
<tabstop>chkEEGIF</tabstop>
|
||||
<tabstop>chkEEBIOS</tabstop>
|
||||
<tabstop>chkEESIF</tabstop>
|
||||
<tabstop>chkIOPCOP2</tabstop>
|
||||
<tabstop>chkIOPR3000A</tabstop>
|
||||
<tabstop>chkIOPMemcards</tabstop>
|
||||
<tabstop>chkIOPPad</tabstop>
|
||||
<tabstop>chkIOPDMARegs</tabstop>
|
||||
<tabstop>chkIOPDMACTRL</tabstop>
|
||||
<tabstop>chkIOPMMIO</tabstop>
|
||||
<tabstop>chkIOPUNKNWNMMIO</tabstop>
|
||||
<tabstop>chkIOPCounters</tabstop>
|
||||
<tabstop>chkIOPCDVD</tabstop>
|
||||
<tabstop>chkIOPMDEC</tabstop>
|
||||
<tabstop>chkIOPBIOS</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -51,6 +51,9 @@
|
||||
<property name="text">
|
||||
<string>Refresh Interval:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>refreshInterval</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -89,6 +92,9 @@
|
||||
<property name="text">
|
||||
<string>Drop Indicator Style:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>dropIndicator</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -100,7 +106,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -112,6 +118,12 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>refreshInterval</tabstop>
|
||||
<tabstop>showOnStartup</tabstop>
|
||||
<tabstop>saveWindowGeometry</tabstop>
|
||||
<tabstop>dropIndicator</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -51,7 +51,10 @@ EmulationSettingsWidget::EmulationSettingsWidget(SettingsWindow* settings_dialog
|
||||
m_ui.rtcDateTime->setDateRange(QDate(2000, 1, 1), QDate(2099, 12, 31));
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.manuallySetRealTimeClock, "EmuCore", "ManuallySetRealTimeClock", false);
|
||||
connect(m_ui.manuallySetRealTimeClock, &QCheckBox::checkStateChanged, this, &EmulationSettingsWidget::onManuallySetRealTimeClockChanged);
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.rtcUseSystemLocaleFormat, "EmuCore", "UseSystemLocaleFormat", false);
|
||||
connect(m_ui.rtcUseSystemLocaleFormat, &QCheckBox::checkStateChanged, this, &EmulationSettingsWidget::onUseSystemLocaleFormatChanged);
|
||||
EmulationSettingsWidget::onManuallySetRealTimeClockChanged();
|
||||
EmulationSettingsWidget::onUseSystemLocaleFormatChanged();
|
||||
|
||||
m_ui.eeCycleRate->insertItem(0,
|
||||
tr("Use Global Setting [%1]")
|
||||
@@ -159,10 +162,12 @@ EmulationSettingsWidget::EmulationSettingsWidget(SettingsWindow* settings_dialog
|
||||
dialog()->registerWidgetHelp(m_ui.manuallySetRealTimeClock, tr("Manually Set Real-Time Clock"), tr("Unchecked"),
|
||||
tr("Manually set a real-time clock to use for the virtual PlayStation 2 instead of using your OS' system clock."));
|
||||
dialog()->registerWidgetHelp(m_ui.rtcDateTime, tr("Real-Time Clock"), tr("Current date and time"),
|
||||
tr("Real-time clock (RTC) used by the virtual PlayStation 2. Date format is the same as the one used by your OS. "
|
||||
"This time is only applied upon booting the PS2; changing it while in-game will have no effect. "
|
||||
"NOTE: This assumes you have your PS2 set to the default timezone of GMT+0 and default DST of Summer Time. "
|
||||
tr("Real-time clock (RTC) used by the virtual PlayStation 2.<br>"
|
||||
"This time is only applied upon booting the PS2; changing it while in-game will have no effect.<br>"
|
||||
"NOTE: This assumes you have your PS2 set to the default timezone of GMT+0 and default DST of Summer Time.<br>"
|
||||
"Some games require an RTC date/time set after their release date."));
|
||||
dialog()->registerWidgetHelp(m_ui.rtcUseSystemLocaleFormat, tr("Use System Locale Format"), tr("User Preference"),
|
||||
tr("Uses the operating system's date/time format rather than \"yyyy-MM-dd HH:mm:ss\". May exclude seconds."));
|
||||
|
||||
updateOptimalFramePacing();
|
||||
updateUseVSyncForTimingEnabled();
|
||||
@@ -314,4 +319,11 @@ void EmulationSettingsWidget::onManuallySetRealTimeClockChanged()
|
||||
{
|
||||
const bool enabled = dialog()->getEffectiveBoolValue("EmuCore", "ManuallySetRealTimeClock", false);
|
||||
m_ui.rtcDateTime->setEnabled(enabled);
|
||||
m_ui.rtcUseSystemLocaleFormat->setEnabled(enabled);
|
||||
}
|
||||
|
||||
void EmulationSettingsWidget::onUseSystemLocaleFormatChanged()
|
||||
{
|
||||
const bool enabled = dialog()->getEffectiveBoolValue("EmuCore", "UseSystemLocaleFormat", false);
|
||||
m_ui.rtcDateTime->setDisplayFormat(enabled ? QLocale::system().dateTimeFormat(QLocale::ShortFormat) : "yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ private:
|
||||
void updateOptimalFramePacing();
|
||||
void updateUseVSyncForTimingEnabled();
|
||||
void onManuallySetRealTimeClockChanged();
|
||||
void onUseSystemLocaleFormatChanged();
|
||||
|
||||
Ui::EmulationSettingsWidget m_ui;
|
||||
};
|
||||
|
||||
@@ -22,6 +22,9 @@
|
||||
<property name="text">
|
||||
<string>Slow-Motion Speed:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>slowMotionSpeed</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -35,6 +38,9 @@
|
||||
<property name="text">
|
||||
<string>Normal Speed:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>normalSpeed</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
@@ -42,6 +48,9 @@
|
||||
<property name="text">
|
||||
<string>Fast-Forward Speed:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>fastForwardSpeed</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -170,6 +179,9 @@
|
||||
<property name="text">
|
||||
<string>EE Cycle Rate:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>eeCycleRate</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
@@ -177,6 +189,9 @@
|
||||
<property name="text">
|
||||
<string>EE Cycle Skipping:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>eeCycleSkipping</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -206,6 +221,9 @@
|
||||
<property name="text">
|
||||
<string>Maximum Frame Latency:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>maxFrameLatency</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
@@ -266,13 +284,20 @@
|
||||
<item row="0" column="1">
|
||||
<widget class="QDateTimeEdit" name="rtcDateTime"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="rtcUseSystemLocaleFormat">
|
||||
<property name="text">
|
||||
<string>Use System Locale Format</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -284,6 +309,27 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>normalSpeed</tabstop>
|
||||
<tabstop>fastForwardSpeed</tabstop>
|
||||
<tabstop>slowMotionSpeed</tabstop>
|
||||
<tabstop>eeCycleRate</tabstop>
|
||||
<tabstop>eeCycleSkipping</tabstop>
|
||||
<tabstop>MTVU</tabstop>
|
||||
<tabstop>threadPinning</tabstop>
|
||||
<tabstop>cheats</tabstop>
|
||||
<tabstop>hostFilesystem</tabstop>
|
||||
<tabstop>precacheCDVD</tabstop>
|
||||
<tabstop>fastCDVD</tabstop>
|
||||
<tabstop>maxFrameLatency</tabstop>
|
||||
<tabstop>optimalFramePacing</tabstop>
|
||||
<tabstop>syncToHostRefreshRate</tabstop>
|
||||
<tabstop>vsync</tabstop>
|
||||
<tabstop>useVSyncForTiming</tabstop>
|
||||
<tabstop>skipPresentingDuplicateFrames</tabstop>
|
||||
<tabstop>manuallySetRealTimeClock</tabstop>
|
||||
<tabstop>rtcDateTime</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -46,6 +46,12 @@
|
||||
<property name="text">
|
||||
<string>Used for storing shaders, game list, and achievement data.</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cache</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -86,6 +92,12 @@
|
||||
<property name="text">
|
||||
<string>Used for storing .pnach files containing game cheats.</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cheats</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -124,7 +136,13 @@
|
||||
<item row="0" column="0" colspan="4">
|
||||
<widget class="QLabel" name="snaphotsLabel">
|
||||
<property name="text">
|
||||
<string>Used for screenshots and saving GS dumps.</string>
|
||||
<string>Used for saving screenshots and GS dumps.</string>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>snapshots</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -149,6 +167,12 @@
|
||||
<property name="text">
|
||||
<string>Used for storing save states.</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>saveStates</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -213,6 +237,12 @@
|
||||
<property name="text">
|
||||
<string>Used for storing covers in the game grid/Big Picture UIs.</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>covers</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -253,6 +283,12 @@
|
||||
<property name="text">
|
||||
<string>Used for storing video captures.</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>videoDumpingDirectory</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -261,7 +297,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -273,6 +309,33 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>cache</tabstop>
|
||||
<tabstop>cacheBrowse</tabstop>
|
||||
<tabstop>cacheOpen</tabstop>
|
||||
<tabstop>cacheReset</tabstop>
|
||||
<tabstop>cheats</tabstop>
|
||||
<tabstop>cheatsBrowse</tabstop>
|
||||
<tabstop>cheatsOpen</tabstop>
|
||||
<tabstop>cheatsReset</tabstop>
|
||||
<tabstop>snapshots</tabstop>
|
||||
<tabstop>snapshotsBrowse</tabstop>
|
||||
<tabstop>snapshotsOpen</tabstop>
|
||||
<tabstop>snapshotsReset</tabstop>
|
||||
<tabstop>organizeScreenshotsByGame</tabstop>
|
||||
<tabstop>saveStates</tabstop>
|
||||
<tabstop>saveStatesBrowse</tabstop>
|
||||
<tabstop>saveStatesOpen</tabstop>
|
||||
<tabstop>saveStatesReset</tabstop>
|
||||
<tabstop>covers</tabstop>
|
||||
<tabstop>coversBrowse</tabstop>
|
||||
<tabstop>coversOpen</tabstop>
|
||||
<tabstop>coversReset</tabstop>
|
||||
<tabstop>videoDumpingDirectory</tabstop>
|
||||
<tabstop>videoDumpingDirectoryBrowse</tabstop>
|
||||
<tabstop>videoDumpingDirectoryOpen</tabstop>
|
||||
<tabstop>videoDumpingDirectoryReset</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -54,13 +54,13 @@
|
||||
<item>
|
||||
<widget class="QTreeView" name="cheatList">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::NoSelection</enum>
|
||||
<enum>QAbstractItemView::SelectionMode::NoSelection</enum>
|
||||
</property>
|
||||
<property name="selectionBehavior">
|
||||
<enum>QAbstractItemView::SelectItems</enum>
|
||||
<enum>QAbstractItemView::SelectionBehavior::SelectItems</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -93,7 +93,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -114,6 +114,15 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>enableCheats</tabstop>
|
||||
<tabstop>searchText</tabstop>
|
||||
<tabstop>cheatList</tabstop>
|
||||
<tabstop>enableAll</tabstop>
|
||||
<tabstop>disableAll</tabstop>
|
||||
<tabstop>allCRCsCheckbox</tabstop>
|
||||
<tabstop>reloadCheats</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -161,6 +161,26 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>FpuMulHack</tabstop>
|
||||
<tabstop>SoftwareRendererFMVHack</tabstop>
|
||||
<tabstop>SkipMPEGHack</tabstop>
|
||||
<tabstop>GoemonTlbHack</tabstop>
|
||||
<tabstop>EETimingHack</tabstop>
|
||||
<tabstop>InstantDMAHack</tabstop>
|
||||
<tabstop>OPHFlagHack</tabstop>
|
||||
<tabstop>GIFFIFOHack</tabstop>
|
||||
<tabstop>DMABusyHack</tabstop>
|
||||
<tabstop>VIF1StallHack</tabstop>
|
||||
<tabstop>VIFFIFOHack</tabstop>
|
||||
<tabstop>FullVU0SyncHack</tabstop>
|
||||
<tabstop>IbitHack</tabstop>
|
||||
<tabstop>VuAddSubHack</tabstop>
|
||||
<tabstop>VUOverflowHack</tabstop>
|
||||
<tabstop>VUSyncHack</tabstop>
|
||||
<tabstop>XgKickHack</tabstop>
|
||||
<tabstop>BlitInternalFPSHack</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -36,12 +36,18 @@
|
||||
<property name="text">
|
||||
<string>Search Directories (will be scanned for games)</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>searchDirectoryList</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -66,7 +72,7 @@
|
||||
<iconset theme="folder-add-line"/>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -85,7 +91,7 @@
|
||||
<iconset theme="folder-reduce-line"/>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -112,12 +118,18 @@
|
||||
<property name="text">
|
||||
<string>Excluded Paths (will not be scanned)</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>excludedPaths</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -142,7 +154,7 @@
|
||||
<iconset theme="folder-add-line"/>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -161,7 +173,7 @@
|
||||
<iconset theme="file-add-line"/>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -180,7 +192,7 @@
|
||||
<iconset theme="file-reduce-line"/>
|
||||
</property>
|
||||
<property name="toolButtonStyle">
|
||||
<enum>Qt::ToolButtonTextBesideIcon</enum>
|
||||
<enum>Qt::ToolButtonStyle::ToolButtonTextBesideIcon</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -194,7 +206,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -259,6 +271,18 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>addSearchDirectoryButton</tabstop>
|
||||
<tabstop>removeSearchDirectoryButton</tabstop>
|
||||
<tabstop>searchDirectoryList</tabstop>
|
||||
<tabstop>addExcludedPath</tabstop>
|
||||
<tabstop>addExcludedFile</tabstop>
|
||||
<tabstop>removeExcludedPath</tabstop>
|
||||
<tabstop>excludedPaths</tabstop>
|
||||
<tabstop>scanForNewGames</tabstop>
|
||||
<tabstop>rescanAllGames</tabstop>
|
||||
<tabstop>preferEnglishGameList</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -73,7 +73,7 @@
|
||||
<string><html><head/><body><p><span style=" font-weight:700;">Author: </span>Patch Author</p><p>Description would go here</p></body></html></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -82,6 +82,9 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>enabled</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<property name="horizontalScrollBarPolicy">
|
||||
<enum>Qt::ScrollBarAlwaysOff</enum>
|
||||
<enum>Qt::ScrollBarPolicy::ScrollBarAlwaysOff</enum>
|
||||
</property>
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
@@ -91,7 +91,7 @@
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -112,6 +112,11 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>scrollArea</tabstop>
|
||||
<tabstop>allCRCsCheckbox</tabstop>
|
||||
<tabstop>reload</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</property>
|
||||
<layout class="QFormLayout" name="detailsFormLayout">
|
||||
<property name="fieldGrowthPolicy">
|
||||
<enum>QFormLayout::ExpandingFieldsGrow</enum>
|
||||
<enum>QFormLayout::FieldGrowthPolicy::ExpandingFieldsGrow</enum>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
@@ -31,6 +31,9 @@
|
||||
<property name="text">
|
||||
<string>Title:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>title</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -59,6 +62,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Name for use in sorting (e.g. "XXX, The" for a game called "The XXX")">Sorting Title:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>titleSort</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -73,6 +79,9 @@
|
||||
<property name="text">
|
||||
<string>English Title:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>titleEN</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -87,6 +96,9 @@
|
||||
<property name="text">
|
||||
<string>Path:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>path</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -101,6 +113,9 @@
|
||||
<property name="text">
|
||||
<string>Serial:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>serial</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
@@ -129,6 +144,9 @@
|
||||
<property name="text">
|
||||
<string>CRC:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>crc</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
@@ -143,6 +161,9 @@
|
||||
<property name="text">
|
||||
<string>Type:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>type</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
@@ -190,6 +211,9 @@
|
||||
<property name="text">
|
||||
<string>Region:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>region</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
@@ -371,6 +395,9 @@
|
||||
<property name="text">
|
||||
<string>Compatibility:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>compatibility</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
@@ -385,6 +412,9 @@
|
||||
<property name="text">
|
||||
<string>Input Profile:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>inputProfile</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
@@ -407,6 +437,9 @@
|
||||
<property name="text">
|
||||
<string>Disc Path:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>discPath</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
@@ -433,7 +466,7 @@
|
||||
<item row="11" column="0" colspan="2">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -448,7 +481,7 @@
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tracks">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::NoEditTriggers</set>
|
||||
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="cornerButtonEnabled">
|
||||
<bool>false</bool>
|
||||
@@ -463,7 +496,7 @@
|
||||
<item>
|
||||
<spacer name="verifyButtonSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -487,7 +520,7 @@
|
||||
<item row="2" column="2">
|
||||
<spacer name="verticalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -529,6 +562,26 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>title</tabstop>
|
||||
<tabstop>restoreTitle</tabstop>
|
||||
<tabstop>titleSort</tabstop>
|
||||
<tabstop>titleEN</tabstop>
|
||||
<tabstop>path</tabstop>
|
||||
<tabstop>serial</tabstop>
|
||||
<tabstop>checkWiki</tabstop>
|
||||
<tabstop>crc</tabstop>
|
||||
<tabstop>type</tabstop>
|
||||
<tabstop>region</tabstop>
|
||||
<tabstop>restoreRegion</tabstop>
|
||||
<tabstop>compatibility</tabstop>
|
||||
<tabstop>inputProfile</tabstop>
|
||||
<tabstop>discPath</tabstop>
|
||||
<tabstop>discPathBrowse</tabstop>
|
||||
<tabstop>discPathClear</tabstop>
|
||||
<tabstop>tracks</tabstop>
|
||||
<tabstop>verify</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -31,6 +31,9 @@
|
||||
<property name="text">
|
||||
<string>Hardware Download Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>gsDownloadMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -62,6 +65,9 @@
|
||||
<property name="text">
|
||||
<string>GS Dump Compression:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>gsDumpCompression</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -127,6 +133,9 @@
|
||||
<property name="text">
|
||||
<string>Allow Exclusive Fullscreen:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>exclusiveFullscreenControl</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
@@ -172,6 +181,9 @@
|
||||
<property name="text">
|
||||
<string>Texture Preloading:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>texturePreloading</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -188,6 +200,9 @@
|
||||
<property name="text">
|
||||
<string>NTSC Frame Rate:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>ntscFrameRate</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -211,6 +226,9 @@
|
||||
<property name="text">
|
||||
<string>PAL Frame Rate:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>palFrameRate</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -249,6 +267,9 @@
|
||||
<property name="text">
|
||||
<string>Override Texture Barriers:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>overrideTextureBarriers</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -308,7 +329,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -320,6 +341,24 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>gsDownloadMode</tabstop>
|
||||
<tabstop>gsDumpCompression</tabstop>
|
||||
<tabstop>texturePreloading</tabstop>
|
||||
<tabstop>exclusiveFullscreenControl</tabstop>
|
||||
<tabstop>useBlitSwapChain</tabstop>
|
||||
<tabstop>extendedUpscales</tabstop>
|
||||
<tabstop>disableMailboxPresentation</tabstop>
|
||||
<tabstop>spinCPUDuringReadbacks</tabstop>
|
||||
<tabstop>spinGPUDuringReadbacks</tabstop>
|
||||
<tabstop>ntscFrameRate</tabstop>
|
||||
<tabstop>palFrameRate</tabstop>
|
||||
<tabstop>overrideTextureBarriers</tabstop>
|
||||
<tabstop>useDebugDevice</tabstop>
|
||||
<tabstop>disableFramebufferFetch</tabstop>
|
||||
<tabstop>disableShaderCache</tabstop>
|
||||
<tabstop>disableVertexShaderExpand</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
<property name="text">
|
||||
<string>Deinterlacing:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>interlacing</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -64,7 +67,7 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="DisableInterlaceOffset">
|
||||
<widget class="QCheckBox" name="disableInterlaceOffset">
|
||||
<property name="text">
|
||||
<string>Disable Interlace Offset</string>
|
||||
</property>
|
||||
@@ -91,6 +94,9 @@
|
||||
<property name="text">
|
||||
<string>FMV Aspect Ratio Override:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>fmvAspectRatio</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -146,6 +152,9 @@
|
||||
<property name="text">
|
||||
<string>Vertical Stretch:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>stretchY</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
@@ -153,6 +162,9 @@
|
||||
<property name="text">
|
||||
<string>Fullscreen Mode:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>fullscreenModes</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
@@ -160,6 +172,9 @@
|
||||
<property name="text">
|
||||
<string>Bilinear Filtering:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>bilinearFiltering</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -203,6 +218,9 @@
|
||||
<property name="text">
|
||||
<string>Aspect Ratio:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>aspectRatio</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -275,7 +293,7 @@
|
||||
<item row="8" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -302,6 +320,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Warning: short space constraints. Abbreviate if necessary.">Top:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cropTop</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
@@ -309,6 +330,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Warning: short space constraints. Abbreviate if necessary.">Left:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cropLeft</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -326,6 +350,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Warning: short space constraints. Abbreviate if necessary.">Right:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cropRight</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -343,6 +370,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="Warning: short space constraints. Abbreviate if necessary.">Bottom:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cropBottom</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
@@ -359,6 +389,25 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>fullscreenModes</tabstop>
|
||||
<tabstop>aspectRatio</tabstop>
|
||||
<tabstop>fmvAspectRatio</tabstop>
|
||||
<tabstop>interlacing</tabstop>
|
||||
<tabstop>bilinearFiltering</tabstop>
|
||||
<tabstop>stretchY</tabstop>
|
||||
<tabstop>cropLeft</tabstop>
|
||||
<tabstop>cropRight</tabstop>
|
||||
<tabstop>cropTop</tabstop>
|
||||
<tabstop>cropBottom</tabstop>
|
||||
<tabstop>widescreenPatches</tabstop>
|
||||
<tabstop>noInterlacingPatches</tabstop>
|
||||
<tabstop>PCRTCAntiBlur</tabstop>
|
||||
<tabstop>integerScaling</tabstop>
|
||||
<tabstop>PCRTCOffsets</tabstop>
|
||||
<tabstop>disableInterlaceOffset</tabstop>
|
||||
<tabstop>PCRTCOverscan</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -38,6 +38,9 @@
|
||||
<property name="text">
|
||||
<string>Texture Inside RT:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>textureInsideRt</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
@@ -45,6 +48,9 @@
|
||||
<property name="text">
|
||||
<string>Skip Draw Range:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>skipDrawStart</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -178,6 +184,9 @@
|
||||
<property name="text">
|
||||
<string>Software CLUT Render:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cpuCLUTRender</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0" colspan="2">
|
||||
@@ -252,6 +261,9 @@
|
||||
<property name="text">
|
||||
<string>Auto Flush:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>hwAutoFlush</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@@ -259,6 +271,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="CLUT: Color Look Up Table, often referred to as a palette in non-PS2 things. GPU Target CLUT: GPU handling of when a game uses data from a render target as a CLUT.">GPU Target CLUT:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>gpuTargetCLUTMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -285,6 +300,9 @@
|
||||
<property name="text">
|
||||
<string>CPU Sprite Render Size:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>cpuSpriteRenderBW</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
@@ -308,7 +326,7 @@
|
||||
<item row="7" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -320,6 +338,25 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>cpuSpriteRenderBW</tabstop>
|
||||
<tabstop>cpuSpriteRenderLevel</tabstop>
|
||||
<tabstop>cpuCLUTRender</tabstop>
|
||||
<tabstop>gpuTargetCLUTMode</tabstop>
|
||||
<tabstop>hwAutoFlush</tabstop>
|
||||
<tabstop>textureInsideRt</tabstop>
|
||||
<tabstop>skipDrawStart</tabstop>
|
||||
<tabstop>skipDrawEnd</tabstop>
|
||||
<tabstop>disableDepthEmulation</tabstop>
|
||||
<tabstop>frameBufferConversion</tabstop>
|
||||
<tabstop>disablePartialInvalidation</tabstop>
|
||||
<tabstop>gpuPaletteConversion</tabstop>
|
||||
<tabstop>disableSafeFeatures</tabstop>
|
||||
<tabstop>preloadFrameData</tabstop>
|
||||
<tabstop>disableRenderFixes</tabstop>
|
||||
<tabstop>readTCOnClose</tabstop>
|
||||
<tabstop>estimateTextureRegion</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
<property name="text">
|
||||
<string>Texture Filtering:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>textureFiltering</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
@@ -68,6 +71,9 @@
|
||||
<property name="text">
|
||||
<string>Anisotropic Filtering:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>anisotropicFiltering</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -78,6 +84,9 @@
|
||||
<property name="text">
|
||||
<string>Internal Resolution:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>upscaleMultiplier</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -112,6 +121,9 @@
|
||||
<property name="text">
|
||||
<string>Dithering:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>dithering</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
@@ -177,6 +189,9 @@
|
||||
<property name="text">
|
||||
<string>Blending Accuracy:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>blending</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@@ -184,12 +199,15 @@
|
||||
<property name="text">
|
||||
<string>Trilinear Filtering:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>trilinearFiltering</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -201,6 +219,16 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>upscaleMultiplier</tabstop>
|
||||
<tabstop>textureFiltering</tabstop>
|
||||
<tabstop>trilinearFiltering</tabstop>
|
||||
<tabstop>anisotropicFiltering</tabstop>
|
||||
<tabstop>dithering</tabstop>
|
||||
<tabstop>blending</tabstop>
|
||||
<tabstop>mipmapping</tabstop>
|
||||
<tabstop>enableHWFixes</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -27,6 +27,9 @@
|
||||
<property name="text">
|
||||
<string>Resolution:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>screenshotSize</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -78,6 +81,9 @@
|
||||
<property name="text">
|
||||
<string>Quality:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>screenshotQuality</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -112,6 +118,9 @@
|
||||
<property name="text">
|
||||
<string>Container:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>captureContainer</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -145,6 +154,9 @@
|
||||
<property name="text">
|
||||
<string>Codec:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>audioCaptureCodec</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -155,6 +167,9 @@
|
||||
<property name="text">
|
||||
<string>Bitrate:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>audioCaptureBitrate</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -213,6 +228,9 @@
|
||||
<property name="text">
|
||||
<string>Codec:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>videoCaptureCodec</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -223,6 +241,9 @@
|
||||
<property name="text">
|
||||
<string>Format:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>videoCaptureFormat</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -233,6 +254,9 @@
|
||||
<property name="text">
|
||||
<string>Bitrate:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>videoCaptureBitrate</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -256,6 +280,9 @@
|
||||
<property name="text">
|
||||
<string>Resolution:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>videoCaptureWidth</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -281,6 +308,9 @@
|
||||
<property name="text">
|
||||
<string>x</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>videoCaptureHeight</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -336,7 +366,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -348,6 +378,26 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>screenshotSize</tabstop>
|
||||
<tabstop>screenshotFormat</tabstop>
|
||||
<tabstop>screenshotQuality</tabstop>
|
||||
<tabstop>captureContainer</tabstop>
|
||||
<tabstop>enableVideoCapture</tabstop>
|
||||
<tabstop>videoCaptureCodec</tabstop>
|
||||
<tabstop>videoCaptureFormat</tabstop>
|
||||
<tabstop>videoCaptureBitrate</tabstop>
|
||||
<tabstop>videoCaptureWidth</tabstop>
|
||||
<tabstop>videoCaptureHeight</tabstop>
|
||||
<tabstop>videoCaptureResolutionAuto</tabstop>
|
||||
<tabstop>enableVideoCaptureArguments</tabstop>
|
||||
<tabstop>videoCaptureArguments</tabstop>
|
||||
<tabstop>enableAudioCapture</tabstop>
|
||||
<tabstop>audioCaptureCodec</tabstop>
|
||||
<tabstop>audioCaptureBitrate</tabstop>
|
||||
<tabstop>enableAudioCaptureArguments</tabstop>
|
||||
<tabstop>audioCaptureArguments</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
<property name="text">
|
||||
<string>OSD Messages Position:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>messagesPos</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -265,6 +268,9 @@
|
||||
<property name="text">
|
||||
<string>OSD Scale:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>scale</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -342,6 +348,9 @@
|
||||
<property name="text">
|
||||
<string>OSD Performance Position:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>performancePos</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -362,6 +371,28 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>scale</tabstop>
|
||||
<tabstop>messagesPos</tabstop>
|
||||
<tabstop>performancePos</tabstop>
|
||||
<tabstop>showSpeed</tabstop>
|
||||
<tabstop>showFPS</tabstop>
|
||||
<tabstop>showVPS</tabstop>
|
||||
<tabstop>showResolution</tabstop>
|
||||
<tabstop>showGSStats</tabstop>
|
||||
<tabstop>showFrameTimes</tabstop>
|
||||
<tabstop>showCPU</tabstop>
|
||||
<tabstop>showGPU</tabstop>
|
||||
<tabstop>showHardwareInfo</tabstop>
|
||||
<tabstop>showVersion</tabstop>
|
||||
<tabstop>showIndicators</tabstop>
|
||||
<tabstop>showSettings</tabstop>
|
||||
<tabstop>showPatches</tabstop>
|
||||
<tabstop>showInputs</tabstop>
|
||||
<tabstop>showVideoCapture</tabstop>
|
||||
<tabstop>showInputRec</tabstop>
|
||||
<tabstop>warnAboutUnsafeSettings</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
<property name="text">
|
||||
<string extracomment="You might find an official translation for this on AMD's website (Spanish version linked): https://www.amd.com/es/technologies/radeon-software-fidelityfx">Contrast Adaptive Sharpening:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>casMode</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -61,6 +64,9 @@
|
||||
<property name="text">
|
||||
<string>Sharpness:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>casSharpness</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -110,6 +116,9 @@
|
||||
<property name="text">
|
||||
<string>Brightness:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>shadeBoostBrightness</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
@@ -127,6 +136,9 @@
|
||||
<property name="text">
|
||||
<string>Contrast:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>shadeBoostContrast</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -144,6 +156,9 @@
|
||||
<property name="text">
|
||||
<string>Gamma:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>shadeBoostGamma</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -161,6 +176,9 @@
|
||||
<property name="text">
|
||||
<string>Saturation:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>shadeBoostSaturation</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
@@ -180,6 +198,9 @@
|
||||
<property name="text">
|
||||
<string>TV Shader:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>tvShader</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -232,7 +253,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -244,6 +265,17 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>casMode</tabstop>
|
||||
<tabstop>casSharpness</tabstop>
|
||||
<tabstop>fxaa</tabstop>
|
||||
<tabstop>tvShader</tabstop>
|
||||
<tabstop>shadeBoost</tabstop>
|
||||
<tabstop>shadeBoostBrightness</tabstop>
|
||||
<tabstop>shadeBoostContrast</tabstop>
|
||||
<tabstop>shadeBoostGamma</tabstop>
|
||||
<tabstop>shadeBoostSaturation</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -25,6 +25,9 @@
|
||||
<property name="text">
|
||||
<string>Graphics API:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>rendererDropdown</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -35,6 +38,9 @@
|
||||
<property name="text">
|
||||
<string>Adapter:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>adapterDropdown</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -45,6 +51,10 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>rendererDropdown</tabstop>
|
||||
<tabstop>adapterDropdown</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -87,7 +87,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog,
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_display.PCRTCOffsets, "EmuCore/GS", "pcrtc_offsets", false);
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_display.PCRTCOverscan, "EmuCore/GS", "pcrtc_overscan", false);
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_display.PCRTCAntiBlur, "EmuCore/GS", "pcrtc_antiblur", true);
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_display.DisableInterlaceOffset, "EmuCore/GS", "disable_interlace_offset", false);
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_display.disableInterlaceOffset, "EmuCore/GS", "disable_interlace_offset", false);
|
||||
SettingWidgetBinder::BindWidgetToIntSetting(
|
||||
sif, m_capture.screenshotSize, "EmuCore/GS", "ScreenshotSize", static_cast<int>(GSScreenshotSize::WindowResolution));
|
||||
SettingWidgetBinder::BindWidgetToIntSetting(
|
||||
@@ -438,7 +438,7 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog,
|
||||
dialog()->registerWidgetHelp(m_display.noInterlacingPatches, tr("Enable No-Interlacing Patches"), tr("Unchecked"),
|
||||
tr("Automatically loads and applies no-interlacing patches on game start. Can cause issues."));
|
||||
|
||||
dialog()->registerWidgetHelp(m_display.DisableInterlaceOffset, tr("Disable Interlace Offset"), tr("Unchecked"),
|
||||
dialog()->registerWidgetHelp(m_display.disableInterlaceOffset, tr("Disable Interlace Offset"), tr("Unchecked"),
|
||||
tr("Disables interlacing offset which may reduce blurring in some situations."));
|
||||
|
||||
dialog()->registerWidgetHelp(m_display.bilinearFiltering, tr("Bilinear Filtering"), tr("Bilinear (Smooth)"),
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
<property name="text">
|
||||
<string>Software Rendering Threads:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>extraSWThreads</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
@@ -26,6 +29,9 @@
|
||||
<property name="text">
|
||||
<string>Texture Filtering:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>swTextureFiltering</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
@@ -52,7 +58,7 @@
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
<enum>Qt::LayoutDirection::LeftToRight</enum>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
@@ -86,7 +92,7 @@
|
||||
<item row="3" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -98,6 +104,12 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>swTextureFiltering</tabstop>
|
||||
<tabstop>extraSWThreads</tabstop>
|
||||
<tabstop>swAutoFlush</tabstop>
|
||||
<tabstop>swMipmap</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -100,6 +100,12 @@
|
||||
<property name="text">
|
||||
<string>PCSX2 will dump and load texture replacements from this directory.</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>texturesDirectory</cstring>
|
||||
</property>
|
||||
<property name="textInteractionFlags">
|
||||
<set>Qt::TextBrowserInteraction</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@@ -108,7 +114,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -120,6 +126,18 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>loadTextureReplacements</tabstop>
|
||||
<tabstop>dumpReplaceableTextures</tabstop>
|
||||
<tabstop>loadTextureReplacementsAsync</tabstop>
|
||||
<tabstop>dumpReplaceableMipmaps</tabstop>
|
||||
<tabstop>precacheTextureReplacements</tabstop>
|
||||
<tabstop>dumpTexturesWithFMVActive</tabstop>
|
||||
<tabstop>texturesDirectory</tabstop>
|
||||
<tabstop>texturesBrowse</tabstop>
|
||||
<tabstop>texturesOpen</tabstop>
|
||||
<tabstop>texturesReset</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -51,6 +51,9 @@
|
||||
<property name="text">
|
||||
<string>Half Pixel Offset:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>halfPixelOffset</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -92,6 +95,9 @@
|
||||
<property name="text">
|
||||
<string>Native Scaling</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>nativeScaling</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
@@ -146,6 +152,9 @@
|
||||
<property name="text">
|
||||
<string>X:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>textureOffsetX</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -160,6 +169,9 @@
|
||||
<property name="text">
|
||||
<string>Y:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>textureOffsetY</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -176,6 +188,9 @@
|
||||
<property name="text">
|
||||
<string>Bilinear Dirty Upscale:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>bilinearHack</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -202,12 +217,15 @@
|
||||
<property name="text">
|
||||
<string>Round Sprite:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>roundSprite</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -219,6 +237,18 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>halfPixelOffset</tabstop>
|
||||
<tabstop>nativeScaling</tabstop>
|
||||
<tabstop>roundSprite</tabstop>
|
||||
<tabstop>bilinearHack</tabstop>
|
||||
<tabstop>textureOffsetX</tabstop>
|
||||
<tabstop>textureOffsetY</tabstop>
|
||||
<tabstop>alignSprite</tabstop>
|
||||
<tabstop>nativePaletteDraw</tabstop>
|
||||
<tabstop>mergeSprite</tabstop>
|
||||
<tabstop>forceEvenSpritePosition</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<class>InputBindingDialog</class>
|
||||
<widget class="QDialog" name="InputBindingDialog">
|
||||
<property name="windowModality">
|
||||
<enum>Qt::WindowModal</enum>
|
||||
<enum>Qt::WindowModality::WindowModal</enum>
|
||||
</property>
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
@@ -25,6 +25,9 @@
|
||||
<property name="text">
|
||||
<string>Bindings for Controller0/ButtonCircle</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>bindingList</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -50,6 +53,9 @@
|
||||
<property name="text">
|
||||
<string>Sensitivity:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>sensitivity</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -64,10 +70,10 @@
|
||||
<number>100</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBelow</enum>
|
||||
<enum>QSlider::TickPosition::TicksBelow</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -83,6 +89,9 @@
|
||||
<property name="text">
|
||||
<string>Deadzone:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>deadzone</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -97,10 +106,10 @@
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="tickPosition">
|
||||
<enum>QSlider::TicksBelow</enum>
|
||||
<enum>QSlider::TickPosition::TicksBelow</enum>
|
||||
</property>
|
||||
<property name="tickInterval">
|
||||
<number>5</number>
|
||||
@@ -150,7 +159,7 @@
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Close</set>
|
||||
<set>QDialogButtonBox::StandardButton::Close</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -158,6 +167,14 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>bindingList</tabstop>
|
||||
<tabstop>sensitivity</tabstop>
|
||||
<tabstop>deadzone</tabstop>
|
||||
<tabstop>addBinding</tabstop>
|
||||
<tabstop>removeBinding</tabstop>
|
||||
<tabstop>clearBindings</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "SettingsWindow.h"
|
||||
#include "QtHost.h"
|
||||
|
||||
static const char* IMAGE_FILE_FILTER = QT_TRANSLATE_NOOP(GameListWidget,
|
||||
static const char* IMAGE_FILE_FILTER = QT_TRANSLATE_NOOP(InterfaceSettingsWidget,
|
||||
"Supported Image Types (*.bmp *.gif *.jpg *.jpeg *.png *.webp)");
|
||||
|
||||
const char* InterfaceSettingsWidget::THEME_NAMES[] = {
|
||||
@@ -88,13 +88,27 @@ InterfaceSettingsWidget::InterfaceSettingsWidget(SettingsWindow* settings_dialog
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.pauseOnControllerDisconnection, "UI", "PauseOnControllerDisconnection", false);
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.discordPresence, "EmuCore", "EnableDiscordPresence", false);
|
||||
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.mouseLock, "EmuCore", "EnableMouseLock", false);
|
||||
connect(m_ui.mouseLock, &QCheckBox::checkStateChanged, [](Qt::CheckState state) {
|
||||
if (state == Qt::Checked)
|
||||
Common::AttachMousePositionCb([](int x, int y) { g_main_window->checkMousePosition(x, y); });
|
||||
else
|
||||
Common::DetachMousePositionCb();
|
||||
});
|
||||
#ifdef __linux__ // Mouse locking is only supported on X11
|
||||
const bool mouse_lock_supported = QGuiApplication::platformName().toLower() == "xcb";
|
||||
#else
|
||||
const bool mouse_lock_supported = true;
|
||||
#endif
|
||||
|
||||
if(mouse_lock_supported)
|
||||
{
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.mouseLock, "EmuCore", "EnableMouseLock", false);
|
||||
connect(m_ui.mouseLock, &QCheckBox::checkStateChanged, [](Qt::CheckState state) {
|
||||
if (state == Qt::Checked)
|
||||
Common::AttachMousePositionCb([](int x, int y) { g_main_window->checkMousePosition(x, y); });
|
||||
else
|
||||
Common::DetachMousePositionCb();
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
m_ui.mouseLock->setEnabled(false);
|
||||
}
|
||||
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.startFullscreen, "UI", "StartFullscreen", false);
|
||||
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.doubleClickTogglesFullscreen, "UI", "DoubleClickTogglesFullscreen",
|
||||
true);
|
||||
@@ -186,7 +200,7 @@ InterfaceSettingsWidget::InterfaceSettingsWidget(SettingsWindow* settings_dialog
|
||||
tr("Shows the game you are currently playing as part of your profile in Discord."));
|
||||
dialog()->registerWidgetHelp(
|
||||
m_ui.mouseLock, tr("Enable Mouse Lock"), tr("Unchecked"),
|
||||
tr("Locks the mouse cursor to the windows when PCSX2 is in focus and all other windows are closed.<br><b>Unavailable on Linux Wayland.</b><br><b>Requires accessibility permissions on macOS.</b>"));
|
||||
tr("Locks the mouse cursor to the windows when PCSX2 is in focus and all other windows are closed.<br><b>Unavailable on Linux Wayland.</b><br><b>Requires accessibility permissions on macOS.</b><br><b>Limited support for mixed-resolution with non-100% DPI configurations.</b>"));
|
||||
dialog()->registerWidgetHelp(
|
||||
m_ui.doubleClickTogglesFullscreen, tr("Double-Click Toggles Fullscreen"), tr("Checked"),
|
||||
tr("Allows switching in and out of fullscreen mode by double-clicking the game window."));
|
||||
@@ -251,4 +265,4 @@ void InterfaceSettingsWidget::onClearGameListBackgroundTriggered()
|
||||
Host::RemoveBaseSettingValue("UI", "GameListBackgroundPath");
|
||||
Host::CommitBaseSettingChanges();
|
||||
emit backgroundChanged();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -153,6 +153,9 @@
|
||||
<property name="text">
|
||||
<string>Language:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>language</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
@@ -163,6 +166,9 @@
|
||||
<property name="text">
|
||||
<string>Theme:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>theme</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@@ -170,6 +176,9 @@
|
||||
<property name="text">
|
||||
<string>Game List Background:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>backgroundBrowse</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
@@ -208,6 +217,9 @@
|
||||
<property name="text">
|
||||
<string>Opacity:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>backgroundOpacity</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
@@ -261,6 +273,9 @@
|
||||
<property name="text">
|
||||
<string>Update Channel:</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>autoUpdateTag</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
@@ -316,6 +331,31 @@
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>confirmShutdown</tabstop>
|
||||
<tabstop>pauseOnFocusLoss</tabstop>
|
||||
<tabstop>inhibitScreensaver</tabstop>
|
||||
<tabstop>pauseOnStart</tabstop>
|
||||
<tabstop>discordPresence</tabstop>
|
||||
<tabstop>pauseOnControllerDisconnection</tabstop>
|
||||
<tabstop>mouseLock</tabstop>
|
||||
<tabstop>startFullscreen</tabstop>
|
||||
<tabstop>doubleClickTogglesFullscreen</tabstop>
|
||||
<tabstop>renderToSeparateWindow</tabstop>
|
||||
<tabstop>hideMainWindow</tabstop>
|
||||
<tabstop>disableWindowResizing</tabstop>
|
||||
<tabstop>hideMouseCursor</tabstop>
|
||||
<tabstop>startFullscreenUI</tabstop>
|
||||
<tabstop>language</tabstop>
|
||||
<tabstop>theme</tabstop>
|
||||
<tabstop>backgroundBrowse</tabstop>
|
||||
<tabstop>backgroundReset</tabstop>
|
||||
<tabstop>backgroundOpacity</tabstop>
|
||||
<tabstop>backgroundFill</tabstop>
|
||||
<tabstop>autoUpdateTag</tabstop>
|
||||
<tabstop>autoUpdateEnabled</tabstop>
|
||||
<tabstop>checkForUpdates</tabstop>
|
||||
</tabstops>
|
||||
<resources>
|
||||
<include location="../resources/resources.qrc"/>
|
||||
</resources>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
<string><center><strong>Note:</strong> Converting a Memory Card creates a <strong>COPY</strong> of your existing Memory Card. It does <strong>NOT delete, modify, or replace</strong> your existing Memory Card.</center></string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
<set>Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop</set>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -115,7 +115,7 @@
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
@@ -128,12 +128,15 @@
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<tabstops>
|
||||
<tabstop>conversionTypeSelect</tabstop>
|
||||
</tabstops>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user