mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 09:06:46 +00:00
[Maps] Fix broken Map MMFS implementation (#4576)
This commit is contained in:
@@ -37,6 +37,9 @@ IF(EQEMU_ADD_PROFILER)
|
|||||||
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed,-lprofiler,--as-needed")
|
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed,-lprofiler,--as-needed")
|
||||||
ENDIF(EQEMU_ADD_PROFILER)
|
ENDIF(EQEMU_ADD_PROFILER)
|
||||||
|
|
||||||
|
IF(USE_MAP_MMFS)
|
||||||
|
ADD_DEFINITIONS(-DUSE_MAP_MMFS)
|
||||||
|
ENDIF (USE_MAP_MMFS)
|
||||||
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
|
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
|
||||||
|
|||||||
+5
-5
@@ -320,7 +320,7 @@ bool Map::Load(const std::string &filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_MAP_MMFS
|
#ifdef USE_MAP_MMFS
|
||||||
if (v)
|
if (loaded_map_file)
|
||||||
return SaveMMF(filename, force_mmf_overwrite);
|
return SaveMMF(filename, force_mmf_overwrite);
|
||||||
#endif /*USE_MAP_MMFS*/
|
#endif /*USE_MAP_MMFS*/
|
||||||
|
|
||||||
@@ -338,7 +338,7 @@ bool Map::Load(const std::string &filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_MAP_MMFS
|
#ifdef USE_MAP_MMFS
|
||||||
if (v)
|
if (loaded_map_file)
|
||||||
return SaveMMF(filename, force_mmf_overwrite);
|
return SaveMMF(filename, force_mmf_overwrite);
|
||||||
#endif /*USE_MAP_MMFS*/
|
#endif /*USE_MAP_MMFS*/
|
||||||
|
|
||||||
@@ -1064,7 +1064,7 @@ bool Map::LoadMMF(const std::string& map_file_name, bool force_mmf_overwrite)
|
|||||||
fclose(f);
|
fclose(f);
|
||||||
|
|
||||||
std::vector<char> rm_buffer(rm_buffer_size);
|
std::vector<char> rm_buffer(rm_buffer_size);
|
||||||
uint32 v = InflateData(mmf_buffer.data(), mmf_buffer_size, rm_buffer.data(), rm_buffer_size);
|
uint32 v = EQ::InflateData(mmf_buffer.data(), mmf_buffer_size, rm_buffer.data(), rm_buffer_size);
|
||||||
|
|
||||||
if (imp) {
|
if (imp) {
|
||||||
imp->rm->release();
|
imp->rm->release();
|
||||||
@@ -1120,11 +1120,11 @@ bool Map::SaveMMF(const std::string& map_file_name, bool force_mmf_overwrite)
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint32 rm_buffer_size = rm_buffer.size();
|
uint32 rm_buffer_size = rm_buffer.size();
|
||||||
uint32 mmf_buffer_size = EstimateDeflateBuffer(rm_buffer.size());
|
uint32 mmf_buffer_size = EQ::EstimateDeflateBuffer(rm_buffer.size());
|
||||||
|
|
||||||
std::vector<char> mmf_buffer(mmf_buffer_size);
|
std::vector<char> mmf_buffer(mmf_buffer_size);
|
||||||
|
|
||||||
mmf_buffer_size = DeflateData(rm_buffer.data(), rm_buffer.size(), mmf_buffer.data(), mmf_buffer.size());
|
mmf_buffer_size = EQ::DeflateData(rm_buffer.data(), rm_buffer.size(), mmf_buffer.data(), mmf_buffer.size());
|
||||||
if (!mmf_buffer_size) {
|
if (!mmf_buffer_size) {
|
||||||
LogInfo("Failed to save Map MMF file: [{}] - null MMF buffer size", mmf_file_name.c_str());
|
LogInfo("Failed to save Map MMF file: [{}] - null MMF buffer size", mmf_file_name.c_str());
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user