From fcca7681cc9d3230faf405c44760071a822a4480 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Wed, 11 Oct 2023 17:32:57 -0400 Subject: [PATCH] Link DolphinCDvdFile Former-commit-id: 47cf20409d082764145b30afe3a7a0ec6ac92be6 --- config/GM8E01_00/config.yml | 3 ++- configure.py | 2 +- include/Kyoto/CDvdRequest.hpp | 2 +- src/Kyoto/DolphinCDvdFile.cpp | 14 +++++++------- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/config/GM8E01_00/config.yml b/config/GM8E01_00/config.yml index eb127186..3eada28d 100644 --- a/config/GM8E01_00/config.yml +++ b/config/GM8E01_00/config.yml @@ -3,7 +3,8 @@ hash: 949c5ed7368aef547e0b0db1c3678f466e2afbff symbols: config/GM8E01_00/symbols.txt splits: config/GM8E01_00/splits.txt mw_comment_version: 8 -fill_gaps: false +quick_analysis: true # Faster reruns after full analysis +fill_gaps: false # Alignments known #modules: #- object: orig/GM8E01_00/files/NESemuP.rel diff --git a/configure.py b/configure.py index 6c9930e2..c7d0707e 100755 --- a/configure.py +++ b/configure.py @@ -905,7 +905,7 @@ config.libs = [ Object(NonMatching, "Kyoto/DolphinCMemoryCardSys.cpp"), Object(Matching, "Kyoto/Input/DolphinIController.cpp"), Object(Matching, "Kyoto/Input/CDolphinController.cpp"), - Object(NonMatching, "Kyoto/DolphinCDvdFile.cpp"), + Object(Matching, "Kyoto/DolphinCDvdFile.cpp"), Object(NonMatching, "Kyoto/Alloc/CMediumAllocPool.cpp"), Object(Matching, "Kyoto/Alloc/CSmallAllocPool.cpp"), Object(NonMatching, "Kyoto/Alloc/CGameAllocator.cpp"), diff --git a/include/Kyoto/CDvdRequest.hpp b/include/Kyoto/CDvdRequest.hpp index 85df208f..fa688e98 100644 --- a/include/Kyoto/CDvdRequest.hpp +++ b/include/Kyoto/CDvdRequest.hpp @@ -21,7 +21,7 @@ public: void PostCancelRequest(); int GetMediaType() const; - DVDFileInfo& FileInfo() { return mFileInfo; } + DVDFileInfo* FileInfo() { return &mFileInfo; } private: DVDFileInfo mFileInfo; diff --git a/src/Kyoto/DolphinCDvdFile.cpp b/src/Kyoto/DolphinCDvdFile.cpp index c6be19b9..1d8f7b7d 100644 --- a/src/Kyoto/DolphinCDvdFile.cpp +++ b/src/Kyoto/DolphinCDvdFile.cpp @@ -60,7 +60,7 @@ void CDvdFile::DVDARAMXferCallback(s32 result, DVDFileInfo* info) { }; DVDClose(info); - reinterpret_cast(info)->file->HandleDVDInterrupt(); + reinterpret_cast< Hack* >(info)->file->HandleDVDInterrupt(); } void CDvdFile::ARAMARAMXferCallback(u32 addr) { @@ -127,7 +127,7 @@ void CDvdFile::TryARAMFile() { if (CARAMManager::GetInvalidAlloc() == x4_) { return; } - xc_ = new CDvdFileARAM(); + xc_ = NEW CDvdFileARAM(); CDvdFileARAM* arfile = xc_.get(); arfile->x5c_file = this; arfile->x78_ = true; @@ -254,13 +254,13 @@ CDvdRequest* CDvdFile::AsyncSeekRead(void* dest, uint len, ESeekOrigin origin, i if (x8_) { int roundedLen = (len + 31) & ~31; DCFlushRange(dest, roundedLen); - request = new CARAMDvdRequest( + request = NEW CARAMDvdRequest( CARAMManager::DMAToMRAM(x4_ + x10_offset, dest, roundedLen, CARAMManager::kDMAPrio_One)); } else { - CRealDvdRequest* req = new CRealDvdRequest(); - DVDFileInfo& info = req->FileInfo(); - DVDFastOpen(x0_fileEntry, &info); - DVDReadAsync(&info, dest, (len + 31) & ~31, x10_offset, internalCallback); + CRealDvdRequest* req = NEW CRealDvdRequest(); + DVDFileInfo* info = req->FileInfo(); + DVDFastOpen(x0_fileEntry, info); + DVDReadAsync(info, dest, (len + 31) & ~31, x10_offset, internalCallback); request = req; }