From 40fe050954ad20107c905cbe0b4ccbdf7f0b9fb6 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Fri, 31 Jul 2026 04:58:17 -0400 Subject: [PATCH] Quick change for cheats --- src/video_core/memory_manager.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/video_core/memory_manager.cpp b/src/video_core/memory_manager.cpp index b124058928..a78486c39e 100644 --- a/src/video_core/memory_manager.cpp +++ b/src/video_core/memory_manager.cpp @@ -383,6 +383,11 @@ void MemoryManager::ReadBlockImpl(GPUVAddr gpu_src_addr, void* dest_buffer, std: run_size = 0; }; auto append_run = [&](const u8* physical, std::size_t copy_amount) { + if (physical == nullptr) [[unlikely]] { + flush_run(); + std::memset(dest_buffer, 0, copy_amount); + return; + } if (run_size != 0 && run_src + run_size == physical && run_dst + run_size == static_cast(dest_buffer)) { run_size += copy_amount; @@ -457,6 +462,10 @@ void MemoryManager::WriteBlockImpl(GPUVAddr gpu_dest_addr, const void* src_buffe run_size = 0; }; auto append_run = [&](u8* physical, std::size_t copy_amount) { + if (physical == nullptr) [[unlikely]] { + flush_run(); + return; + } if (run_size != 0 && run_dst + run_size == physical && run_src + run_size == static_cast(src_buffer)) { run_size += copy_amount;