DEADSOFTWARE

Holmes now require "data/flexui.wad" (it is not fatal to not have this file; Holmes...
[d2df-sdl.git] / src / shared / wadreader.pas
index b83102bf611814015126b787f8cc968608541120..1e7a163142b200155c49f8f9ea6d8d0121251110 100644 (file)
@@ -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;