Inc(i);
EditorWad := ParamStr(i);
end;
+ end
+ else if p = '--wads-dir' then
+ begin
+ if i + 1 <= ParamCount then
+ begin
+ Inc(i);
+ WadsDir := ParamStr(i);
+ end;
end;
Inc(i);
end;
CfgFileName := EditorDir + DirectorySeparator + 'Editor.cfg';
GameWad := EditorDir + DirectorySeparator + 'data' + DirectorySeparator + 'game.wad';
EditorWad := EditorDir + DirectorySeparator + 'data' + DirectorySeparator + 'editor.wad';
+ WadsDir := EditorDir + DirectorySeparator + 'wads';
CheckParamOptions;
InitLogs;
FFullResourceName := '';
FResourceSelected := False;
- if FindFirst(EditorDir + 'wads/*.*', faAnyFile, SR) = 0 then
+ if FindFirst(WadsDir + DirectorySeparator + '*.*', faAnyFile, SR) = 0 then
repeat
if (SR.name <> '.') and (SR.name <> '..') then
cbWADList.Items.Add(SR.Name);
FileName, Section, sn, rn: String;
begin
if cbWADList.Text <> _lc[I_WAD_SPECIAL_MAP] then
- FileName := EditorDir + 'wads/' + cbWADList.Text (* Resource wad *)
+ FileName := WadsDir + DirectorySeparator + cbWADList.Text (* Resource wad *)
else
g_ProcessResourceStr(OpenedMap, FileName, sn, rn); (* Map wad *)
FileName, Section, SectionName, sn, rn: String;
begin
if cbWADList.Text <> _lc[I_WAD_SPECIAL_MAP] then
- FileName := EditorDir + 'wads/' + cbWADList.Text (* Resource wad *)
+ FileName := WadsDir + DirectorySeparator + cbWADList.Text (* Resource wad *)
else
g_ProcessResourceStr(OpenedMap, FileName, sn, rn); (* Map wad *)
g_ProcessResourceStr(OpenedMap, @fn, nil, nil);
if FileName <> '' then
- FFullResourceName := EditorDir + 'wads/' + FResourceName
+ FFullResourceName := WadsDir + DirectorySeparator + FResourceName
else
FFullResourceName := fn + FResourceName
end;
end
else
begin // Внешний WAD
- FileName := EditorDir+'wads/'+aWAD;
+ FileName := WadsDir + DirectorySeparator + aWAD;
ResourceName := aWAD+':'+SectionName+'\'+aTex;
end;
if filename = '' then
g_GetResourceSection(OpenedMap, filename, us, un)
else
- filename := EditorDir + 'wads/' + filename;
+ filename := WadsDir + DirectorySeparator + filename;
e_WriteLog('ProcessResource: "' + wad_to + '" "' + section_to + '" "' + filename + '" "' + section + '" "' + resource + '"', MSG_NOTIFY);
if resource = '' then Exit;
fn := fn + Res;
end
else
- fn := EditorDir + 'wads/' + Res;
+ fn := WadsDir + DirectorySeparator + Res;
g_CreateTextureWAD(SKY_TEXTURE, fn);
end;
if _fn = '' then
TextureRes := FileName + ustr
else
- TextureRes := EditorDir+'wads/'+ustr;
+ TextureRes := WadsDir + DirectorySeparator + ustr;
Error := False;
Continue;
// Нет такой текстуры - ищем в WAD карты:
- if not g_CreateTextureWAD(s, EditorDir+'wads/'+s) then
+ if not g_CreateTextureWAD(s, WadsDir + DirectorySeparator + s) then
begin
s := ExtractFileName(_FileName);
Delete(s, Length(s)-3, 4);
s := UpperCase(s) + '.WAD:TEXTURES\'+ UpperCase(win2utf(map.ReadStr('Textures', 'TextureName'+IntToStr(a), '')));
- if not g_CreateTextureWAD(s, EditorDir+'wads/'+s) then
+ if not g_CreateTextureWAD(s, WadsDir + DirectorySeparator + s) then
Continue;
end;
CfgFileName: AnsiString;
GameWad: AnsiString;
EditorWad: AnsiString;
+ WadsDir: AnsiString;
implementation