The Last of Us: Difference between revisions

From RPCS3 Wiki
(Testing patches on per-game page)
(→‎Patches: shorten code size + simplify debug menu code)
(37 intermediate revisions by 6 users not shown)
Line 6: Line 6:
|genre    = Action, Adventure, Survival horror
|genre    = Action, Adventure, Survival horror
|modes    = Single-player, Multiplayer <!-- Choose all relevant options: Single-player, Co-op, Multiplayer -->
|modes    = Single-player, Multiplayer <!-- Choose all relevant options: Single-player, Co-op, Multiplayer -->
|gameid    = {{gameid|id=BCES01584, BCES01585, BCUS98174, NPEA00435|oid=BCAS20270, BCJS37010, NPJA00096, NPUA80960|ird=Yes}}<br>'''''Left Behind'''''<br>{{gameid|oid=NPEA00521, NPJA00129, NPUA81175, NPHA80279|ird=No}}<br>'''''Demo'''''<br>{{gameid|id=NPHA80206, NPUA70257|ird=NA}}
|gameid    = {{gameid|id=BCES01584, BCES01585, BCUS98174, NPEA00435|oid=BCAS20270, BCJS37010, NPJA00096, NPUA80960|ird=Yes}}<br>'''''Left Behind'''''<br>{{gameid|oid=NPEA00521, NPJA00129, NPUA81175, NPHA80279|ird=No}}<br>'''''Demo'''''<br>{{gameid|NPUA70257|ird=NA}}
}}
}}


Line 16: Line 16:


==Configuration==
==Configuration==
<!-- Only enter mandatory non-default settings to be used. Delete parameters which are not applicable -->{{config
<!-- Enter mandatory non-default settings to be used. Recommendatory or default settings can be entered only on exceptional basis. -->{{config
<!-- CPU configuration -->
<!-- CPU configuration -->
|ppu decoder                          = <!-- Interpreter (precise), Interpreter (fast), Recompiler (LLVM) -->
|ppu decoder                          = <!-- Interpreter (precise), Interpreter (fast), Recompiler (LLVM) -->
Line 39: Line 39:
|tsx instructions notes                =  
|tsx instructions notes                =  
<!-- GPU configuration -->
<!-- GPU configuration -->
|renderer                              = Vulkan <!-- OpenGL, Vulkan, Disabled -->
|renderer                              = <!-- OpenGL, Vulkan, Disabled -->
|renderer notes                        = Recommended to get the best performance.
|renderer notes                        =  
|aspect ratio                          = <!-- 4:3, 16:9 -->
|aspect ratio                          = <!-- 4:3, 16:9 -->
|aspect ratio notes                    =  
|aspect ratio notes                    =  
Line 58: Line 58:
|shader mode notes                    =  
|shader mode notes                    =  
|write color buffers                  = On <!-- On, Off -->
|write color buffers                  = On <!-- On, Off -->
|write color buffers notes            = Fixes graphical issues (nuclear rain and particles effect) with a slight reduction in performance.
|write color buffers notes            = Only needed if you're not using MLAA patch. Fixes Green Rain and particle issues. Slightly reduces performance.
|strict rendering mode                = <!-- On, Off -->
|strict rendering mode                = <!-- On, Off -->
|strict rendering mode notes          =  
|strict rendering mode notes          =  
Line 65: Line 65:
|stretch to display area              = <!-- On, Off -->
|stretch to display area              = <!-- On, Off -->
|stretch to display area notes        =  
|stretch to display area notes        =  
|enable 3d                            = <!-- On, Off -->
|enable 3d notes                      =
|disable vertex cache                  = <!-- On, Off -->
|disable vertex cache                  = <!-- On, Off -->
|disable vertex cache notes            =  
|disable vertex cache notes            =  
Line 74: Line 76:
|audio out linux                      = <!-- OpenAL, PulseAudio, ALSA, Disabled -->
|audio out linux                      = <!-- OpenAL, PulseAudio, ALSA, Disabled -->
|audio out linux notes                =  
|audio out linux notes                =  
|audio channels                        = <!-- Surround 7.1, Downmix to Stereo, Downmix to 5.1 -->
|audio channels notes                  =
|dump to file                          = <!-- On, Off -->
|dump to file                          = <!-- On, Off -->
|dump to file notes                    =  
|dump to file notes                    =  
|convert to 16-bit                    = <!-- On, Off -->
|convert to 16-bit                    = <!-- On, Off -->
|convert to 16-bit notes              =  
|convert to 16-bit notes              =  
|downmix to stereo                    = <!-- On, Off -->
|downmix to stereo notes              =
|volume                                = <!-- Value between 0% to 200% -->
|volume                                = <!-- Value between 0% to 200% -->
|volume notes                          =  
|volume notes                          =  
Line 108: Line 110:
|accurate llvm dfma                    = <!-- On, Off -->
|accurate llvm dfma                    = <!-- On, Off -->
|accurate llvm dfma notes              =  
|accurate llvm dfma notes              =  
|accurate rsx reservation access      = On <!-- On, Off -->
|accurate rsx reservation access notes = To be enabled on systems that do not have TSX.
|ppu llvm accurate vector nans        = <!-- On, Off -->
|ppu llvm accurate vector nans notes  =
|silence all logs                      = <!-- On, Off -->
|silence all logs                      = <!-- On, Off -->
|silence all logs notes                =  
|silence all logs notes                =  
Line 124: Line 130:
|disable on-disk shader cache          = <!-- On, Off -->
|disable on-disk shader cache          = <!-- On, Off -->
|disable on-disk shader cache notes    =  
|disable on-disk shader cache notes    =  
|disable native float16 support        = <!-- On, Off -->
|disable native float16 support notes  =
|relaxed zcull sync                    = <!-- On, Off -->
|relaxed zcull sync                    = <!-- On, Off -->
|relaxed zcull sync notes              =  
|relaxed zcull sync notes              =  
Line 133: Line 141:
|clocks scale notes                    =  
|clocks scale notes                    =  
<!-- Debug configuration -->
<!-- Debug configuration -->
|disable zcull occlusion queries      = <!-- On, Off -->
|disable zcull occlusion queries notes =
|force cpu blit emulation              = <!-- On, Off -->
|force cpu blit emulation              = <!-- On, Off -->
|force cpu blit emulation notes        =  
|force cpu blit emulation notes        =  
Line 139: Line 149:
|accurate getllar                      = <!-- On, Off -->
|accurate getllar                      = <!-- On, Off -->
|accurate getllar notes                =  
|accurate getllar notes                =  
|accurate putlluc                      = <!-- On, Off -->
|accurate putlluc notes                =
|accurate rsx reservation access      = On <!-- On, Off -->
|accurate rsx reservation access notes = To be enabled on systems that do not have TSX.
|hook static functions                = <!-- On, Off -->
|hook static functions                = <!-- On, Off -->
|hook static functions notes          =  
|hook static functions notes          =  
|accurate ppu 128 reservations        = <!-- Always Enabled, Disabled, Value between 1 to 8 -->
|accurate ppu 128 reservations notes  =
}}
}}


Line 153: Line 161:
==Special Notes==
==Special Notes==
<!-- Mention any additional notes if necessary. If no special notes are required, remove this section -->
<!-- Mention any additional notes if necessary. If no special notes are required, remove this section -->
===Patches===
{{patch
<pre class="mw-collapsible mw-collapsed">
|type    = PPU
|version = 1.2
|content =  
Anchors:
Anchors:
  # Since we only change store reg and branch, we don't need to patch last 2 bytes again.
   tlou100_mlaa: &tlou100_mlaa
   tlou100_mlaa: &tlou100_mlaa
     - [ be32, 0x00a51a8c, 0x48000a64 ] # unconditonally branch to disable MLAA
     - [ be16, 0x00a51a8c, 0x4800 ]     # unconditonally branch to disable MLAA
 
    - [ be16, 0x0092ddac, 0x4800 ]    # Skip memory check function
    - [ be32, 0x00ae5d4c, 0x38000000 ] # Green rain
    - [ be32, 0x00a2c4f0, 0x38000000 ] # Green rain
    - [ be32, 0x00a2c4fc, 0x38000000 ] # Green rain
    - [ be32, 0x00a58da8, 0x60000000 ] # skip assert: x + w <= width && y + h <= height
   # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming  
   # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming  
   # address. Without them this patch wouldn't have been possible.
   # address. Without them this patch wouldn't have been possible.
Line 170: Line 185:
    
    
   tlou100_post: &tlou100_post
   tlou100_post: &tlou100_post
    - [ be32, 0x00a7991c, 0x38000003 ] # Post-processing modes                    (mem address: 0x14C79C7)
  #- [ be32, 0x00a7991c, 0x38000003 ] # Post-processing modes                    (mem address: 0x14C79C7)
 
    - [ be32, 0x0093e300, 0xc0090990 ] # load e190 with 0
    - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
    - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
 
   tlou100_mesh: &tlou100_mesh
   tlou100_mesh: &tlou100_mesh
     - [ be32, 0x00923a94, 0x98090004 ] # Disable Mesh trimming      (r3  => r0 ) (mem address: 0x142C584)
     - [ be16, 0x00923a94, 0x9809 ]     # Disable Mesh trimming      (r3  => r0 ) (mem address: 0x142C584)
    
    
   # Many settings below are enabled/disabled in sub_A7A340. In this subroutine,
   # Many settings below are enabled/disabled in sub_A7A340. In this subroutine,
Line 183: Line 201:
    
    
   tlou100_ssao: &tlou100_ssao
   tlou100_ssao: &tlou100_ssao
     - [ be32, 0x00a7a470, 0x9b830067 ] # Disable SSAO                (r27 => r28) (mem address: 0x14C7C0F)
     - [ be16, 0x00a7a470, 0x9b83 ]     # Disable SSAO                (r27 => r28) (mem address: 0x14C7C0F)
    
    
   tlou100_mb: &tlou100_mb
   tlou100_mb: &tlou100_mb
     - [ be32, 0x00a7a4d4, 0x9b830086 ] # Disable motion blur        (r27 => r28) (mem address: 0x14C7C2E)
     - [ be16, 0x00a7a4d4, 0x9b83 ]     # Disable motion blur        (r27 => r28) (mem address: 0x14C7C2E)
    
    
   tlou100_dof: &tlou100_dof
   tlou100_dof: &tlou100_dof
     - [ be32, 0x00a7a4e0, 0x9b830089 ] # Disable depth of field      (r27 => r28) (mem address: 0x14C7C31)
     - [ be16, 0x00a7a4e0, 0x9b83 ]     # Disable depth of field      (r27 => r28) (mem address: 0x14C7C31)
    
    
   tlou100_dbv: &tlou100_dbv
   tlou100_dbv: &tlou100_dbv
     - [ be32, 0x00a7a760, 0x9b6302f5 ] # Depth buffer viewport      (r28 => r27) (mem address: 0x14C7E9D)
     - [ be16, 0x00a7a760, 0x9b63 ]     # Depth buffer viewport      (r28 => r27) (mem address: 0x14C7E9D)
    
    
   tlou100_dbf: &tlou100_dbf
   tlou100_dbf: &tlou100_dbf
     - [ be32, 0x00a7a7ac, 0x9b830319 ] # Depth border fix            (r27 => r28) (mem address: 0x14C7EC1)
     - [ be16, 0x00a7a7ac, 0x9b83 ]     # Depth border fix            (r27 => r28) (mem address: 0x14C7EC1)
    
    
   tlou100_db: &tlou100_db
   tlou100_db: &tlou100_db
     - [ be32, 0x00a7a7b8, 0x90e303e8 ] # Depth buffer                (r27 => r6 ) (mem address: 0x14C7F93)
     - [ be16, 0x00a7a7b8, 0x90e3 ]     # Depth buffer                (r27 => r6 ) (mem address: 0x14C7F93)
 
    - [ be16, 0x00a516ec, 0x4800 ]    # Cabin resort crash fix
 
   tlou100_speed: &tlou100_speed
   tlou100_speed: &tlou100_speed
     - [ be32, 0x00a7a6b8, 0x938302b4 ] # Speedboost                              (mem address: 0x14c7e5f)
     - [ be16, 0x00a7a6b8, 0x9383 ]     # Speedboost                              (mem address: 0x14c7e5f)
 
  tlou100_trap: &tlou100_trap
    - [ be32, 0x79af9c, 0x60000000 ] # Fixes 1st RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x485638, 0x60000000 ] # Fixes 2nd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2bd53c, 0x60000000 ] # Fixes 3rd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2bedb4, 0x60000000 ] # Fixes 4th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74b354, 0x60000000 ] # Fixes 5th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9a19f0, 0x60000000 ] # Fixes 6th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74bcc8, 0x60000000 ] # Fixes 7th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x8fbd3c, 0x60000000 ] # Fixes 8th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x8fbdc8, 0x60000000 ] # Fixes 9th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74bdf8, 0x60000000 ] # Fixes 10th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74bec0, 0x60000000 ] # Fixes 11th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74c0a0, 0x60000000 ] # Fixes 12th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9a0914, 0x60000000 ] # Fixes 13th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa41dd8, 0x60000000 ] # Fixes 14th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa41e3c, 0x60000000 ] # Fixes 15th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x70c7c0, 0x60000000 ] # Fixes 16th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x74b584, 0x60000000 ] # Fixes 17th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x71471c, 0x60000000 ] # Fixes 18th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    
    
   tlou100_spulighting: &tlou100_spulighting
   tlou100_spulighting: &tlou100_spulighting
     - [ be32, 0x00afeb24, 0x48000010 ]
     - [ be16, 0x00afeb24, 0x4800 ]
    
    
   tlou111_mlaa: &tlou111_mlaa
   tlou111_mlaa: &tlou111_mlaa
     - [ be32, 0x00a80350, 0x48000ab8 ] # unconditonally branch to disable MLAA
     - [ be16, 0x00a80350, 0x4800 ]     # unconditonally branch to disable MLAA
 
    - [ be16, 0x0095b8f8, 0x4800 ]    # Skip memory check function
    - [ be32, 0x00b0e140, 0x38000000 ] # Green rain
    - [ be32, 0x00a5bc38, 0x38000000 ] # Green rain
    - [ be32, 0x00a5bc44, 0x38000000 ] # Green rain
    - [ be32, 0x00a877e0, 0x60000000 ] # skip assert: x + w <= width && y + h <= height
 
   # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming  
   # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming  
   # address. Without them this patch wouldn't have been possible.
   # address. Without them this patch wouldn't have been possible.
Line 238: Line 242:
   #    4 = Bloom & Depth of Field
   #    4 = Bloom & Depth of Field
   #    5 = Bloom & Depth of Field & Tonemapping (Default)
   #    5 = Bloom & Depth of Field & Tonemapping (Default)
 
 
   tlou111_post: &tlou111_post
   tlou111_post: &tlou111_post
    - [ be32, 0x00aa944c, 0x38000003 ] # Post-processing modes                    (mem address: 0x1571867)
  #- [ be32, 0x00aa944c, 0x38000003 ] # Post-processing modes                    (mem address: 0x1571867)
 
    - [ be32, 0x0096be4c, 0xc0090990 ] # load e190 with 0
    - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0
    - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0
 
   tlou111_mesh: &tlou111_mesh
   tlou111_mesh: &tlou111_mesh
     - [ be32, 0x009515d8, 0x98090004 ] # Disable Mesh trimming      (r3  => r0 ) (mem address: 0x14A9604)
     - [ be16, 0x009515d8, 0x9809 ]     # Disable Mesh trimming      (r3  => r0 ) (mem address: 0x14A9604)
    
    
   # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
   # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
Line 253: Line 260:
    
    
   tlou111_ssao: &tlou111_ssao
   tlou111_ssao: &tlou111_ssao
     - [ be32, 0x00aa9f9c, 0x9b830067 ] # Disable SSAO                (r27 => r28) (mem address: 0x1571AAF)
     - [ be16, 0x00aa9f9c, 0x9b83 ]     # Disable SSAO                (r27 => r28) (mem address: 0x1571AAF)
    
    
   tlou111_mb: &tlou111_mb
   tlou111_mb: &tlou111_mb
     - [ be32, 0x00aaa000, 0x9b830086 ] # Disable motion blur        (r27 => r28) (mem address: 0x1571ACE)
     - [ be16, 0x00aaa000, 0x9b83 ]     # Disable motion blur        (r27 => r28) (mem address: 0x1571ACE)
    
    
   tlou111_dof: &tlou111_dof
   tlou111_dof: &tlou111_dof
     - [ be32, 0x00aaa00c, 0x9b830089 ] # Disable depth of field      (r27 => r28) (mem address: 0x1571AD1)
     - [ be16, 0x00aaa00c, 0x9b83 ]     # Disable depth of field      (r27 => r28) (mem address: 0x1571AD1)
    
    
   tlou111_dbv: &tlou111_dbv
   tlou111_dbv: &tlou111_dbv
     - [ be32, 0x00aaa290, 0x9b6302f9 ] # Depth buffer viewport      (r28 => r27) (mem address: 0x1571D41)
     - [ be16, 0x00aaa290, 0x9b63 ]     # Depth buffer viewport      (r28 => r27) (mem address: 0x1571D41)
    
    
   tlou111_dbf: &tlou111_dbf
   tlou111_dbf: &tlou111_dbf
     - [ be32, 0x00aaa2d8, 0x9b83031d ] # Depth border fix            (r27 => r28) (mem address: 0x1571D65)
     - [ be16, 0x00aaa2d8, 0x9b83 ]     # Depth border fix            (r27 => r28) (mem address: 0x1571D65)
    
    
   tlou111_db: &tlou111_db
   tlou111_db: &tlou111_db
     - [ be32, 0x00aaa2e4, 0x90c303ec ] # Depth buffer                (r27 => r6 ) (mem address: 0x1571E37)
     - [ be16, 0x00aaa2e4, 0x90c3 ]     # Depth buffer                (r27 => r6 ) (mem address: 0x1571E37)
 
    - [ be16, 0x00a7ffac, 0x4800 ]    # Cabin resort crash fix
 
   tlou111_speed: &tlou111_speed
   tlou111_speed: &tlou111_speed
     - [ be32, 0x00aaa1e8, 0x938302b8 ] # Speedboost                              (mem address: 0x1571d03)
     - [ be16, 0x00aaa1e8, 0x9383 ]     # Speedboost                              (mem address: 0x1571d03)
 
  tlou111_trap: &tlou111_trap
    - [ be32, 0x7bb5c4, 0x60000000 ] # Fixes 1st RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x579a4c, 0x60000000 ] # Fixes 2nd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2c9868, 0x60000000 ] # Fixes 3rd RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x2ca7f4, 0x60000000 ] # Fixes 4th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x76f68c, 0x60000000 ] # Fixes 5th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9cf568, 0x60000000 ] # Fixes 6th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x770000, 0x60000000 ] # Fixes 7th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x91b0a8, 0x60000000 ] # Fixes 8th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x91b134, 0x60000000 ] # Fixes 9th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x770130, 0x60000000 ] # Fixes 10th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x7701f8, 0x60000000 ] # Fixes 11th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x7703d8, 0x60000000 ] # Fixes 12th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x9ce48c, 0x60000000 ] # Fixes 13th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa71538, 0x60000000 ] # Fixes 14th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0xa7159c, 0x60000000 ] # Fixes 15th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x7306b0, 0x60000000 ] # Fixes 16th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x76f8bc, 0x60000000 ] # Fixes 17th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x738a48, 0x60000000 ] # Fixes 18th RSX Trap Error in the Hotel Elevator/Underground Tunnel
    - [ be32, 0x738a48, 0x60000000 ] # Fixes 19th RSX Trap Error in the Underground Tunnel
    - [ be32, 0xa7159c, 0x60000000 ] # Fixes 20th RSX Trap Error in the Underground Tunnel
    
    
   tlou111_spulighting: &tlou111_spulighting
   tlou111_spulighting: &tlou111_spulighting
     - [ be32, 0x00b294ec, 0x48000010 ]
     - [ be16, 0x00b294ec, 0x4800 ]
    
    
  dbnotes: &dbnotes "This patch causes vertex explosion during \"Cabin Resort\" Subchapter.\nDisable this patch and enable SPU Lighting patch for this chapter."
   spulightingnotes: &spulightingnotes "Removes some broken effects and improve performance.\nThis patch can always be enabled."
   spulightingnotes: &spulightingnotes "Removes some broken effects and improve performance.\nThis patch can always be enabled."
    
    
  debugmenunotes: &debugmenunotes "L3 + Start = Dev Menu\nL3 + Select = Quick Menu\nL3 + Triangle = Debug Text\nL3 + R3 = Debug Fly"
  fpsnotes: &fpsnotes "Unlocks the FPS without any special settings.\nGame may crash above 500FPS in loading screen."
  tloumlaanotes: &tloumlaanotes "Allows for the use of Resolution Scaling and improves performance.\nVersion 2.0 fixes crashes introduced in the original patch.\nVersion 3.0 Fixes the Green Rain in more areas.\nIncorrect bloom can be addressed by using the Bloom patches below.\nKnown issues: Non working listen mode"
   tlou100_title: &tlou100_title
   tlou100_title: &tlou100_title
     "The Last of Us":
     "The Last of Us":
Line 308: Line 299:
       BCJS37010: [ 01.00 ]
       BCJS37010: [ 01.00 ]
       BCAS20270: [ 01.00 ]
       BCAS20270: [ 01.00 ]
 
 
   tlou111_title: &tlou111_title
   tlou111_title: &tlou111_title
     "The Last of Us":
     "The Last of Us":
Line 321: Line 312:
     Games: *tlou100_title
     Games: *tlou100_title
     Author: Whatcookie
     Author: Whatcookie
     Notes: Allows for the use of Resolution Scaling in the title and also improves performance. However, please note that this patch causes a few issues such as the subchapter "The Cargo" only showing a blackscreen, incorrect bloom effect and the hearing feature no longer working. However, the first two issues can be addressed with the post-processing patch below.
     Notes: *tloumlaanotes
     Patch Version: 1.0
     Patch Version: 3.0
     Patch:
     Patch:
       - [ load, *tlou100_mlaa ]
       - [ load, *tlou100_mlaa ]
   Post-processing modes:
   No Bloom:
     Games: *tlou100_title
     Games: *tlou100_title
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Notes: This patch addresses issues caused by the MLAA patch such as the subchapter "The Cargo" only showing a blackscreen and incorrect bloom effect.
     Notes:  
     Patch Version: 1.0
     Patch Version: 1.0
    Group: Bloom
     Patch:
     Patch:
       - [ load, *tlou100_post ]
       - [ load, *tlou100_post ]
Line 377: Line 369:
     Games: *tlou100_title
     Games: *tlou100_title
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Notes: *dbnotes
     Notes:  
     Patch Version: 1.0
     Patch Version: 1.0
     Patch:
     Patch:
Line 388: Line 380:
     Patch:
     Patch:
       - [ load, *tlou100_speed ]
       - [ load, *tlou100_speed ]
  Disable RSX trap errors:
    Games: *tlou100_title
    Author: Aphelion Gaming
    Notes: Disables most fatal RSX trap errors encountered while playing the game. However, this patch must be disabled after the elevator scene in the hotel chapter, as they cause a black screen immediately after you get past the trap error trigger spots and reach the autosave point.
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_trap ]
   Disable SPU lighting:
   Disable SPU lighting:
     Games: *tlou100_title
     Games: *tlou100_title
Line 402: Line 387:
     Patch:
     Patch:
       - [ load, *tlou100_spulighting ]
       - [ load, *tlou100_spulighting ]
  Debug Menu:
    Games: *tlou100_title
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0003b2a0, 0x419e ]
  21:9 Aspect Ratio:
    Games: *tlou100_title
    Author: illusion
    Notes: HUD Elements will be stretched. Users need to enable the "Stretch to Display Area" option in RPCS3 for this patch to work.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000325B8, 0x60000000 ] # nop write for ar float
      - [ be32, 0x14AEBD0,  0x3ED70A3D ] # ar float
      - [ be32, 0x128F2F4,  0x3F400000 ]
  Unlock FPS:
    Games: *tlou100_title
    Author: illusion
    Notes: *fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00036AB8, 0x38A00000 ]
  Bloom High:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes:
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e300, 0xc01e1b64 ] # load e190 with 0.75f
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
  Bloom Medium:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes:
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e300, 0xc01e034c ] # load e190 with 0.5f
      - [ be32, 0x0093e308, 0xc1be0e14 ] # load e194 with 0.25f
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
  Bloom Low:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes:
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e300, 0xc01e0e14 ] # load e190 with 0.25f
      - [ be32, 0x0093e308, 0xc1be0e14 ] # load e194 with 0.25f
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
  Bloom Default:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes: Replicates Bloom settings with MLAA Enabled. (In Game Only)
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f


PPU-120fb71f7352d62521c639b0e99f960018c10a56:
PPU-120fb71f7352d62521c639b0e99f960018c10a56:
   Disable in-built MLAA:
   Disable in-built MLAA:
     Games: *tlou111_title
     Games: *tlou111_title
     Author: Whatcookie
     Author: Whatcookie, illusion, ZEROx
     Notes: Allows for the use of Resolution Scaling in the title and also improves performance. However, please note that this patch causes a few issues such as the subchapter "The Cargo" only showing a blackscreen, incorrect bloom effect and the hearing feature no longer working. However, the first two issues can be addressed with the post-processing patch below.
     Notes: *tloumlaanotes
     Patch Version: 1.0
     Patch Version: 3.0
     Patch:
     Patch:
       - [ load, *tlou111_mlaa ]
       - [ load, *tlou111_mlaa ]
   Post-processing modes:
   No Bloom:
     Games: *tlou111_title
     Games: *tlou111_title
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Notes: This patch addresses issues caused by the MLAA patch such as the subchapter "The Cargo" only showing a blackscreen and incorrect bloom effect.
     Notes:  
     Patch Version: 1.0
     Patch Version: 1.0
    Group: Bloom
     Patch:
     Patch:
       - [ load, *tlou111_post ]
       - [ load, *tlou111_post ]
Line 463: Line 513:
     Games: *tlou111_title
     Games: *tlou111_title
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Author: JohnHolmesII, ZEROx, illusion, Juhn
     Notes: *dbnotes
     Notes:  
     Patch Version: 1.0
     Patch Version: 1.0
     Patch:
     Patch:
Line 474: Line 524:
     Patch:
     Patch:
       - [ load, *tlou111_speed ]
       - [ load, *tlou111_speed ]
  Disable RSX trap errors:
    Games: *tlou111_title
    Author: Aphelion Gaming
    Notes: Disables most fatal RSX trap errors encountered while playing the game. However, this patch must be disabled after the elevator scene in the hotel chapter, as they cause a black screen immediately after you get past the trap error trigger spots and reach the autosave point.
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_trap ]
   Disable SPU Lighting:
   Disable SPU Lighting:
     Games: *tlou111_title
     Games: *tlou111_title
Line 488: Line 531:
     Patch:
     Patch:
       - [ load, *tlou111_spulighting ]
       - [ load, *tlou111_spulighting ]
</pre>
  Debug Menu:
    Games: *tlou111_title
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0003bf9c, 0x419e ]
  21:9 Aspect Ratio:
    Games: *tlou111_title
    Author: illusion
    Notes: HUD Elements will be stretched. Users need to enable the "Stretch to Display Area" option in RPCS3 for this patch to work.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0003556C, 0x60000000 ] # nop write for ar float
      - [ be32, 0x1558A50,  0x3ED70A3D ] # ar float
      - [ be32, 0x12C1964,  0x3F400000 ]
  Unlock FPS:
    Games: *tlou111_title
    Author: illusion
    Notes: *fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00039D08, 0x38A00000 ]
  Bloom High:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes:
    Patch Version: 1.0
    Group: Bloom
    Patch:
        - [ be32, 0x0096BE4c, 0xc01e1b64 ] # load e190 with 0.75f
        - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
        - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f
  Bloom Medium:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes:
    Patch Version: 1.0
    Group: Bloom
    Patch:
        - [ be32, 0x0096BE4c, 0xc01e034c ] # load e190 with 0.5f
        - [ be32, 0x0096BE54, 0xc1be0e14 ] # load e194 with 0.25f
        - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
        - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f
  Bloom Low:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes:
    Patch Version: 1.0
    Group: Bloom
    Patch:
        - [ be32, 0x0096BE4c, 0xc01e0e14 ] # load e190 with 0.25f
        - [ be32, 0x0096BE54, 0xc1be0e14 ] # load e194 with 0.25f
        - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
        - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f
  Bloom Default:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes: Replicates Bloom settings with MLAA Enabled. (In Game Only)
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f
}}
 
{{patch
|type    = Canary
|version = 1.2
|content =
Anchors:
  tlou100_spucrashfix: &tlou100_spucrashfix
    - [ be16, 0x1291C0C, 0x3F00 ]      # set float to 0.5 for sun pos(?)
    - [ be32, 0x0093E8B4, 0xC0490E57 ] # Dev Menu -> Rendering -> HDR Tonemapping -> display brightness -1.404
    - [ be32, 0x00335DB8, 0x60000000 ] # nop reset in option menu
 
  tlou111_spucrashfix: &tlou111_spucrashfix
    - [ be16, 0x12C41A4, 0x3F00 ]      # set float to 0.5 for sun pos(?)
    - [ be32, 0x0096C400, 0xC0490E57 ] # Dev Menu -> HDR Tonemapping -> display brightness -1.404
    - [ be32, 0x0034AFB8, 0x60000000 ] # nop reset in option menu
 
  spucrashnotes: &spucrashnotes "This patch is now obsolete. Better implementation has been implemented into MLAA Patch.\nOld description:\nThis patch attempts to addresses issues caused by the MLAA patch causing crashes during the following subchapters:\nBill's Town: High School Escape\nPittsburgh: Financial District, Escape the City\nUniversity: Go Big Horns\n\nKnown Issues:\nMenu too dark.\nSun in wrong position.\nLighting flickers during sun position change."
 
  tlou100_title: &tlou100_title
    "The Last of Us":
      BCES01584: [ 01.00 ]
      BCES01585: [ 01.00 ]
      BCUS98174: [ 01.00 ]
      BCJS37010: [ 01.00 ]
      BCAS20270: [ 01.00 ]
 
  tlou111_title: &tlou111_title
    "The Last of Us":
      BCES01584: [ 01.11 ]
      BCES01585: [ 01.11 ]
      BCUS98174: [ 01.11 ]
      BCJS37010: [ 01.11 ]
      BCAS20270: [ 01.11 ]
 
PPU-9df60dc1aa5005a0c80e9066e4951dc0471553e6:
  SPU Crash Workaround:
    Games: *tlou100_title
    Author: illusion, ZEROx
    Notes: *spucrashnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_spucrashfix ]
 
PPU-120fb71f7352d62521c639b0e99f960018c10a56:
  SPU Crash Workaround:
    Games: *tlou111_title
    Author: illusion, ZEROx
    Notes: *spucrashnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_spucrashfix ]
}}

Revision as of 07:09, 31 October 2020

The Last of Us
Developer(s) Naughty Dog
Publisher(s) Sony Computer Entertainment
Release date(s) June 14, 2013
Release type PlayStation exclusive
Genre(s) Action, Adventure, Survival horror
Mode(s) Single-player, Multiplayer
GameID(s) BCES01584 (IRD), BCES01585 (IRD), BCUS98174 (IRD), NPEA00435, BCAS20270 (IRD), BCJS37010 (IRD), NPJA00096, NPUA80960
Left Behind
NPEA00521, NPJA00129, NPUA81175, NPHA80279
Demo
Quick links Check Compatibility
Open Issues
Search Google
Wikipedia Page

The Last of Us is a game where players control Joel, a smuggler tasked with escorting a teenage girl, Ellie, across a post-apocalyptic United States. The Last of Us is played from a third-person perspective. Players use firearms and improvised weapons, and can use stealth to defend against hostile humans and cannibalistic creatures infected by a mutated strain of the Cordyceps fungus. In the online multiplayer mode, up to eight players engage in cooperative and competitive gameplay.

Development of The Last of Us began in 2009, soon after the release of Naughty Dog's previous game, Uncharted 2: Among Thieves. For the first time in the company's history, Naughty Dog split into two teams; while one team developed Uncharted 3: Drake's Deception, the other half developed The Last of Us. The relationship between Joel and Ellie became the central focus of the game, with all other elements developed around it. Actors Troy Baker and Ashley Johnson portrayed Joel and Ellie respectively through voice and motion capture, and assisted creative director Neil Druckmann with the development of the characters and story. The original score was composed and performed by Gustavo Santaolalla.

Following its announcement in December 2011, The Last of Us was widely anticipated. Upon release, it received critical acclaim, with praise directed at its narrative, gameplay, visual and sound design, characterization, and depiction of female characters. The Last of Us became one of the best-selling games on the PlayStation 3, selling over 1.3 million units in its first week and 17 million by April 2018. After the game's release, Naughty Dog released several downloadable content additions. The Last of Us: Left Behind adds a single-player campaign following Ellie and her best friend Riley.

Configuration

Options that deviate from RPCS3's default settings and provide the best experience with this title are listed below.

GPU configuration

Setting Option Notes
Framelimit 60 Enabling framelimit prevents rare crashes during loading screens when framerate may exceed 500FPS. Alternatively, enable VSync on a 60Hz monitor for the same effect.
Resolution scale 100 Resolution scaling is only supported when the MLAA patch is enabled.
Resolution scale threshold 1x1 When using Resolution scaling above 100%, this must be set to 1x1 otherwise some effects like lens flare wil be missing.
Write color buffers On Only needed if you're not using MLAA patch. Fixes Green Rain and particle issues. Slightly reduces performance.

Advanced configuration

Setting Option Notes
Accurate RSX reservation access On To be enabled on systems that do not have TSX.
Read color buffers On Fixes graphical issues when certain patches are enabled.
Vblank rate 120 Vblank rate should be double of the target framerate. Hence, setting Vblank to 120Hz will raise the FPS cap to 60.

Known Issues

This game is currently not playable.

Special Notes

Patches

Anchors:
  # Since we only change store reg and branch, we don't need to patch last 2 bytes again.
  tlou100_mlaa: &tlou100_mlaa
    - [ be16, 0x00a51a8c, 0x4800 ]     # unconditonally branch to disable MLAA
    - [ be16, 0x0092ddac, 0x4800 ]     # Skip memory check function
    - [ be32, 0x00ae5d4c, 0x38000000 ] # Green rain
    - [ be32, 0x00a2c4f0, 0x38000000 ] # Green rain
    - [ be32, 0x00a2c4fc, 0x38000000 ] # Green rain
    - [ be32, 0x00a58da8, 0x60000000 ] # skip assert: x + w <= width && y + h <= height
  # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming 
  # address. Without them this patch wouldn't have been possible.
  # This patch cycles through various post-processing modes. Values accepted are:
  #    0 = None
  #    1 = Bloom
  #    2 = Depth of Field
  #    3 = ??? (Tonemapping)
  #    4 = Bloom & Depth of Field
  #    5 = Bloom & Depth of Field & Tonemapping (Default)
  
  tlou100_post: &tlou100_post
   #- [ be32, 0x00a7991c, 0x38000003 ] # Post-processing modes                    (mem address: 0x14C79C7)
    - [ be32, 0x0093e300, 0xc0090990 ] # load e190 with 0
    - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
    - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f

  tlou100_mesh: &tlou100_mesh
    - [ be16, 0x00923a94, 0x9809 ]     # Disable Mesh trimming       (r3  => r0 ) (mem address: 0x142C584)
  
  # Many settings below are enabled/disabled in sub_A7A340. In this subroutine,
  #    r6  = 2
  #    r27 = 1
  #    r28 = 0
  # and these are stored into some memory blob to represent settings. Most values can be switched by just changing the
  # source register from one to the other, though some are words and some are bytes, so be careful.
  
  tlou100_ssao: &tlou100_ssao
    - [ be16, 0x00a7a470, 0x9b83 ]     # Disable SSAO                (r27 => r28) (mem address: 0x14C7C0F)
  
  tlou100_mb: &tlou100_mb
    - [ be16, 0x00a7a4d4, 0x9b83 ]     # Disable motion blur         (r27 => r28) (mem address: 0x14C7C2E)
  
  tlou100_dof: &tlou100_dof
    - [ be16, 0x00a7a4e0, 0x9b83 ]     # Disable depth of field      (r27 => r28) (mem address: 0x14C7C31)
  
  tlou100_dbv: &tlou100_dbv
    - [ be16, 0x00a7a760, 0x9b63 ]     # Depth buffer viewport       (r28 => r27) (mem address: 0x14C7E9D)
  
  tlou100_dbf: &tlou100_dbf
    - [ be16, 0x00a7a7ac, 0x9b83 ]     # Depth border fix            (r27 => r28) (mem address: 0x14C7EC1)
  
  tlou100_db: &tlou100_db
    - [ be16, 0x00a7a7b8, 0x90e3 ]     # Depth buffer                (r27 => r6 ) (mem address: 0x14C7F93)
    - [ be16, 0x00a516ec, 0x4800 ]     # Cabin resort crash fix

  tlou100_speed: &tlou100_speed
    - [ be16, 0x00a7a6b8, 0x9383 ]     # Speedboost                               (mem address: 0x14c7e5f)
  
  tlou100_spulighting: &tlou100_spulighting
    - [ be16, 0x00afeb24, 0x4800 ]
  
  tlou111_mlaa: &tlou111_mlaa
    - [ be16, 0x00a80350, 0x4800 ]     # unconditonally branch to disable MLAA
    - [ be16, 0x0095b8f8, 0x4800 ]     # Skip memory check function
    - [ be32, 0x00b0e140, 0x38000000 ] # Green rain
    - [ be32, 0x00a5bc38, 0x38000000 ] # Green rain
    - [ be32, 0x00a5bc44, 0x38000000 ] # Green rain
    - [ be32, 0x00a877e0, 0x60000000 ] # skip assert: x + w <= width && y + h <= height

  # Special thanks to HdHereidme for debug menu, Smasher248 for inital memory addresses and Skye Mods for mesh trimming 
  # address. Without them this patch wouldn't have been possible.
  # This patch cycles through various post-processing modes. Values accepted are:
  #    0 = None
  #    1 = Bloom
  #    2 = Depth of Field
  #    3 = ??? (Tonemapping)
  #    4 = Bloom & Depth of Field
  #    5 = Bloom & Depth of Field & Tonemapping (Default)

  tlou111_post: &tlou111_post
   #- [ be32, 0x00aa944c, 0x38000003 ] # Post-processing modes                    (mem address: 0x1571867)
    - [ be32, 0x0096be4c, 0xc0090990 ] # load e190 with 0
    - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0
    - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0

  tlou111_mesh: &tlou111_mesh
    - [ be16, 0x009515d8, 0x9809 ]     # Disable Mesh trimming       (r3  => r0 ) (mem address: 0x14A9604)
  
  # Many settings below are enabled/disabled in sub_AA9E6C. In this subroutine,
  #    r6  = 2
  #    r27 = 1
  #    r28 = 0
  # and these are stored into some memory blob to represent settings. Most values can be switched by just changing the
  # source register from one to the other, though some are words and some are bytes, so be careful.
  
  tlou111_ssao: &tlou111_ssao
    - [ be16, 0x00aa9f9c, 0x9b83 ]     # Disable SSAO                (r27 => r28) (mem address: 0x1571AAF)
  
  tlou111_mb: &tlou111_mb
    - [ be16, 0x00aaa000, 0x9b83 ]     # Disable motion blur         (r27 => r28) (mem address: 0x1571ACE)
  
  tlou111_dof: &tlou111_dof
    - [ be16, 0x00aaa00c, 0x9b83 ]     # Disable depth of field      (r27 => r28) (mem address: 0x1571AD1)
  
  tlou111_dbv: &tlou111_dbv
    - [ be16, 0x00aaa290, 0x9b63 ]     # Depth buffer viewport       (r28 => r27) (mem address: 0x1571D41)
  
  tlou111_dbf: &tlou111_dbf
    - [ be16, 0x00aaa2d8, 0x9b83 ]     # Depth border fix            (r27 => r28) (mem address: 0x1571D65)
  
  tlou111_db: &tlou111_db
    - [ be16, 0x00aaa2e4, 0x90c3 ]     # Depth buffer                (r27 => r6 ) (mem address: 0x1571E37)
    - [ be16, 0x00a7ffac, 0x4800 ]     # Cabin resort crash fix

  tlou111_speed: &tlou111_speed
    - [ be16, 0x00aaa1e8, 0x9383 ]     # Speedboost                               (mem address: 0x1571d03)
  
  tlou111_spulighting: &tlou111_spulighting
    - [ be16, 0x00b294ec, 0x4800 ]
  
  spulightingnotes: &spulightingnotes "Removes some broken effects and improve performance.\nThis patch can always be enabled."
  
  debugmenunotes: &debugmenunotes "L3 + Start = Dev Menu\nL3 + Select = Quick Menu\nL3 + Triangle = Debug Text\nL3 + R3 = Debug Fly"

  fpsnotes: &fpsnotes "Unlocks the FPS without any special settings.\nGame may crash above 500FPS in loading screen."

  tloumlaanotes: &tloumlaanotes "Allows for the use of Resolution Scaling and improves performance.\nVersion 2.0 fixes crashes introduced in the original patch.\nVersion 3.0 Fixes the Green Rain in more areas.\nIncorrect bloom can be addressed by using the Bloom patches below.\nKnown issues: Non working listen mode"

  tlou100_title: &tlou100_title
    "The Last of Us":
      BCES01584: [ 01.00 ]
      BCES01585: [ 01.00 ]
      BCUS98174: [ 01.00 ]
      BCJS37010: [ 01.00 ]
      BCAS20270: [ 01.00 ]

  tlou111_title: &tlou111_title
    "The Last of Us":
      BCES01584: [ 01.11 ]
      BCES01585: [ 01.11 ]
      BCUS98174: [ 01.11 ]
      BCJS37010: [ 01.11 ]
      BCAS20270: [ 01.11 ]

PPU-9df60dc1aa5005a0c80e9066e4951dc0471553e6:
  Disable in-built MLAA:
    Games: *tlou100_title
    Author: Whatcookie
    Notes: *tloumlaanotes
    Patch Version: 3.0
    Patch:
      - [ load, *tlou100_mlaa ]
  No Bloom:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ load, *tlou100_post ]
  Disable Mesh trimming:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_mesh ]
  Disable SSAO:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_ssao ]
  Disable Motion Blur:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_mb ]
  Disable Depth of Field:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_dof ]
  Depth buffer viewport:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_dbv ]
  Depth border fix:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_dbf ]
  Depth buffer:
    Games: *tlou100_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_db ]
  Speedboost:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes: Improves performance in certain areas. May cause issues.
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_speed ]
  Disable SPU lighting:
    Games: *tlou100_title
    Author: ZeroX
    Notes: *spulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_spulighting ]
  Debug Menu:
    Games: *tlou100_title
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0003b2a0, 0x419e ]
  21:9 Aspect Ratio:
    Games: *tlou100_title
    Author: illusion
    Notes: HUD Elements will be stretched. Users need to enable the "Stretch to Display Area" option in RPCS3 for this patch to work.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x000325B8, 0x60000000 ] # nop write for ar float
      - [ be32, 0x14AEBD0,  0x3ED70A3D ] # ar float
      - [ be32, 0x128F2F4,  0x3F400000 ]
  Unlock FPS:
    Games: *tlou100_title
    Author: illusion
    Notes: *fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00036AB8, 0x38A00000 ]
  Bloom High:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e300, 0xc01e1b64 ] # load e190 with 0.75f
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
  Bloom Medium:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e300, 0xc01e034c ] # load e190 with 0.5f
      - [ be32, 0x0093e308, 0xc1be0e14 ] # load e194 with 0.25f
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
  Bloom Low:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e300, 0xc01e0e14 ] # load e190 with 0.25f
      - [ be32, 0x0093e308, 0xc1be0e14 ] # load e194 with 0.25f
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f
  Bloom Default:
    Games: *tlou100_title
    Author: ZEROx, illusion
    Notes: Replicates Bloom settings with MLAA Enabled. (In Game Only)
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0093e30c, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0093e394, 0xc0090990 ] # load e1a0 with 0f

PPU-120fb71f7352d62521c639b0e99f960018c10a56:
  Disable in-built MLAA:
    Games: *tlou111_title
    Author: Whatcookie, illusion, ZEROx
    Notes: *tloumlaanotes
    Patch Version: 3.0
    Patch:
      - [ load, *tlou111_mlaa ]
  No Bloom:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ load, *tlou111_post ]
  Disable Mesh trimming:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_mesh ]
  Disable SSAO:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_ssao ]
  Disable Motion Blur:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_mb ]
  Disable Depth of Field:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_dof ]
  Depth buffer viewport:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_dbv ]
  Depth border fix:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_dbf ]
  Depth buffer:
    Games: *tlou111_title
    Author: JohnHolmesII, ZEROx, illusion, Juhn
    Notes: 
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_db ]
  Speedboost:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes: Improves performance in certain areas. May cause issues.
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_speed ]
  Disable SPU Lighting:
    Games: *tlou111_title
    Author: ZeroX
    Notes: *spulightingnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_spulighting ]
  Debug Menu:
    Games: *tlou111_title
    Author: dron_3, HdHereidme, illusion
    Notes: *debugmenunotes
    Patch Version: 1.0
    Patch:
      - [ be16, 0x0003bf9c, 0x419e ]
  21:9 Aspect Ratio:
    Games: *tlou111_title
    Author: illusion
    Notes: HUD Elements will be stretched. Users need to enable the "Stretch to Display Area" option in RPCS3 for this patch to work.
    Patch Version: 1.0
    Patch:
      - [ be32, 0x0003556C, 0x60000000 ] # nop write for ar float
      - [ be32, 0x1558A50,  0x3ED70A3D ] # ar float
      - [ be32, 0x12C1964,  0x3F400000 ]
  Unlock FPS:
    Games: *tlou111_title
    Author: illusion
    Notes: *fpsnotes
    Patch Version: 1.0
    Patch:
      - [ be32, 0x00039D08, 0x38A00000 ]
  Bloom High:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
        - [ be32, 0x0096BE4c, 0xc01e1b64 ] # load e190 with 0.75f
        - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
        - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f
  Bloom Medium:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
        - [ be32, 0x0096BE4c, 0xc01e034c ] # load e190 with 0.5f
        - [ be32, 0x0096BE54, 0xc1be0e14 ] # load e194 with 0.25f
        - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
        - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f
  Bloom Low:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes: 
    Patch Version: 1.0
    Group: Bloom
    Patch:
        - [ be32, 0x0096BE4c, 0xc01e0e14 ] # load e190 with 0.25f
        - [ be32, 0x0096BE54, 0xc1be0e14 ] # load e194 with 0.25f
        - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
        - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f
  Bloom Default:
    Games: *tlou111_title
    Author: ZEROx, illusion
    Notes: Replicates Bloom settings with MLAA Enabled. (In Game Only)
    Patch Version: 1.0
    Group: Bloom
    Patch:
      - [ be32, 0x0096BE58, 0xc1890990 ] # load e198 with 0f
      - [ be32, 0x0096BEE0, 0xc0090990 ] # load e1a0 with 0f

Canary Patches

Anchors:
  tlou100_spucrashfix: &tlou100_spucrashfix
    - [ be16, 0x1291C0C, 0x3F00 ]      # set float to 0.5 for sun pos(?)
    - [ be32, 0x0093E8B4, 0xC0490E57 ] # Dev Menu -> Rendering -> HDR Tonemapping -> display brightness -1.404
    - [ be32, 0x00335DB8, 0x60000000 ] # nop reset in option menu

  tlou111_spucrashfix: &tlou111_spucrashfix
    - [ be16, 0x12C41A4, 0x3F00 ]      # set float to 0.5 for sun pos(?)
    - [ be32, 0x0096C400, 0xC0490E57 ] # Dev Menu -> HDR Tonemapping -> display brightness -1.404
    - [ be32, 0x0034AFB8, 0x60000000 ] # nop reset in option menu

  spucrashnotes: &spucrashnotes "This patch is now obsolete. Better implementation has been implemented into MLAA Patch.\nOld description:\nThis patch attempts to addresses issues caused by the MLAA patch causing crashes during the following subchapters:\nBill's Town: High School Escape\nPittsburgh: Financial District, Escape the City\nUniversity: Go Big Horns\n\nKnown Issues:\nMenu too dark.\nSun in wrong position.\nLighting flickers during sun position change."

  tlou100_title: &tlou100_title
    "The Last of Us":
      BCES01584: [ 01.00 ]
      BCES01585: [ 01.00 ]
      BCUS98174: [ 01.00 ]
      BCJS37010: [ 01.00 ]
      BCAS20270: [ 01.00 ]

  tlou111_title: &tlou111_title
    "The Last of Us":
      BCES01584: [ 01.11 ]
      BCES01585: [ 01.11 ]
      BCUS98174: [ 01.11 ]
      BCJS37010: [ 01.11 ]
      BCAS20270: [ 01.11 ]

PPU-9df60dc1aa5005a0c80e9066e4951dc0471553e6:
  SPU Crash Workaround:
    Games: *tlou100_title
    Author: illusion, ZEROx
    Notes: *spucrashnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou100_spucrashfix ]

PPU-120fb71f7352d62521c639b0e99f960018c10a56:
  SPU Crash Workaround:
    Games: *tlou111_title
    Author: illusion, ZEROx
    Notes: *spucrashnotes
    Patch Version: 1.0
    Patch:
      - [ load, *tlou111_spucrashfix ]