Browse Source

Move SFileOpenArchive calls to new helper SFileOpenArchiveDiablo

pull/1925/head
obligaron 5 years ago committed by Anders Jenbo
parent
commit
60bfd5db34
  1. 3
      Source/init.cpp
  2. 2
      Source/pfile.cpp
  3. 7
      Source/utils/file_util.cpp
  4. 4
      Source/utils/file_util.h

3
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<std::string> &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;

2
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;
}

7
Source/utils/file_util.cpp

@ -31,6 +31,8 @@
#include <cstdio>
#endif
#include "storm/storm.h"
namespace devilution {
namespace {
@ -161,4 +163,9 @@ std::unique_ptr<std::fstream> CreateFileStream(const char *path, std::ios::openm
return std::make_unique<std::fstream>(path, mode);
}
bool SFileOpenArchiveDiablo(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq)
{
return SFileOpenArchive(szMpqName, dwPriority, dwFlags, phMpq);
}
} // namespace devilution

4
Source/utils/file_util.h

@ -3,6 +3,9 @@
#include <cstdint>
#include <fstream>
#include <memory>
#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<std::fstream> CreateFileStream(const char *path, std::ios::openmode mode);
bool SFileOpenArchiveDiablo(const char *szMpqName, DWORD dwPriority, DWORD dwFlags, HANDLE *phMpq);
} // namespace devilution

Loading…
Cancel
Save