From 723ce89f984cf19698f63476bd8c1ce5a126103d Mon Sep 17 00:00:00 2001 From: Phillip Stephens Date: Tue, 15 Oct 2024 19:26:14 -0700 Subject: [PATCH] Add elevator crash patch --- src/Kyoto/DolphinCDvdFile.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Kyoto/DolphinCDvdFile.cpp b/src/Kyoto/DolphinCDvdFile.cpp index 1f969bf3..731e9adc 100644 --- a/src/Kyoto/DolphinCDvdFile.cpp +++ b/src/Kyoto/DolphinCDvdFile.cpp @@ -4,6 +4,7 @@ #include "Kyoto/CARAMManager.hpp" +#include "dolphin/os/OSCache.h" #include "rstl/math.hpp" #include "dolphin/arq.h" @@ -224,7 +225,9 @@ CDvdFile::CDvdFile(const char* filename) CDvdFile::~CDvdFile() { CloseFile(); } -CDvdRequest* CDvdFile::SyncRead(void* dest, uint len) { return AsyncSeekRead(dest, len, kSO_Cur, 0); } +CDvdRequest* CDvdFile::SyncRead(void* dest, uint len) { + return AsyncSeekRead(dest, len, kSO_Cur, 0); +} void CDvdFile::SyncSeekRead(void* dest, uint len, ESeekOrigin origin, int offset) { StallForARAMFile(); @@ -282,7 +285,11 @@ bool CDvdFile::FileExists(const char* filename) { return DVDConvertPathToEntrynum(const_cast< char* >(DecodeARAMFile(filename))) != -1; } -void CDvdFile::internalCallback(s32, DVDFileInfo*) {} +void CDvdFile::internalCallback(s32 res, DVDFileInfo* info) { +#if VERSION >= 1 + DCInvalidateRange((void*)info->cb.addr, info->cb.length); +#endif +} void CDvdFile::CalcFileOffset(int offset, ESeekOrigin origin) { switch (origin) {