mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-10 14:51:46 +00:00
- Initialize the nerve checksum at compile-time instead of run-time.
- Fixed: Crash in FWadCollection::RenameNerve() for files without a FileReader object. SVN r3932 (trunk)
This commit is contained in:
parent
aab12c6b0c
commit
d0c3c924d4
1 changed files with 16 additions and 14 deletions
|
@ -828,13 +828,17 @@ void FWadCollection::RenameNerve ()
|
||||||
|
|
||||||
bool found = false;
|
bool found = false;
|
||||||
BYTE cksum[16];
|
BYTE cksum[16];
|
||||||
BYTE nerve[16] = { 0x96, 0x7d, 0x5a, 0xe2, 0x3d, 0xaf, 0x45, 0x19,
|
static const BYTE nerve[16] = { 0x96, 0x7d, 0x5a, 0xe2, 0x3d, 0xaf, 0x45, 0x19,
|
||||||
0x62, 0x12, 0xae, 0x1b, 0x60, 0x5d, 0xa3, 0xb0 };
|
0x62, 0x12, 0xae, 0x1b, 0x60, 0x5d, 0xa3, 0xb0 };
|
||||||
size_t nervesize = 3819855; // NERVE.WAD's file size
|
size_t nervesize = 3819855; // NERVE.WAD's file size
|
||||||
int w = IWAD_FILENUM;
|
int w = IWAD_FILENUM;
|
||||||
while (++w < GetNumWads())
|
while (++w < GetNumWads())
|
||||||
{
|
{
|
||||||
FileReader *fr = GetFileReader(w);
|
FileReader *fr = GetFileReader(w);
|
||||||
|
if (fr == NULL)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (fr->GetLength() != nervesize)
|
if (fr->GetLength() != nervesize)
|
||||||
{
|
{
|
||||||
// Skip MD5 computation when there is a
|
// Skip MD5 computation when there is a
|
||||||
|
@ -855,22 +859,20 @@ void FWadCollection::RenameNerve ()
|
||||||
if (!found)
|
if (!found)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (DWORD i = 0; i < LumpInfo.Size(); i++)
|
for (int i = GetFirstLump(w); i <= GetLastLump(w); i++)
|
||||||
{
|
{
|
||||||
// Only rename the maps from NERVE.WAD
|
// Only rename the maps from NERVE.WAD
|
||||||
if (LumpInfo[i].wadnum == w)
|
assert(LumpInfo[i].wadnum == w);
|
||||||
|
if (LumpInfo[i].lump->dwName == MAKE_ID('C', 'W', 'I', 'L'))
|
||||||
{
|
{
|
||||||
if (LumpInfo[i].lump->dwName == MAKE_ID('C', 'W', 'I', 'L'))
|
LumpInfo[i].lump->Name[0] = 'N';
|
||||||
{
|
}
|
||||||
LumpInfo[i].lump->Name[0] = 'N';
|
else if (LumpInfo[i].lump->dwName == MAKE_ID('M', 'A', 'P', '0'))
|
||||||
}
|
{
|
||||||
else if (LumpInfo[i].lump->dwName == MAKE_ID('M', 'A', 'P', '0'))
|
LumpInfo[i].lump->Name[6] = LumpInfo[i].lump->Name[4];
|
||||||
{
|
LumpInfo[i].lump->Name[5] = '0';
|
||||||
LumpInfo[i].lump->Name[6] = LumpInfo[i].lump->Name[4];
|
LumpInfo[i].lump->Name[4] = 'L';
|
||||||
LumpInfo[i].lump->Name[5] = '0';
|
LumpInfo[i].lump->dwName = MAKE_ID('L', 'E', 'V', 'E');
|
||||||
LumpInfo[i].lump->Name[4] = 'L';
|
|
||||||
LumpInfo[i].lump->dwName = MAKE_ID('L', 'E', 'V', 'E');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue