DEADSOFTWARE

Game: Handle load errors correctly
[d2df-sdl.git] / src / shared / utils.pas
index 09c03548a45b04a5bc8809e820fa9ec8b7aebcd2..e62cc1c3fccd98571e3e6680a0216e093c452e86 100644 (file)
@@ -813,7 +813,7 @@ var
   ext: AnsiString;
 begin
   ext := getFilenameExt(fn);
-  result := StrEquCI1251(ext, '.wad') or StrEquCI1251(ext, '.pk3') or StrEquCI1251(ext, '.zip');
+  result := StrEquCI1251(ext, '.wad') or StrEquCI1251(ext, '.pk3') or StrEquCI1251(ext, '.zip') or StrEquCI1251(ext, '.dfz');
 end;
 
 
@@ -839,7 +839,7 @@ begin
       if (pos-4 > 1) and (fn[pos-4] = '.') and ((fn[pos+1] = '\') or (fn[pos+1] = '/')) then
       begin
         s := Copy(fn, pos-4, 4);
-        if StrEquCI1251(s, '.wad') or StrEquCI1251(s, '.pk3') or StrEquCI1251(s, '.zip') then
+        if StrEquCI1251(s, '.wad') or StrEquCI1251(s, '.pk3') or StrEquCI1251(s, '.zip') or StrEquCI1251(s, '.dfz') then
         begin
           result := true;
           exit;
@@ -1129,7 +1129,7 @@ begin
 end;
 
 
-const fileExtensions: array [0..5] of AnsiString = ('.wad', '.dfzip', '.dfwad', '.pk3', '.pak', '.zip');
+const fileExtensions: array [0..6] of AnsiString = ('.dfz', '.wad', '.dfwad', '.pk3', '.pak', '.zip', '.dfzip');
 
 function findDiskWad (fname: AnsiString): AnsiString;
 var
@@ -1159,7 +1159,7 @@ end;
 
 function openDiskFileRO (pathname: AnsiString): TStream;
 begin
-  if not findFileCI(pathname) then raise Exception.Create('can''t open file "'+pathname+'"');
+  if not findFileCI(pathname) then raise EFileNotFoundException.Create('can''t open file "'+pathname+'"');
   result := TFileStream.Create(pathname, fmOpenRead or {fmShareDenyWrite}fmShareDenyNone);
 end;