DEADSOFTWARE

dfzip: more checks and user visible errors
[d2df-editor.git] / src / shared / WADEDITOR.pas
index 30b3260bfa20cb88b4cec54af788addae9de8bbf..74a3bfccccd1bf28656cf1b45695e71702ad87cb 100644 (file)
@@ -35,6 +35,16 @@ interface
     DFWAD_ERROR_READWAD          = -7;
     DFWAD_ERROR_WRONGVERSION     = -8;
 
+  const
+    DFWAD_LOG_SILENT  = 0;
+    DFWAD_LOG_FATAL   = 1;
+    DFWAD_LOG_ERROR   = 2;
+    DFWAD_LOG_WARN    = 3;
+    DFWAD_LOG_INFO    = 4;
+    DFWAD_LOG_DEBUG   = 5;
+    DFWAD_LOG_TRACE   = 6;
+    DFWAD_LOG_DEFAULT = DFWAD_LOG_INFO;
+
   type
     SArray = array of ShortString;
 
@@ -126,6 +136,9 @@ interface
 
   function gWADEditorFactory: TWADEditorFactory;
 
+  var
+    gWADEditorLogLevel: Integer = DFWAD_LOG_INFO;
+
 implementation
 
   uses SysUtils, Math, utils;
@@ -256,7 +269,7 @@ implementation
       fname := findFileCIStr(FileName);
       for i := 0 to FMappings.Count - 1 do
       begin
-        tmp := gWADEditorFactory.CreateEditor(FMappings[i]);
+        tmp := TWADEditorMapping(FMappings.Objects[i]).WADEditorClass.Create();
         if tmp.ReadFile2(fname) then
         begin
           Result := tmp;
@@ -275,7 +288,7 @@ implementation
     begin
       for i := 0 to FMappings.Count - 1 do
       begin
-        tmp := gWADEditorFactory.CreateEditor(FMappings[i]);
+        tmp := TWADEditorMapping(FMappings.Objects[i]).WADEditorClass.Create();
         if tmp.ReadMemory(Data, Len) then
         begin
           Result := tmp;