X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fshared%2Fwadreader.pas;h=db73d456e9b4d5335cf715b022cd2f306fc10e66;hb=4f4d1ee4bacd4bd6ebfb821de83c591d5bc93981;hp=b83102bf611814015126b787f8cc968608541120;hpb=d7d166dc3cd287276202e862746208892c4cc89f;p=d2df-sdl.git diff --git a/src/shared/wadreader.pas b/src/shared/wadreader.pas index b83102b..db73d45 100644 --- a/src/shared/wadreader.pas +++ b/src/shared/wadreader.pas @@ -1,4 +1,4 @@ -(* Copyright (C) DooM 2D:Forever Developers +(* Copyright (C) Doom 2D: Forever Developers * * 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 @@ -22,13 +22,13 @@ unit wadreader; interface uses - mempool, sfs, xstreams, Classes; + Classes, + {$IFDEF USE_MEMPOOL}mempool,{$ENDIF} + sfs, xstreams, utils; type - SArray = array of ShortString; - - TWADFile = class(TPoolObject) + TWADFile = class{$IFDEF USE_MEMPOOL}(TPoolObject){$ENDIF} private fFileName: AnsiString; // empty: not opened fIter: TSFSFileList; @@ -49,7 +49,7 @@ type function GetResource (name: AnsiString; var pData: Pointer; var Len: Integer; logError: Boolean=true): Boolean; function GetMapResource (name: AnsiString; var pData: Pointer; var Len: Integer; logError: Boolean=true): Boolean; - function GetMapResources (): SArray; + function GetMapResources (): SSArray; // returns `nil` if file wasn't found function openFileStream (name: AnsiString): TStream; @@ -64,9 +64,6 @@ function g_ExtractFilePath (resourceStr: AnsiString): AnsiString; function g_ExtractFileName (resourceStr: AnsiString): AnsiString; // without path function g_ExtractFilePathName (resourceStr: AnsiString): AnsiString; -// return fixed AnsiString or empty AnsiString -function findDiskWad (fname: AnsiString): AnsiString; - var wadoptDebug: Boolean = false; @@ -76,34 +73,7 @@ var implementation uses - SysUtils, e_log, utils, MAPDEF, xdynrec; - - -function findDiskWad (fname: AnsiString): AnsiString; -begin - result := ''; - if not findFileCI(fname) then - begin - //e_WriteLog(Format('findDiskWad: error looking for [%s]', [fname]), MSG_NOTIFY); - if StrEquCI1251(ExtractFileExt(fname), '.wad') then - begin - fname := ChangeFileExt(fname, '.pk3'); - //e_WriteLog(Format(' looking for [%s]', [fname]), MSG_NOTIFY); - if not findFileCI(fname) then - begin - fname := ChangeFileExt(fname, '.zip'); - //e_WriteLog(Format(' looking for [%s]', [fname]), MSG_NOTIFY); - if not findFileCI(fname) then exit; - end; - end - else - begin - exit; - end; - end; - //e_WriteLog(Format('findDiskWad: FOUND [%s]', [fname]), MSG_NOTIFY); - result := fname; -end; + SysUtils, e_log, MAPDEF, xdynrec; function normSlashes (s: AnsiString): AnsiString; @@ -459,7 +429,7 @@ begin result := GetResourceEx(name, true, pData, Len, logError); end; -function TWADFile.GetMapResources (): SArray; +function TWADFile.GetMapResources (): SSArray; var f, c: Integer; fi: TSFSFileInfo;