X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame%2Fg_gui.pas;h=7acbf0b101213d9203f4c9562aa20bf4c868523c;hb=cc934f758d8d3036fa3bca8a3cca949814e04d89;hp=2f9bc08380d79cf1ba7447ce1800a727463e3ec4;hpb=20428038ea09152f824e5947da1d550a4774207e;p=d2df-sdl.git diff --git a/src/game/g_gui.pas b/src/game/g_gui.pas index 2f9bc08..7acbf0b 100644 --- a/src/game/g_gui.pas +++ b/src/game/g_gui.pas @@ -2844,13 +2844,14 @@ procedure TGUIFileListBox.OpenDir(path: String); var SR: TSearchRec; i: Integer; + sm, sc: string; begin Clear(); path := IncludeTrailingPathDelimiter(path); path := ExpandFileName(path); -// Êàòàëîãè: + // Êàòàëîãè: if FDirs then begin if FindFirst(path+'*', faDirectory, SR) = 0 then @@ -2867,20 +2868,15 @@ begin FindClose(SR); end; -// Ôàéëû: - if FindFirst(path+FFileMask, faAnyFile, SR) = 0 then - repeat - AddItem(SR.Name); - until FindNext(SR) <> 0; - FindClose(SR); - - //FIXME: HACK! - if FFileMask = '*.wad' then + // Ôàéëû: + sm := FFileMask; + while sm <> '' do begin - if FindFirst(path+'*.pk3', faAnyFile, SR) = 0 then - repeat - AddItem(SR.Name); - until FindNext(SR) <> 0; + i := Pos('|', sm); + if i = 0 then i := length(sm)+1; + sc := Copy(sm, 1, i-1); + Delete(sm, 1, i); + if FindFirst(path+sc, faAnyFile, SR) = 0 then repeat AddItem(SR.Name); until FindNext(SR) <> 0; FindClose(SR); end;