Compare commits

...

6 Commits

Author SHA1 Message Date
refractionpcsx2
52771fdb17 GS/HW: Add CRC fixes for DT Carnage/Racer/Axel Impact 2025-02-10 15:06:29 +00:00
JordanTheToaster
de631a1052 PerformanceMetrics: Increase update rate
Increases update rate of OSD stats from 0.5 per poll to 0.25 seconds per poll.
2025-02-09 12:29:54 -05:00
JordanTheToaster
605398db67 GameDB: Various fixes 2025-02-09 12:29:54 -05:00
TheLastRar
407c989860 Vif: Fixes to non-volatile SSE backup and restore logic 2025-02-09 12:28:04 -05:00
lightningterror
9b4b112a97 GS/HW: Adjust max valid tex size.
Account for index 0.
2025-02-08 23:56:42 +01:00
PCSX2 Bot
865b75bcbb [ci skip] Qt: Update Base Translation. 2025-02-07 19:04:10 -05:00
7 changed files with 202 additions and 60 deletions

View File

@@ -332,8 +332,9 @@ PAPX-90230:
name-en: "Arc the Lad - Seirei no Tasogare - Premiere Disc [ShopDemo]"
region: "NTSC-J"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
PAPX-90231:
name: "怪盗 スライ・クーパー [体験版]"
name-sort: "かいとう すらいくーぱー [たいけんばん]"
@@ -917,8 +918,9 @@ PCPX-96330:
name-en: "Arc the Lad - Seirei no Tasogare - Premiere Disc [ShopTrial]"
region: "NTSC-J"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
PCPX-96554:
name: "Games of Our Style - Tokyo Game Show 2003 Disc"
name-sort: "げーむず おぶ あわー すたいる - とうきょう げーむしょう 2003 でぃすく"
@@ -1379,8 +1381,9 @@ SCAJ-20019:
name-en: "Arc the Lad - Twilight of the Spirits"
region: "NTSC-J"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCAJ-20020:
name: "Drag-on Dragoon"
region: "NTSC-C-J"
@@ -1465,11 +1468,12 @@ SCAJ-20037:
gsHWFixes:
halfPixelOffset: 1 # Corrects shadow misalignment.
SCAJ-20038:
name: "Arc the Lad - Twilight of the Spirits"
region: "NTSC-Unk"
name: "Arc the Lad - Jing Ling Zhi Huang Hun"
region: "NTSC-C"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCAJ-20039:
name: "Sidewinder V"
region: "NTSC-Unk"
@@ -1841,6 +1845,8 @@ SCAJ-20108:
region: "NTSC-Unk"
gsHWFixes:
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCAJ-20109:
name: "Ratchet & Clank 3 - Up Your Arsenal"
region: "NTSC-Unk"
@@ -2661,8 +2667,9 @@ SCCS-40007:
name-en: "Arc the Lad - Seirei no Tasogare"
region: "NTSC-C"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCCS-40009:
name: "龙珠二世"
name-sort: "Longzhu Ershi"
@@ -5330,8 +5337,9 @@ SCES-51910:
region: "PAL-M5"
compat: 5
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCES-51920:
name: "Forbidden Siren"
region: "PAL-E"
@@ -6949,8 +6957,9 @@ SCKA-20012:
name: "Arc the Lad - Jeongryeongui Hwanghon"
region: "NTSC-K"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCKA-20013:
name: "SOCOM - U.S. Navy SEALs"
region: "NTSC-K"
@@ -8428,16 +8437,18 @@ SCPS-15040:
name-en: "Arc the Lad - Twilight of the Spirits [Limited Edition]"
region: "NTSC-J"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCPS-15041:
name: "アークザラッド 精霊の黄昏"
name-sort: "あーくざらっど せいれいのたそがれ"
name-en: "Arc the Lad - Twilight of the Spirits"
region: "NTSC-J"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCPS-15042:
name: "デカボイス [マイク同梱版]"
name-sort: "でかぼいす [まいくどうこんばん]"
@@ -8571,6 +8582,8 @@ SCPS-15058:
region: "NTSC-J"
gsHWFixes:
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCPS-15059:
name: "みんなのGOLF 4"
name-sort: "みんなのごるふ 4"
@@ -10365,9 +10378,14 @@ SCPS-56016:
gameFixes:
- GIFFIFOHack
gsHWFixes:
halfPixelOffset: 2 # Fixes post processing position.
nativeScaling: 2 # Fixes post effects.
estimateTextureRegion: 1 # Improves performance and reduces hash cache size.
gpuPaletteConversion: 2 # Improves performance and reduces hash cache size.
autoFlush: 1 # Corrects shadows (Currently still broken even with this).
recommendedBlendingLevel: 4 # Fixes car shadows but addeds about 5000 barriers, might impact slower machines.
gpuTargetCLUT: 2 # Fixes light flicker.
getSkipCount: "GSC_DTGames"
SCPS-72001:
name: "GRAN TURISMO3 A-spec [MEGA HITS!]"
name-sort: "ぐらんつーりすも3 A-spec [MEGA HITS!]"
@@ -10993,8 +11011,9 @@ SCUS-97231:
region: "NTSC-U"
compat: 5
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCUS-97232:
name: "The Getaway [Demo]"
name-sort: "Getaway, The [Demo]"
@@ -11211,8 +11230,9 @@ SCUS-97282:
name: "Arc the Lad - Twilight of the Spirits [Demo]"
region: "NTSC-U"
gsHWFixes:
textureInsideRT: 1 # Fixes on screen garbage.
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SCUS-97292:
name: "Amplitude [Demo]"
region: "NTSC-U"
@@ -18762,6 +18782,8 @@ SLES-52132:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLES-52133:
name: "Hitman - Contracts"
region: "PAL-F"
@@ -18770,6 +18792,8 @@ SLES-52133:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLES-52134:
name: "Hitman - Contracts"
region: "PAL-I"
@@ -18779,6 +18803,8 @@ SLES-52134:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLES-52135:
name: "Hitman - Contracts"
region: "PAL-G"
@@ -18787,6 +18813,8 @@ SLES-52135:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLES-52136:
name: "Hitman - Contracts"
region: "PAL-S"
@@ -18795,6 +18823,8 @@ SLES-52136:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLES-52143:
name: "Carmen Sandiego - The Secret of the Stolen Drums"
region: "PAL-M4"
@@ -23969,9 +23999,13 @@ SLES-53904:
clampModes:
vuClampMode: 0 # Fixes black artifacts on tracks
gsHWFixes:
halfPixelOffset: 2 # Fixes post processing position.
nativeScaling: 2 # Fixes post effects.
estimateTextureRegion: 1 # Improves performance and reduces hash cache size.
gpuPaletteConversion: 2 # Improves performance and reduces hash cache size.
autoFlush: 1 # Corrects shadows (Currently still broken even with this).
gpuTargetCLUT: 2 # Fixes light flicker.
getSkipCount: "GSC_DTGames"
SLES-53906:
name: "50 Cent - Bulletproof"
region: "PAL-F"
@@ -24793,6 +24827,8 @@ SLES-54187:
SLES-54188:
name: "Nickelodeon Avatar - The Legend of Aang"
region: "PAL-M4"
gsHWFixes:
minimumBlendingLevel: 3 # Fixes missing lighting and skin color.
SLES-54193:
name: "Carol Vorderman's Sudoku"
region: "PAL-E"
@@ -26003,6 +26039,8 @@ SLES-54616:
SLES-54617:
name: "Action Man A.T.O.M. - Alpha Teens on Machines"
region: "PAL-M9"
gsHWFixes:
halfPixelOffset: 4 # Fixes depth line.
SLES-54619:
name: "Pinocchio"
region: "PAL-M3"
@@ -27739,6 +27777,7 @@ SLES-55184:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55185:
name: "Disney/Pixar WALL-E"
region: "PAL-UK"
@@ -27747,6 +27786,7 @@ SLES-55185:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55186:
name: "Disney/Pixar WALL-E"
region: "PAL-S-P"
@@ -27755,6 +27795,7 @@ SLES-55186:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55187:
name: "Disney/Pixar WALL-E"
region: "PAL-F-G"
@@ -27763,6 +27804,7 @@ SLES-55187:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55188:
name: "Disney/Pixar WALL-E"
region: "PAL-G"
@@ -27771,6 +27813,7 @@ SLES-55188:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55189:
name: "Nick Jr. Go Diego Go! Safari Rescue"
region: "PAL-E-F"
@@ -27798,6 +27841,7 @@ SLES-55193:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55194:
name: "Disney/Pixar WALL-E"
region: "PAL-SC"
@@ -27806,6 +27850,7 @@ SLES-55194:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55195:
name: "Disney/Pixar WALL-E"
region: "PAL-GR-I"
@@ -27814,6 +27859,7 @@ SLES-55195:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55196:
name: "Disney/Pixar WALL-E"
region: "PAL-PL-CR"
@@ -27822,6 +27868,7 @@ SLES-55196:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLES-55197:
name: "Dancing Stage SuperNOVA 2"
region: "PAL-M5"
@@ -30353,6 +30400,8 @@ SLKA-25218:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLKA-25219:
name: "Monster Hunter G"
region: "NTSC-K"
@@ -56801,6 +56850,8 @@ SLPS-25406:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLPS-25407:
name: "THE KING OF FIGHTERS 2003"
name-sort: "ざ きんぐ おぶ ふぁいたーず2003"
@@ -57702,6 +57753,8 @@ SLPS-25563:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLPS-25564:
name: "Gallop Racer 8 - Live Horse Racing -"
name-sort: "ぎゃろっぷ れーさー 8 らいゔほーすれーしんぐ"
@@ -65468,6 +65521,8 @@ SLUS-20882:
autoFlush: 1 # Fixes bloom rendering.
roundModes:
vu1RoundMode: 0 # Fixes missing light cones curtains and certain effects.
speedHacks:
instantVU1: 0 # Lowers overall system load.
SLUS-20883:
name: "Tom Clancy's Rainbow Six 3"
region: "NTSC-U"
@@ -66754,9 +66809,13 @@ SLUS-21095:
region: "NTSC-U"
compat: 5
gsHWFixes:
halfPixelOffset: 2 # Fixes post processing position.
nativeScaling: 2 # Fixes post effects.
estimateTextureRegion: 1 # Improves performance and reduces hash cache size.
gpuPaletteConversion: 2 # Improves performance and reduces hash cache size.
autoFlush: 1 # Corrects shadows (Currently still broken even with this).
gpuTargetCLUT: 2 # Fixes light flicker.
getSkipCount: "GSC_DTGames"
SLUS-21096:
name: "Ape Escape - Pumped & Primed"
region: "NTSC-U"
@@ -67158,6 +67217,8 @@ SLUS-21165:
compat: 5
gsHWFixes:
halfPixelOffset: 4 # Fixes post processing alignment.
nativeScaling: 1 # Fixes depth blur intensity.
textureInsideRT: 1 # Fixes on screen garbage.
SLUS-21166:
name: "Full Metal Alchemist 2 - Curse of the Crimson Elixir"
region: "NTSC-U"
@@ -68763,6 +68824,8 @@ SLUS-21395:
name: "Avatar - The Last Airbender"
region: "NTSC-U"
compat: 5
gsHWFixes:
minimumBlendingLevel: 3 # Fixes missing lighting and skin color.
SLUS-21396:
name: "Star Trek - Encounters"
region: "NTSC-U"
@@ -70556,6 +70619,7 @@ SLUS-21736:
gsHWFixes:
halfPixelOffset: 4 # Aligns Post Effect.
nativeScaling: 2 # Fixes Post effect.
autoFlush: 1 # Fixes post lighting.
SLUS-21737:
name: "Riding Star"
region: "NTSC-U"
@@ -70873,10 +70937,12 @@ SLUS-21793:
compat: 3
gsHWFixes:
halfPixelOffset: 2 # Fixes post processing position.
nativeScaling: 1 # Fixes post effects.
nativeScaling: 2 # Fixes post effects.
estimateTextureRegion: 1 # Improves performance and reduces hash cache size.
gpuPaletteConversion: 2 # Improves performance and reduces hash cache size.
autoFlush: 1 # Corrects shadows (Currently still broken even with this).
gpuTargetCLUT: 2 # Fixes light flicker.
getSkipCount: "GSC_DTGames"
SLUS-21794:
name: "Go, Diego, Go! Great Dinosaur Rescue"
region: "NTSC-U"

View File

@@ -17162,162 +17162,168 @@ This action cannot be reversed, and you will lose any saves on the card.</source
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="123"/>
<location filename="../Debugger/MemorySearchWidget.h" line="59"/>
<location filename="../Debugger/MemorySearchWidget.h" line="60"/>
<source>Equals</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="128"/>
<location filename="../Debugger/MemorySearchWidget.h" line="60"/>
<location filename="../Debugger/MemorySearchWidget.h" line="61"/>
<source>Not Equals</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="133"/>
<location filename="../Debugger/MemorySearchWidget.h" line="61"/>
<location filename="../Debugger/MemorySearchWidget.h" line="62"/>
<source>Greater Than</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="138"/>
<location filename="../Debugger/MemorySearchWidget.h" line="62"/>
<location filename="../Debugger/MemorySearchWidget.h" line="63"/>
<source>Greater Than Or Equal</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="143"/>
<location filename="../Debugger/MemorySearchWidget.h" line="63"/>
<location filename="../Debugger/MemorySearchWidget.h" line="64"/>
<source>Less Than</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="148"/>
<location filename="../Debugger/MemorySearchWidget.h" line="64"/>
<location filename="../Debugger/MemorySearchWidget.h" line="65"/>
<source>Less Than Or Equal</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="156"/>
<location filename="../Debugger/MemorySearchWidget.ui" line="153"/>
<location filename="../Debugger/MemorySearchWidget.h" line="73"/>
<source>Unknown Initial Value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="161"/>
<source>Comparison</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="167"/>
<location filename="../Debugger/MemorySearchWidget.ui" line="172"/>
<source>Start</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.ui" line="181"/>
<location filename="../Debugger/MemorySearchWidget.ui" line="186"/>
<source>End</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="94"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="95"/>
<source>Search Results List Context Menu</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="100"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="101"/>
<source>Copy Address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="104"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="105"/>
<source>Go to in Disassembly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="108"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="109"/>
<source>Add to Saved Memory Addresses</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="115"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="116"/>
<source>Remove Result</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="486"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="494"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="500"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="531"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="555"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="564"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="490"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="498"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="504"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="539"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="563"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="573"/>
<source>Debugger</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="486"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="490"/>
<source>Invalid start address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="494"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="498"/>
<source>Invalid end address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="500"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="504"/>
<source>Start address can&apos;t be equal to or greater than the end address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="531"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="539"/>
<source>Invalid search value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="555"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="563"/>
<source>Value is larger than type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="564"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="573"/>
<source>This search comparison can only be used with filter searches.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="577"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="587"/>
<source>%0 results found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.cpp" line="594"/>
<location filename="../Debugger/MemorySearchWidget.cpp" line="604"/>
<source>Searching...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.h" line="65"/>
<location filename="../Debugger/MemorySearchWidget.h" line="66"/>
<source>Increased</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.h" line="66"/>
<location filename="../Debugger/MemorySearchWidget.h" line="67"/>
<source>Increased By</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.h" line="67"/>
<location filename="../Debugger/MemorySearchWidget.h" line="68"/>
<source>Decreased</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.h" line="68"/>
<location filename="../Debugger/MemorySearchWidget.h" line="69"/>
<source>Decreased By</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.h" line="69"/>
<location filename="../Debugger/MemorySearchWidget.h" line="70"/>
<source>Changed</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.h" line="70"/>
<location filename="../Debugger/MemorySearchWidget.h" line="71"/>
<source>Changed By</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../Debugger/MemorySearchWidget.h" line="71"/>
<location filename="../Debugger/MemorySearchWidget.h" line="72"/>
<source>Not Changed</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -154,6 +154,60 @@ bool GSHwHack::GSC_SFEX3(GSRendererHW& r, int& skip)
return true;
}
bool GSHwHack::GSC_DTGames(GSRendererHW& r, int& skip)
{
if (skip == 0)
{
// The game does a shuffle based on the result of a copy from the depth buffer, which ends up looking bizzare so PCSX2 doesn't know how to deal with it.
// What they're actually doing is copying the red/green channel of the result (kind of a shadow stencil) to the alpha channel.
// The further problem to this is the limitation of alpha we can save on an RT as they copy in 255, so I can cheese it here pretending it's RTA'd
if (RTME && RFPSM == PSMCT32 && RTBP0 == RFBP && RTPSM == PSMCT16 && RTEST.ATE && RTEST.ATST == ATST_NEVER && RTEST.AFAIL == AFAIL_FB_ONLY && RFBMSK == 0xFFFFFF)
{
GSTextureCache::Target* rt = g_texture_cache->LookupTarget(GIFRegTEX0::Create(RTBP0, RFBW, RFPSM),
GSVector2i(1, 1), r.GetTextureScaleFactor(), GSTextureCache::RenderTarget);
if (!rt)
return false;
// Clear down the alpha first.
GSHWDrawConfig& clear = r.BeginHLEHardwareDraw(
rt->GetTexture(), nullptr, rt->GetScale(), nullptr, rt->GetScale(), rt->GetUnscaledRect());
clear.colormask.wrgba = 0;
clear.colormask.wa = 1;
r.EndHLEHardwareDraw(false);
// Shuffle the green channel in to alpha.
GSHWDrawConfig& config = r.BeginHLEHardwareDraw(
rt->GetTexture(), nullptr, rt->GetScale(), rt->GetTexture(), rt->GetScale(), rt->GetUnscaledRect());
config.ps.shuffle = 1;
config.ps.dst_fmt = GSLocalMemory::PSM_FMT_32;
config.ps.write_rg = 0;
config.ps.shuffle_same = 0;
config.ps.real16src = 0;
config.ps.shuffle_across = 1;
config.ps.process_rg = r.SHUFFLE_READ;
config.ps.process_ba = r.SHUFFLE_WRITE;
config.colormask.wrgba = 0;
config.colormask.wa = 1;
config.ps.rta_correction = 1;
config.ps.tfx = TFX_DECAL;
config.ps.tcc = true;
r.EndHLEHardwareDraw(true);
rt->m_alpha_min = 0;
rt->m_alpha_max = 255;
skip = 69;
}
}
else
{
if (RTPSM != PSMCT16)
skip = 0;
}
return true;
}
bool GSHwHack::GSC_Tekken5(GSRendererHW& r, int& skip)
{
if (skip == 0)
@@ -1471,6 +1525,7 @@ const GSHwHack::Entry<GSRendererHW::GSC_Ptr> GSHwHack::s_get_skip_count_function
CRC_F(GSC_SakuraWarsSoLongMyLove),
CRC_F(GSC_Simple2000Vol114),
CRC_F(GSC_SFEX3),
CRC_F(GSC_DTGames),
CRC_F(GSC_TalesOfLegendia),
CRC_F(GSC_TalesofSymphonia),
CRC_F(GSC_UrbanReign),

View File

@@ -11,6 +11,7 @@ public:
static bool GSC_Manhunt2(GSRendererHW& r, int& skip);
static bool GSC_SacredBlaze(GSRendererHW& r, int& skip);
static bool GSC_SFEX3(GSRendererHW& r, int& skip);
static bool GSC_DTGames(GSRendererHW& r, int& skip);
static bool GSC_Tekken5(GSRendererHW& r, int& skip);
static bool GSC_BurnoutGames(GSRendererHW& r, int& skip);
static bool GSC_BlackAndBurnoutSky(GSRendererHW& r, int& skip);

View File

@@ -554,7 +554,7 @@ void GSRendererHW::ConvertSpriteTextureShuffle(u32& process_rg, u32& process_ba,
}
else
{
if ((floor(m_vt.m_max.p.y) <= rt->m_valid.w) && ((floor(m_vt.m_max.p.x) > (m_cached_ctx.FRAME.FBW * 64)) || (rt->m_TEX0.TBW != m_cached_ctx.FRAME.FBW)))
if (((m_r.width() + 8) & ~(GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x - 1)) != GSLocalMemory::m_psm[m_cached_ctx.FRAME.PSM].pgs.x && (floor(m_vt.m_max.p.y) <= rt->m_valid.w) && ((floor(m_vt.m_max.p.x) > (m_cached_ctx.FRAME.FBW * 64)) || (rt->m_TEX0.TBW < m_cached_ctx.FRAME.FBW)))
{
half_bottom_vert = false;
half_bottom_uv = false;
@@ -952,7 +952,7 @@ GSVector2i GSRendererHW::GetValidSize(const GSTextureCache::Source* tex)
// Make sure sizes are within max limit of 2048,
// this shouldn't happen but if it does it needs to be addressed,
// clamp the size so at least it doesn't cause a crash.
constexpr int valid_max_size = 2048;
constexpr int valid_max_size = 2047;
if ((width > valid_max_size) || (height > valid_max_size))
{
Console.Warning("Warning: GetValidSize out of bounds, X:%d Y:%d", width, height);

View File

@@ -15,7 +15,7 @@
#include "MTVU.h"
#include "VMManager.h"
static const float UPDATE_INTERVAL = 0.5f;
static const float UPDATE_INTERVAL = 0.25f;
static float s_fps = 0.0f;
static float s_internal_fps = 0.0f;

View File

@@ -39,6 +39,13 @@ __fi void makeMergeMask(u32& x)
x = ((x & 0x40) >> 6) | ((x & 0x10) >> 3) | (x & 4) | ((x & 1) << 3);
}
#ifdef _WIN32
__fi void makeMergeMaskAllColumns(u32& x)
{
x = ((x & 0x40404040) >> 6) | ((x & 0x10101010) >> 3) | (x & 0x04040404) | ((x & 0x01010101) << 3);
}
#endif
__fi void VifUnpackSSE_Dynarec::SetMasks(int cS) const
{
const int idx = v.idx;
@@ -260,11 +267,8 @@ void VifUnpackSSE_Dynarec::CompileRoutine()
#ifdef _WIN32
// See SetMasks()
const u32 m0 = vB.mask;
const u32 m3 = ((m0 & 0xaaaaaaaa) >> 1) & ~m0;
const u32 m2 = (m0 & 0x55555555) & (~m0 >> 1);
// see doMaskWrite()
const u32 m4 = (m0 & ~((m3 << 1) | m2)) & 0x55555555;
const u32 m5 = ~(m2 | m3 | m4) & 0x0f0f0f0f;
u32 m3 = ((m0 & 0xaaaaaaaa) >> 1) & ~m0;
u32 m2 = (m0 & 0x55555555) & (~m0 >> 1);
int regsUsed = 2;
// Allocate column registers
@@ -287,26 +291,36 @@ void VifUnpackSSE_Dynarec::CompileRoutine()
// Allocate row register
if ((doMask && m2) || doMode)
{
rowReg = xRegisterSSE(regsUsed);
if (regsUsed - 6 >= 0)
nonVolatileRegs[regsUsed - 6] = rowReg;
rowReg = xRegisterSSE(regsUsed++);
regsUsed++;
}
// see doMaskWrite()
u32 m4 = (m0 & ~((m3 << 1) | m2)) & 0x55555555;
makeMergeMaskAllColumns(m2);
makeMergeMaskAllColumns(m3);
makeMergeMaskAllColumns(m4);
const u32 m5 = ~(m2 | m3 | m4) & 0x0f0f0f0f;
// Allocate temp register
if (doMode && (doMode != 3) &&
doMask && m5 != 0x0f0f0f0f)
{
tmpReg = xRegisterSSE(regsUsed);
if (regsUsed - 6 >= 0)
nonVolatileRegs[regsUsed - 6] = tmpReg;
tmpReg = xRegisterSSE(regsUsed++);
regsUsed++;
}
// Allocate zero register
if (needXmmZero)
{
zeroReg = xRegisterSSE(regsUsed);
if (regsUsed - 6 >= 0)
nonVolatileRegs[regsUsed - 6] = zeroReg;
zeroReg = xRegisterSSE(regsUsed++);
regsUsed++;
}
regsUsed -= 6;