From bf42825be8c61d3d5c5e65369d40749e8d391596 Mon Sep 17 00:00:00 2001 From: "wagic.jeck" Date: Sat, 5 Sep 2009 07:14:01 +0000 Subject: [PATCH] Jeck - Fixed zipfile loading on PSP. --- projects/mtg/src/WResourceManager.cpp | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/projects/mtg/src/WResourceManager.cpp b/projects/mtg/src/WResourceManager.cpp index ca565e69b..2b8bd4aa9 100644 --- a/projects/mtg/src/WResourceManager.cpp +++ b/projects/mtg/src/WResourceManager.cpp @@ -750,14 +750,16 @@ string WResourceManager::cardFile(const string filename, const string setname, c return defdir; //Failure. Assume it's in a zip file? - char zipname[100]; - sprintf(zipname, "Res/sets/%s/%s.zip", setname.c_str(),setname.c_str()); - if (fileOK(zipname,false)){ - fs->AttachZipFile(zipname); - return filename; - } + if(setname.size()){ + char zipname[100]; + sprintf(zipname, "Res/sets/%s/%s.zip", setname.c_str(),setname.c_str()); + if (fileOK(zipname)){ + fs->AttachZipFile(zipname); + return filename; + } + } - //Complete abject failure. Probably a crash... + //Complete failure. return ""; } @@ -842,13 +844,16 @@ string WResourceManager::sfxFile(const string filename, const string specific){ int WResourceManager::fileOK(string filename, bool relative){ char fname[512]; + std::ifstream * fp = NULL; if(relative){ sprintf(fname,RESPATH"/%s",filename.c_str()); + fp = NEW std::ifstream(fname); } + else + fp = NEW std::ifstream(filename.c_str()); - std::ifstream fichier(fname); - if(fichier){ - fichier.close(); + if(fp && *fp){ + fp->close(); return 1; }