diff --git a/src/game/g_map.pas b/src/game/g_map.pas
index bf1f9159d096fdfe54d7f42b268b4e07aba425ec..08ebadeb2929d4b429c62c9a7794173bfb0995cc 100644 (file)
--- a/src/game/g_map.pas
+++ b/src/game/g_map.pas
Math, g_monsters, g_saveload, g_language, g_netmsg,
sfs, xstreams, hashtable, wadreader,
ImagingTypes, Imaging, ImagingUtility,
- ImagingGif, ImagingNetworkGraphics;
+ ImagingGif, ImagingNetworkGraphics,
+ g_res_downloader;
const
FLAGRECT: TRectWH = (X:15; Y:12; Width:33; Height:52);
end;
+function GetReplacementWad (WadName: AnsiString): AnsiString;
+begin
+ if (length(WadName) = 0) then
+ begin
+ result := '';
+ end
+ else
+ begin
+ result := g_Res_FindReplacementWad(WadName);
+ if (result <> WadName) then
+ begin
+ //e_LogWritefln('GetReplacementWad: old=%s; new=%s', [WadName, result]);
+ end
+ else
+ begin
+ result := GameDir+'/wads/'+result;
+ end;
+ end;
+end;
+
function CreateTexture(RecName: AnsiString; Map: string; log: Boolean): Integer;
var
WAD: TWADFile;
end;
// Çàãðóæàåì ðåñóðñ òåêñòóðû â ïàìÿòü èç WAD'à:
- WADName := g_ExtractWadName(RecName);
+ WADName := GetReplacementWad(g_ExtractWadName(RecName));
+ if WADName = '' then WADName := Map; //WADName := GameDir+'/wads/'+WADName else
WAD := TWADFile.Create();
-
- if WADName <> '' then WADName := GameDir+'/wads/'+WADName else WADName := Map;
-
WAD.ReadFile(WADName);
//txname := RecName;
end;
// ×èòàåì WAD-ðåñóðñ àíèì.òåêñòóðû èç WAD'à â ïàìÿòü:
- WADName := g_ExtractWadName(RecName);
+ WADName := GetReplacementWad(g_ExtractWadName(RecName));
+ if WADName = '' then WADName := Map; //WADName := GameDir+'/wads/'+WADName else
WAD := TWADFile.Create();
try
- if WADName <> '' then WADName := GameDir+'/wads/'+WADName else WADName := Map;
+ //if WADName <> '' then WADName := GameDir+'/wads/'+WADName else WADName := Map;
WAD.ReadFile(WADName);
//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
+ if (res <> '') {and (res <> 'standart.wad')} and (gExternalResources.IndexOf(res) = -1) then
begin
//e_LogWritefln('DBG: added external resource %s', [res]);
gExternalResources.Add(res);