Index: oup/current/Helper/LevelDB.pas
===================================================================
--- oup/current/Helper/LevelDB.pas	(revision 128)
+++ oup/current/Helper/LevelDB.pas	(revision 129)
@@ -324,15 +324,10 @@
           end else
             RawLinks[i].RawAddr := 0;
+          DatFileStream.Seek(RawLinks[i].SrcOffset, soFromBeginning);
+          DatFileStream.Write(RawLinks[i].RawAddr, 4);
         end;
       end;
-
-{
-            Data[rawlist[j].src_offset + 0] := (rawlist[j].raw_addr) and $FF;
-            Data[rawlist[j].src_offset + 1] := (rawlist[j].raw_addr shr 8) and $FF;
-            Data[rawlist[j].src_offset + 2] := (rawlist[j].raw_addr shr 16) and $FF;
-            Data[rawlist[j].src_offset + 3] := (rawlist[j].raw_addr shr 24) and $FF;
-}
-      Stream_Body.Write(Data[0], Length(Data));
-      //
+      DatFileStream.Seek(0, soFromBeginning);
+      Stream_Body.CopyFrom(DatFileStream, DatFileStream.Size);
     end
     else
@@ -381,5 +376,6 @@
   Stream_Names.Free;
   Stream_Raw.Free;
-  if OniDataConnection.OSisMac then
+
+  if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then
     Stream_Sep.Free;
 
@@ -397,5 +393,5 @@
   converting := False;
 
-  CloseDataConnection(DataConnections[conIndex]);
+//  CloseDataConnection(DataConnections[conIndex]);
 end;
 
@@ -407,5 +403,5 @@
   i: Byte;
 begin
-  for i := 1 to Length(ConvertHandlers) do
+{  for i := 1 to Length(ConvertHandlers) do
     if UpperCase(ConvertHandlers[i].Ext) = UpperCase(ext) then
       if ConvertHandlers[i].needed then
@@ -416,5 +412,5 @@
       else
         Break;
-end;
+}end;
 
 
@@ -422,4 +418,5 @@
 
 procedure TForm_LevelDB.CreateDatabase(Source, target: String);
+{
 var
   DataBase:    TABSDatabase;
@@ -453,7 +450,8 @@
       group_progress.Caption := 'Creating DB (FINISHED)';
   end;
-
-begin
-  if CreateDataConnection(Source, ODB_Dat) = nil then
+}
+
+begin
+{  if CreateDataConnection(Source, ODB_Dat) = nil then
   begin
     ShowMessage('Could not connect to .dat-file');
@@ -658,12 +656,13 @@
 
   CloseDataConnection(DataConnections[conIndex]);
-end;
-
-
-
-
-procedure TForm_LevelDB.stop_convert;
-begin
-  btn_abortok.Caption := '&Close';
+}
+end;
+
+
+
+
+procedure TForm_LevelDB.StopConvert;
+begin
+{  btn_abortok.Caption := '&Close';
   btn_abortok.Default := True;
   converting := False;
@@ -676,5 +675,5 @@
     DeleteFile(loaded_filename);
   end;
-end;
+}end;
 
 
@@ -699,5 +698,5 @@
 
 
-
+{
 procedure InsertDatLinkToDB(fileid: LongWord; offset: LongWord);
 var
@@ -1731,8 +1730,8 @@
   end;
 end;
-
-
-
-
+}
+
+
+{
 procedure InsertHandler(ext: String; needed: Boolean; handler: THandler);
 begin
@@ -1742,7 +1741,7 @@
   ConvertHandlers[High(ConvertHandlers)].handler := handler;
 end;
-
-begin
-  InsertHandler('ABNA', False, nil);
+}
+begin
+{  InsertHandler('ABNA', False, nil);
   //  InsertHandler('AGDB',True,AGDB);
   InsertHandler('AGDB', False, nil);
@@ -1842,3 +1841,3 @@
   InsertHandler('WMMB', True, WMMB);
   InsertHandler('WPGE', True, WPGE);
-end.
+}end.
Index: oup/current/Main.pas
===================================================================
--- oup/current/Main.pas	(revision 128)
+++ oup/current/Main.pas	(revision 129)
@@ -138,4 +138,7 @@
 implementation
 
+uses
+  LevelDB;
+
 {$R *.dfm}
 
@@ -562,6 +565,6 @@
 procedure TForm_Main.menu_createlvlClick(Sender: TObject);
 begin
-  ShowMessage('Not yet usable');
-{
+//  ShowMessage('Not yet usable');
+
   opend.Filter     := 'OUP-Level-DB (*.oldb)|*.oldb';
   saved.Filter     := 'Oni-Dat-Files|*.dat';
@@ -570,5 +573,5 @@
     if saved.Execute then
       Form_LevelDB.CreateLevel(opend.FileName, saved.FileName);
-}
+
 end;
 
Index: oup/current/OniUnPacker.dpr
===================================================================
--- oup/current/OniUnPacker.dpr	(revision 128)
+++ oup/current/OniUnPacker.dpr	(revision 129)
@@ -29,5 +29,6 @@
   DatLinks in 'Global\DatLinks.pas',
   _DataTypes in 'FileClasses\_DataTypes.pas',
-  _FileTypes in 'FileClasses\_FileTypes.pas';
+  _FileTypes in 'FileClasses\_FileTypes.pas',
+  LevelDB in 'Helper\LevelDB.pas' {Form_LevelDB};
 
 {$R *.res}
@@ -41,4 +42,5 @@
   Application.CreateForm(TForm_ValueEdit, Form_ValueEdit);
   Application.CreateForm(TForm_WhatLinksHere, Form_WhatLinksHere);
+  Application.CreateForm(TForm_LevelDB, Form_LevelDB);
   Application.Run;
 end.
