From 60bfd5db34c284a449e279dea2988eb427a95fd5 Mon Sep 17 00:00:00 2001 From: obligaron Date: Mon, 10 May 2021 00:06:42 +0200 Subject: [PATCH] Move SFileOpenArchive calls to new helper SFileOpenArchiveDiablo --- Source/init.cpp | 3 ++- Source/pfile.cpp | 2 +- Source/utils/file_util.cpp | 7 +++++++ Source/utils/file_util.h | 4 ++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Source/init.cpp b/Source/init.cpp index d40000dfe..4d77be1aa 100644 --- a/Source/init.cpp +++ b/Source/init.cpp @@ -12,6 +12,7 @@ #include "dx.h" #include "pfile.h" #include "storm/storm.h" +#include "utils/file_util.h" #include "utils/paths.h" #include "utils/ui_fwd.h" #include "utils/log.hpp" @@ -59,7 +60,7 @@ HANDLE init_test_access(const std::vector &paths, const char *mpq_n std::string mpq_abspath; for (const auto &path : paths) { mpq_abspath = path + mpq_name; - if (SFileOpenArchive(mpq_abspath.c_str(), 0, MPQ_OPEN_READ_ONLY, &archive)) { + if (SFileOpenArchiveDiablo(mpq_abspath.c_str(), 0, MPQ_OPEN_READ_ONLY, &archive)) { LogVerbose(" Found: {} in {}", mpq_name, path); SFileSetBasePath(path.c_str()); return archive; diff --git a/Source/pfile.cpp b/Source/pfile.cpp index 4a4d4eaf0..fde2cd707 100644 --- a/Source/pfile.cpp +++ b/Source/pfile.cpp @@ -195,7 +195,7 @@ static HANDLE pfile_open_save_archive(DWORD save_num) { HANDLE archive; - if (SFileOpenArchive(GetSavePath(save_num).c_str(), 0, 0, &archive)) + if (SFileOpenArchiveDiablo(GetSavePath(save_num).c_str(), 0, 0, &archive)) return archive; return nullptr; } diff --git a/Source/utils/file_util.cpp b/Source/utils/file_util.cpp index 46409fc8d..188e66557 100644 --- a/Source/utils/file_util.cpp +++ b/Source/utils/file_util.cpp @@ -31,6 +31,8 @@ #include #endif +#include "storm/storm.h" + namespace devilution { namespace { @@ -161,4 +163,9 @@ std::unique_ptr CreateFileStream(const char *path, std::ios::openm return std::make_unique(path, mode); } +bool SFileOpenArchiveDiablo(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq) +{ + return SFileOpenArchive(szMpqName, dwPriority, dwFlags, phMpq); +} + } // namespace devilution diff --git a/Source/utils/file_util.h b/Source/utils/file_util.h index 555c3fa9c..80f8a9438 100644 --- a/Source/utils/file_util.h +++ b/Source/utils/file_util.h @@ -3,6 +3,9 @@ #include #include #include + +#include "miniwin/miniwin.h" + namespace devilution { bool FileExists(const char *path); @@ -10,5 +13,6 @@ bool GetFileSize(const char *path, std::uintmax_t *size); bool ResizeFile(const char *path, std::uintmax_t size); void RemoveFile(const char *lpFileName); std::unique_ptr CreateFileStream(const char *path, std::ios::openmode mode); +bool SFileOpenArchiveDiablo(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq); } // namespace devilution