Compare commits

...

21 Commits

Author SHA1 Message Date
TJnotJT
23a28be346 GS/UI: Rename dumping variables and UI labels to be more consistent/clear. 2025-02-24 17:53:01 -05:00
TJnotJT
a0e24dd36f UI: Add debug UI options for new dumping options. 2025-02-24 17:53:01 -05:00
TheLastRar
a2cde5e17b FSUI: Add a config option to swap OK/Cancel within BPM 2025-02-24 17:45:46 -05:00
JordanTheToaster
ecc46e9294 Deps: Update ZSTD to 1.5.7 2025-02-24 17:44:22 -05:00
dreamsyntax
20b1190d47 Achievements: Fix leaderboard timers persisting
Removes setting the leaderboard timer to active on receiving an update
event. This fixes having multiple timers stuck on the screen.
2025-02-24 14:05:03 -05:00
Silent
29b736bcf7 GameDB: Add TOCA Race Driver 3 memcard filters 2025-02-24 12:04:05 -05:00
Silent
a48bc76ca6 GameDB: Add NFS Undercover memcard filters
Checks from NFS Carbon (incl. a bugged check for MW BE)
are in the code, but unused.
2025-02-24 12:04:05 -05:00
Silent
305c01cdfa GameDB: Add NFS ProStreet memcard filters 2025-02-24 12:04:05 -05:00
Silent
88bbdf4696 GameDB: Add NFS Carbon memcard filters 2025-02-24 12:04:05 -05:00
Silent
afc11279a9 GameDB: Improve NFS Most Wanted memcard filters 2025-02-24 12:04:05 -05:00
Silent
a3fb2a84d5 GameDB: SCUS-21494 doesn't exist 2025-02-24 12:04:05 -05:00
Ty
4db23e6677 Debugger Assembler: BC1(t|f) 24 bit immediates to 16 bit immediates 2025-02-24 11:39:30 -05:00
PCSX2 Bot
5dd36a7969 [ci skip] PAD: Update to latest controller database. 2025-02-24 17:02:04 +01:00
RedPanda4552
35a3d0027e Memcard: Apply filtering when checking all possible memcard options
Prevents log being flooded with warnings when large folder memcards exceed 8 MB size
2025-02-24 16:08:00 +01:00
refractionpcsx2
02789ebd86 GS/HW: Increase Merge Sprite paving sensitivity to avoid mismerges 2025-02-23 03:33:39 +00:00
JordanTheToaster
dfd1846b93 GameDB: Various fixes 2025-02-23 01:12:43 +00:00
refractionpcsx2
872205abc6 GS/HW: Maintain scale on subsequent downscale draws 2025-02-23 01:12:07 +00:00
PCSX2 Bot
c52cebd20a [ci skip] Qt: Update Base Translation. 2025-02-22 01:04:56 +01:00
GovanifY
f449b54f87 CI: enable wayland by default 2025-02-21 12:28:28 +01:00
GovanifY
ffcb6e2f6f QT/MainWindow: disable native window rendering in wayland
This is a workaround for QTBUG-133919
2025-02-21 12:28:28 +01:00
PCSX2 Bot
5daa1aa115 [ci skip] Qt: Update Base Translation. 2025-02-21 01:09:05 +01:00
24 changed files with 867 additions and 348 deletions

View File

@@ -187,17 +187,6 @@ echo "Generating AppStream metainfo..."
mkdir -p "$OUTDIR/usr/share/metainfo"
"$SCRIPTDIR/generate-metainfo.sh" "$OUTDIR/usr/share/metainfo/net.pcsx2.PCSX2.appdata.xml"
# Copy in AppRun hooks.
# Unfortunately linuxdeploy is a bit lame and doesn't let us provide our own AppRun hooks, instead
# they have to come from plugins.. and screw writing one of those just to disable Wayland.
echo "Copying AppRun hooks..."
mkdir -p "$OUTDIR/apprun-hooks"
for hookpath in "$SCRIPTDIR/apprun-hooks"/*; do
hookname=$(basename "$hookpath")
cp -v "$hookpath" "$OUTDIR/apprun-hooks/$hookname"
sed -i -e 's/exec /source "$this_dir"\/apprun-hooks\/"'"$hookname"'"\nexec /' "$OUTDIR/AppRun"
done
echo "Generating AppImage..."
GIT_VERSION=$(git tag --points-at HEAD)

View File

@@ -1,9 +0,0 @@
if [[ -z "$I_WANT_A_BROKEN_WAYLAND_UI" ]]; then
echo "Forcing X11 instead of Wayland, due to various protocol limitations"
echo "and Qt issues. If you want to use Wayland, launch PCSX2 with"
echo "I_WANT_A_BROKEN_WAYLAND_UI=YES set."
export QT_QPA_PLATFORM=xcb
else
echo "Wayland is not being disabled. Do not complain when things break."
fi

View File

@@ -21,7 +21,7 @@ LIBWEBP=1.5.0
LZ4=b8fd2d15309dd4e605070bd4486e26b6ef814e29
SDL=SDL2-2.30.12
QT=6.8.2
ZSTD=1.5.6
ZSTD=1.5.7
SHADERC=2024.1
SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec
@@ -38,7 +38,7 @@ fd6f417fe9e3a071cf1424a5152d926a34c4a3c5070745470be6cf12a404ed79 $LIBBACKTRACE.
7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c libwebp-$LIBWEBP.tar.gz
0728800155f3ed0a0c87e03addbd30ecbe374f7b080678bbca1506051d50dec3 $LZ4.tar.gz
ac356ea55e8b9dd0b2d1fa27da40ef7e238267ccf9324704850d5d47375b48ea $SDL.tar.gz
8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1 zstd-$ZSTD.tar.gz
eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar.gz
012043ce6d411e6e8a91fdc4e05e6bedcfa10fcb1347d3c33908f7fdd10dfe05 qtbase-everywhere-src-$QT.tar.xz
d2a1bbb84707b8a0aec29227b170be00f04383fbf2361943596d09e7e443c8e1 qtimageformats-everywhere-src-$QT.tar.xz
aa2579f21ca66d19cbcf31d87e9067e07932635d36869c8239d4decd0a9dc1fa qtsvg-everywhere-src-$QT.tar.xz

View File

@@ -19,10 +19,10 @@
"--device=all",
"--share=network",
"--share=ipc",
"--socket=x11",
"--socket=wayland",
"--socket=fallback-x11",
"--socket=pulseaudio",
"--talk-name=org.freedesktop.ScreenSaver",
"--env=QT_QPA_PLATFORM=xcb"
"--talk-name=org.freedesktop.ScreenSaver"
],
"modules": [
"modules/10-libpcap.json",

View File

@@ -41,7 +41,7 @@ fi
FREETYPE=2.13.3
HARFBUZZ=10.0.1
SDL=SDL2-2.30.12
ZSTD=1.5.6
ZSTD=1.5.7
LZ4=b8fd2d15309dd4e605070bd4486e26b6ef814e29
LIBPNG=1.6.45
LIBJPEG=9f
@@ -77,7 +77,7 @@ cat > SHASUMS <<EOF
0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289 freetype-$FREETYPE.tar.xz
e7358ea86fe10fb9261931af6f010d4358dac64f7074420ca9bc94aae2bdd542 harfbuzz-$HARFBUZZ.tar.gz
ac356ea55e8b9dd0b2d1fa27da40ef7e238267ccf9324704850d5d47375b48ea $SDL.tar.gz
8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1 zstd-$ZSTD.tar.gz
eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar.gz
0728800155f3ed0a0c87e03addbd30ecbe374f7b080678bbca1506051d50dec3 $LZ4.tar.gz
926485350139ffb51ef69760db35f78846c805fef3d59bfdcb2fba704663f370 libpng-$LIBPNG.tar.xz
7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c libwebp-$LIBWEBP.tar.gz

View File

@@ -23,7 +23,7 @@ fi
FREETYPE=2.13.3
HARFBUZZ=10.0.1
SDL=SDL2-2.30.12
ZSTD=1.5.6
ZSTD=1.5.7
LZ4=b8fd2d15309dd4e605070bd4486e26b6ef814e29
LIBPNG=1.6.45
LIBJPEG=9f
@@ -57,7 +57,7 @@ cat > SHASUMS <<EOF
0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289 freetype-$FREETYPE.tar.xz
e7358ea86fe10fb9261931af6f010d4358dac64f7074420ca9bc94aae2bdd542 harfbuzz-$HARFBUZZ.tar.gz
ac356ea55e8b9dd0b2d1fa27da40ef7e238267ccf9324704850d5d47375b48ea $SDL.tar.gz
8c29e06cf42aacc1eafc4077ae2ec6c6fcb96a626157e0593d5e82a34fd403c1 zstd-$ZSTD.tar.gz
eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar.gz
0728800155f3ed0a0c87e03addbd30ecbe374f7b080678bbca1506051d50dec3 $LZ4.tar.gz
926485350139ffb51ef69760db35f78846c805fef3d59bfdcb2fba704663f370 libpng-$LIBPNG.tar.xz
7d6fab70cf844bf6769077bd5d7a74893f8ffd4dfb42861745750c63c2a5c92c libwebp-$LIBWEBP.tar.gz

View File

@@ -53,7 +53,7 @@ set SDL=SDL2-2.30.12
set WEBP=1.5.0
set ZLIB=1.3.1
set ZLIBSHORT=131
set ZSTD=1.5.6
set ZSTD=1.5.7
set SHADERC=2024.1
set SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec
@@ -73,8 +73,7 @@ call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/offic
call :downloadfile "qttools-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttools-everywhere-src-%QT%.zip" 102539447c1c76d206f24bcca2c911270cf53991548d9c3d7d0d01855f651e3b || goto error
call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttranslations-everywhere-src-%QT%.zip" 33ccac9f99a357ffd83cb2d7179a0c0ffcba85a14d23d86619d5dc9721ded42f || goto error
call :downloadfile "zlib%ZLIBSHORT%.zip" "https://zlib.net/zlib%ZLIBSHORT%.zip" 72af66d44fcc14c22013b46b814d5d2514673dda3d115e64b690c1ad636e7b17 || goto error
call :downloadfile "zstd-%ZSTD%.zip" "https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD%.zip" 3b1c3b46e416d36931efd34663122d7f51b550c87f74de2d38249516fe7d8be5 || goto error
call :downloadfile "zstd-fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch" https://github.com/facebook/zstd/commit/fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch 8df152f4969b308546306c074628de761f0b80265de7de534e3822fab22d7535 || goto error
call :downloadfile "zstd-%ZSTD%.zip" "https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD%.zip" 7897bc5d620580d9b7cd3539c44b59d78f3657d33663fe97a145e07b4ebd69a4 || goto error
call :downloadfile "shaderc-%SHADERC%.zip" "https://github.com/google/shaderc/archive/refs/tags/v%SHADERC%.zip" 6c9f42ed6bf42750f5369b089909abfdcf0101488b4a1f41116d5159d00af8e7 || goto error
call :downloadfile "shaderc-glslang-%SHADERC_GLSLANG%.zip" "https://github.com/KhronosGroup/glslang/archive/%SHADERC_GLSLANG%.zip" 03ad8a6fa987af4653d0cfe6bdaed41bcf617f1366a151fb1574da75950cd3e8 || goto error
@@ -159,7 +158,6 @@ echo Building Zstandard...
rmdir /S /Q "zstd-%ZSTD%"
%SEVENZIP% x "-x^!zstd-%ZSTD%\tests\cli-tests\bin" "zstd-%ZSTD%.zip" || goto error
cd "zstd-%ZSTD%"
%PATCH% -p1 < "..\zstd-fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch" || goto error
cmake %ARM64TOOLCHAIN% -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DZSTD_BUILD_SHARED=ON -DZSTD_BUILD_STATIC=OFF -DZSTD_BUILD_PROGRAMS=OFF -B build -G Ninja build/cmake
cmake --build build --parallel || goto error
ninja -C build install || goto error

View File

@@ -51,7 +51,7 @@ set SDL=SDL2-2.30.12
set WEBP=1.5.0
set ZLIB=1.3.1
set ZLIBSHORT=131
set ZSTD=1.5.6
set ZSTD=1.5.7
set SHADERC=2024.1
set SHADERC_GLSLANG=142052fa30f9eca191aa9dcf65359fcaed09eeec
@@ -71,8 +71,7 @@ call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/offic
call :downloadfile "qttools-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttools-everywhere-src-%QT%.zip" 102539447c1c76d206f24bcca2c911270cf53991548d9c3d7d0d01855f651e3b || goto error
call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttranslations-everywhere-src-%QT%.zip" 33ccac9f99a357ffd83cb2d7179a0c0ffcba85a14d23d86619d5dc9721ded42f || goto error
call :downloadfile "zlib%ZLIBSHORT%.zip" "https://zlib.net/zlib%ZLIBSHORT%.zip" 72af66d44fcc14c22013b46b814d5d2514673dda3d115e64b690c1ad636e7b17 || goto error
call :downloadfile "zstd-%ZSTD%.zip" "https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD%.zip" 3b1c3b46e416d36931efd34663122d7f51b550c87f74de2d38249516fe7d8be5 || goto error
call :downloadfile "zstd-fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch" https://github.com/facebook/zstd/commit/fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch 8df152f4969b308546306c074628de761f0b80265de7de534e3822fab22d7535 || goto error
call :downloadfile "zstd-%ZSTD%.zip" "https://github.com/facebook/zstd/archive/refs/tags/v%ZSTD%.zip" 7897bc5d620580d9b7cd3539c44b59d78f3657d33663fe97a145e07b4ebd69a4 || goto error
call :downloadfile "shaderc-%SHADERC%.zip" "https://github.com/google/shaderc/archive/refs/tags/v%SHADERC%.zip" 6c9f42ed6bf42750f5369b089909abfdcf0101488b4a1f41116d5159d00af8e7 || goto error
call :downloadfile "shaderc-glslang-%SHADERC_GLSLANG%.zip" "https://github.com/KhronosGroup/glslang/archive/%SHADERC_GLSLANG%.zip" 03ad8a6fa987af4653d0cfe6bdaed41bcf617f1366a151fb1574da75950cd3e8 || goto error
@@ -156,7 +155,6 @@ echo Building Zstandard...
rmdir /S /Q "zstd-%ZSTD%"
%SEVENZIP% x "-x^!zstd-%ZSTD%\tests\cli-tests\bin" "zstd-%ZSTD%.zip" || goto error
cd "zstd-%ZSTD%"
%PATCH% -p1 < "..\zstd-fd5f8106a58601a963ee816e6a57aa7c61fafc53.patch" || goto error
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="%INSTALLDIR%" -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DBUILD_SHARED_LIBS=ON -DZSTD_BUILD_SHARED=ON -DZSTD_BUILD_STATIC=OFF -DZSTD_BUILD_PROGRAMS=OFF -B build -G Ninja build/cmake
cmake --build build --parallel || goto error
ninja -C build install || goto error

View File

@@ -2015,7 +2015,6 @@ SCAJ-20132:
eeClampMode: 2 # Fixes wrong color on some characters and breakable objects.
gsHWFixes:
halfPixelOffset: 1 # Fixes ghosting characters.
mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead.
texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost.
SCAJ-20133:
name: "Kagero 2 - Dark Illusion"
@@ -10418,15 +10417,6 @@ SCUS-21295:
recommendedBlendingLevel: 3 # Fixes water and grass textures.
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 1 # Fixes post processing smoothness and position.
SCUS-21494:
name: "Need for Speed - Carbon Collector's Edition"
region: "NTSC-U"
compat: 5
clampModes:
eeClampMode: 3 # Fixes game hang after opening intro.
gsHWFixes:
halfPixelOffset: 2 # Fixes blurriness.
roundSprite: 2 # Fixes blurriness.
SCUS-90174:
name: "Disney/Pixar Toy Story 3 [PlayStation 2 Bundle]"
region: "NTSC-U"
@@ -12805,9 +12795,7 @@ SLAJ-25075:
- "SLAJ-25075"
- "SLPM-66232"
- "SLPM-66562"
- "SLPM-65766"
- "SLPM-66051"
- "SLPM-66960"
- "SLAJ-25054" # Underground 2 save grants extra money.
SLAJ-25076:
name: "Harry Potter and the Goblet of Fire"
region: "NTSC-Unk"
@@ -12879,6 +12867,13 @@ SLAJ-25091:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLAJ-25091"
# Most Wanted save grants extra money.
- "SLAJ-25075"
- "SLPM-66232"
# UG2 saves can be detected, but the code is unused.
- "SLAJ-25054"
SLAJ-25092:
name: "Shin Sangoku Musou 4 [PlayStation2 the Best]"
region: "NTSC-Unk"
@@ -13630,7 +13625,7 @@ SLED-53954:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLED-53977:
name: "Dragon Quest - The Journey of the Cursed King"
region: "PAL-E"
@@ -15351,7 +15346,6 @@ SLES-50723:
name: "TOCA Race Driver"
region: "PAL-M3"
gsHWFixes:
mergeSprite: 1 # Fixes lighting.
halfPixelOffset: 1 # Fixes vertical lines
SLES-50725:
name: "V-Rally 3"
@@ -15449,7 +15443,6 @@ SLES-50767:
name: "V8 Supercars Australia - Race Driver"
region: "PAL-A"
gsHWFixes:
mergeSprite: 1 # Fixes lighting.
halfPixelOffset: 1 # Fixes vertical lines
SLES-50768:
name: "Rally Championship"
@@ -15616,13 +15609,11 @@ SLES-50816:
region: "PAL-M3"
compat: 5
gsHWFixes:
mergeSprite: 1 # Fixes lighting.
halfPixelOffset: 1 # Fixes vertical lines
SLES-50818:
name: "Pro Race Driver"
region: "PAL-I"
gsHWFixes:
mergeSprite: 1 # Fixes lighting.
halfPixelOffset: 1 # Fixes vertical lines
SLES-50820:
name: "Micro Machines"
@@ -18283,7 +18274,7 @@ SLES-51914:
- "SLES-51914"
gsHWFixes:
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 2 # Fixes post processing smoothness and position.
nativeScaling: 1 # Fixes post processing smoothness and position.
disablePartialInvalidation: 1 # Fixes textureless graphics ingame.
bilinearUpscale: 2 # Gets rid of center vertical line when upscaling.
SLES-51915:
@@ -20081,7 +20072,7 @@ SLES-52636:
autoFlush: 1 # Fixes incorrect colors.
alignSprite: 1 # Fixes vertical lines such as in FMVs.
SLES-52637:
name: "TOCA Racer Driver 2"
name: "TOCA Race Driver 2"
region: "PAL-M5"
gsHWFixes:
alignSprite: 1 # Fixes lighting and vertical lines, also works with normal vertex.
@@ -21524,6 +21515,9 @@ SLES-53087:
skipDrawEnd: 1 # Removes large black box around player car till we properly emulate it.
halfPixelOffset: 2 # Fixes depth of field alignment.
nativeScaling: 1 # Fixes depth of field.
memcardFilters:
- "SLES-53087"
- "SLES-52637" # Race Driver 2 save unlocks 'Class A 4WD Track Challenge' in career early.
SLES-53088:
name: "DTM Race Driver 3"
region: "PAL-M5"
@@ -21534,6 +21528,9 @@ SLES-53088:
skipDrawEnd: 1 # Removes large black box around player car till we properly emulate it.
halfPixelOffset: 2 # Fixes depth of field alignment.
nativeScaling: 1 # Fixes depth of field.
memcardFilters:
- "SLES-53088"
- "SLES-52638" # Race Driver 2 save unlocks 'Class A 4WD Track Challenge' in career early.
SLES-53089:
name: "V8 Supercars Australia 3"
region: "PAL-E"
@@ -21544,6 +21541,9 @@ SLES-53089:
skipDrawEnd: 1 # Removes large black box around player car till we properly emulate it.
halfPixelOffset: 2 # Fixes depth of field alignment.
nativeScaling: 1 # Fixes depth of field.
memcardFilters:
- "SLES-53089"
- "SLES-52639" # Race Driver 2 save unlocks 'Class A 4WD Track Challenge' in career early.
SLES-53090:
name: "Circuit Blasters"
region: "PAL-M5"
@@ -22913,7 +22913,7 @@ SLES-53556:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLES-53557:
name: "Need for Speed - Most Wanted"
region: "PAL-E"
@@ -22923,12 +22923,12 @@ SLES-53557:
halfPixelOffset: 2 # Fixes blurriness.
cpuCLUTRender: 1 # Final colour adjustment LUT.
gpuTargetCLUT: 1 # Fixes sun penetrating bridges (along with HPO special).
memcardFilters: # Reads Underground 2 save for extra money.
memcardFilters:
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
- "SLES-52725" # Underground 2 save grants extra money.
SLES-53558:
name: "Need for Speed - Most Wanted"
region: "PAL-M8"
@@ -22942,7 +22942,7 @@ SLES-53558:
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
- "SLES-52725" # Underground 2 save grants extra money.
SLES-53559:
name: "Need for Speed - Most Wanted"
region: "PAL-M7"
@@ -22956,7 +22956,7 @@ SLES-53559:
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
- "SLES-52725" # Underground 2 save grants extra money.
SLES-53560:
name: "Sonic Riders"
region: "PAL-M5"
@@ -23703,7 +23703,6 @@ SLES-53794:
gsHWFixes:
halfPixelOffset: 4 # Fix effects upscaling.
nativeScaling: 2 # Fixes post effects.
mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead.
texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost.
SLES-53796:
name: "FIFA Street 2"
@@ -23895,7 +23894,7 @@ SLES-53857:
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
- "SLES-52725" # Underground 2 save grants extra money.
SLES-53860:
name: "Dynasty Warriors 5 - Xtreme Legends"
region: "PAL-E"
@@ -24385,7 +24384,7 @@ SLES-54027:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLES-54030:
name: "Black"
region: "PAL-E"
@@ -25141,7 +25140,7 @@ SLES-54317:
region: "PAL-M5"
compat: 5
gsHWFixes:
mergeSprite: 1 # Fixes alignment on fire effects.
halfPixelOffset: 4 # Fixes alignment on fire effects.
SLES-54319:
name: "Biker Mice from Mars"
region: "PAL-M5"
@@ -25159,6 +25158,18 @@ SLES-54321:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-54322:
name: "Need for Speed - Carbon"
region: "PAL-M8"
@@ -25167,6 +25178,18 @@ SLES-54322:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-54323:
name: "Need for Speed - Carbon"
region: "PAL-I-S"
@@ -25175,6 +25198,18 @@ SLES-54323:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-54324:
name: "Need for Speed - Carbon"
region: "PAL-R"
@@ -25183,6 +25218,18 @@ SLES-54324:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-54326:
name: "Raceway - Drag Stock Racing"
region: "PAL-E"
@@ -25457,6 +25504,17 @@ SLES-54402:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-54410:
name: "Monster Trux Arenas - Special Edition"
region: "PAL-Unk"
@@ -25713,7 +25771,6 @@ SLES-54483:
compat: 5
gsHWFixes:
recommendedBlendingLevel: 4 # Fixes car reflections.
mergeSprite: 1 # Fixes bluriness.
halfPixelOffset: 4 # Fixes bluriness.
nativeScaling: 2 # Fixes post lighting.
autoFlush: 1 # Fixes post alignment.
@@ -25754,6 +25811,17 @@ SLES-54492:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-54493:
name: "Need for Speed - Carbon [Collector's Edition]"
region: "PAL-F-G"
@@ -25762,6 +25830,17 @@ SLES-54493:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-54494:
name: "Little Britain - The Video Game"
region: "PAL-E"
@@ -27325,26 +27404,132 @@ SLES-55002:
region: "PAL-E"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-55002"
- "SLES-55003"
- "SLES-55004"
- "SLES-55005"
- "SLES-55006"
# Carbon save grants extra money.
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-55003:
name: "Need for Speed - ProStreet"
region: "PAL-F-G"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-55002"
- "SLES-55003"
- "SLES-55004"
- "SLES-55005"
- "SLES-55006"
# Carbon save grants extra money.
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-55004:
name: "Need for Speed - ProStreet"
region: "PAL-I-S"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-55002"
- "SLES-55003"
- "SLES-55004"
- "SLES-55005"
- "SLES-55006"
# Carbon save grants extra money.
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-55005:
name: "Need for Speed - ProStreet"
region: "PAL-M8"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-55002"
- "SLES-55003"
- "SLES-55004"
- "SLES-55005"
- "SLES-55006"
# Carbon save grants extra money.
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857" # Black Edition detection is bugged by default, can be fixed with a patch.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-55006:
name: "Need for Speed - ProStreet"
region: "PAL-R"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLES-55002"
- "SLES-55003"
- "SLES-55004"
- "SLES-55005"
- "SLES-55006"
# Carbon save grants extra money. Detection is bugged by default, can be fixed with a patch.
- "SLES-54321"
- "SLES-54322"
- "SLES-54323"
- "SLES-54324"
- "SLES-54402"
- "SLES-54492"
- "SLES-54493"
# Most Wanted save grants extra money. Detection is bugged by default, can be fixed with a patch.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLUS-21267" # Original wrong Most Wanted serial.
# UG2 saves can be detected, but the code is unused.
- "SLES-52725"
SLES-55007:
name: "Boogie"
region: "PAL-M7"
@@ -28289,6 +28474,18 @@ SLES-55349:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLES-55349"
- "SLES-55350"
- "SLES-55351"
- "SLES-55352"
- "SLES-55353"
# Checks from Carbon are left in the code, unused.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
SLES-55350:
name: "Need for Speed - Undercover"
region: "PAL-F-G"
@@ -28299,6 +28496,18 @@ SLES-55350:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLES-55349"
- "SLES-55350"
- "SLES-55351"
- "SLES-55352"
- "SLES-55353"
# Checks from Carbon are left in the code, unused.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
SLES-55351:
name: "Need for Speed - Undercover"
region: "PAL-I-S"
@@ -28309,6 +28518,18 @@ SLES-55351:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLES-55349"
- "SLES-55350"
- "SLES-55351"
- "SLES-55352"
- "SLES-55353"
# Checks from Carbon are left in the code, unused.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
SLES-55352:
name: "Need for Speed - Undercover"
region: "PAL-SC"
@@ -28320,6 +28541,18 @@ SLES-55352:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLES-55349"
- "SLES-55350"
- "SLES-55351"
- "SLES-55352"
- "SLES-55353"
# Checks from Carbon are left in the code, unused.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
SLES-55353:
name: "Need for Speed - Undercover"
region: "PAL-M6"
@@ -28330,6 +28563,18 @@ SLES-55353:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLES-55349"
- "SLES-55350"
- "SLES-55351"
- "SLES-55352"
- "SLES-55353"
# Checks from Carbon are left in the code, unused.
- "SLES-53557"
- "SLES-53558"
- "SLES-53559"
- "SLES-53857"
- "SLES-52725"
SLES-55354:
name: "Shin Megami Tensei - Persona 3 FES"
region: "PAL-E"
@@ -29913,7 +30158,7 @@ SLKA-25093:
- "SLKA-25093"
gsHWFixes:
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 2 # Fixes post processing smoothness and position.
nativeScaling: 1 # Fixes post processing smoothness and position.
disablePartialInvalidation: 1 # Fixes textureless graphics ingame.
bilinearUpscale: 2 # Gets rid of center vertical line when upscaling.
SLKA-25095:
@@ -30261,6 +30506,11 @@ SLKA-25185:
gsHWFixes:
halfPixelOffset: 2 # Fixes blurriness.
roundSprite: 2 # Fixes blurriness.
memcardFilters:
- "SLKA-25185"
- "SLKA-25334" # Most Wanted save grants extra money.
- "SLAJ-25075" # Original wrong Black Edition serial.
- "SLKA-25241" # UG2 saves can be detected, but the code is unused.
SLKA-25186:
name: "The King of Fighters - Maximum Impact [Limited Edition]"
name-sort: "King of Fighters, The - Maximum Impact [Limited Edition]"
@@ -30947,6 +31197,9 @@ SLKA-25334:
halfPixelOffset: 2 # Fixes blurriness.
cpuCLUTRender: 1 # Final colour adjustment LUT.
gpuTargetCLUT: 1 # Fixes sun penetrating bridges (along with HPO special).
memcardFilters:
- "SLKA-25334"
- "SLKA-25241" # Underground 2 save grants extra money.
SLKA-25335:
name: "Shadow the Hedgehog"
region: "NTSC-K"
@@ -30986,7 +31239,7 @@ SLKA-25341:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLKA-25342:
name: "Ryu ga Gotoku"
region: "NTSC-K"
@@ -31308,6 +31561,11 @@ SLKA-25411:
region: "NTSC-K"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLKA-25411"
- "SLKA-25185" # Carbon save grants extra money.
- "SLKA-25334" # Most Wanted save grants extra money.
- "SLKA-25241" # UG2 saves can be detected, but the code is unused.
SLKA-25412:
name: "Sengoku Basara 2 - Heroes"
region: "NTSC-K"
@@ -31424,6 +31682,13 @@ SLKA-25446:
recommendedBlendingLevel: 3 # Improves car reflections.
halfPixelOffset: 2 # Fixes blurriness.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLKA-25446"
# Checks from Carbon are left in the code, unused.
- "SLKA-25185"
- "SLKA-25334"
- "SLAJ-25075"
- "SLKA-25241"
SLKA-25447:
name: "FIFA 09"
region: "NTSC-K"
@@ -31619,6 +31884,9 @@ SLPM-55003:
halfPixelOffset: 2 # Fixes blurriness.
cpuCLUTRender: 1 # Final colour adjustment LUT.
gpuTargetCLUT: 1 # Fixes sun penetrating bridges (along with HPO special).
memcardFilters:
- "SLPM-55003"
- "SLPM-65766" # Underground 2 save grants extra money.
SLPM-55004:
name: "バーンアウト リベンジ [EA:SY! 1980]"
name-sort: "ばーんあうと りべんじ [EA:SY! 1980])"
@@ -31872,6 +32140,9 @@ SLPM-55046:
skipDrawEnd: 1 # Removes large black box around player car till we properly emulate it.
halfPixelOffset: 2 # Fixes depth of field alignment.
nativeScaling: 1 # Fixes depth of field.
memcardFilters:
- "SLPM-55046"
- "SLPM-66498" # Race Driver 2 save unlocks 'Class A 4WD Track Challenge' in career early.
SLPM-55047:
name: "Sugar+Spice ~あの子のステキな何もかも~"
name-sort: "しゅがーすぱいす あのこのすてきななにもかも"
@@ -31946,6 +32217,13 @@ SLPM-55061:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLPM-55061"
# Most Wanted save grants extra money.
- "SLPM-66232"
- "SLPM-66562"
- "SLAJ-25075" # Original wrong Black Edition serial.
- "SLPM-65766" # UG2 saves can be detected, but the code is unused.
SLPM-55062:
name: "実況パワフルメジャーリーグ 3"
name-sort: "じっきょうぱわふるめじゃーりーぐ 3"
@@ -32048,7 +32326,6 @@ SLPM-55081:
eeClampMode: 2 # Fixes wrong color on some characters and breakable objects.
gsHWFixes:
halfPixelOffset: 1 # Fixes ghosting characters.
mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead.
texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost.
SLPM-55082:
name: "真・三國無双5 Special [ディスク 1]"
@@ -32264,6 +32541,13 @@ SLPM-55127:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLPM-55127"
# Checks from Carbon are left in the code, unused.
- "SLPM-66232"
- "SLPM-66562"
- "SLAJ-25075"
- "SLPM-65766"
SLPM-55128:
name: "ラグビー08 [英語版] [EA:SY! 1980]"
name-sort: "らぐびー08 [えいごばん] [EA:SY! 1980]"
@@ -32401,6 +32685,16 @@ SLPM-55151:
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLPM-55151"
# Carbon save grants extra money.
- "SLPM-55061"
- "SLPM-66617"
- "SLPM-66869"
# Most Wanted save grants extra money.
- "SLPM-66232"
- "SLPM-66562"
- "SLPM-65766" # UG2 saves can be detected, but the code is unused.
SLPM-55152:
name: "スロッターUPコア11 巨人の星Ⅳ 青春群像編"
name-sort: "すろったーUPこあ11 きょじんのほし4 せいしゅんぐんぞうへん"
@@ -32842,6 +33136,13 @@ SLPM-55244:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLPM-55244"
# Checks from Carbon are left in the code, unused.
- "SLPM-66232"
- "SLPM-66562"
- "SLAJ-25075"
- "SLPM-65766"
SLPM-55245:
name: "ひまわり -Pebble in the Sky-"
name-sort: "ひまわり -Pebble in the Sky-"
@@ -34510,7 +34811,6 @@ SLPM-61120:
eeClampMode: 2 # Fixes wrong color on some characters and breakable objects.
gsHWFixes:
halfPixelOffset: 1 # Fixes ghosting characters.
mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead.
texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost.
SLPM-61121:
name: "KAIDO ~峠の伝説~ [体験版]"
@@ -41214,7 +41514,7 @@ SLPM-65413:
- "SLPM-65413"
gsHWFixes:
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 2 # Fixes post processing smoothness and position.
nativeScaling: 1 # Fixes post processing smoothness and position.
disablePartialInvalidation: 1 # Fixes textureless graphics ingame.
bilinearUpscale: 2 # Gets rid of center vertical line when upscaling.
SLPM-65414:
@@ -44547,7 +44847,6 @@ SLPM-65999:
eeClampMode: 2 # Fixes wrong color on some characters and breakable objects.
gsHWFixes:
halfPixelOffset: 1 # Fixes ghosting characters.
mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead.
texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost.
SLPM-66000:
name: "コンフリクトデルタⅡ 湾岸戦争1991"
@@ -46063,7 +46362,8 @@ SLPM-66232:
- "SLAJ-25075"
- "SLPM-66232"
- "SLPM-66562"
- "SLPM-65766"
- "SLPM-65766" # Underground 2 save grants extra money.
# Unconfirmed UG2 serials.
- "SLPM-66051"
- "SLPM-66960"
SLPM-66233:
@@ -48094,7 +48394,8 @@ SLPM-66562:
- "SLAJ-25075"
- "SLPM-66232"
- "SLPM-66562"
- "SLPM-65766"
- "SLPM-65766" # Underground 2 save grants extra money.
# Unconfirmed UG2 serials.
- "SLPM-66051"
- "SLPM-66960"
SLPM-66563:
@@ -48135,7 +48436,7 @@ SLPM-66567:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLPM-66568:
name: "ブラザー イン アームズ ロード トゥ ヒル サーティ [UBISOFT BEST]"
name-sort: "ぶらざー いん あーむず ろーど とぅ ひる さーてぃ [UBISOFT BEST]"
@@ -48443,6 +48744,13 @@ SLPM-66617:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLPM-66617"
# Most Wanted save grants extra money.
- "SLPM-66232"
- "SLPM-66562"
- "SLAJ-25075" # Original wrong Black Edition serial.
- "SLPM-65766" # UG2 saves can be detected, but the code is unused.
SLPM-66618:
name: "夢見師 [初回限定版]"
name-sort: "ゆめみし [しょかいげんていばん]"
@@ -49971,6 +50279,13 @@ SLPM-66869:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLPM-66869"
# Most Wanted save grants extra money.
- "SLPM-66232"
- "SLPM-66562"
- "SLAJ-25075" # Original wrong Black Edition serial.
- "SLPM-65766" # UG2 saves can be detected, but the code is unused.
SLPM-66870:
name: "星色のおくりもの [初回スペシャル限定版]"
name-sort: "ほしいろのおくりもの [しょかいすぺしゃるげんていばん]"
@@ -50039,6 +50354,9 @@ SLPM-66881:
skipDrawEnd: 1 # Removes large black box around player car till we properly emulate it.
halfPixelOffset: 2 # Fixes depth of field alignment.
nativeScaling: 1 # Fixes depth of field.
memcardFilters:
- "SLPM-66881"
- "SLPM-66498" # Race Driver 2 save unlocks 'Class A 4WD Track Challenge' in career early.
SLPM-66882:
name: "はかれなはーと ~君がために輝きを~ [限定版・サントラボイスCD付]"
name-sort: "はかれなはーと きみがためにかがやきを [げんていばん さんとらぼいすCDつき]"
@@ -50319,6 +50637,16 @@ SLPM-66932:
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLPM-66932"
# Carbon save grants extra money.
- "SLPM-55061"
- "SLPM-66617"
- "SLPM-66869"
# Most Wanted save grants extra money.
- "SLPM-66232"
- "SLPM-66562"
- "SLPM-65766" # UG2 saves can be detected, but the code is unused.
SLPM-66933:
name: "君が主で執事が俺で~お仕え日記~ [初回限定版]"
name-sort: "きみがあるじでしつじがおれで おつかえにっき [しょかいげんていばん]"
@@ -62650,7 +62978,6 @@ SLUS-20329:
region: "NTSC-U"
compat: 5
gsHWFixes:
mergeSprite: 1 # Fixes lighting.
halfPixelOffset: 1 # Fixes vertical lines
SLUS-20330:
name: "NBA 2K2 - Sega Sports"
@@ -64556,7 +64883,7 @@ SLUS-20694:
- "SLUS-20710"
gsHWFixes:
halfPixelOffset: 4 # Mostly aligns post processing.
nativeScaling: 2 # Fixes post processing smoothness and position.
nativeScaling: 1 # Fixes post processing smoothness and position.
disablePartialInvalidation: 1 # Fixes textureless graphics ingame.
bilinearUpscale: 2 # Gets rid of center vertical line when upscaling.
SLUS-20695:
@@ -67351,6 +67678,9 @@ SLUS-21182:
skipDrawEnd: 1 # Removes large black box around player car till we properly emulate it.
halfPixelOffset: 2 # Fixes depth of field alignment.
nativeScaling: 1 # Fixes depth of field.
memcardFilters:
- "SLUS-21182"
- "SLUS-21039" # Race Driver 2 save unlocks 'Class A 4WD Track Challenge' in career early.
SLUS-21183:
name: "Teen Titans"
region: "NTSC-U"
@@ -67869,6 +68199,9 @@ SLUS-21257:
halfPixelOffset: 2 # Fixes blurriness.
cpuCLUTRender: 1 # Final colour adjustment LUT.
gpuTargetCLUT: 1 # Fixes sun penetrating bridges (along with HPO special).
memcardFilters:
- "SLUS-21257"
- "SLUS-21065" # Underground 2 save grants extra money.
SLUS-21258:
name: ".hack//G.U. Vol.1 - Rebirth"
region: "NTSC-U"
@@ -67955,7 +68288,7 @@ SLUS-21267:
memcardFilters:
- "SLUS-21267"
- "SLUS-21351"
- "SLUS-21065"
- "SLUS-21065" # Underground 2 save grants extra money.
SLUS-21268:
name: "24 - The Game"
region: "NTSC-U"
@@ -67988,7 +68321,7 @@ SLUS-21271:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLUS-21272:
name: "Super Monkey Ball Adventure"
region: "NTSC-U"
@@ -68244,7 +68577,7 @@ SLUS-21306:
region: "NTSC-U"
compat: 5
gsHWFixes:
mergeSprite: 1 # Fixes alignment on fire effects.
halfPixelOffset: 4 # Fixes alignment on fire effects.
SLUS-21307:
name: "Ice Age 2 - The Meltdown"
region: "NTSC-U"
@@ -68544,7 +68877,7 @@ SLUS-21351:
memcardFilters:
- "SLUS-21267"
- "SLUS-21351"
- "SLUS-21065"
- "SLUS-21065" # Underground 2 save grants extra money.
SLUS-21352:
name: "Dai Senryaku VII Exceed"
region: "NTSC-U"
@@ -68706,7 +69039,6 @@ SLUS-21373:
gsHWFixes:
halfPixelOffset: 4 # Fix effects upscaling.
nativeScaling: 2 # Fixes post effects.
mergeSprite: 1 # Align sprite fixes FMVs but not garbage in-game, so needs merge sprite instead.
texturePreloading: 1 # Performs better with partial preload because it is slow on locations outside gameplay foremost.
SLUS-21374:
name: "Marvel - Ultimate Alliance"
@@ -68886,7 +69218,7 @@ SLUS-21399:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLUS-21400:
name: "Monster House"
region: "NTSC-U"
@@ -69212,7 +69544,6 @@ SLUS-21449:
compat: 5
gsHWFixes:
recommendedBlendingLevel: 4 # Fixes car reflections.
mergeSprite: 1 # Fixes bluriness.
halfPixelOffset: 4 # Fixes bluriness.
nativeScaling: 2 # Fixes post lighting.
autoFlush: 1 # Fixes post alignment.
@@ -69488,14 +69819,29 @@ SLUS-21493:
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLUS-21493"
# Most Wanted save grants extra money.
- "SLUS-21267"
- "SLUS-21351" # Black Edition detection is bugged by default, can be fixed with a patch.
- "SLAJ-25075" # Original wrong Black Edition serial.
- "SLUS-21065" # UG2 saves can be detected, but the code is unused.
SLUS-21494:
name: "Need for Speed - Carbon [Collector's Edition]"
region: "NTSC-U"
compat: 5
clampModes:
eeClampMode: 3 # Fixes game hang after opening intro.
gsHWFixes:
recommendedBlendingLevel: 3 # Fixes car headlights.
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLUS-21494"
# Most Wanted save grants extra money.
- "SLUS-21267"
- "SLUS-21351" # Black Edition detection is bugged by default, can be fixed with a patch.
- "SLAJ-25075" # Original wrong Black Edition serial.
- "SLUS-21065" # UG2 saves can be detected, but the code is unused.
SLUS-21495:
name: "Sudoku, Carol Vorderman's"
region: "NTSC-U"
@@ -70253,6 +70599,15 @@ SLUS-21658:
compat: 5
gsHWFixes:
halfPixelOffset: 2 # Fixes depth line.
memcardFilters:
- "SLUS-21658"
# Carbon save grants extra money.
- "SLUS-21493"
- "SLUS-21494"
# Most Wanted save grants extra money.
- "SLUS-21267"
- "SLUS-21351"
- "SLUS-21065" # UG2 saves can be detected, but the code is unused.
SLUS-21660:
name: "Disney Princess - Enchanted Journey"
region: "NTSC-U"
@@ -71031,6 +71386,13 @@ SLUS-21801:
gpuTargetCLUT: 1 # Fixes sun penetration.
nativeScaling: 2 # Fixes post alignment.
getSkipCount: "GSC_NFSUndercover"
memcardFilters:
- "SLUS-21801"
# Checks from Carbon are left in the code, unused.
- "SLUS-21267"
- "SLUS-21351"
- "SLAJ-25075"
- "SLUS-21065"
SLUS-21802:
name: "Naked Brothers Band - The Video Game"
region: "NTSC-U"
@@ -72687,7 +73049,7 @@ SLUS-29185:
cpuSpriteRenderBW: 2 # Fixes some bad textures.
cpuCLUTRender: 1 # Fixes the rest of the bad textures.
roundSprite: 1 # Reduces misaligned bloom.
mergeSprite: 1 # Removes bloom explosion around electrical lights and other light sources such as moon/sun.
nativeScaling: 1 # Fixes post processing smoothness and position.
SLUS-29188:
name: "Steambot Chronicles [Regular Demo]"
region: "NTSC-U"

View File

@@ -479,6 +479,7 @@
030000008916000001fd000000000000,Onza CE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a3,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
030000008916000000fd000000000000,Onza TE,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b8,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b9,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Windows,
03000000d62000006d57000000000000,OPP PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
0300000009120000072f000000000000,OrangeFox86 DreamPicoPort,a:b0,b:b1,x:b3,y:b4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,dpdown:h0.4,leftx:a0,lefty:a1,lefttrigger:-a2,righttrigger:-a5,start:b11,platform:Windows,
030000006b14000001a1000000000000,Orange Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a4,rightx:a5,righty:a2,start:b9,x:b2,y:b3,platform:Windows,
03000000362800000100000000000000,OUYA Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,platform:Windows,
03000000120c0000f60e000000000000,P4 Gamepad,a:b1,b:b2,back:b12,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b5,lefttrigger:b7,rightshoulder:b4,righttrigger:b6,start:b9,x:b0,y:b3,platform:Windows,
@@ -665,7 +666,7 @@
03000000952e00002577000000000000,Scuf PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Windows,
03000000a30c00002500000000000000,Sega Genesis Mini 3B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,righttrigger:b5,start:b9,platform:Windows,
03000000a30c00002400000000000000,Sega Mega Drive Mini 6B Controller,a:b2,b:b1,dpdown:+a4,dpleft:-a3,dpright:+a3,dpup:-a4,rightshoulder:b4,righttrigger:b5,start:b9,x:b3,y:b0,platform:Windows,
03000000d804000086e6000000000000,Sega Multi Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b7,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows,
03000000d804000086e6000000000000,Sega Multi Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:a2,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b8,x:b3,y:b4,platform:Windows,
0300000000050000289b000000000000,Sega Saturn Adapter,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,start:b9,x:b0,y:b3,platform:Windows,
0300000000f000000800000000000000,Sega Saturn Controller,a:b1,b:b2,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,rightshoulder:b7,righttrigger:b3,start:b0,x:b5,y:b6,platform:Windows,
03000000730700000601000000000000,Sega Saturn Controller,a:b0,b:b1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b7,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b2,start:b9,x:b3,y:b4,platform:Windows,
@@ -967,6 +968,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,
03000000380700008433000000010000,Mad Catz PS3 Fightstick TE S Plus,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
03000000380700005082000000010000,Mad Catz PS4 Fightpad Pro,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Mac OS X,
03000000380700008483000000010000,Mad Catz PS4 Fightstick TE S Plus,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,touchpad:b13,x:b0,y:b3,platform:Mac OS X,
0300000049190000020400001b010000,Manba One,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b22,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000790000000600000007010000,Marvo GT-004,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b3,y:b0,platform:Mac OS X,
030000008f0e00001330000011010000,Mayflash Controller Adapter,a:b2,b:b4,back:b16,dpdown:h0.8,dpleft:h0.2,dpright:h0.1,dpup:h0.4,leftshoulder:b12,lefttrigger:b16,leftx:a0,lefty:a2,rightshoulder:b14,rightx:a6~,righty:a4,start:b18,x:b0,y:b6,platform:Mac OS X,
03000000790000004318000000010000,Mayflash GameCube Adapter,a:b4,b:b0,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,lefttrigger:a12,leftx:a0,lefty:a4,rightshoulder:b28,righttrigger:a16,rightx:a20,righty:a8,start:b36,x:b8,y:b12,platform:Mac OS X,
@@ -998,7 +1000,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,
030000007e0500001720000001000000,NSO SNES Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b15,start:b9,x:b2,y:b3,platform:Mac OS X,
03000000550900001472000025050000,NVIDIA Controller,a:b0,b:b1,back:b17,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b4,leftstick:b7,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a5,start:b6,x:b2,y:b3,platform:Mac OS X,
030000004b120000014d000000010000,Nyko Airflo EX,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b10,leftshoulder:b4,leftstick:b11,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b12,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b2,y:b3,platform:Mac OS X,
03000000790000001c18000000010000,PB Tails Choc,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
03000000790000001c18000000010000,TGZ Controller,a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b15,leftshoulder:b6,leftstick:b13,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b14,righttrigger:a4,rightx:a2,righty:a3,start:b11,x:b3,y:b4,platform:Mac OS X,
030000006f0e00000901000002010000,PDP PS3 Versus Fighting,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,start:b9,x:b0,y:b3,platform:Mac OS X,
030000008f0e00000300000000000000,Piranha Xtreme PS3 Controller,a:b2,b:b1,back:b8,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:b9,x:b3,y:b0,platform:Mac OS X,
03000000d620000011a7000000020000,PowerA Core Plus Gamecube Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
@@ -1519,6 +1521,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,
03000000c62400001a54000001010000,PowerA Xbox One Mini Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
03000000d62000000240000001010000,PowerA Xbox One Spectra Infinity,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
03000000d62000000f20000001010000,PowerA Xbox Series Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b7,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
03000000d62000000520000050010000,PowerA Xbox Series X Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
03000000d62000000b20000001010000,PowerA Xbox Series X Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
030000006d040000d2ca000011010000,Precision Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
03000000250900000017000010010000,PS/SS/N64 Adapter,a:b1,b:b2,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,leftshoulder:b5,lefttrigger:b9,leftx:a0,lefty:a1,rightshoulder:b7,rightx:a2~,righty:a3,start:b8,platform:Linux,

View File

@@ -517,17 +517,17 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa
s_settings_interface.SetBoolValue("EmuCore/GS", "dump", true);
if (str.find("rt") != std::string::npos)
s_settings_interface.SetBoolValue("EmuCore/GS", "save", true);
s_settings_interface.SetBoolValue("EmuCore/GS", "SaveRT", true);
if (str.find("f") != std::string::npos)
s_settings_interface.SetBoolValue("EmuCore/GS", "savef", true);
s_settings_interface.SetBoolValue("EmuCore/GS", "SaveFrame", true);
if (str.find("tex") != std::string::npos)
s_settings_interface.SetBoolValue("EmuCore/GS", "savet", true);
s_settings_interface.SetBoolValue("EmuCore/GS", "SaveTexture", true);
if (str.find("z") != std::string::npos)
s_settings_interface.SetBoolValue("EmuCore/GS", "savez", true);
s_settings_interface.SetBoolValue("EmuCore/GS", "SaveDepth", true);
if (str.find("a") != std::string::npos)
s_settings_interface.SetBoolValue("EmuCore/GS", "savea", true);
s_settings_interface.SetBoolValue("EmuCore/GS", "SaveAlpha", true);
if (str.find("i") != std::string::npos)
s_settings_interface.SetBoolValue("EmuCore/GS", "savei", true);
s_settings_interface.SetBoolValue("EmuCore/GS", "SaveInfo", true);
continue;
}
else if (CHECK_ARG_PARAM("-dumprange"))
@@ -550,9 +550,9 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa
{
by = std::max(1, StringUtil::FromChars<int>(split[2]).value_or(1));
}
s_settings_interface.SetIntValue("EmuCore/GS", "saven", start);
s_settings_interface.SetIntValue("EmuCore/GS", "savel", num);
s_settings_interface.SetIntValue("EmuCore/GS", "saveb", by);
s_settings_interface.SetIntValue("EmuCore/GS", "SaveDrawStart", start);
s_settings_interface.SetIntValue("EmuCore/GS", "SaveDrawCount", num);
s_settings_interface.SetIntValue("EmuCore/GS", "SaveDrawBy", by);
continue;
}
else if (CHECK_ARG_PARAM("-dumprangef"))
@@ -575,9 +575,9 @@ bool GSRunner::ParseCommandLineArgs(int argc, char* argv[], VMBootParameters& pa
{
by = std::max(1, StringUtil::FromChars<int>(split[2]).value_or(1));
}
s_settings_interface.SetIntValue("EmuCore/GS", "savenf", start);
s_settings_interface.SetIntValue("EmuCore/GS", "savelf", num);
s_settings_interface.SetIntValue("EmuCore/GS", "savebf", by);
s_settings_interface.SetIntValue("EmuCore/GS", "SaveFrameStart", start);
s_settings_interface.SetIntValue("EmuCore/GS", "SaveFrameCount", num);
s_settings_interface.SetIntValue("EmuCore/GS", "SaveFrameBy", by);
continue;
}
else if (CHECK_ARG_PARAM("-dumpdirhw"))

View File

@@ -104,6 +104,15 @@ MainWindow::MainWindow()
pxAssert(!g_main_window);
g_main_window = this;
// Native window rendering is broken in wayland.
// Let's work around it by disabling it for every widget besides
// DisplayWidget.
// Additionally, alien widget rendering is much more performant, so we
// should have a nice responsiveness boost in our UI :)
// QTBUG-133919, reported upstream by govanify
QGuiApplication::setAttribute(Qt::AA_NativeWindows, false);
QGuiApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings, true);
#if !defined(_WIN32) && !defined(__APPLE__)
s_use_central_widget = DisplayContainer::isRunningOnWayland();
#endif

View File

@@ -44,19 +44,23 @@ DebugSettingsWidget::DebugSettingsWidget(SettingsWindow* dialog, QWidget* parent
//////////////////////////////////////////////////////////////////////////
// GS Settings
//////////////////////////////////////////////////////////////////////////
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.dumpGSDraws, "EmuCore/GS", "dump", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveRT, "EmuCore/GS", "save", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveFrame, "EmuCore/GS", "savef", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveTexture, "EmuCore/GS", "savet", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveDepth, "EmuCore/GS", "savez", false);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.startDraw, "EmuCore/GS", "saven", 0);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.dumpCount, "EmuCore/GS", "savel", 5000);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.dumpGSData, "EmuCore/GS", "DumpGSData", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveRT, "EmuCore/GS", "SaveRT", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveFrame, "EmuCore/GS", "SaveFrame", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveTexture, "EmuCore/GS", "SaveTexture", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveDepth, "EmuCore/GS", "SaveDepth", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveAlpha, "EmuCore/GS", "SaveAlpha", false);
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.saveInfo, "EmuCore/GS", "SaveInfo", false);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.saveDrawStart, "EmuCore/GS", "SaveDrawStart", 0);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.saveDrawCount, "EmuCore/GS", "SaveDrawCount", 5000);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.saveFrameStart, "EmuCore/GS", "SaveFrameStart", 0);
SettingWidgetBinder::BindWidgetToIntSetting(sif, m_ui.saveFrameCount, "EmuCore/GS", "SaveFrameCount", 999999);
SettingWidgetBinder::BindWidgetToFolderSetting(
sif, m_ui.hwDumpDirectory, m_ui.hwDumpBrowse, m_ui.hwDumpOpen, nullptr, "EmuCore/GS", "HWDumpDirectory", std::string(), false);
SettingWidgetBinder::BindWidgetToFolderSetting(
sif, m_ui.swDumpDirectory, m_ui.swDumpBrowse, m_ui.swDumpOpen, nullptr, "EmuCore/GS", "SWDumpDirectory", std::string(), false);
connect(m_ui.dumpGSDraws, &QCheckBox::checkStateChanged, this, &DebugSettingsWidget::onDrawDumpingChanged);
connect(m_ui.dumpGSData, &QCheckBox::checkStateChanged, this, &DebugSettingsWidget::onDrawDumpingChanged);
onDrawDumpingChanged();
#ifdef PCSX2_DEVBUILD
@@ -146,13 +150,17 @@ DebugSettingsWidget::~DebugSettingsWidget() = default;
void DebugSettingsWidget::onDrawDumpingChanged()
{
const bool enabled = m_dialog->getEffectiveBoolValue("EmuCore/GS", "dump", false);
const bool enabled = m_dialog->getEffectiveBoolValue("EmuCore/GS", "DumpGSData", false);
m_ui.saveRT->setEnabled(enabled);
m_ui.saveFrame->setEnabled(enabled);
m_ui.saveTexture->setEnabled(enabled);
m_ui.saveDepth->setEnabled(enabled);
m_ui.startDraw->setEnabled(enabled);
m_ui.dumpCount->setEnabled(enabled);
m_ui.saveAlpha->setEnabled(enabled);
m_ui.saveInfo->setEnabled(enabled);
m_ui.saveDrawStart->setEnabled(enabled);
m_ui.saveDrawCount->setEnabled(enabled);
m_ui.saveFrameStart->setEnabled(enabled);
m_ui.saveFrameCount->setEnabled(enabled);
m_ui.hwDumpDirectory->setEnabled(enabled);
m_ui.hwDumpBrowse->setEnabled(enabled);
m_ui.hwDumpOpen->setEnabled(enabled);

View File

@@ -161,7 +161,7 @@
<item row="0" column="0" colspan="2">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QCheckBox" name="dumpGSDraws">
<widget class="QCheckBox" name="dumpGSData">
<property name="text">
<string>Dump GS Draws</string>
</property>
@@ -195,17 +195,31 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="saveAlpha">
<property name="text">
<string>Save Alpha</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="saveInfo">
<property name="text">
<string>Save Info</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<widget class="QLabel" name="label_1">
<property name="text">
<string>Start Draw Number:</string>
<string>Save Draw Start:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="startDraw">
<widget class="QSpinBox" name="saveDrawStart">
<property name="maximum">
<number>99999999</number>
</property>
@@ -214,12 +228,12 @@
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Draw Dump Count:</string>
<string>Save Draw Count:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="dumpCount">
<widget class="QSpinBox" name="saveDrawCount">
<property name="minimum">
<number>1</number>
</property>
@@ -231,39 +245,49 @@
<item row="3" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Hardware Dump Directory:</string>
<string>Save Frame Start:</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="saveFrameStart">
<property name="maximum">
<number>99999999</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Software Dump Directory:</string>
<string>Save Frame Count:</string>
</property>
</widget>
</item>
<item row="4" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,0,0">
<item>
<widget class="QLineEdit" name="swDumpDirectory"/>
</item>
<item>
<widget class="QPushButton" name="swDumpBrowse">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="swDumpOpen">
<property name="text">
<string>Open...</string>
</property>
</widget>
</item>
</layout>
<widget class="QSpinBox" name="saveFrameCount">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99999999</number>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="5" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Hardware Dump Directory:</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Software Dump Directory:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<layout class="QHBoxLayout" name="horizontalLayout" stretch="1,0,0">
<item>
<widget class="QLineEdit" name="hwDumpDirectory"/>
@@ -284,6 +308,27 @@
</item>
</layout>
</item>
<item row="6" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="1,0,0">
<item>
<widget class="QLineEdit" name="swDumpDirectory"/>
</item>
<item>
<widget class="QPushButton" name="swDumpBrowse">
<property name="text">
<string>Browse...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="swDumpOpen">
<property name="text">
<string>Open...</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>

View File

@@ -15496,13 +15496,13 @@ Right click to clear binding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1427"/>
<location filename="../MainWindow.cpp" line="1488"/>
<location filename="../MainWindow.cpp" line="1436"/>
<location filename="../MainWindow.cpp" line="1497"/>
<source>Change Disc</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2892"/>
<location filename="../MainWindow.cpp" line="2901"/>
<source>Load State</source>
<translation type="unfinished"></translation>
</message>
@@ -16065,49 +16065,49 @@ Right click to clear binding</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1531"/>
<location filename="../MainWindow.cpp" line="1540"/>
<source>Start Big Picture Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.ui" line="1008"/>
<location filename="../MainWindow.cpp" line="1532"/>
<location filename="../MainWindow.cpp" line="1541"/>
<source>Big Picture</source>
<comment>In Toolbar</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="680"/>
<location filename="../MainWindow.cpp" line="689"/>
<source>Show Advanced Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="749"/>
<location filename="../MainWindow.cpp" line="758"/>
<source>Video Capture</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="256"/>
<location filename="../MainWindow.cpp" line="265"/>
<source>Internal Resolution</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="256"/>
<location filename="../MainWindow.cpp" line="265"/>
<source>%1x Scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="658"/>
<location filename="../MainWindow.cpp" line="667"/>
<source>Select location to save block dump:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="676"/>
<location filename="../MainWindow.cpp" line="685"/>
<source>Do not show again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="681"/>
<location filename="../MainWindow.cpp" line="690"/>
<source>Changing advanced settings can have unpredictable effects on games, including graphical glitches, lock-ups, and even corrupted save files. We do not recommend changing advanced settings unless you know what you are doing, and the implications of changing each setting.
The PCSX2 team will not provide any support for configurations that modify these settings, you are on your own.
@@ -16116,309 +16116,309 @@ Are you sure you want to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="746"/>
<location filename="../MainWindow.cpp" line="755"/>
<source>%1 Files (*.%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1100"/>
<location filename="../MainWindow.cpp" line="1109"/>
<source>WARNING: Memory Card Busy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1221"/>
<location filename="../MainWindow.cpp" line="1230"/>
<source>Confirm Shutdown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1224"/>
<location filename="../MainWindow.cpp" line="1233"/>
<source>Are you sure you want to shut down the virtual machine?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1226"/>
<location filename="../MainWindow.cpp" line="1235"/>
<source>Save State For Resume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1334"/>
<location filename="../MainWindow.cpp" line="1738"/>
<location filename="../MainWindow.cpp" line="2225"/>
<location filename="../MainWindow.cpp" line="2389"/>
<location filename="../MainWindow.cpp" line="2797"/>
<location filename="../MainWindow.cpp" line="2911"/>
<location filename="../MainWindow.cpp" line="1343"/>
<location filename="../MainWindow.cpp" line="1747"/>
<location filename="../MainWindow.cpp" line="2234"/>
<location filename="../MainWindow.cpp" line="2398"/>
<location filename="../MainWindow.cpp" line="2806"/>
<location filename="../MainWindow.cpp" line="2920"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1334"/>
<location filename="../MainWindow.cpp" line="1343"/>
<source>You must select a disc to change discs.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1366"/>
<location filename="../MainWindow.cpp" line="1375"/>
<source>Properties...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1382"/>
<location filename="../MainWindow.cpp" line="1391"/>
<source>Set Cover Image...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1385"/>
<location filename="../MainWindow.cpp" line="1394"/>
<source>Exclude From List</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1388"/>
<location filename="../MainWindow.cpp" line="1397"/>
<source>Reset Play Time</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1392"/>
<location filename="../MainWindow.cpp" line="1401"/>
<source>Check Wiki Page</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1399"/>
<location filename="../MainWindow.cpp" line="1408"/>
<source>Default Boot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1406"/>
<location filename="../MainWindow.cpp" line="1415"/>
<source>Fast Boot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1409"/>
<location filename="../MainWindow.cpp" line="1418"/>
<source>Full Boot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1414"/>
<location filename="../MainWindow.cpp" line="1423"/>
<source>Boot and Debug</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1438"/>
<location filename="../MainWindow.cpp" line="1447"/>
<source>Add Search Directory...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1447"/>
<location filename="../MainWindow.cpp" line="1456"/>
<source>Start File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1456"/>
<location filename="../MainWindow.cpp" line="1465"/>
<source>Start Disc</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1473"/>
<location filename="../MainWindow.cpp" line="1482"/>
<source>Select Disc Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1651"/>
<location filename="../MainWindow.cpp" line="1660"/>
<source>Updater Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1657"/>
<location filename="../MainWindow.cpp" line="1666"/>
<source>&lt;p&gt;Sorry, you are trying to update a PCSX2 version which is not an official GitHub release. To prevent incompatibilities, the auto-updater is only enabled on official builds.&lt;/p&gt;&lt;p&gt;To obtain an official build, please download from the link below:&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://pcsx2.net/downloads/&quot;&gt;https://pcsx2.net/downloads/&lt;/a&gt;&lt;/p&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1662"/>
<location filename="../MainWindow.cpp" line="1671"/>
<source>Automatic updating is not supported on the current platform.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1728"/>
<location filename="../MainWindow.cpp" line="1737"/>
<source>Confirm File Creation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1729"/>
<location filename="../MainWindow.cpp" line="1738"/>
<source>The pnach file &apos;%1&apos; does not currently exist. Do you want to create it?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1738"/>
<location filename="../MainWindow.cpp" line="1747"/>
<source>Failed to create &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1763"/>
<location filename="../MainWindow.cpp" line="1772"/>
<source>Theme Change</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1764"/>
<location filename="../MainWindow.cpp" line="1773"/>
<source>Changing the theme will close the debugger window. Any unsaved data will be lost. Do you want to continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1862"/>
<location filename="../MainWindow.cpp" line="1871"/>
<source>Input Recording Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1863"/>
<location filename="../MainWindow.cpp" line="1872"/>
<source>Failed to create file: {}</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1886"/>
<location filename="../MainWindow.cpp" line="1895"/>
<source>Input Recording Files (*.p2m2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1921"/>
<location filename="../MainWindow.cpp" line="1930"/>
<source>Input Playback Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1922"/>
<location filename="../MainWindow.cpp" line="1931"/>
<source>Failed to open file: {}</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2003"/>
<location filename="../MainWindow.cpp" line="2012"/>
<source>Paused</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2182"/>
<location filename="../MainWindow.cpp" line="2191"/>
<source>Load State Failed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2182"/>
<location filename="../MainWindow.cpp" line="2191"/>
<source>Cannot load a save state without a running VM.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2210"/>
<location filename="../MainWindow.cpp" line="2219"/>
<source>The new ELF cannot be loaded without resetting the virtual machine. Do you want to reset the virtual machine now?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2225"/>
<location filename="../MainWindow.cpp" line="2234"/>
<source>Cannot change from game to GS dump without shutting down first.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2389"/>
<location filename="../MainWindow.cpp" line="2398"/>
<source>Failed to get window info from widget</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1531"/>
<location filename="../MainWindow.cpp" line="1540"/>
<source>Stop Big Picture Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1532"/>
<location filename="../MainWindow.cpp" line="1541"/>
<source>Exit Big Picture</source>
<comment>In Toolbar</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1596"/>
<location filename="../MainWindow.cpp" line="1605"/>
<source>Game Properties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1596"/>
<location filename="../MainWindow.cpp" line="1605"/>
<source>Game properties is unavailable for the current game.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2755"/>
<location filename="../MainWindow.cpp" line="2764"/>
<source>Could not find any CD/DVD-ROM devices. Please ensure you have a drive connected and sufficient permissions to access it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2773"/>
<location filename="../MainWindow.cpp" line="2782"/>
<source>Select disc drive:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2797"/>
<location filename="../MainWindow.cpp" line="2806"/>
<source>This save state does not exist.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2810"/>
<location filename="../MainWindow.cpp" line="2819"/>
<source>Select Cover Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2827"/>
<location filename="../MainWindow.cpp" line="2836"/>
<source>Cover Already Exists</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2828"/>
<location filename="../MainWindow.cpp" line="2837"/>
<source>A cover image for this game already exists, do you wish to replace it?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2823"/>
<location filename="../MainWindow.cpp" line="2837"/>
<location filename="../MainWindow.cpp" line="2843"/>
<location filename="../MainWindow.cpp" line="2849"/>
<location filename="../MainWindow.cpp" line="2832"/>
<location filename="../MainWindow.cpp" line="2846"/>
<location filename="../MainWindow.cpp" line="2852"/>
<location filename="../MainWindow.cpp" line="2858"/>
<source>Copy Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2837"/>
<location filename="../MainWindow.cpp" line="2846"/>
<source>Failed to remove existing cover &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2843"/>
<location filename="../MainWindow.cpp" line="2852"/>
<source>Failed to copy &apos;%1&apos; to &apos;%2&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2849"/>
<location filename="../MainWindow.cpp" line="2858"/>
<source>Failed to remove &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2209"/>
<location filename="../MainWindow.cpp" line="2858"/>
<location filename="../MainWindow.cpp" line="2218"/>
<location filename="../MainWindow.cpp" line="2867"/>
<source>Confirm Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2810"/>
<location filename="../MainWindow.cpp" line="2819"/>
<source>All Cover Image Types (*.jpg *.jpeg *.png *.webp)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2823"/>
<location filename="../MainWindow.cpp" line="2832"/>
<source>You must select a different file to the current cover image.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2859"/>
<location filename="../MainWindow.cpp" line="2868"/>
<source>Are you sure you want to reset the play time for &apos;%1&apos;?
This action cannot be undone.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2886"/>
<location filename="../MainWindow.cpp" line="2895"/>
<source>Load Resume State</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2889"/>
<location filename="../MainWindow.cpp" line="2898"/>
<source>A resume save state was found for this game, saved at:
%1.
@@ -16427,43 +16427,43 @@ Do you want to load this state, or start from a fresh boot?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2893"/>
<location filename="../MainWindow.cpp" line="2902"/>
<source>Fresh Boot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2894"/>
<location filename="../MainWindow.cpp" line="2903"/>
<source>Delete And Boot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2911"/>
<location filename="../MainWindow.cpp" line="2920"/>
<source>Failed to delete save state file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2969"/>
<location filename="../MainWindow.cpp" line="2978"/>
<source>Load State File...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2969"/>
<location filename="../MainWindow.cpp" line="2978"/>
<source>Load From File...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2972"/>
<location filename="../MainWindow.cpp" line="3043"/>
<location filename="../MainWindow.cpp" line="2981"/>
<location filename="../MainWindow.cpp" line="3052"/>
<source>Select Save State File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3043"/>
<location filename="../MainWindow.cpp" line="3052"/>
<source>Save States (*.p2s)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2979"/>
<location filename="../MainWindow.cpp" line="2988"/>
<source>Delete Save States...</source>
<translation type="unfinished"></translation>
</message>
@@ -16478,80 +16478,80 @@ Do you want to load this state, or start from a fresh boot?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="1101"/>
<location filename="../MainWindow.cpp" line="1110"/>
<source>WARNING: Your memory card is still writing data. Shutting down now &lt;b&gt;WILL IRREVERSIBLY DESTROY YOUR MEMORY CARD.&lt;/b&gt; It is strongly recommended to resume your game and let it finish writing to your memory card.&lt;br&gt;&lt;br&gt;Do you wish to shutdown anyways and &lt;b&gt;IRREVERSIBLY DESTROY YOUR MEMORY CARD?&lt;/b&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2972"/>
<location filename="../MainWindow.cpp" line="2981"/>
<source>Save States (*.p2s *.p2s.backup)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2984"/>
<location filename="../MainWindow.cpp" line="2993"/>
<source>Undo Load State</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="2998"/>
<location filename="../MainWindow.cpp" line="3007"/>
<source>Resume (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3014"/>
<location filename="../MainWindow.cpp" line="3023"/>
<source>Load Slot %1 (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3023"/>
<location filename="../MainWindow.cpp" line="3031"/>
<location filename="../MainWindow.cpp" line="3032"/>
<location filename="../MainWindow.cpp" line="3040"/>
<source>Delete Save States</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3024"/>
<location filename="../MainWindow.cpp" line="3033"/>
<source>Are you sure you want to delete all save states for %1?
The saves will not be recoverable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3031"/>
<location filename="../MainWindow.cpp" line="3040"/>
<source>%1 save states deleted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3041"/>
<location filename="../MainWindow.cpp" line="3050"/>
<source>Save To File...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3061"/>
<location filename="../MainWindow.cpp" line="3070"/>
<source>Empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3063"/>
<location filename="../MainWindow.cpp" line="3072"/>
<source>Save Slot %1 (%2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3114"/>
<location filename="../MainWindow.cpp" line="3123"/>
<source>Confirm Disc Change</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3115"/>
<location filename="../MainWindow.cpp" line="3124"/>
<source>Do you want to swap discs or boot the new image (via system reset)?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3116"/>
<location filename="../MainWindow.cpp" line="3125"/>
<source>Swap Disc</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../MainWindow.cpp" line="3117"/>
<location filename="../MainWindow.cpp" line="3126"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
@@ -16575,7 +16575,7 @@ The saves will not be recoverable.</source>
<name>MemoryCard</name>
<message>
<location filename="../../pcsx2/SIO/Memcard/MemoryCardFile.cpp" line="289"/>
<location filename="../../pcsx2/SIO/Memcard/MemoryCardFile.cpp" line="962"/>
<location filename="../../pcsx2/SIO/Memcard/MemoryCardFile.cpp" line="969"/>
<source>Memory Card Creation Failed</source>
<translation type="unfinished"></translation>
</message>
@@ -16608,7 +16608,7 @@ Close any other instances of PCSX2, or restart your computer.
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/SIO/Memcard/MemoryCardFile.cpp" line="963"/>
<location filename="../../pcsx2/SIO/Memcard/MemoryCardFile.cpp" line="970"/>
<source>Failed to create memory card. The error was:
{}</source>
<translation type="unfinished"></translation>
@@ -16865,12 +16865,12 @@ Savestates should not be used in place of in-game saves.</source>
<context>
<name>MemoryCardListWidget</name>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="443"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="457"/>
<source>Yes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="443"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="457"/>
<source>No</source>
<translation type="unfinished"></translation>
</message>
@@ -16935,25 +16935,25 @@ Savestates should not be used in place of in-game saves.</source>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.ui" line="145"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="292"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="306"/>
<source>Create</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.ui" line="152"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="286"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="300"/>
<source>Rename</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.ui" line="159"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="287"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="301"/>
<source>Convert</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.ui" line="166"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="288"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="302"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
@@ -16990,36 +16990,37 @@ Savestates should not be used in place of in-game saves.</source>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="153"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="327"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="276"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="341"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="205"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="215"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="213"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="223"/>
<source>Delete Memory Card</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="230"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="237"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="244"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="251"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="238"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="245"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="252"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="259"/>
<source>Rename Memory Card</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="230"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="238"/>
<source>New Card Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="237"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="245"/>
<source>New name is invalid, it must end with .ps2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="245"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="253"/>
<source>New name is invalid, a card with this name already exists.</source>
<translation type="unfinished"></translation>
</message>
@@ -17034,65 +17035,70 @@ Savestates should not be used in place of in-game saves.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="206"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="214"/>
<source>Are you sure you wish to delete the Memory Card &apos;%1&apos;?
This action cannot be reversed, and you will lose any saves on the card.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="216"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="224"/>
<source>Failed to delete the Memory Card. The log may have more information.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="252"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="260"/>
<source>Failed to rename Memory Card. The log may contain more information.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="281"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="276"/>
<source>Cannot convert an unformatted memory card.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="295"/>
<source>Use for Slot %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="327"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="341"/>
<source>Both slots must have a card selected to swap.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="343"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="357"/>
<source>PS2 (8MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="346"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="360"/>
<source>PS2 (16MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="349"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="363"/>
<source>PS2 (32MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="352"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="366"/>
<source>PS2 (64MB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="355"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="369"/>
<source>PS1 (128KB)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="359"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="368"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="373"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="382"/>
<source>Unknown</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="364"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="378"/>
<source>PS2 (Folder)</source>
<translation type="unfinished"></translation>
</message>
@@ -17100,12 +17106,12 @@ This action cannot be reversed, and you will lose any saves on the card.</source
<context>
<name>MemoryCardSlotWidget</name>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="496"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="514"/>
<source>%1 [%2]</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="502"/>
<location filename="../Settings/MemoryCardSettingsWidget.cpp" line="520"/>
<source>%1 [Missing]</source>
<extracomment>Ignore Crowdin&apos;s warning for [Missing], the text should be translated.</extracomment>
<translation type="unfinished"></translation>

View File

@@ -1268,7 +1268,6 @@ void Achievements::HandleLeaderboardTrackerUpdateEvent(const rc_client_event_t*
"Achievements: Updating leaderboard tracker: %u: %s", event->leaderboard_tracker->id, event->leaderboard_tracker->display);
it->text = event->leaderboard_tracker->display;
it->active = true;
}
void Achievements::HandleAchievementChallengeIndicatorShowEvent(const rc_client_event_t* event)

View File

@@ -822,12 +822,12 @@ struct Pcsx2Config
u16 SWExtraThreads = 2;
u16 SWExtraThreadsHeight = 4;
int SaveN = 0;
int SaveL = 5000;
int SaveB = 1;
int SaveNF = 0;
int SaveLF = -1;
int SaveBF = 1;
int SaveDrawStart = 0;
int SaveDrawCount = 5000;
int SaveDrawBy = 1;
int SaveFrameStart = 0;
int SaveFrameCount = -1;
int SaveFrameBy = 1;
s8 ExclusiveFullscreenControl = -1;
GSScreenshotSize ScreenshotSize = GSScreenshotSize::WindowResolution;

View File

@@ -599,7 +599,11 @@ bool parsePostfixExpression(PostfixExpression& exp, IExpressionFunctions* funcs,
}
}
if (valueStack.size() != 1) return false;
if (valueStack.size() != 1)
{
error = TRANSLATE("ExpressionParser", "Invalid expression (Too many constants?)");
return false;
}
dest = valueStack[0];
return true;
}

View File

@@ -637,14 +637,14 @@ bool CMipsInstruction::Validate()
immediate.value = (immediate.value >> 2) & 0x3FFFFFF;
} else if (Opcode.flags & MO_IPCR) // relative 16 bit value
{
int num = (immediate.value-RamPos-4);
const int num = (immediate.value-RamPos-4) >> 2;
if (num > 0x20000 || num < (-0x20000))
if (num > std::numeric_limits<short>::max() || num < std::numeric_limits<short>::min())
{
Logger::queueError(Logger::Error,L"Branch target %08X out of range",immediate.value);
return false;
}
immediate.value = num >> 2;
immediate.value = num;
}
int immediateBits = getImmediateBits(immediateType);

View File

@@ -596,10 +596,10 @@ const tMipsOpcode MipsOpcodes[] = {
// 10 | --- | --- | --- | --- | --- | --- | --- | --- | 10..17
// 11 | --- | --- | --- | --- | --- | --- | --- | --- | 18..1F
// hi |-------|-------|-------|-------|-------|-------|-------|-------|
{ "bc1f", "I", MIPS_COP1BC(0x00), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
{ "bc1t", "I", MIPS_COP1BC(0x01), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
{ "bc1fl", "I", MIPS_COP1BC(0x02), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
{ "bc1tl", "I", MIPS_COP1BC(0x03), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
{ "bc1f", "i", MIPS_COP1BC(0x00), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
{ "bc1t", "i", MIPS_COP1BC(0x01), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
{ "bc1fl", "i", MIPS_COP1BC(0x02), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
{ "bc1tl", "i", MIPS_COP1BC(0x03), MA_MIPS2, MO_IPCR|MO_DELAY|MO_NODELAYSLOT },
// 31---------21------------------------------------------5--------0
// |= COP1S | | function|

View File

@@ -826,20 +826,34 @@ void GSRendererHW::MergeSprite(GSTextureCache::Source* tex)
// Tested on Tekken 5.
const GSVertex* v = &m_vertex.buff[0];
bool is_paving = true;
bool is_paving_h = true;
bool is_paving_v = true;
// SSE optimization: shuffle m[1] to have (4*32 bits) X, Y, U, V
const int first_dpX = v[1].XYZ.X - v[0].XYZ.X;
const int first_dpU = v[1].U - v[0].U;
const int first_dpY = v[1].XYZ.Y - v[0].XYZ.Y;
const int first_dpV = v[1].V - v[0].V;
for (u32 i = 0; i < m_vertex.next; i += 2)
{
const int dpX = v[i + 1].XYZ.X - v[i].XYZ.X;
const int dpU = v[i + 1].U - v[i].U;
const int dpY = v[i + 1].XYZ.Y - v[i].XYZ.Y;
const int dpV = v[i + 1].V - v[i].V;
if (dpX != first_dpX || dpU != first_dpU)
{
is_paving = false;
break;
is_paving_h = false;
}
}
if (dpY != first_dpY || dpV != first_dpV)
{
is_paving_v = false;
}
if (!is_paving_h && !is_paving_v)
break;
}
is_paving = is_paving_h || is_paving_v;
#if 0
const GSVector4 delta_p = m_vt.m_max.p - m_vt.m_min.p;
const GSVector4 delta_t = m_vt.m_max.t - m_vt.m_min.t;
@@ -850,20 +864,92 @@ void GSRendererHW::MergeSprite(GSTextureCache::Source* tex)
if (is_paving)
{
// Replace all sprite with a single fullscreen sprite.
u32 unique_verts = 2;
GSVertex* s = &m_vertex.buff[0];
if (is_paving_h)
{
s[0].XYZ.X = static_cast<u16>((16.0f * m_vt.m_min.p.x) + m_context->XYOFFSET.OFX);
s[1].XYZ.X = static_cast<u16>((16.0f * m_vt.m_max.p.x) + m_context->XYOFFSET.OFX);
s[0].XYZ.X = static_cast<u16>((16.0f * m_vt.m_min.p.x) + m_context->XYOFFSET.OFX);
s[1].XYZ.X = static_cast<u16>((16.0f * m_vt.m_max.p.x) + m_context->XYOFFSET.OFX);
s[0].XYZ.Y = static_cast<u16>((16.0f * m_vt.m_min.p.y) + m_context->XYOFFSET.OFY);
s[1].XYZ.Y = static_cast<u16>((16.0f * m_vt.m_max.p.y) + m_context->XYOFFSET.OFY);
s[0].U = static_cast<u16>(16.0f * m_vt.m_min.t.x);
s[1].U = static_cast<u16>(16.0f * m_vt.m_max.t.x);
}
else
{
for (u32 i = 2; i < (m_vertex.tail & ~1); i++)
{
bool unique_found = false;
s[0].U = static_cast<u16>(16.0f * m_vt.m_min.t.x);
s[0].V = static_cast<u16>(16.0f * m_vt.m_min.t.y);
s[1].U = static_cast<u16>(16.0f * m_vt.m_max.t.x);
s[1].V = static_cast<u16>(16.0f * m_vt.m_max.t.y);
for (u32 j = i & 1; j < unique_verts; i += 2)
{
if (s[i].XYZ.X != s[j].XYZ.X)
{
unique_found = true;
break;
}
}
if (unique_found)
{
unique_verts += 2;
s[unique_verts - 2].XYZ.X = s[i & ~1].XYZ.X;
s[unique_verts - 1].XYZ.X = s[i | 1].XYZ.X;
s[unique_verts - 2].U = s[i & ~1].U;
s[unique_verts - 1].U = s[i | 1].U;
m_vertex.head = m_vertex.tail = m_vertex.next = 2;
m_index.tail = 2;
s[unique_verts - 2].XYZ.Y = static_cast<u16>((16.0f * m_vt.m_min.p.y) + m_context->XYOFFSET.OFY);
s[unique_verts - 1].XYZ.Y = static_cast<u16>((16.0f * m_vt.m_max.p.y) + m_context->XYOFFSET.OFY);
s[unique_verts - 2].V = static_cast<u16>(16.0f * m_vt.m_min.t.y);
s[unique_verts - 1].V = static_cast<u16>(16.0f * m_vt.m_max.t.y);
i |= 1;
}
}
}
if (is_paving_v)
{
s[0].XYZ.Y = static_cast<u16>((16.0f * m_vt.m_min.p.y) + m_context->XYOFFSET.OFY);
s[1].XYZ.Y = static_cast<u16>((16.0f * m_vt.m_max.p.y) + m_context->XYOFFSET.OFY);
s[0].V = static_cast<u16>(16.0f * m_vt.m_min.t.y);
s[1].V = static_cast<u16>(16.0f * m_vt.m_max.t.y);
}
else
{
for (u32 i = 2; i < (m_vertex.tail & ~1); i++)
{
bool unique_found = false;
for (u32 j = i & 1; j < unique_verts; i+=2)
{
if (s[i].XYZ.Y != s[j].XYZ.Y)
{
unique_found = true;
break;
}
}
if (unique_found)
{
unique_verts += 2;
s[unique_verts - 2].XYZ.Y = s[i & ~1].XYZ.Y;
s[unique_verts - 1].XYZ.Y = s[i | 1].XYZ.Y;
s[unique_verts - 2].V = s[i & ~1].V;
s[unique_verts - 1].V = s[i | 1].V;
s[unique_verts - 2].XYZ.X = static_cast<u16>((16.0f * m_vt.m_min.p.x) + m_context->XYOFFSET.OFX);
s[unique_verts - 1].XYZ.X = static_cast<u16>((16.0f * m_vt.m_max.p.x) + m_context->XYOFFSET.OFX);
s[unique_verts - 2].U = static_cast<u16>(16.0f * m_vt.m_min.t.x);
s[unique_verts - 1].U = static_cast<u16>(16.0f * m_vt.m_max.t.x);
i |= 1;
}
}
}
m_vertex.head = m_vertex.tail = m_vertex.next = unique_verts;
m_index.tail = unique_verts;
}
}
}
@@ -2750,7 +2836,7 @@ void GSRendererHW::Draw()
// Preserve downscaled target when copying directly from a downscaled target, or it's a normal draw using a downscaled target. Clears that are drawing to the target can also preserve size.
// Of course if this size is different (in width) or this is a shuffle happening, this will be bypassed.
const bool preserve_downscale_draw = scale_draw < 0 || (scale_draw == 0 && ((src && src->m_from_target && src->m_from_target->m_downscaled) || is_possible_mem_clear == ClearType::ClearWithDraw));
const bool preserve_downscale_draw = std::abs(scale_draw) == 1 || (scale_draw == 0 && ((src && src->m_from_target && src->m_from_target->m_downscaled) || is_possible_mem_clear == ClearType::ClearWithDraw));
rt = g_texture_cache->LookupTarget(FRAME_TEX0, t_size, ((src && src->m_scale != 1) && GSConfig.UserHacks_NativeScaling == GSNativeScaling::Normal && !possible_shuffle) ? GetTextureScaleFactor() : target_scale, GSTextureCache::RenderTarget, true,
fm, false, force_preload, preserve_rt_rgb, preserve_rt_alpha, unclamped_draw_rect, possible_shuffle, is_possible_mem_clear && FRAME_TEX0.TBP0 != m_cached_ctx.ZBUF.Block(), GSConfig.UserHacks_NativeScaling != GSNativeScaling::Off && preserve_downscale_draw && is_possible_mem_clear != ClearType::NormalClear);

View File

@@ -504,11 +504,12 @@ void FullscreenUI::GetStandardSelectionFooterText(SmallStringBase& dest, bool ba
{
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
ImGuiFullscreen::CreateFooterTextString(
dest,
std::array{std::make_pair(ICON_PF_DPAD_UP_DOWN, FSUI_VSTR("Change Selection")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, back_instead_of_cancel ? FSUI_VSTR("Back") : FSUI_VSTR("Cancel"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, back_instead_of_cancel ? FSUI_VSTR("Back") : FSUI_VSTR("Cancel"))});
}
else
{
@@ -535,11 +536,12 @@ void ImGuiFullscreen::GetFileSelectorHelpText(SmallStringBase& dest)
{
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
ImGuiFullscreen::CreateFooterTextString(
dest, std::array{std::make_pair(ICON_PF_DPAD_UP_DOWN, FSUI_VSTR("Change Selection")),
std::make_pair(ICON_PF_BUTTON_TRIANGLE, FSUI_VSTR("Parent Directory")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Cancel"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Cancel"))});
}
else
{
@@ -555,9 +557,10 @@ void ImGuiFullscreen::GetInputDialogHelpText(SmallStringBase& dest)
{
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
CreateFooterTextString(dest, std::array{std::make_pair(ICON_PF_KEYBOARD, FSUI_VSTR("Enter Value")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Cancel"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Cancel"))});
}
else
{
@@ -581,6 +584,7 @@ bool FullscreenUI::Initialize()
ImGuiFullscreen::SetTheme(Host::GetBaseBoolSettingValue("UI", "UseLightFullscreenUITheme", false));
ImGuiFullscreen::UpdateLayoutScale();
ImGui::GetIO().ConfigNavSwapGamepadButtons = Host::GetBaseBoolSettingValue("UI", "SwapOKFullscreenUI");
if (!ImGuiManager::AddFullscreenFontsIfMissing() || !ImGuiFullscreen::Initialize("fullscreenui/placeholder.png") || !LoadResources())
{
@@ -1306,13 +1310,14 @@ void FullscreenUI::DrawLandingWindow()
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
SetFullscreenFooterText(std::array{
std::make_pair(ICON_PF_SELECT_SHARE, FSUI_VSTR("About")),
std::make_pair(ICON_PF_DPAD_LEFT_RIGHT, FSUI_VSTR("Navigate")),
std::make_pair(ICON_PF_BUTTON_TRIANGLE, FSUI_VSTR("Game List")),
std::make_pair(ICON_PF_BUTTON_SQUARE, FSUI_VSTR("Toggle Fullscreen")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Exit"))
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Exit"))
});
}
else
@@ -1378,10 +1383,11 @@ void FullscreenUI::DrawStartGameWindow()
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_DPAD_LEFT_RIGHT, FSUI_VSTR("Navigate")),
std::make_pair(ICON_PF_BUTTON_SQUARE, FSUI_VSTR("Load Global State")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))});
}
else
{
@@ -1430,10 +1436,11 @@ void FullscreenUI::DrawExitWindow()
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
SetFullscreenFooterText(std::array{
std::make_pair(ICON_PF_DPAD_LEFT_RIGHT, FSUI_VSTR("Navigate")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))}
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))}
);
}
else
@@ -3008,11 +3015,12 @@ void FullscreenUI::DrawSettingsWindow()
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
SetFullscreenFooterText(std::array{
std::make_pair(ICON_PF_DPAD_LEFT_RIGHT, FSUI_VSTR("Change Page")),
std::make_pair(ICON_PF_DPAD_UP_DOWN, FSUI_VSTR("Navigate")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))});
}
else
{
@@ -3177,6 +3185,13 @@ void FullscreenUI::DrawInterfaceSettingsPage()
{
ImGuiFullscreen::SetTheme(bsi->GetBoolValue("UI", "UseLightFullscreenUITheme", false));
}
SmallStackString<256> SwapSummery;
SwapSummery.format(FSUI_FSTR("Uses {} as confirm as confirm when using a controller"), ICON_PF_BUTTON_CIRCLE);
if (DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_GAMEPAD, "Swap OK/Cancel in Big Picture Mode"),
SwapSummery.c_str(), "UI", "SwapOKFullscreenUI", false))
{
ImGui::GetIO().ConfigNavSwapGamepadButtons = bsi->GetBoolValue("UI", "SwapOKFullscreenUI", false);
}
MenuHeading(FSUI_CSTR("Game Display"));
DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_TV, "Start Fullscreen"),
@@ -5252,9 +5267,10 @@ void FullscreenUI::DrawPauseMenu(MainWindowType type)
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
SetFullscreenFooterText(std::array{std::make_pair(ICON_PF_DPAD_UP_DOWN, FSUI_VSTR("Change Selection")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Return To Game"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Select")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Return To Game"))});
}
else
{
@@ -5685,11 +5701,12 @@ void FullscreenUI::DrawSaveStateSelector(bool is_loading)
{
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
SetFullscreenFooterText(std::array{
std::make_pair(ICON_PF_DPAD, FSUI_VSTR("Select State")),
std::make_pair(ICON_PF_BUTTON_SQUARE, FSUI_VSTR("Options")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Load/Save State")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Cancel"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Load/Save State")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Cancel"))});
}
else
{
@@ -5980,13 +5997,14 @@ void FullscreenUI::DrawGameListWindow()
if (IsGamepadInputSource())
{
const bool circleOK = ImGui::GetIO().ConfigNavSwapGamepadButtons;
SetFullscreenFooterText(std::array{
std::make_pair(ICON_PF_DPAD, FSUI_VSTR("Select Game")),
std::make_pair(ICON_PF_START, FSUI_VSTR("Settings")),
std::make_pair(ICON_PF_BUTTON_TRIANGLE, FSUI_VSTR("Change View")),
std::make_pair(ICON_PF_BUTTON_SQUARE, FSUI_VSTR("Launch Options")),
std::make_pair(ICON_PF_BUTTON_CROSS, FSUI_VSTR("Start Game")),
std::make_pair(ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))});
std::make_pair(circleOK ? ICON_PF_BUTTON_CIRCLE : ICON_PF_BUTTON_CROSS, FSUI_VSTR("Start Game")),
std::make_pair(circleOK ? ICON_PF_BUTTON_CROSS : ICON_PF_BUTTON_CIRCLE, FSUI_VSTR("Back"))});
}
else
{
@@ -6978,6 +6996,7 @@ TRANSLATE_NOOP("FullscreenUI", "Automatically saves the emulator state when powe
TRANSLATE_NOOP("FullscreenUI", "Creates a backup copy of a save state if it already exists when the save is created. The backup copy has a .backup suffix");
TRANSLATE_NOOP("FullscreenUI", "Show a save state selector UI when switching slots instead of showing a notification bubble.");
TRANSLATE_NOOP("FullscreenUI", "Uses a light coloured theme instead of the default dark theme.");
TRANSLATE_NOOP("FullscreenUI", "Uses {} as confirm when using a controller");
TRANSLATE_NOOP("FullscreenUI", "Game Display");
TRANSLATE_NOOP("FullscreenUI", "Automatically switches to fullscreen mode when a game is started.");
TRANSLATE_NOOP("FullscreenUI", "Switches between full screen and windowed when the window is double-clicked.");

View File

@@ -838,12 +838,12 @@ bool Pcsx2Config::GSOptions::OptionsAreEqual(const GSOptions& right) const
OpEqu(ShadeBoost_Contrast) &&
OpEqu(ShadeBoost_Saturation) &&
OpEqu(PNGCompressionLevel) &&
OpEqu(SaveN) &&
OpEqu(SaveL) &&
OpEqu(SaveB) &&
OpEqu(SaveNF) &&
OpEqu(SaveLF) &&
OpEqu(SaveBF) &&
OpEqu(SaveDrawStart) &&
OpEqu(SaveDrawCount) &&
OpEqu(SaveDrawBy) &&
OpEqu(SaveFrameStart) &&
OpEqu(SaveFrameCount) &&
OpEqu(SaveFrameBy) &&
OpEqu(ExclusiveFullscreenControl) &&
OpEqu(ScreenshotSize) &&
@@ -965,13 +965,13 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap)
SettingsWrapBitBoolEx(UserHacks_EstimateTextureRegion, "UserHacks_EstimateTextureRegion");
SettingsWrapBitBoolEx(FXAA, "fxaa");
SettingsWrapBitBool(ShadeBoost);
SettingsWrapBitBoolEx(DumpGSData, "dump");
SettingsWrapBitBoolEx(SaveRT, "save");
SettingsWrapBitBoolEx(SaveFrame, "savef");
SettingsWrapBitBoolEx(SaveTexture, "savet");
SettingsWrapBitBoolEx(SaveDepth, "savez");
SettingsWrapBitBoolEx(SaveAlpha, "savea");
SettingsWrapBitBoolEx(SaveInfo, "savei");
SettingsWrapBitBoolEx(DumpGSData, "DumpGSData");
SettingsWrapBitBoolEx(SaveRT, "SaveRT");
SettingsWrapBitBoolEx(SaveFrame, "SaveFrame");
SettingsWrapBitBoolEx(SaveTexture, "SaveTexture");
SettingsWrapBitBoolEx(SaveDepth, "SaveDepth");
SettingsWrapBitBoolEx(SaveAlpha, "SaveAlpha");
SettingsWrapBitBoolEx(SaveInfo, "SaveInfo");
SettingsWrapBitBool(DumpReplaceableTextures);
SettingsWrapBitBool(DumpReplaceableMipmaps);
SettingsWrapBitBool(DumpTexturesWithFMVActive);
@@ -1030,12 +1030,12 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap)
SettingsWrapBitfield(ShadeBoost_Saturation);
SettingsWrapBitfield(ExclusiveFullscreenControl);
SettingsWrapBitfieldEx(PNGCompressionLevel, "png_compression_level");
SettingsWrapBitfieldEx(SaveN, "saven");
SettingsWrapBitfieldEx(SaveL, "savel");
SettingsWrapBitfieldEx(SaveB, "saveb");
SettingsWrapBitfieldEx(SaveNF, "savenf");
SettingsWrapBitfieldEx(SaveLF, "savelf");
SettingsWrapBitfieldEx(SaveBF, "savebf");
SettingsWrapBitfieldEx(SaveDrawStart, "SaveDrawStart");
SettingsWrapBitfieldEx(SaveDrawCount, "SaveDrawCount");
SettingsWrapBitfieldEx(SaveDrawBy, "SaveDrawBy");
SettingsWrapBitfieldEx(SaveFrameStart, "SaveFrameStart");
SettingsWrapBitfieldEx(SaveFrameCount, "SaveFrameCount");
SettingsWrapBitfieldEx(SaveFrameBy, "SaveFrameBy");
SettingsWrapEntryEx(CaptureContainer, "CaptureContainer");
SettingsWrapEntryEx(VideoCaptureCodec, "VideoCaptureCodec");
@@ -1122,9 +1122,11 @@ bool Pcsx2Config::GSOptions::UseHardwareRenderer() const
bool Pcsx2Config::GSOptions::ShouldDump(int draw, int frame) const
{
int drawOffset = draw - SaveDrawStart;
int frameOffset = frame - SaveFrameStart;
return DumpGSData &&
(SaveN <= draw) && ((SaveL < 0) || (draw < SaveN + SaveL)) && (draw % SaveB == 0) &&
(SaveNF <= frame) && ((SaveLF < 0) || (frame < SaveNF + SaveLF)) && (frame % SaveBF == 0);
(drawOffset >= 0) && ((SaveDrawCount < 0) || (drawOffset < SaveDrawCount)) && (drawOffset % SaveDrawBy == 0) &&
(frameOffset >= 0) && ((SaveFrameCount < 0) || (frameOffset < SaveFrameCount)) && (frameOffset % SaveFrameBy == 0);
}
static constexpr const std::array s_spu2_sync_mode_names = {

View File

@@ -869,7 +869,7 @@ std::vector<AvailableMcdInfo> FileMcd_GetAvailableCards(bool include_in_use_card
Pcsx2Config::McdOptions config;
config.Enabled = true;
config.Type = MemoryCardType::Folder;
sourceFolderMemoryCard.Open(fd.FileName, config, (8 * 1024 * 1024) / FolderMemoryCard::ClusterSize, false, "");
sourceFolderMemoryCard.Open(fd.FileName, config, (8 * 1024 * 1024) / FolderMemoryCard::ClusterSize, EmuConfig.McdFolderAutoManage, "");
mcds.push_back({std::move(basename), std::move(fd.FileName), fd.ModificationTime,
MemoryCardType::Folder, MemoryCardFileType::Unknown, 0u, sourceFolderMemoryCard.IsFormatted()});