Skip to content

Commit

Permalink
Fix merge, info command line options
Browse files Browse the repository at this point in the history
Fix merge, info command line options
  • Loading branch information
UnrealKaraulov committed Jan 23, 2024
1 parent f0f60d8 commit 9ad3f74
Show file tree
Hide file tree
Showing 15 changed files with 259 additions and 141 deletions.
30 changes: 15 additions & 15 deletions resources/languages/language.ini
Original file line number Diff line number Diff line change
Expand Up @@ -992,21 +992,21 @@ LANG_0989 = Load model {} version {}\n
LANG_0990 = getPlaneFromFace() face was NULL\n
LANG_0991 = Bad surface extents {} ( {} > 4096 )\n
LANG_0992 = \nSHIFT\n
LANG_0993 = Fatal error! OVERFLOWED {} VIS LEAVES WHILE SHIFTING\n
LANG_0994 = Fatal error! Overflow decompressing VIS lump! {} leaf of {} #0\n
LANG_0995 = Fatal error! Overflow decompressing VIS lump! {} of {} #1\n
LANG_0996 = Leaef vis offset : {} of {} lump size\n
LANG_0997 = Fatal error! Overflow decompressing VIS lump! #1\n
LANG_0998 = Fatal error! Decompress vis dest overflow {} > {} #0!\n
LANG_0999 = Fatal error! Decompress vis src overflow {} > {} #1!\n
LANG_1000 = Fatal error! Decompress vis overflow {} > {} #0!
LANG_1001 = Fatal error! leaf array overflow leafs[{}] of {}\n
LANG_1002 = Fatal error! leaf array overflow leafs[{}] of {} (in sharedRows)\n
LANG_1003 = Fatal error! Vismap expansion overflow {} > {}\n
LANG_1004 = Fatal error! Fatal Error! Decompress leaf vis overflow {} > {} #1!\n
LANG_1005 = Fatal error! Fatal Error! Decompress leaf vis overflow {} > {} #2!\n
LANG_1006 = Fatal error! Fatal Error! Decompress src leaf vis overflow {} > {} #2!\n
LANG_1007 = Fatal error! Fatal Error! Decompress leaf vis overflow {} > {} #3!\n
LANG_0993 = \nFatal error! OVERFLOWED {} VIS LEAVES WHILE SHIFTING\n
LANG_0994 = \nFatal error! Overflow decompressing VIS lump! {} leaf of {} #0\n
LANG_0995 = \nFatal error! Overflow decompressing VIS lump! {} of {} #1\n
LANG_0996 = \nLeaef vis offset : {} of {} lump size\n
LANG_0997 = \nFatal error! Overflow decompressing VIS lump! #1\n
LANG_0998 = \nFatal error! Decompress vis dest overflow {} > {} #0!\n
LANG_0999 = \nFatal error! Decompress vis src overflow {} > {} #1!\n
LANG_1000 = \nFatal error! Decompress vis overflow {} > {} #0!
LANG_1001 = \nFatal error! leaf array overflow leafs[{}] of {}\n
LANG_1002 = \nFatal error! leaf array overflow leafs[{}] of {} (in sharedRows)\n
LANG_1003 = \nFatal error! Vismap expansion overflow {} > {}\n
LANG_1004 = \nFatal error! Fatal Error! Decompress leaf vis overflow {} > {} #1!\n
LANG_1005 = \nFatal error! Fatal Error! Decompress leaf vis overflow {} > {} #2!\n
LANG_1006 = \nFatal error! Fatal Error! Decompress src leaf vis overflow {} > {} #2!\n
LANG_1007 = \nFatal error! Fatal Error! Decompress leaf vis overflow {} > {} #3!\n
LANG_1008 = Winding::initFromPlane no major axis found\n
LANG_1009 = Winding::Clip : points exceeded estimate\n
LANG_1010 = Matrix inversion failed (determinant is zero)\n
Expand Down
30 changes: 15 additions & 15 deletions resources/languages/language_ru.ini
Original file line number Diff line number Diff line change
Expand Up @@ -992,21 +992,21 @@ LANG_0989 = Загружается модель {}, версия {}\n
LANG_0990 = getPlaneFromFace() фейс был НУЛЕВОЙ\n
LANG_0991 = Недопустимые границы плоскости {} ({} > 4096)\n
LANG_0992 = \nСМЕЩЕНИЕ\n
LANG_0993 = Критическая ошибка! Переполнение {} лифов VIS при смещении\n
LANG_0994 = Критическая ошибка! Переполнение при распаковке лумпа VIS! Лиф {} из {} #0\n
LANG_0995 = Критическая ошибка! Переполнение при распаковке лумпа VIS! {} из {} #1\n
LANG_0996 = Смещение лифа VIS: {} при размере лумпа {}\n
LANG_0997 = Критическая ошибка! Переполнение при распаковке лумпа VIS! #1\n
LANG_0998 = Критическая ошибка! Переполнение при распаковке назначения VIS {} > {} #0!\n
LANG_0999 = Критическая ошибка! Переполнение при распаковке источника VIS {} > {} #1!\n
LANG_1000 = Критическая ошибка! Переполнение при распаковке VIS {} > {} #0!
LANG_1001 = Критическая ошибка! Переполнение массива лифов - [{}] лифов из {}\n
LANG_1002 = Критическая ошибка! Переполнение массива лифов - [{}] лифов из {} (в sharedRows)\n
LANG_1003 = Критическая ошибка! Переполнение расширения Vismap {} > {}\n
LANG_1004 = Критическая ошибка! Переполнение при распаковке лифа VIS {} > {} #1!\n
LANG_1005 = Критическая ошибка! Переполнение при распаковке лифа VIS {} > {} #2!\n
LANG_1006 = Критическая ошибка! Переполнение при распаковке источника лифа VIS {} > {} #2!\n
LANG_1007 = Критическая ошибка! Переполнение при распаковке лифа VIS {} > {} #3!\n
LANG_0993 = \nКритическая ошибка! Переполнение {} лифов VIS при смещении\n
LANG_0994 = \nКритическая ошибка! Переполнение при распаковке лумпа VIS! Лиф {} из {} #0\n
LANG_0995 = \nКритическая ошибка! Переполнение при распаковке лумпа VIS! {} из {} #1\n
LANG_0996 = \nСмещение лифа VIS: {} при размере лумпа {}\n
LANG_0997 = \nКритическая ошибка! Переполнение при распаковке лумпа VIS! #1\n
LANG_0998 = \nКритическая ошибка! Переполнение при распаковке назначения VIS {} > {} #0!\n
LANG_0999 = \nКритическая ошибка! Переполнение при распаковке источника VIS {} > {} #1!\n
LANG_1000 = \nКритическая ошибка! Переполнение при распаковке VIS {} > {} #0!
LANG_1001 = \nКритическая ошибка! Переполнение массива лифов - [{}] лифов из {}\n
LANG_1002 = \nКритическая ошибка! Переполнение массива лифов - [{}] лифов из {} (в sharedRows)\n
LANG_1003 = \nКритическая ошибка! Переполнение расширения Vismap {} > {}\n
LANG_1004 = \nКритическая ошибка! Переполнение при распаковке лифа VIS {} > {} #1!\n
LANG_1005 = \nКритическая ошибка! Переполнение при распаковке лифа VIS {} > {} #2!\n
LANG_1006 = \nКритическая ошибка! Переполнение при распаковке источника лифа VIS {} > {} #2!\n
LANG_1007 = \nКритическая ошибка! Переполнение при распаковке лифа VIS {} > {} #3!\n
LANG_1008 = Winding::initFromPlane: не найдена главная ось\n
LANG_1009 = Winding::Clip: значение превысило ожидаемое\n
LANG_1010 = Инверсия матрицы не удалась (определитель равен нулю)\n
Expand Down
235 changes: 173 additions & 62 deletions src/bsp/Bsp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,9 @@ void Bsp::selectModelEnt()
{
if (!is_bsp_model || ents.empty())
return;
for (size_t i = 0; i < g_app->mapRenderers.size(); i++)
for (size_t i = 0; i < mapRenderers.size(); i++)
{
BspRenderer* mapRender = g_app->mapRenderers[i];
BspRenderer* mapRender = mapRenderers[i];
if (!mapRender)
continue;
Bsp* map = mapRender->map;
Expand Down Expand Up @@ -2655,7 +2655,6 @@ void Bsp::write(const std::string& path)

update_lump_pointers();


unsigned char* nulls = new unsigned char[sizeof(BSPHEADER) + sizeof(BSPHEADER_EX)];

file.write((const char*)nulls, is_bsp30ext && extralumps ? sizeof(BSPHEADER) + sizeof(BSPHEADER_EX) : sizeof(BSPHEADER));
Expand Down Expand Up @@ -3889,29 +3888,92 @@ bool sortModelInfos(const STRUCTUSAGE* a, const STRUCTUSAGE* b)

bool Bsp::isValid()
{
return modelCount < (int)MAX_MAP_MODELS
&& planeCount < (is_bsp2 ? INT_MAX : MAX_MAP_PLANES)
&& vertCount < MAX_MAP_VERTS
&& nodeCount < (is_bsp2 ? INT_MAX : (int)MAX_MAP_NODES)
&& texinfoCount < (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS)
&& faceCount < (is_bsp2 ? INT_MAX : MAX_MAP_FACES)
&& clipnodeCount < (int)(is_32bit_clipnodes ? INT_MAX : is_broken_clipnodes ? (MAX_MAP_CLIPNODES_DEFAULT * 2 - 15) : MAX_MAP_CLIPNODES)
&& leafCount < (is_bsp2 ? INT_MAX : (int)MAX_MAP_LEAVES)
&& marksurfCount < (is_bsp2 ? INT_MAX : MAX_MAP_MARKSURFS)
&& surfedgeCount < (is_bsp2 ? INT_MAX : (int)MAX_MAP_SURFEDGES)
&& edgeCount < (is_bsp2 ? INT_MAX : (int)MAX_MAP_SURFEDGES)
&& textureCount < (int)MAX_MAP_TEXTURES
&& lightDataLength < (int)MAX_MAP_LIGHTDATA
&& visDataLength < (int)MAX_MAP_VISDATA
&& ents.size() < (int)MAX_MAP_ENTS;
if (planeCount > (is_bsp2 ? INT_MAX : MAX_MAP_PLANES))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0179));
}
if (texinfoCount > (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0180));
}
if (leafCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_LEAVES))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0181));
}
if (modelCount > (int)MAX_MAP_MODELS)
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0182));
}
if (texinfoCount > (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_1037));
}
if (nodeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_NODES))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0183));
}
if (vertCount > (is_bsp2 ? INT_MAX : MAX_MAP_VERTS))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0184));
}
if (faceCount > (is_bsp2 ? INT_MAX : MAX_MAP_FACES))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0185));
}
if (clipnodeCount > (int)(is_32bit_clipnodes ? INT_MAX : is_broken_clipnodes ? (MAX_MAP_CLIPNODES_DEFAULT * 2 - 15) : MAX_MAP_CLIPNODES))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0186));
}
if (marksurfCount > (is_bsp2 ? INT_MAX : MAX_MAP_MARKSURFS))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0187));
}
if (surfedgeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_SURFEDGES))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0188));
}
if (edgeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_EDGES))
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0189));
}
if (textureCount > (int)MAX_MAP_TEXTURES)
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0190));
}
if (lightDataLength > (int)MAX_MAP_LIGHTDATA)
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0191));
}
if (visDataLength > (int)MAX_MAP_VISDATA)
{
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0192));
}
if (ents.size() > MAX_MAP_ENTS)
{
print_log(PRINT_RED | PRINT_INTENSITY, "Overflowed entities !!!\n");
}

return modelCount <= (int)MAX_MAP_MODELS
&& planeCount <= (is_bsp2 ? INT_MAX : MAX_MAP_PLANES)
&& vertCount <= MAX_MAP_VERTS
&& nodeCount <= (is_bsp2 ? INT_MAX : (int)MAX_MAP_NODES)
&& texinfoCount <= (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS)
&& faceCount <= (is_bsp2 ? INT_MAX : MAX_MAP_FACES)
&& clipnodeCount <= (int)(is_32bit_clipnodes ? INT_MAX : is_broken_clipnodes ? (MAX_MAP_CLIPNODES_DEFAULT * 2 - 15) : MAX_MAP_CLIPNODES)
&& leafCount <= (is_bsp2 ? INT_MAX : (int)MAX_MAP_LEAVES)
&& marksurfCount <= (is_bsp2 ? INT_MAX : MAX_MAP_MARKSURFS)
&& surfedgeCount <= (is_bsp2 ? INT_MAX : (int)MAX_MAP_SURFEDGES)
&& edgeCount <= (is_bsp2 ? INT_MAX : (int)MAX_MAP_SURFEDGES)
&& textureCount <= (int)MAX_MAP_TEXTURES
&& lightDataLength <= (int)MAX_MAP_LIGHTDATA
&& visDataLength <= (int)MAX_MAP_VISDATA
&& ents.size() <= MAX_MAP_ENTS;
}

bool Bsp::validate()
{
bool isValid = true;



for (int i = 0; i < marksurfCount; i++)
{
if (marksurfs[i] < 0 || marksurfs[i] >= faceCount)
Expand Down Expand Up @@ -4172,6 +4234,87 @@ bool Bsp::validate()
}
}

if (planeCount > (is_bsp2 ? INT_MAX : MAX_MAP_PLANES))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0179));
}
if (texinfoCount > (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0180));
}
if (leafCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_LEAVES))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0181));
}
if (modelCount > (int)MAX_MAP_MODELS)
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0182));
}
if (texinfoCount > (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_1037));
}
if (nodeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_NODES))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0183));
}
if (vertCount > (is_bsp2 ? INT_MAX : MAX_MAP_VERTS))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0184));
}
if (faceCount > (is_bsp2 ? INT_MAX : MAX_MAP_FACES))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0185));
}
if (clipnodeCount > (int)(is_32bit_clipnodes ? INT_MAX : is_broken_clipnodes ? (MAX_MAP_CLIPNODES_DEFAULT * 2 - 15) : MAX_MAP_CLIPNODES))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0186));
}
if (marksurfCount > (is_bsp2 ? INT_MAX : MAX_MAP_MARKSURFS))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0187));
}
if (surfedgeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_SURFEDGES))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0188));
}
if (edgeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_EDGES))
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0189));
}
if (textureCount > (int)MAX_MAP_TEXTURES)
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0190));
}
if (lightDataLength > (int)MAX_MAP_LIGHTDATA)
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0191));
}
if (visDataLength > (int)MAX_MAP_VISDATA)
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0192));
}
if (ents.size() > MAX_MAP_ENTS)
{
isValid = false;
print_log(PRINT_RED | PRINT_INTENSITY, "Overflowed entities !!!\n");
}

unsigned int newVisRowSize = ((leafCount + 63) & ~63) >> 3;
int decompressedVisSize = leafCount * newVisRowSize;
unsigned char* decompressedVis = new unsigned char[decompressedVisSize];
Expand Down Expand Up @@ -7222,37 +7365,6 @@ void Bsp::update_lump_pointers()
lightDataLength = bsp_header.lump[LUMP_LIGHTING].nLength;
visDataLength = bsp_header.lump[LUMP_VISIBILITY].nLength;

if (planeCount > (is_bsp2 ? INT_MAX : MAX_MAP_PLANES))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0179));
if (texinfoCount > (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0180));
if (leafCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_LEAVES))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0181));
if (modelCount > (int)MAX_MAP_MODELS)
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0182));
if (texinfoCount > (is_bsp2 ? INT_MAX : MAX_MAP_TEXINFOS))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_1037));
if (nodeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_NODES))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0183));
if (vertCount > (is_bsp2 ? INT_MAX : MAX_MAP_VERTS))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0184));
if (faceCount > (is_bsp2 ? INT_MAX : MAX_MAP_FACES))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0185));
if (clipnodeCount > (int)(is_32bit_clipnodes ? INT_MAX : is_broken_clipnodes ? (MAX_MAP_CLIPNODES_DEFAULT * 2 - 15) : MAX_MAP_CLIPNODES))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0186));
if (marksurfCount > (is_bsp2 ? INT_MAX : MAX_MAP_MARKSURFS))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0187));
if (surfedgeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_SURFEDGES))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0188));
if (edgeCount > (is_bsp2 ? INT_MAX : (int)MAX_MAP_EDGES))
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0189));
if (textureCount > (int)MAX_MAP_TEXTURES)
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0190));
if (lightDataLength > (int)MAX_MAP_LIGHTDATA)
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0191));
if (visDataLength > (int)MAX_MAP_VISDATA)
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0192));

if (!is_protected)
{
if (surfedgeCount > 0)
Expand Down Expand Up @@ -7436,16 +7548,15 @@ void Bsp::ExportToObjWIP(const std::string& path, ExportObjOrder order, int isca
else
{
bool foundInWad = false;
for (size_t r = 0; r < g_app->mapRenderers.size() && !foundInWad; r++)
for (size_t r = 0; r < mapRenderers.size() && !foundInWad; r++)
{
Renderer* rend = g_app;
for (size_t k = 0; k < rend->mapRenderers[r]->wads.size(); k++)
for (size_t k = 0; k < mapRenderers[r]->wads.size(); k++)
{
if (rend->mapRenderers[r]->wads[k]->hasTexture(tex.szName))
if (mapRenderers[r]->wads[k]->hasTexture(tex.szName))
{
foundInWad = true;

WADTEX* wadTex = rend->mapRenderers[r]->wads[k]->readTexture(tex.szName);
WADTEX* wadTex = mapRenderers[r]->wads[k]->readTexture(tex.szName);
int lastMipSize = (wadTex->nWidth / 8) * (wadTex->nHeight / 8);
COLOR3* palette = (COLOR3*)(wadTex->data + wadTex->nOffsets[3] + lastMipSize + sizeof(short) - sizeof(BSPMIPTEX));
unsigned char* src = wadTex->data;
Expand Down Expand Up @@ -7834,17 +7945,17 @@ void Bsp::ExportToMapWIP(const std::string& path)

BspRenderer* Bsp::getBspRender()
{
if (!renderer)
for (size_t i = 0; i < g_app->mapRenderers.size(); i++)
if (g_app->mapRenderers[i]->map == this)
renderer = g_app->mapRenderers[i];
if (!renderer && g_app)
for (size_t i = 0; i < mapRenderers.size(); i++)
if (mapRenderers[i]->map == this)
renderer = mapRenderers[i];
return renderer;
}

int Bsp::getBspRenderId()
{
for (size_t i = 0; i < g_app->mapRenderers.size(); i++)
if (g_app->mapRenderers[i]->map == this)
for (size_t i = 0; i < mapRenderers.size(); i++)
if (mapRenderers[i]->map == this)
return (int)i;
return -1;
}
Expand Down
9 changes: 7 additions & 2 deletions src/bsp/BspMerger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1765,13 +1765,18 @@ void BspMerger::merge_vis(Bsp& mapA, Bsp& mapB)

// shift mapB's world leaves after mapA's world leaves


int overflows = 0;
for (int i = 0; i < otherWorldLeafCount; i++)
{
shiftVis(decompressedOtherVis + i * newVisRowSize, newVisRowSize, 0, thisWorldLeafCount);
overflows += shiftVis(decompressedOtherVis + i * newVisRowSize, newVisRowSize, 0, thisWorldLeafCount);
g_progress.tick();
}


if (overflows > 0)
print_log(PRINT_RED | PRINT_INTENSITY, get_localized_string(LANG_0993), overflows);


// recompress the combined vis data
unsigned char* compressedVis = new unsigned char[decompressedVisSize];
memset(compressedVis, 0, decompressedVisSize);
Expand Down
Loading

0 comments on commit 9ad3f74

Please sign in to comment.