diff --git a/src/game/g_map.pas b/src/game/g_map.pas
index 9943dba6998a8a40944a89aa3d03346db8189293..bf1f9159d096fdfe54d7f42b268b4e07aba425ec 100644 (file)
--- a/src/game/g_map.pas
+++ b/src/game/g_map.pas
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, version 3 of the License ONLY.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
end;
// ýòî ïòèöà? ýòî ñàìîë¸ò?
- if (TextureWAD[0] = 'D') and (TextureWAD[1] = 'F') and
- (TextureWAD[2] = 'W') and (TextureWAD[3] = 'A') and (TextureWAD[4] = 'D') then
+ if isWadData(TextureWAD, ResLength) then
begin
// íåò, ýòî ñóïåðìåí!
if not WAD.ReadMemory(TextureWAD, ResLength) then
procedure addResToExternalResList(res: string);
begin
- res := extractWadName(res);
- if (res <> '') and (gExternalResources.IndexOf(res) = -1) then
+ //e_LogWritefln('DBG: ***trying external resource %s', [res]);
+ res := toLowerCase1251(extractWadName(res));
+ // ignore "standart.wad"
+ if (res <> '') and (res <> 'standart.wad') and (gExternalResources.IndexOf(res) = -1) then
+ begin
+ //e_LogWritefln('DBG: added external resource %s', [res]);
gExternalResources.Add(res);
+ end;
end;
procedure generateExternalResourcesList({mapReader: TMapReader_1}map: TDynRecord);
ntn := CreateTexture(rec.Resource, FileName, True);
if (ntn < 0) then g_SimpleError(Format(_lc[I_GAME_ERROR_TEXTURE_SIMPLE], [rec.Resource]));
end;
- if (ntn < 0) then ntn := CreateNullTexture(rec.Resource);
+ if (ntn < 0) then
+ begin
+ ntn := CreateNullTexture(rec.Resource);
+ end
+ else
+ begin
+ addResToExternalResList(rec.Resource);
+ end;
rec.tagInt := ntn; // remember texture number
end;