mirror of
https://github.com/mangosfour/server.git
synced 2025-12-25 13:37:02 +00:00
Update Extractor for MOP 5.1.0 Build 16357
This commit is contained in:
parent
274f9a78ae
commit
090f8b8aba
1 changed files with 50 additions and 15 deletions
|
|
@ -103,9 +103,9 @@ float CONF_float_to_int16_limit = 2048.0f; // Max accuracy = val/65536
|
|||
float CONF_flat_height_delta_limit = 0.005f; // If max - min less this value - surface is flat
|
||||
float CONF_flat_liquid_delta_limit = 0.001f; // If max - min less this value - liquid surface is flat
|
||||
|
||||
#define MIN_SUPPORTED_BUILD 15595 // code expect mpq files and mpq content files structure for this build or later
|
||||
#define EXPANSION_COUNT 3
|
||||
#define WORLD_COUNT 2
|
||||
#define MIN_SUPPORTED_BUILD 16357 // code expect mpq files and mpq content files structure for this build or later
|
||||
#define EXPANSION_COUNT 4
|
||||
#define WORLD_COUNT 1
|
||||
|
||||
|
||||
bool FileExists(const char* FileName)
|
||||
|
|
@ -362,18 +362,30 @@ void ReadAreaTableDBC(int const locale)
|
|||
void ReadLiquidTypeTableDBC(int const locale)
|
||||
{
|
||||
HANDLE localeFile;
|
||||
HANDLE localeFile2;
|
||||
char localMPQ[512];
|
||||
sprintf(localMPQ, "%s/Data/%s/locale-%s.MPQ", input_path, Locales[locale], Locales[locale]);
|
||||
char localMPQ2[512];
|
||||
|
||||
sprintf(localMPQ, "%s/Data/misc.MPQ", input_path);//, langs[locale], langs[locale]);
|
||||
if (FileExists(localMPQ)==false)
|
||||
{ // Use misc.mpq
|
||||
sprintf(localMPQ, "%s/Data/%s/locale-%s.MPQ", input_path, Locales[locale], Locales[locale]);
|
||||
}
|
||||
if (!SFileOpenArchive(localMPQ, 0, MPQ_OPEN_READ_ONLY, &localeFile))
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
|
||||
printf("Read LiquidType.dbc file...");
|
||||
|
||||
HANDLE dbcFile;
|
||||
if (!SFileOpenFileEx(localeFile, "DBFilesClient\\LiquidType.dbc", SFILE_OPEN_FROM_MPQ, &dbcFile))
|
||||
{
|
||||
printf("Fatal error: Cannot find LiquidType.dbc in archive!\n");
|
||||
exit(1);
|
||||
if (!SFileOpenFileEx(localeFile2, "DBFilesClient\\LiquidType.dbc", SFILE_OPEN_FROM_MPQ, &dbcFile))
|
||||
{
|
||||
printf("Fatal error: Cannot find LiquidType.dbc in archive!\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
DBCFile dbc(dbcFile);
|
||||
|
|
@ -1325,16 +1337,27 @@ void AppendPatchMPQFilesToList(char const* subdir, char const* suffix, char cons
|
|||
void LoadLocaleMPQFiles(int const locale)
|
||||
{
|
||||
char filename[512];
|
||||
HANDLE localeMpqHandle;
|
||||
|
||||
// first base old version of dbc files
|
||||
sprintf(filename, "%s/Data/%s/locale-%s.MPQ", input_path, Locales[locale], Locales[locale]);
|
||||
|
||||
HANDLE localeMpqHandle;
|
||||
|
||||
if (!OpenArchive(filename, &localeMpqHandle))
|
||||
if (FileExists(filename)==true)
|
||||
{
|
||||
printf("Error open archive: %s\n\n", filename);
|
||||
return;
|
||||
if (!OpenArchive(filename, &localeMpqHandle))
|
||||
{
|
||||
printf("Error open archive: %s\n\n", filename);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(filename,"%s/Data/misc.MPQ", input_path);//, langs[locale], langs[locale]);
|
||||
if (FileExists(filename)==true)
|
||||
{
|
||||
if (!OpenArchive(filename, &localeMpqHandle))
|
||||
{
|
||||
printf("Error open archive: %s\n\n", filename);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// prepare sorted list patches in locale dir and Data root
|
||||
|
|
@ -1403,7 +1426,7 @@ void LoadBaseMPQFiles()
|
|||
printf("Loaded MPQ files for map extraction:\n");
|
||||
for (int i = 1; i <= WORLD_COUNT; i++)
|
||||
{
|
||||
sprintf(filename, "%s/Data/world%s.MPQ", input_path, (i == 2 ? "2" : ""));
|
||||
sprintf(filename, "%s/Data/World%s.MPQ", input_path, (i == 2 ? "2" : ""));
|
||||
printf("%s\n", filename);
|
||||
|
||||
if (!OpenArchive(filename, &worldMpqHandle))
|
||||
|
|
@ -1415,7 +1438,7 @@ void LoadBaseMPQFiles()
|
|||
|
||||
for (int i = 1; i <= EXPANSION_COUNT; i++)
|
||||
{
|
||||
sprintf(filename, "%s/Data/expansion%i.MPQ", input_path, i);
|
||||
sprintf(filename, "%s/Data/Expansion%i.MPQ", input_path, i);
|
||||
printf("%s\n", filename);
|
||||
|
||||
if (!OpenArchive(filename, &worldMpqHandle))
|
||||
|
|
@ -1425,6 +1448,18 @@ void LoadBaseMPQFiles()
|
|||
}
|
||||
}
|
||||
|
||||
// Add Misc.MPQ
|
||||
sprintf(filename, "%s/Data/misc.MPQ", input_path);//, (i == 2 ? "2" : ""));
|
||||
if (FileExists(filename)==true)
|
||||
{
|
||||
printf("%s\n", filename);
|
||||
if (!OpenArchive(filename, &worldMpqHandle))
|
||||
{
|
||||
printf("Error open archive: %s\n\n", filename);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// prepare sorted list patches in Data root
|
||||
Updates updates;
|
||||
// now update to newer view, root -base
|
||||
|
|
@ -1516,7 +1551,7 @@ int main(int argc, char* arg[])
|
|||
|
||||
// Open MPQs
|
||||
LoadBaseMPQFiles();
|
||||
// LoadLocaleMPQFiles(FirstLocale);
|
||||
LoadLocaleMPQFiles(FirstLocale);
|
||||
|
||||
// Extract maps
|
||||
ExtractMapsFromMpq(build, FirstLocale);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue