DEADSOFTWARE

sfs and wad code refactoring: part 1
[d2df-sdl.git] / src / sfs / sfsMemFS.pas
index f3fcf0b03a269babc3fc5a2b57e8306eef1187bb..627ca78f74e53caaf2f9ac1ad9c61a3d6c24d6ab 100644 (file)
 //     as a side effect this gives us an opportunity to read enclosed packs
 //     from the packs which aren't supporting backseeking (such as zips).
 //
+{.$DEFINE SFS_MSMFS}
 {$MODE DELPHI}
 {.$R-}
 unit sfsMemFS;
 
 interface
 
+{$IFDEF SFS_MSMFS}
 uses
   SysUtils, Classes, Contnrs, sfs;
 
@@ -33,6 +35,8 @@ type
     procedure SLHRead ();
 
     procedure ReadDirectory (); override;
+
+  public
     function OpenFileByIndex (const index: Integer): TStream; override;
   end;
 
@@ -42,13 +46,14 @@ type
     function Produce (const prefix, fileName: TSFSString; st: TStream): TSFSVolume; override;
     procedure Recycle (vol: TSFSVolume); override;
   end;
-
+{$ENDIF}
 
 
 implementation
 
+{$IFDEF SFS_MSMFS}
 uses
-  xstreams;
+  xstreams, utils;
 
 
 function SLHCheckMagic (st: TStream): Boolean;
@@ -203,8 +208,8 @@ end;
 function TSFSMemoryVolumeFactory.IsMyVolumePrefix (const prefix: TSFSString): Boolean;
 begin
   result :=
-    (SFSStrComp(prefix, 'mem') = 0) or
-    (SFSStrComp(prefix, 'slh!') = 0);
+    StrEquCI1251(prefix, 'mem') or
+    StrEquCI1251(prefix, 'slh!');
 end;
 
 procedure TSFSMemoryVolumeFactory.Recycle (vol: TSFSVolume);
@@ -236,6 +241,7 @@ var
 initialization
   memf := TSFSMemoryVolumeFactory.Create();
   SFSRegisterVolumeFactory(memf);
-finalization
-  SFSUnregisterVolumeFactory(memf);
+//finalization
+//  SFSUnregisterVolumeFactory(memf);
+{$ENDIF}
 end.