From 81faa0935c16066e71eedbd1d6934d007ead5a4f Mon Sep 17 00:00:00 2001 From: "Christoph \"baka0815\" Schwerdtfeger" Date: Mon, 27 Aug 2018 10:40:08 +0200 Subject: [PATCH] CDI: Only warn if CDI image was really loaded If no image was loaded (or using ioctl) the CDI warning was always printed. --- core/imgread/common.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/core/imgread/common.cpp b/core/imgread/common.cpp index 3a08a564c..4e2c7d673 100644 --- a/core/imgread/common.cpp +++ b/core/imgread/common.cpp @@ -132,11 +132,11 @@ bool ConvertSector(u8* in_buff , u8* out_buff , int from , int to,int sector) Disc* OpenDisc(const wchar* fn) { Disc* rv = nullptr; - + for (unat i=0; drivers[i] && !rv; i++) { // ;drivers[i] && !(rv=drivers[i](fn)); rv = drivers[i](fn); - - if (cdi_parse == drivers[i]) { + + if (rv && cdi_parse == drivers[i]) { const wchar warn_str[] = "Warning: CDI Image Loaded!\n Many CDI images are known to be defective, GDI or CHD format is preferred. Please only file bug reports when using images known to be good (GDI or CHD)."; #ifdef _ANDROID printf(warn_str); @@ -375,9 +375,9 @@ void GetDriveToc(u32* to,DiskArea area) //Generate the TOC info //-1 for 1..99 0 ..98 - to[99]=CreateTrackInfo_se(disc->tracks[first_track-1].CTRL,disc->tracks[first_track-1].ADDR,first_track); - to[100]=CreateTrackInfo_se(disc->tracks[last_track-1].CTRL,disc->tracks[last_track-1].ADDR,last_track); - + to[99]=CreateTrackInfo_se(disc->tracks[first_track-1].CTRL,disc->tracks[first_track-1].ADDR,first_track); + to[100]=CreateTrackInfo_se(disc->tracks[last_track-1].CTRL,disc->tracks[last_track-1].ADDR,last_track); + if (disc->type==GdRom) { //use smaller LEADOUT @@ -391,7 +391,7 @@ void GetDriveToc(u32* to,DiskArea area) for (u32 i=first_track-1;itracks[i].CTRL,disc->tracks[i].ADDR,disc->tracks[i].StartFAD); + to[i]=CreateTrackInfo(disc->tracks[i].CTRL,disc->tracks[i].ADDR,disc->tracks[i].StartFAD); } } @@ -401,7 +401,7 @@ void GetDriveSessionInfo(u8* to,u8 session) return; to[0]=2;//status, will get overwritten anyway to[1]=0;//0's - + if (session==0) { to[2]=disc->sessions.size();//count of sessions @@ -441,7 +441,7 @@ DiscType GuessDiscType(bool m1, bool m2, bool da) return CdRom; else if (m2) return CdRom_XA; - else if (da && m1) + else if (da && m1) return CdRom_Extra; else return CdRom;