Compare commits

...

9 Commits

Author SHA1 Message Date
lightningterror
189374d19c GS: Bump shader cache version.
Forgot to re include it when I reset the commit.
2025-09-09 20:32:25 +02:00
lightningterror
ac04695edd GS/shaders: Fix false positive warning for pow being negative.
Replaced pow with exp2 log2.
2025-09-09 20:29:02 +02:00
lightningterror
93bf9db0b4 GS/shaders: Fix types mismatch for ps_convert_rgb5a1_8i shader.
Fixes shader compile errors and warnings on mesa, also synch vk and dx shaders for consistency.
2025-09-09 20:29:02 +02:00
PCSX2 Bot
9219a1a38b [ci skip] PAD: Update to latest controller database. 2025-09-08 18:15:01 +02:00
PCSX2 Bot
1a28d6f0d1 [ci skip] Qt: Update Base Translation. 2025-09-08 18:14:48 +02:00
JordanTheToaster
aca1b4478e Deps: Update SDL3 to v3.2.22 2025-09-07 10:30:26 -04:00
TheTechnician27
9a794f7aaa CDVD: Add message for attempting to remove a disc when no disc exists 2025-09-07 10:29:55 -04:00
TheTechnician27
6e65558d42 Hotkeys: Better organize hotkeys page 2025-09-07 10:28:52 -04:00
JordanTheToaster
74936f49e0 GameDB: Deadly Strike fixes 2025-09-02 14:50:37 +02:00
17 changed files with 431 additions and 397 deletions

View File

@@ -20,7 +20,7 @@ LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075
LIBJPEGTURBO=3.1.1
LIBPNG=1.6.50
LIBWEBP=1.6.0
SDL=SDL3-3.2.20
SDL=SDL3-3.2.22
QT=6.9.2
LZ4=1.10.0
ZSTD=1.5.7
@@ -43,7 +43,7 @@ fd6f417fe9e3a071cf1424a5152d926a34c4a3c5070745470be6cf12a404ed79 $LIBBACKTRACE.
aadc97ea91f6ef078b0ae3a62bba69e008d9a7db19b34e4ac973b19b71b4217c libjpeg-turbo-$LIBJPEGTURBO.tar.gz
4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232307 libpng-$LIBPNG.tar.xz
e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 libwebp-$LIBWEBP.tar.gz
467600ae090dd28616fa37369faf4e3143198ff1da37729b552137e47f751a67 $SDL.tar.gz
f29d00cbcee273c0a54f3f32f86bf5c595e8823a96b1d92a145aac40571ebfcc $SDL.tar.gz
537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b lz4-$LZ4.tar.gz
eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar.gz
44be9c9ecfe04129c4dea0a7e1b36ad476c9cc07c292016ac98e7b41514f2440 qtbase-everywhere-src-$QT.tar.xz

View File

@@ -14,8 +14,8 @@
"sources": [
{
"type": "archive",
"url": "https://libsdl.org/release/SDL3-3.2.20.tar.gz",
"sha256": "467600ae090dd28616fa37369faf4e3143198ff1da37729b552137e47f751a67"
"url": "https://libsdl.org/release/SDL3-3.2.22.tar.gz",
"sha256": "f29d00cbcee273c0a54f3f32f86bf5c595e8823a96b1d92a145aac40571ebfcc"
}
],
"cleanup": [

View File

@@ -40,7 +40,7 @@ fi
FREETYPE=2.13.3
HARFBUZZ=11.2.0
SDL=SDL3-3.2.20
SDL=SDL3-3.2.22
ZSTD=1.5.7
LZ4=1.10.0
LIBPNG=1.6.50
@@ -79,7 +79,7 @@ CMAKE_ARCH_UNIVERSAL=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
cat > SHASUMS <<EOF
0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289 freetype-$FREETYPE.tar.xz
16c0204704f3ebeed057aba100fe7db18d71035505cb10e595ea33d346457fc8 harfbuzz-$HARFBUZZ.tar.gz
467600ae090dd28616fa37369faf4e3143198ff1da37729b552137e47f751a67 $SDL.tar.gz
f29d00cbcee273c0a54f3f32f86bf5c595e8823a96b1d92a145aac40571ebfcc $SDL.tar.gz
eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar.gz
537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b lz4-$LZ4.tar.gz
4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232307 libpng-$LIBPNG.tar.xz

View File

@@ -22,7 +22,7 @@ fi
FREETYPE=2.13.3
HARFBUZZ=11.2.0
SDL=SDL3-3.2.20
SDL=SDL3-3.2.22
ZSTD=1.5.7
LZ4=1.10.0
LIBPNG=1.6.50
@@ -59,7 +59,7 @@ CMAKE_COMMON=(
cat > SHASUMS <<EOF
0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289 freetype-$FREETYPE.tar.xz
16c0204704f3ebeed057aba100fe7db18d71035505cb10e595ea33d346457fc8 harfbuzz-$HARFBUZZ.tar.gz
467600ae090dd28616fa37369faf4e3143198ff1da37729b552137e47f751a67 $SDL.tar.gz
f29d00cbcee273c0a54f3f32f86bf5c595e8823a96b1d92a145aac40571ebfcc $SDL.tar.gz
eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 zstd-$ZSTD.tar.gz
537512904744b35e232912055ccf8ec66d768639ff3abe5788d90d792ec5f48b lz4-$LZ4.tar.gz
4df396518620a7aa3651443e87d1b2862e4e88cad135a8b93423e01706232307 libpng-$LIBPNG.tar.xz

View File

@@ -46,7 +46,7 @@ set FREETYPE=2.13.3
set HARFBUZZ=11.2.0
set LIBJPEGTURBO=3.1.1
set LIBPNG=1650
set SDL=SDL3-3.2.20
set SDL=SDL3-3.2.22
set QT=6.9.2
set QTMINOR=6.9
set LZ4=1.10.0
@@ -68,7 +68,7 @@ call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuz
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1650.zip 4be6938313b08d5921f9dede13f2789b653c96f4f8595d92ff3f09c9320e51c7 || goto error
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" aadc97ea91f6ef078b0ae3a62bba69e008d9a7db19b34e4ac973b19b71b4217c || goto error
call :downloadfile "libwebp-%WEBP%.tar.gz" "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-%WEBP%.tar.gz" e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 || goto error
call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" d76454913ea6f5f38856fbf00578d8e39daf842887f3396c95608414680250f7 || goto error
call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 3d60068b1e5c83c66bb14c325dfef46f8fcc380735b4591de6f5e7b9738929d1 || goto error
call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 97d59c78e40b4ddd018738d285a12afc320b57f8265a3f760353739a3619ccdb || goto error
call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" f2fc6ff382c6f3af79493d0709dbd64847d0356313518f094f9096315f2fdb30 || goto error
call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtsvg-everywhere-src-%QT%.zip" af80bb671ea0f66c0036ce7041a56b0e550fc94fb88d2c77b5b6a3e33e42139b || goto error

View File

@@ -44,7 +44,7 @@ set FREETYPE=2.13.3
set HARFBUZZ=11.2.0
set LIBJPEGTURBO=3.1.1
set LIBPNG=1650
set SDL=SDL3-3.2.20
set SDL=SDL3-3.2.22
set QT=6.9.2
set QTMINOR=6.9
set LZ4=1.10.0
@@ -66,7 +66,7 @@ call :downloadfile "harfbuzz-%HARFBUZZ%.zip" https://github.com/harfbuzz/harfbuz
call :downloadfile "lpng%LIBPNG%.zip" https://download.sourceforge.net/libpng/lpng1650.zip 4be6938313b08d5921f9dede13f2789b653c96f4f8595d92ff3f09c9320e51c7 || goto error
call :downloadfile "libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" "https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/%LIBJPEGTURBO%/libjpeg-turbo-%LIBJPEGTURBO%.tar.gz" aadc97ea91f6ef078b0ae3a62bba69e008d9a7db19b34e4ac973b19b71b4217c || goto error
call :downloadfile "libwebp-%WEBP%.tar.gz" "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-%WEBP%.tar.gz" e4ab7009bf0629fd11982d4c2aa83964cf244cffba7347ecd39019a9e38c4564 || goto error
call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" d76454913ea6f5f38856fbf00578d8e39daf842887f3396c95608414680250f7 || goto error
call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 3d60068b1e5c83c66bb14c325dfef46f8fcc380735b4591de6f5e7b9738929d1 || goto error
call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 97d59c78e40b4ddd018738d285a12afc320b57f8265a3f760353739a3619ccdb || goto error
call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" f2fc6ff382c6f3af79493d0709dbd64847d0356313518f094f9096315f2fdb30 || goto error
call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtsvg-everywhere-src-%QT%.zip" af80bb671ea0f66c0036ce7041a56b0e550fc94fb88d2c77b5b6a3e33e42139b || goto error

View File

@@ -21758,6 +21758,8 @@ SLES-52954:
SLES-52955:
name: "Deadly Strike"
region: "PAL-E"
roundModes:
eeDivRoundMode: 3 # Fixes grid like pattern.
SLES-52956:
name: "Action Girlz Racing"
region: "PAL-E"
@@ -38928,6 +38930,8 @@ SLPM-62459:
name-en: "Simple 2000 Series Vol. 16 - Sengoku vs. Gendai"
region: "NTSC-J"
compat: 5
roundModes:
eeDivRoundMode: 3 # Fixes grid like pattern.
SLPM-62460:
name: "SuperLite2000 シミュレーション 箱庭鉄道 ~ブルートレイン・特急編~"
name-sort: "すーぱーらいと 2000 しみゅれーしょん はこにわてつどう ぶるーとれいんとっきゅうへん"

View File

@@ -478,6 +478,7 @@
030000001008000001e5000000000000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Windows,
03000000050b00000045000000000000,Nexus,a:b0,b:b1,back:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b7,lefttrigger:a5,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b8,righttrigger:a4,rightx:a2,righty:a3,start:b10,x:b2,y:b3,platform:Windows,
03000000152000000182000000000000,NGDS,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:a3,righty:a4,start:b9,x:b3,y:b0,platform:Windows,
03000000ec110000e1a7000000000000,Nintendo Switch,a:b0,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:b2,y:b3,platform:Windows,
030000007e0500006920000000000000,Nintendo Switch 2 Pro Controller,a:b0,b:b1,back:b14,dpdown:b8,dpleft:b10,dpright:b9,dpup:b11,guide:b16,leftshoulder:b12,leftstick:b15,lefttrigger:b13,leftx:a0,lefty:a1~,misc1:b17,misc2:b20,paddle1:b18,paddle2:b19,rightshoulder:b4,rightstick:b7,righttrigger:b5,rightx:a2,righty:a3~,start:b6,x:b2,y:b3,platform:Windows,
030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,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,misc1:b13,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
030000000d0500000308000000000000,Nostromo N45,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b9,leftshoulder:b4,leftstick:b12,lefttrigger:b5,leftx:a0,lefty:a1,rightshoulder:b6,rightstick:b11,righttrigger:b7,rightx:a3,righty:a2,start:b10,x:b2,y:b3,platform:Windows,
@@ -1018,6 +1019,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,
03000000632500007505000000020000,NeoGeo mini PAD Controller,a:b1,b:b0,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b9,x:b2,y:b3,platform:Mac OS X,
03000000921200004b46000003020000,NES 2-port Adapter,a:b1,b:b0,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,start:b11,platform:Mac OS X,
030000001008000001e5000006010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b5,righttrigger:b6,start:b9,x:b3,y:b0,platform:Mac OS X,
03000000ec110000e1a7000001010000,Nintendo Switch,a:b0,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:b2,y:b3,platform:Mac OS X,
030000007e0500006920000001010000,Nintendo Switch 2 Pro Controller,a:b0,b:b1,back:b14,dpdown:b8,dpleft:b10,dpright:b9,dpup:b11,guide:b16,leftshoulder:b12,leftstick:b15,lefttrigger:b13,leftx:a0,lefty:a1~,misc1:b17,misc2:b20,paddle1:b18,paddle2:b19,rightshoulder:b4,rightstick:b7,righttrigger:b5,rightx:a2,righty:a3~,start:b6,x:b2,y:b3,platform:Mac OS X,
030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,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,
030000007e0500000920000001000000,Nintendo Switch Pro Controller,a:b0,b:b1,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,
@@ -1505,6 +1507,7 @@ xinput,XInput Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,
060000007e0500003713000000000000,Nintendo 3DS,a:b0,b:b1,back:b8,dpdown:b11,dpleft:b12,dpright:b13,dpup:b10,leftshoulder:b4,leftx:a0,lefty:a1,rightshoulder:b5,rightx:a2,righty:a3,start:b9,x:b3,y:b2,platform:Linux,
030000007e0500003703000000016800,Nintendo GameCube Controller,a:b0,b:b2,dpdown:b6,dpleft:b4,dpright:b5,dpup:b7,lefttrigger:a4,leftx:a0,lefty:a1~,rightshoulder:b9,righttrigger:a5,rightx:a2,righty:a3~,start:b8,x:b1,y:b3,platform:Linux,
03000000790000004618000010010000,Nintendo GameCube Controller Adapter,a:b1,b:b0,dpdown:b14,dpleft:b15,dpright:b13,dpup:b12,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,righttrigger:b5,rightx:a5~,righty:a2~,start:b9,x:b2,y:b3,platform:Linux,
03000000ec110000e1a7000010010000,Nintendo Switch,a:b0,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:b2,y:b3,platform:Linux,
030000007e0500006920000011010000,Nintendo Switch 2 Pro Controller,a:b0,b:b1,back:b14,dpdown:b8,dpleft:b10,dpright:b9,dpup:b11,guide:b16,leftshoulder:b12,leftstick:b15,lefttrigger:b13,leftx:a0,lefty:a1~,misc1:b17,misc2:b20,paddle1:b18,paddle2:b19,rightshoulder:b4,rightstick:b7,righttrigger:b5,rightx:a2,righty:a3~,start:b6,x:b2,y:b3,platform:Linux,
060000004e696e74656e646f20537700,Nintendo Switch Combined Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,
060000007e0500000620000000000000,Nintendo Switch Combined Joy-Cons,a:b0,b:b1,back:b9,dpdown:b15,dpleft:b16,dpright:b17,dpup:b14,guide:b11,leftshoulder:b5,leftstick:b12,lefttrigger:b7,leftx:a0,lefty:a1,misc1:b4,rightshoulder:b6,rightstick:b13,righttrigger:b8,rightx:a2,righty:a3,start:b10,x:b3,y:b2,platform:Linux,

View File

@@ -305,64 +305,64 @@ PS_OUTPUT ps_convert_rgb5a1_8i(PS_INPUT input)
uint2 pos = uint2(input.p.xy);
// Collapse separate R G B A areas into their base pixel
uint2 column = (pos & ~uint2(0u, 3u)) / uint2(1,2);
uint2 column = (pos & ~uint2(0u, 3u)) / uint2(1u, 2u);
uint2 subcolumn = (pos & uint2(0u, 1u));
column.x -= (column.x / 128) * 64;
column.y += (column.y / 32) * 32;
column.x -= (column.x / 128u) * 64u;
column.y += (column.y / 32u) * 32u;
uint PSM = uint(DOFFSET);
// Deal with swizzling differences
if ((PSM & 0x8) != 0) // PSMCT16S
if ((PSM & 0x8u) != 0u) // PSMCT16S
{
if ((pos.x & 32) != 0)
if ((pos.x & 32u) != 0u)
{
column.y += 32; // 4 columns high times 4 to get bottom 4 blocks
column.x &= ~32;
column.y += 32u; // 4 columns high times 4 to get bottom 4 blocks
column.x &= ~32u;
}
if ((pos.x & 64) != 0)
if ((pos.x & 64u) != 0u)
{
column.x -= 32;
column.x -= 32u;
}
if (((pos.x & 16) != 0) != ((pos.y & 16) != 0))
if (((pos.x & 16u) != 0u) != ((pos.y & 16u) != 0u))
{
column.x ^= 16;
column.y ^= 8;
column.x ^= 16u;
column.y ^= 8u;
}
if ((PSM & 0x30) != 0) // PSMZ16S - Untested but hopefully ok if anything uses it.
if ((PSM & 0x30u) != 0u) // PSMZ16S - Untested but hopefully ok if anything uses it.
{
column.x ^= 32;
column.y ^= 16;
column.x ^= 32u;
column.y ^= 16u;
}
}
else // PSMCT16
{
if ((pos.y & 32) != 0)
if ((pos.y & 32u) != 0u)
{
column.y -= 16;
column.x += 32;
column.y -= 16u;
column.x += 32u;
}
if ((pos.x & 96) != 0)
if ((pos.x & 96u) != 0u)
{
uint multi = (pos.x & 96) / 32;
column.y += 16 * multi; // 4 columns high times 4 to get bottom 4 blocks
column.x -= (pos.x & 96);
uint multi = (pos.x & 96u) / 32u;
column.y += 16u * multi; // 4 columns high times 4 to get bottom 4 blocks
column.x -= (pos.x & 96u);
}
if (((pos.x & 16) != 0) != ((pos.y & 16) != 0))
if (((pos.x & 16u) != 0u) != ((pos.y & 16) != 0))
{
column.x ^= 16;
column.y ^= 8;
column.x ^= 16u;
column.y ^= 8u;
}
if ((PSM & 0x30) != 0) // PSMZ16 - Untested but hopefully ok if anything uses it.
if ((PSM & 0x30u) != 0u) // PSMZ16 - Untested but hopefully ok if anything uses it.
{
column.x ^= 32;
column.y ^= 32;
column.x ^= 32u;
column.y ^= 32u;
}
}
@@ -371,10 +371,10 @@ PS_OUTPUT ps_convert_rgb5a1_8i(PS_INPUT input)
// Compensate for potentially differing page pitch.
uint SBW = uint(EMODA);
uint DBW = uint(EMODC);
uint2 block_xy = coord / uint2(64,64);
uint block_num = (block_xy.y * (DBW / 128)) + block_xy.x;
uint2 block_offset = uint2((block_num % (SBW / 64)) * 64, (block_num / (SBW / 64)) * 64);
coord = (coord % uint2(64, 64)) + block_offset;
uint2 block_xy = coord / uint2(64u, 64u);
uint block_num = (block_xy.y * (DBW / 128u)) + block_xy.x;
uint2 block_offset = uint2((block_num % (SBW / 64u)) * 64u, (block_num / (SBW / 64u)) * 64u);
coord = (coord % uint2(64u, 64u)) + block_offset;
// Apply offset to cols 1 and 2
uint is_col23 = pos.y & 4u;
@@ -394,18 +394,16 @@ PS_OUTPUT ps_convert_rgb5a1_8i(PS_INPUT input)
{
uint red = (denorm_c.r >> 3) & 0x1Fu;
uint green = (denorm_c.g >> 3) & 0x1Fu;
float sel0 = (float)(((green << 5) | red) & 0xFF) / 255.0f;
output.c = (float4)(sel0);
output.c = (float4)(((float)(((green << 5) | red) & 0xFFu)) / 255.0f);
}
else
{
uint green = (denorm_c.g >> 3) & 0x1Fu;
uint blue = (denorm_c.b >> 3) & 0x1Fu;
uint alpha = denorm_c.a & 0x80u;
float sel0 = (float)((alpha | (blue << 2) | (green >> 3)) & 0xFF) / 255.0f;
output.c = (float4)(sel0);
output.c = (float4)(((float)((alpha | (blue << 2) | (green >> 3)) & 0xFFu)) / 255.0f);
}
return output;
}

View File

@@ -37,7 +37,7 @@ float4 ContrastSaturationBrightness(float4 color) // Ported to HLSL
float3 conColor = lerp(AvgLumin, satColor, con);
float3 csb = conColor;
csb = pow(csb, 1.0 / gam);
csb = exp2(log2(csb) * (1.0 / gam));
color.rgb = csb;
return color;
}

View File

@@ -258,62 +258,62 @@ void ps_convert_rgb5a1_8i()
uvec2 pos = uvec2(gl_FragCoord.xy);
// Collapse separate R G B A areas into their base pixel
uvec2 column = (pos & ~uvec2(0u, 3u)) / uvec2(1,2);
uvec2 column = (pos & ~uvec2(0u, 3u)) / uvec2(1u, 2u);
uvec2 subcolumn = (pos & uvec2(0u, 1u));
column.x -= (column.x / 128) * 64;
column.y += (column.y / 32) * 32;
column.x -= (column.x / 128u) * 64u;
column.y += (column.y / 32u) * 32u;
// Deal with swizzling differences
if ((PSM & 0x8) != 0) // PSMCT16S
if ((PSM & 0x8u) != 0u) // PSMCT16S
{
if ((pos.x & 32) != 0)
if ((pos.x & 32u) != 0u)
{
column.y += 32; // 4 columns high times 4 to get bottom 4 blocks
column.x &= ~32;
column.y += 32u; // 4 columns high times 4 to get bottom 4 blocks
column.x &= ~32u;
}
if ((pos.x & 64) != 0)
if ((pos.x & 64u) != 0u)
{
column.x -= 32;
column.x -= 32u;
}
if (((pos.x & 16) != 0) != ((pos.y & 16) != 0))
if (((pos.x & 16u) != 0u) != ((pos.y & 16u) != 0u))
{
column.x ^= 16;
column.y ^= 8;
column.x ^= 16u;
column.y ^= 8u;
}
if ((PSM & 0x30) != 0) // PSMZ16S - Untested but hopefully ok if anything uses it.
if ((PSM & 0x30u) != 0u) // PSMZ16S - Untested but hopefully ok if anything uses it.
{
column.x ^= 32;
column.y ^= 16;
column.x ^= 32u;
column.y ^= 16u;
}
}
else // PSMCT16
{
if ((pos.y & 32) != 0)
if ((pos.y & 32u) != 0u)
{
column.y -= 16;
column.x += 32;
column.y -= 16u;
column.x += 32u;
}
if ((pos.x & 96) != 0)
if ((pos.x & 96u) != 0u)
{
uint multi = (pos.x & 96) / 32;
column.y += 16 * multi; // 4 columns high times 4 to get bottom 4 blocks
column.x -= (pos.x & 96);
uint multi = (pos.x & 96u) / 32u;
column.y += 16u * multi; // 4 columns high times 4 to get bottom 4 blocks
column.x -= (pos.x & 96u);
}
if (((pos.x & 16) != 0) != ((pos.y & 16) != 0))
if (((pos.x & 16u) != 0u) != ((pos.y & 16u) != 0u))
{
column.x ^= 16;
column.y ^= 8;
column.x ^= 16u;
column.y ^= 8u;
}
if ((PSM & 0x30) != 0) // PSMZ16 - Untested but hopefully ok if anything uses it.
if ((PSM & 0x30u) != 0u) // PSMZ16 - Untested but hopefully ok if anything uses it.
{
column.x ^= 32;
column.y ^= 32;
column.x ^= 32u;
column.y ^= 32u;
}
}
uvec2 coord = column | subcolumn;
@@ -342,18 +342,16 @@ void ps_convert_rgb5a1_8i()
{
uint red = (denorm_c.r >> 3) & 0x1Fu;
uint green = (denorm_c.g >> 3) & 0x1Fu;
float sel0 = float(((green << 5) | red) & 0xFF) / 255.0f;
SV_Target0 = vec4(sel0);
SV_Target0 = vec4(float(((green << 5) | red) & 0xFFu) / 255.0f);
}
else
{
uint green = (denorm_c.g >> 3) & 0x1Fu;
uint blue = (denorm_c.b >> 3) & 0x1Fu;
uint alpha = denorm_c.a & 0x80u;
float sel0 = float((alpha | (blue << 2) | (green >> 3)) & 0xFF) / 255.0f;
SV_Target0 = vec4(sel0);
SV_Target0 = vec4(float((alpha | (blue << 2) | (green >> 3)) & 0xFFu) / 255.0f);
}
}
#endif

View File

@@ -332,62 +332,62 @@ void ps_convert_rgb5a1_8i()
uvec2 pos = uvec2(gl_FragCoord.xy);
// Collapse separate R G B A areas into their base pixel
uvec2 column = (pos & ~uvec2(0u, 3u)) / uvec2(1,2);
uvec2 column = (pos & ~uvec2(0u, 3u)) / uvec2(1u, 2u);
uvec2 subcolumn = (pos & uvec2(0u, 1u));
column.x -= (column.x / 128) * 64;
column.y += (column.y / 32) * 32;
column.x -= (column.x / 128u) * 64u;
column.y += (column.y / 32u) * 32u;
// Deal with swizzling differences
if ((PSM & 0x8) != 0) // PSMCT16S
if ((PSM & 0x8u) != 0u) // PSMCT16S
{
if ((pos.x & 32) != 0)
if ((pos.x & 32u) != 0u)
{
column.y += 32; // 4 columns high times 4 to get bottom 4 blocks
column.x &= ~32;
column.y += 32u; // 4 columns high times 4 to get bottom 4 blocks
column.x &= ~32u;
}
if ((pos.x & 64) != 0)
if ((pos.x & 64u) != 0u)
{
column.x -= 32;
column.x -= 32u;
}
if (((pos.x & 16) != 0) != ((pos.y & 16) != 0))
if (((pos.x & 16u) != 0u) != ((pos.y & 16u) != 0u))
{
column.x ^= 16;
column.y ^= 8;
column.x ^= 16u;
column.y ^= 8u;
}
if ((PSM & 0x30) != 0) // PSMZ16S - Untested but hopefully ok if anything uses it.
if ((PSM & 0x30u) != 0u) // PSMZ16S - Untested but hopefully ok if anything uses it.
{
column.x ^= 32;
column.y ^= 16;
column.x ^= 32u;
column.y ^= 16u;
}
}
else // PSMCT16
{
if ((pos.y & 32) != 0)
if ((pos.y & 32u) != 0u)
{
column.y -= 16;
column.x += 32;
column.y -= 16u;
column.x += 32u;
}
if ((pos.x & 96) != 0)
if ((pos.x & 96u) != 0u)
{
uint multi = (pos.x & 96) / 32;
column.y += 16 * multi; // 4 columns high times 4 to get bottom 4 blocks
column.x -= (pos.x & 96);
uint multi = (pos.x & 96u) / 32u;
column.y += 16u * multi; // 4 columns high times 4 to get bottom 4 blocks
column.x -= (pos.x & 96u);
}
if (((pos.x & 16) != 0) != ((pos.y & 16) != 0))
if (((pos.x & 16u) != 0u) != ((pos.y & 16u) != 0u))
{
column.x ^= 16;
column.y ^= 8;
column.x ^= 16u;
column.y ^= 8u;
}
if ((PSM & 0x30) != 0) // PSMZ16 - Untested but hopefully ok if anything uses it.
if ((PSM & 0x30u) != 0u) // PSMZ16 - Untested but hopefully ok if anything uses it.
{
column.x ^= 32;
column.y ^= 32;
column.x ^= 32u;
column.y ^= 32u;
}
}
uvec2 coord = column | subcolumn;
@@ -410,23 +410,22 @@ void ps_convert_rgb5a1_8i()
coord *= uvec2(ScaleFactor);
vec4 pixel = texelFetch(samp0, ivec2(coord), 0);
uvec4 denorm_c = uvec4(pixel * 255.5f);
if ((pos.y & 2u) == 0u)
{
uint red = (denorm_c.r >> 3) & 0x1Fu;
uint green = (denorm_c.g >> 3) & 0x1Fu;
float sel0 = float(((green << 5) | red) & 0xFF) / 255.0f;
o_col0 = vec4(sel0);
o_col0 = vec4(float(((green << 5) | red) & 0xFFu) / 255.0f);
}
else
{
uint green = (denorm_c.g >> 3) & 0x1Fu;
uint blue = (denorm_c.b >> 3) & 0x1Fu;
uint alpha = denorm_c.a & 0x80u;
float sel0 = float((alpha | (blue << 2) | (green >> 3)) & 0xFF) / 255.0f;
o_col0 = vec4(sel0);
o_col0 = vec4(float((alpha | (blue << 2) | (green >> 3)) & 0xFFu) / 255.0f);
}
}
#endif

View File

@@ -53,16 +53,24 @@ void HotkeySettingsWidget::createButtons()
auto iter = m_categories.find(category);
if (iter == m_categories.end())
{
// Top line
QLabel* top_line = new QLabel(m_container);
top_line->setFrameShape(QFrame::HLine);
top_line->setFixedHeight(12);
m_layout->addWidget(top_line);
// Category label
QLabel* label = new QLabel(category, m_container);
QFont label_font(label->font());
label_font.setPointSizeF(14.0f);
label->setFont(label_font);
m_layout->addWidget(label);
QLabel* line = new QLabel(m_container);
line->setFrameShape(QFrame::HLine);
line->setFixedHeight(4);
m_layout->addWidget(line);
// Bottom line
QLabel* bottom_line = new QLabel(m_container);
bottom_line->setFrameShape(QFrame::HLine);
bottom_line->setFixedHeight(12);
m_layout->addWidget(bottom_line);
QGridLayout* layout = new QGridLayout();
layout->setContentsMargins(0, 0, 0, 0);

View File

@@ -16095,266 +16095,278 @@ Swap chain: see Microsoft&apos;s Terminology Portal.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="116"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="121"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="126"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="132"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="136"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="141"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="150"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="158"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="166"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="183"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="188"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="193"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="198"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="203"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="208"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="212"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="217"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="222"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="227"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="215"/>
<source>System</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="116"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="121"/>
<source>Open Pause Menu</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="122"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="127"/>
<source>Open Achievements List</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="127"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="132"/>
<source>Open Leaderboards List</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="132"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="137"/>
<source>Toggle Pause</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="136"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="116"/>
<source>Toggle Fullscreen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="141"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="146"/>
<source>Toggle Frame Limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="151"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="156"/>
<source>Toggle Turbo / Fast Forward</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="158"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="180"/>
<source>Toggle Slow Motion</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="167"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="164"/>
<source>Turbo / Fast Forward (Hold)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="183"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="188"/>
<source>Increase Target Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="188"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="193"/>
<source>Decrease Target Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="193"/>
<source>Increase Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="198"/>
<source>Decrease Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="203"/>
<source>Toggle Mute</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="208"/>
<source>Frame Advance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="212"/>
<source>Shut Down Virtual Machine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="217"/>
<source>Reset Virtual Machine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="223"/>
<source>Toggle Input Recording Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="228"/>
<source>Swap Memory Cards</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="234"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="239"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="244"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="249"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="254"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="259"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="267"/>
<source>Save States</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="235"/>
<source>Select Previous Save Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="240"/>
<source>Select Next Save Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="245"/>
<source>Save State To Selected Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="250"/>
<source>Load State From Selected Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="255"/>
<source>Load Backup State From Selected Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="260"/>
<source>Save State and Select Next Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="268"/>
<source>Select Next Slot and Save State</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="286"/>
<source>Save State To Slot 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="287"/>
<source>Load State From Slot 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="288"/>
<source>Save State To Slot 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="289"/>
<source>Load State From Slot 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="290"/>
<source>Save State To Slot 3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="291"/>
<source>Load State From Slot 3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="292"/>
<source>Save State To Slot 4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="293"/>
<source>Load State From Slot 4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="294"/>
<source>Save State To Slot 5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="295"/>
<source>Load State From Slot 5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="296"/>
<source>Save State To Slot 6</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="297"/>
<source>Load State From Slot 6</source>
<location filename="../../pcsx2/Hotkeys.cpp" line="298"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="303"/>
<source>Audio</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="298"/>
<source>Save State To Slot 7</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="299"/>
<source>Load State From Slot 7</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="300"/>
<source>Save State To Slot 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="301"/>
<source>Load State From Slot 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="302"/>
<source>Save State To Slot 9</source>
<source>Increase Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="303"/>
<source>Decrease Volume</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="294"/>
<source>Toggle Mute</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="142"/>
<source>Frame Advance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="198"/>
<source>Shut Down Virtual Machine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="203"/>
<source>Reset Virtual Machine</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="216"/>
<source>Toggle Input Recording Mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="209"/>
<source>Swap Memory Cards</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="116"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="121"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="126"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="131"/>
<source>Navigation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="137"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="142"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="146"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="155"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="163"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="180"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="188"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="193"/>
<source>Speed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="220"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="225"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="230"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="235"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="240"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="245"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="253"/>
<source>Save States</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="221"/>
<source>Select Previous Save Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="226"/>
<source>Select Next Save Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="231"/>
<source>Save State To Selected Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="236"/>
<source>Load State From Selected Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="241"/>
<source>Load Backup State From Selected Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="246"/>
<source>Save State and Select Next Slot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="254"/>
<source>Select Next Slot and Save State</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="272"/>
<source>Save State To Slot 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="273"/>
<source>Load State From Slot 1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="274"/>
<source>Save State To Slot 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="275"/>
<source>Load State From Slot 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="276"/>
<source>Save State To Slot 3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="277"/>
<source>Load State From Slot 3</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="278"/>
<source>Save State To Slot 4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="279"/>
<source>Load State From Slot 4</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="280"/>
<source>Save State To Slot 5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="281"/>
<source>Load State From Slot 5</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="282"/>
<source>Save State To Slot 6</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="283"/>
<source>Load State From Slot 6</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="284"/>
<source>Save State To Slot 7</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="285"/>
<source>Load State From Slot 7</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="286"/>
<source>Save State To Slot 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="287"/>
<source>Load State From Slot 8</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="288"/>
<source>Save State To Slot 9</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="289"/>
<source>Load State From Slot 9</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="304"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="290"/>
<source>Save State To Slot 10</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/Hotkeys.cpp" line="305"/>
<location filename="../../pcsx2/Hotkeys.cpp" line="291"/>
<source>Load State From Slot 10</source>
<translation type="unfinished"></translation>
</message>
@@ -24022,74 +24034,74 @@ Please consult the FAQs and Guides for further instructions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="2254"/>
<location filename="../../pcsx2/VMManager.cpp" line="2259"/>
<source>Disc removed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="2260"/>
<location filename="../../pcsx2/VMManager.cpp" line="2267"/>
<source>Disc changed to &apos;{}&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="2269"/>
<location filename="../../pcsx2/VMManager.cpp" line="2276"/>
<source>Failed to open new disc image &apos;{}&apos;. Reverting to old image.
Error was: {}</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="2278"/>
<location filename="../../pcsx2/VMManager.cpp" line="2285"/>
<source>Failed to switch back to old disc image. Removing disc.
Error was: {}</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3081"/>
<location filename="../../pcsx2/VMManager.cpp" line="3088"/>
<source>Cheats have been disabled due to achievements hardcore mode.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3134"/>
<location filename="../../pcsx2/VMManager.cpp" line="3141"/>
<source>Fast CDVD is enabled, this may break games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3138"/>
<location filename="../../pcsx2/VMManager.cpp" line="3145"/>
<source>Cycle rate/skip is not at default, this may crash or make games run too slow.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3148"/>
<location filename="../../pcsx2/VMManager.cpp" line="3155"/>
<source>Upscale multiplier is below native, this will break rendering.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3188"/>
<location filename="../../pcsx2/VMManager.cpp" line="3195"/>
<source>Mipmapping is disabled. This may break rendering in some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3193"/>
<location filename="../../pcsx2/VMManager.cpp" line="3200"/>
<source>Debug device is enabled. This will massively reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3202"/>
<location filename="../../pcsx2/VMManager.cpp" line="3209"/>
<source>Renderer is not set to Automatic. This may cause performance problems and graphical issues.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3208"/>
<location filename="../../pcsx2/VMManager.cpp" line="3215"/>
<source>Texture filtering is not set to Bilinear (PS2). This will break rendering in some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3671"/>
<location filename="../../pcsx2/VMManager.cpp" line="3678"/>
<source>No Game Running</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3153"/>
<location filename="../../pcsx2/VMManager.cpp" line="3160"/>
<source>Trilinear filtering is not set to automatic. This may break rendering in some games.</source>
<translation type="unfinished"></translation>
</message>
@@ -24132,132 +24144,137 @@ Error was: {}</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3158"/>
<location filename="../../pcsx2/VMManager.cpp" line="2255"/>
<source>No disc to remove.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3165"/>
<source>Blending Accuracy is below Basic, this may break effects in some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3163"/>
<location filename="../../pcsx2/VMManager.cpp" line="3170"/>
<source>Hardware Download Mode is not set to Accurate, this may break rendering in some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3214"/>
<location filename="../../pcsx2/VMManager.cpp" line="3221"/>
<source>EE FPU Round Mode is not set to default, this may break some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3220"/>
<location filename="../../pcsx2/VMManager.cpp" line="3227"/>
<source>EE FPU Clamp Mode is not set to default, this may break some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3225"/>
<location filename="../../pcsx2/VMManager.cpp" line="3232"/>
<source>VU0 Round Mode is not set to default, this may break some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3230"/>
<location filename="../../pcsx2/VMManager.cpp" line="3237"/>
<source>VU1 Round Mode is not set to default, this may break some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3237"/>
<location filename="../../pcsx2/VMManager.cpp" line="3244"/>
<source>VU Clamp Mode is not set to default, this may break some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3242"/>
<location filename="../../pcsx2/VMManager.cpp" line="3249"/>
<source>128MB RAM is enabled. Compatibility with some games may be affected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3247"/>
<location filename="../../pcsx2/VMManager.cpp" line="3254"/>
<source>Game Fixes are not enabled. Compatibility with some games may be affected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3252"/>
<location filename="../../pcsx2/VMManager.cpp" line="3259"/>
<source>Compatibility Patches are not enabled. Compatibility with some games may be affected.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3256"/>
<location filename="../../pcsx2/VMManager.cpp" line="3263"/>
<source>Frame rate for NTSC is not default. This may break some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3258"/>
<location filename="../../pcsx2/VMManager.cpp" line="3265"/>
<source>Frame rate for PAL is not default. This may break some games.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3277"/>
<location filename="../../pcsx2/VMManager.cpp" line="3284"/>
<source>EE Recompiler is not enabled, this will significantly reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3282"/>
<location filename="../../pcsx2/VMManager.cpp" line="3289"/>
<source>VU0 Recompiler is not enabled, this will significantly reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3287"/>
<location filename="../../pcsx2/VMManager.cpp" line="3294"/>
<source>VU1 Recompiler is not enabled, this will significantly reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3292"/>
<location filename="../../pcsx2/VMManager.cpp" line="3299"/>
<source>IOP Recompiler is not enabled, this will significantly reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3297"/>
<location filename="../../pcsx2/VMManager.cpp" line="3304"/>
<source>EE Cache is enabled, this will significantly reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3302"/>
<location filename="../../pcsx2/VMManager.cpp" line="3309"/>
<source>EE Wait Loop Detection is not enabled, this may reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3307"/>
<location filename="../../pcsx2/VMManager.cpp" line="3314"/>
<source>INTC Spin Detection is not enabled, this may reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3310"/>
<location filename="../../pcsx2/VMManager.cpp" line="3317"/>
<source>Fastmem is not enabled, this will reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3314"/>
<location filename="../../pcsx2/VMManager.cpp" line="3321"/>
<source>Instant VU1 is disabled, this may reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3319"/>
<location filename="../../pcsx2/VMManager.cpp" line="3326"/>
<source>mVU Flag Hack is not enabled, this may reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3168"/>
<location filename="../../pcsx2/VMManager.cpp" line="3175"/>
<source>GPU Palette Conversion is enabled, this may reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3173"/>
<location filename="../../pcsx2/VMManager.cpp" line="3180"/>
<source>Texture Preloading is not Full, this may reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3178"/>
<location filename="../../pcsx2/VMManager.cpp" line="3185"/>
<source>Estimate texture region is enabled, this may reduce performance.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../pcsx2/VMManager.cpp" line="3183"/>
<location filename="../../pcsx2/VMManager.cpp" line="3190"/>
<source>Texture dumping is enabled, this will continually dump textures to disk.</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -113,32 +113,37 @@ static bool UseSavestateSelector()
}
BEGIN_HOTKEY_LIST(g_common_hotkeys)
DEFINE_HOTKEY("OpenPauseMenu", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Open Pause Menu"),
DEFINE_HOTKEY("ToggleFullscreen", TRANSLATE_NOOP("Hotkeys", "Navigation"), TRANSLATE_NOOP("Hotkeys", "Toggle Fullscreen"),
[](s32 pressed) {
if (!pressed)
Host::SetFullscreen(!Host::IsFullscreen());
})
DEFINE_HOTKEY("OpenPauseMenu", TRANSLATE_NOOP("Hotkeys", "Navigation"), TRANSLATE_NOOP("Hotkeys", "Open Pause Menu"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM() && CanPause())
FullscreenUI::OpenPauseMenu();
})
DEFINE_HOTKEY("OpenAchievementsList", TRANSLATE_NOOP("Hotkeys", "System"),
DEFINE_HOTKEY("OpenAchievementsList", TRANSLATE_NOOP("Hotkeys", "Navigation"),
TRANSLATE_NOOP("Hotkeys", "Open Achievements List"), [](s32 pressed) {
if (!pressed && CanPause())
FullscreenUI::OpenAchievementsWindow();
})
DEFINE_HOTKEY("OpenLeaderboardsList", TRANSLATE_NOOP("Hotkeys", "System"),
DEFINE_HOTKEY("OpenLeaderboardsList", TRANSLATE_NOOP("Hotkeys", "Navigation"),
TRANSLATE_NOOP("Hotkeys", "Open Leaderboards List"), [](s32 pressed) {
if (!pressed && CanPause())
FullscreenUI::OpenLeaderboardsWindow();
})
DEFINE_HOTKEY(
"TogglePause", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Toggle Pause"), [](s32 pressed) {
"TogglePause", TRANSLATE_NOOP("Hotkeys", "Speed"), TRANSLATE_NOOP("Hotkeys", "Toggle Pause"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM() && CanPause())
VMManager::SetPaused(VMManager::GetState() != VMState::Paused);
})
DEFINE_HOTKEY("ToggleFullscreen", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Toggle Fullscreen"),
[](s32 pressed) {
if (!pressed)
Host::SetFullscreen(!Host::IsFullscreen());
DEFINE_HOTKEY(
"FrameAdvance", TRANSLATE_NOOP("Hotkeys", "Speed"), TRANSLATE_NOOP("Hotkeys", "Frame Advance"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
VMManager::FrameAdvance(1);
})
DEFINE_HOTKEY("ToggleFrameLimit", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Toggle Frame Limit"),
DEFINE_HOTKEY("ToggleFrameLimit", TRANSLATE_NOOP("Hotkeys", "Speed"), TRANSLATE_NOOP("Hotkeys", "Toggle Frame Limit"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
{
@@ -147,7 +152,7 @@ DEFINE_HOTKEY("ToggleFrameLimit", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE
LimiterModeType::Nominal);
}
})
DEFINE_HOTKEY("ToggleTurbo", TRANSLATE_NOOP("Hotkeys", "System"),
DEFINE_HOTKEY("ToggleTurbo", TRANSLATE_NOOP("Hotkeys", "Speed"),
TRANSLATE_NOOP("Hotkeys", "Toggle Turbo / Fast Forward"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
{
@@ -155,15 +160,7 @@ DEFINE_HOTKEY("ToggleTurbo", TRANSLATE_NOOP("Hotkeys", "System"),
(VMManager::GetLimiterMode() != LimiterModeType::Turbo) ? LimiterModeType::Turbo : LimiterModeType::Nominal);
}
})
DEFINE_HOTKEY("ToggleSlowMotion", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Toggle Slow Motion"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
{
VMManager::SetLimiterMode(
(VMManager::GetLimiterMode() != LimiterModeType::Slomo) ? LimiterModeType::Slomo : LimiterModeType::Nominal);
}
})
DEFINE_HOTKEY("HoldTurbo", TRANSLATE_NOOP("Hotkeys", "System"),
DEFINE_HOTKEY("HoldTurbo", TRANSLATE_NOOP("Hotkeys", "Speed"),
TRANSLATE_NOOP("Hotkeys", "Turbo / Fast Forward (Hold)"), [](s32 pressed) {
if (!VMManager::HasValidVM())
return;
@@ -180,35 +177,24 @@ DEFINE_HOTKEY("HoldTurbo", TRANSLATE_NOOP("Hotkeys", "System"),
s_limiter_mode_prior_to_hold_interaction.reset();
}
})
DEFINE_HOTKEY("IncreaseSpeed", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Increase Target Speed"),
DEFINE_HOTKEY("ToggleSlowMotion", TRANSLATE_NOOP("Hotkeys", "Speed"), TRANSLATE_NOOP("Hotkeys", "Toggle Slow Motion"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
{
VMManager::SetLimiterMode(
(VMManager::GetLimiterMode() != LimiterModeType::Slomo) ? LimiterModeType::Slomo : LimiterModeType::Nominal);
}
})
DEFINE_HOTKEY("IncreaseSpeed", TRANSLATE_NOOP("Hotkeys", "Speed"), TRANSLATE_NOOP("Hotkeys", "Increase Target Speed"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustTargetSpeed(0.1);
})
DEFINE_HOTKEY("DecreaseSpeed", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Decrease Target Speed"),
DEFINE_HOTKEY("DecreaseSpeed", TRANSLATE_NOOP("Hotkeys", "Speed"), TRANSLATE_NOOP("Hotkeys", "Decrease Target Speed"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustTargetSpeed(-0.1);
})
DEFINE_HOTKEY("IncreaseVolume", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Increase Volume"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustVolume(-1, 5);
})
DEFINE_HOTKEY("DecreaseVolume", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Decrease Volume"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustVolume(-1, -5);
})
DEFINE_HOTKEY("Mute", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Toggle Mute"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustVolume((SPU2::GetOutputVolume() == 0) ? SPU2::GetResetVolume() : 0, 0);
})
DEFINE_HOTKEY(
"FrameAdvance", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Frame Advance"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
VMManager::FrameAdvance(1);
})
DEFINE_HOTKEY("ShutdownVM", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Hotkeys", "Shut Down Virtual Machine"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
@@ -219,11 +205,6 @@ DEFINE_HOTKEY("ResetVM", TRANSLATE_NOOP("Hotkeys", "System"), TRANSLATE_NOOP("Ho
if (!pressed && VMManager::HasValidVM())
VMManager::Reset();
})
DEFINE_HOTKEY("InputRecToggleMode", TRANSLATE_NOOP("Hotkeys", "System"),
TRANSLATE_NOOP("Hotkeys", "Toggle Input Recording Mode"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
g_InputRecording.getControls().toggleRecordMode();
})
DEFINE_HOTKEY("SwapMemCards", TRANSLATE_NOOP("Hotkeys", "System"),
TRANSLATE_NOOP("Hotkeys", "Swap Memory Cards"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
@@ -231,6 +212,11 @@ DEFINE_HOTKEY("SwapMemCards", TRANSLATE_NOOP("Hotkeys", "System"),
FileMcd_Swap();
});
})
DEFINE_HOTKEY("InputRecToggleMode", TRANSLATE_NOOP("Hotkeys", "System"),
TRANSLATE_NOOP("Hotkeys", "Toggle Input Recording Mode"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
g_InputRecording.getControls().toggleRecordMode();
})
DEFINE_HOTKEY("PreviousSaveStateSlot", TRANSLATE_NOOP("Hotkeys", "Save States"),
TRANSLATE_NOOP("Hotkeys", "Select Previous Save Slot"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
@@ -305,4 +291,18 @@ DEFINE_HOTKEY_SAVESTATE_X(10, TRANSLATE_NOOP("Hotkeys", "Save State To Slot 10")
DEFINE_HOTKEY_LOADSTATE_X(10, TRANSLATE_NOOP("Hotkeys", "Load State From Slot 10"))
#undef DEFINE_HOTKEY_SAVESTATE_X
#undef DEFINE_HOTKEY_LOADSTATE_X
DEFINE_HOTKEY("Mute", TRANSLATE_NOOP("Hotkeys", "Audio"), TRANSLATE_NOOP("Hotkeys", "Toggle Mute"), [](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustVolume((SPU2::GetOutputVolume() == 0) ? SPU2::GetResetVolume() : 0, 0);
})
DEFINE_HOTKEY("IncreaseVolume", TRANSLATE_NOOP("Hotkeys", "Audio"), TRANSLATE_NOOP("Hotkeys", "Increase Volume"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustVolume(-1, 5);
})
DEFINE_HOTKEY("DecreaseVolume", TRANSLATE_NOOP("Hotkeys", "Audio"), TRANSLATE_NOOP("Hotkeys", "Decrease Volume"),
[](s32 pressed) {
if (!pressed && VMManager::HasValidVM())
HotkeyAdjustVolume(-1, -5);
})
END_HOTKEY_LIST()

View File

@@ -3,4 +3,4 @@
/// Version number for GS and other shaders. Increment whenever any of the contents of the
/// shaders change, to invalidate the cache.
static constexpr u32 SHADER_CACHE_VERSION = 72;
static constexpr u32 SHADER_CACHE_VERSION = 73;

View File

@@ -2251,8 +2251,15 @@ bool VMManager::ChangeDisc(CDVD_SourceType source, std::string path)
{
if (source == CDVD_SourceType::NoDisc)
{
Host::AddIconOSDMessage("ChangeDisc", ICON_FA_COMPACT_DISC, TRANSLATE_SV("VMManager", "Disc removed."),
Host::OSD_INFO_DURATION);
if (old_path.empty())
Host::AddIconOSDMessage("ChangeDisc", ICON_FA_COMPACT_DISC, TRANSLATE_SV("VMManager", "No disc to remove."),
Host::OSD_INFO_DURATION);
else
{
Host::AddIconOSDMessage("ChangeDisc", ICON_FA_COMPACT_DISC, TRANSLATE_SV("VMManager", "Disc removed."),
Host::OSD_INFO_DURATION);
Console.WriteLnFmt("Removed disc: '{}'", old_path);
}
}
else
{