ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/oup/current/Helper/LevelDB.pas
(Generate patch)

Comparing oup/current/Helper/LevelDB.pas (file contents):
Revision 109 by alloc, Wed Feb 21 03:12:33 2007 UTC vs.
Revision 131 by alloc, Wed Mar 28 01:20:26 2007 UTC

# Line 1 | Line 1
1 < unit Helper_LevelDB;
2 <
1 > unit LevelDB;
2   interface
4
3   uses
4    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
5    Dialogs, ComCtrls, StdCtrls, StrUtils;
# Line 15 | Line 13 | type
13      lbl_estimation: TLabel;
14      procedure btn_abortokClick(Sender: TObject);
15    private
16 <    procedure HandleFile(ext: String; fileid: Integer; dir_dat2db: Boolean);
17 <    procedure stop_convert;
16 >    procedure HandleFile(Ext: String; FileID: Integer);
17 >    procedure StopConvert;
18    public
19      procedure CreateDatabase(Source, Target: String);
20      procedure CreateLevel(Source, Target: String);
# Line 27 | Line 25 | var
25    Form_LevelDB: TForm_LevelDB;
26  
27   implementation
30
28   {$R *.dfm}
29 <
30 < uses ABSMain, ABSDecUtil, Main, Functions, Data, OniImgClass, DataStructures, ConnectionManager;
29 > uses ABSMain, ABSDecUtil, Main,
30 >    ConnectionManager, TypeDefs, DataAccess, OniImgClass, Data;
31  
32   type
33 <  THandler = procedure(fileid: LongWord; dir_dat2db: Boolean);
34 <
38 <  TConvertHandlers = record
33 >  THandler = procedure(FileID: Integer);
34 >  TConvertHandler = record
35      Ext:     String[4];
40    needed:  Boolean;
36      Handler: THandler;
37    end;
38  
39   var
40 <  ConvertHandlers: array of TConvertHandlers;
41 <  loaded_filename: String;
42 <  converting: Boolean = False;
43 <  abort:     Boolean = False;
49 <  DataBase:  TABSDatabase;
50 <  Query:     TABSQuery;
51 <  MimeCoder: TStringFormat_MIME64;
52 <
53 < var
54 <  DatHeader:   THeader;
55 <  FilesHeader: TFilesMap;
56 <  NamedFilesHeader: TNamedFilesMap;
57 <  ExtensionsHeader: TExtensionsMap;
58 <  Stream_Body, Stream_Names: TMemoryStream;
59 <  Stream_Dat, Stream_Raw, Stream_Sep: TFileStream;
60 <  OniDataConnection: TOniData;
40 >  ConvertHandlers: array of TConvertHandler;
41 > //  loaded_filename: String;
42 >  Converting:  Boolean = False;
43 >  Abort:       Boolean = False;
44  
45  
46 + function GetOpenMsg(msg: TStatusMessages): String;
47 + begin
48 +  case msg of
49 +    SM_AlreadyOpened:    Result := 'File already opened.';
50 +    SM_FileNotFound:     Result := 'File not found.';
51 +    SM_UnknownExtension: Result := 'Unknown extension.';
52 +    SM_IncompatibleFile: Result := 'Incompatible file format.';
53 +    SM_UnknownError:     Result := 'Unknown error.';
54 +  end;
55 + end;
56  
57  
58 < procedure TForm_LevelDB.CreateLevel(Source, target: String);
58 > procedure TForm_LevelDB.CreateLevel(Source, Target: String);
59   var
60 <  files: LongWord;
61 <
62 <  i, j:     LongWord;
63 <  temps, temps2: String;
71 <  Data, rawdata: Tdata;
72 <  absolutebegintime, begintime: Double;
73 <  step:     Byte;
74 <  rawlist:  TRawList;
75 <  extlist:  TExtensionsMap;
76 <  fileinfo: TFileInfo;
77 <  datlinks: TDatLinks;
78 <  OniImage: TOniImage;
79 <  levelid:  LongWord;
80 <  timeformat: TFormatSettings;
60 >  DatHeader:        THeader;
61 >  FilesHeader:      TFilesMap;
62 >  NamedFilesHeader: TNamedFilesMap;
63 >  ExtensionsHeader: TExtensionsMap;
64  
65 <  conIndex: Integer;
66 <  connection: TOniData;
84 < const
85 <  steps: Byte = 3;
65 >  Stream_Body, Stream_Names:          TMemoryStream;
66 >  Stream_Dat, Stream_Raw, Stream_Sep: TFileStream;
67  
68 + //  Data, rawdata: Tdata;
69 +  BeginTime, FileTime: Double;
70 +  Step:     Integer;
71 + //  rawlist:  TRawDataList;
72 + //  datlinks: TDatLinks;
73 +  OniImage:   TOniImage;
74 +  LevelID:    Integer;
75 +  TimeFormat: TFormatSettings;
76 +
77 +  ConID:      Integer;
78 +  Connection: TDataAccess;
79 +  ConRepMsg:  TStatusMessages;
80 +
81 +  FileID:     Integer;
82 +
83 +  Strings:    TStrings;
84 +  i, j:       Integer;
85 +  temps:      String;
86 +  tempi:      Integer;
87 +  tempb:      Byte;
88 +  FileInfo:   TFileInfo;
89 +  DatLinks:   TDatLinkList;
90 +  RawLinks:   TRawDataList;
91  
92 +  DatFileStream, RawFileStream: TMemoryStream;
93 + const
94 +  Steps: Byte = 3;
95  
96  
97 <  procedure DoStep(stepname: String);
97 >  procedure DoStep(StepName: String);
98    begin
99 <    Inc(step);
100 <    if stepname <> 'FIN' then
99 >    Inc(Step);
100 >    if StepName <> 'FIN' then
101        group_progress.Caption :=
102 <        'Creating Dat (Step ' + IntToStr(step) + '/' + IntToStr(steps) + ': ' + stepname + ')'
102 >        'Creating Dat (Step ' + IntToStr(Step) + '/' + IntToStr(Steps) + ': ' + StepName + ')'
103      else
104        group_progress.Caption := 'Creating Dat (FINISHED)';
105    end;
# Line 103 | Line 110 | begin
110    // FILE EXISTS CHECK FÜR DAT/RAW/SEP!!!
111    //
112  
113 <  timeformat.ShortTimeFormat := 'hh:nn:ss';
114 <  timeformat.LongTimeFormat := 'hh:nn:ss';
115 <  timeformat.TimeSeparator := ':';
113 >  TimeFormat.ShortTimeFormat := 'hh:nn:ss';
114 >  TimeFormat.LongTimeFormat  := 'hh:nn:ss';
115 >  TimeFormat.TimeSeparator   := ':';
116  
117 <  connection := ConnectionExists(target);
118 <  if connection <> nil then
117 >  ConID := ConManager.OpenConnection(Source, ConRepMsg);
118 >  if not (ConRepMsg in [SM_OK, SM_AlreadyOpened]) then
119    begin
120 <    ShowMessage('Destination-file is opened, close it in order to proceed conversion?');
120 >    ShowMessage('Source-file couldn''t be opened! Aborting' + CrLf + GetOpenMsg(ConRepMsg));
121      Exit;
122 <  end;
122 >  end else
123 >    Connection := ConManager.Connection[ConID];
124  
125 <  connection := ConnectionExists(source);
126 <  if connection <> nil then
125 >  ConID := ConManager.FileOpened(Target);
126 >  if ConID >= 0 then
127    begin
128 <    ShowMessage('Source-file is opened, close it in order to proceed conversion?');
129 <    Exit;
128 >    if MessageBox(Self.Handle, PChar('Destination-file is opened, close it in ' +
129 >          'order to proceed conversion?'), PChar('Destination-file opened'),
130 >          MB_YESNO + MB_ICONQUESTION) = ID_YES then
131 >    begin
132 >      if Form_Main.CheckConnectionCloseable(ConID) then
133 >        if not ConManager.CloseConnection(ConID, ConRepMsg) then
134 >        begin
135 >          ShowMessage('Couldn''t close destination-file. Aborting');
136 >          Exit;
137 >        end;
138 >    end else begin
139 >      ShowMessage('Aborting');
140 >      Exit;
141 >    end;
142    end;
143  
144 <
125 <  if CreateDataConnection(Source, ODB_ADB) = nil then
144 >  if FileExists(Target) then
145    begin
146 <    ShowMessage('Could not connect to .oldb-file');
147 <    Exit;
146 >    if MessageBox(Self.Handle, PChar('Destination-file exists. ' +
147 >          'Overwrite it?'), PChar('Destination-file exists'),
148 >          MB_YESNO + MB_ICONWARNING) = ID_YES then
149 >    begin
150 >      if not DeleteFile(Target) then
151 >      begin
152 >        ShowMessage('Couldn''t delete file. Aborting');
153 >        Exit;
154 >      end;
155 >      if FileExists(AnsiReplaceStr(Target, '.dat', '.raw')) then
156 >        if not DeleteFile(AnsiReplaceStr(Target, '.dat', '.raw')) then
157 >        begin
158 >          ShowMessage('Couldn''t delete file. Aborting');
159 >          Exit;
160 >        end;
161 >      if FileExists(AnsiReplaceStr(Target, '.dat', '.sep')) then
162 >        if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then
163 >          if not DeleteFile(AnsiReplaceStr(Target, '.dat', '.sep')) then
164 >          begin
165 >            ShowMessage('Couldn''t delete file. Aborting');
166 >            Exit;
167 >          end;
168 >    end else begin
169 >      ShowMessage('Aborting');
170 >      Exit;
171 >    end;
172    end;
130  levelid  := OniDataConnection.LevelInfo.LevelNumber;
131  levelid  := (levelid * 2) * 256 * 256 * 256 + $01;
132  OniImage := TOniImage.Create;
173  
174 <  absolutebegintime := Time;
174 >  LevelID  := Connection.LevelNumber;
175 >  LevelID  := (LevelID * 2) * 256 * 256 * 256 + $01;
176 >  OniImage := TOniImage.Create;
177  
178    Self.Visible := True;
179    Form_Main.Visible := False;
180 <  step  := 0;
181 <  converting := True;
182 <  abort := False;
180 >  Step := 0;
181 >  Converting := True;
182 >  Abort := False;
183    btn_abortok.Caption := '&Abort...';
184    btn_abortok.Default := False;
185 <  absolutebegintime := Time;
185 >  BeginTime := Time;
186  
187    Stream_Body  := TMemoryStream.Create;
188    Stream_Names := TMemoryStream.Create;
189 <  Stream_Dat   := TFileStream.Create(target, fmCreate);
190 <  Stream_Raw   := TFileStream.Create(AnsiReplaceStr(target, '.dat', '.raw'), fmCreate);
191 <  if OniDataConnection.OSisMac then
192 <    Stream_Sep := TFileStream.Create(AnsiReplaceStr(target, '.dat', '.sep'), fmCreate);
189 >  Stream_Dat   := TFileStream.Create(Target, fmCreate);
190 >  Stream_Raw   := TFileStream.Create(AnsiReplaceStr(Target, '.dat', '.raw'), fmCreate);
191 >  if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then
192 >    Stream_Sep := TFileStream.Create(AnsiReplaceStr(Target, '.dat', '.sep'), fmCreate);
193  
194    DoStep('Creating header');
195    progress.Position      := 0;
# Line 155 | Line 197 | begin
197    lbl_estimation.Caption := 'Estimated finishing time: unknown';
198    Application.ProcessMessages;
199  
200 <  NamedFilesHeader := TOniDataADB(OniDataConnection).GetNamedFilesMap;
201 <  extlist := OniDataConnection.GetExtendedExtensionsList;
202 <  for i := 0 to High(DatHeader.Ident) do
203 <    DatHeader.Ident[i] := OniDataConnection.LevelInfo.Ident[i];
204 <  DatHeader.Files := OniDataConnection.GetFilesCount;
200 >  SetLength(NamedFilesHeader, 0);
201 >  Strings := TStringList.Create;
202 >  Strings := Connection.GetFilesList('', '', False, ST_ExtNameAsc);
203 >  for i := 0 to Strings.Count - 1 do
204 >  begin
205 >    if MidStr(Strings.Strings[i],
206 >          Pos('-', Strings.Strings[i]) + 1,
207 >          Length(Strings.Strings[i]) -
208 >            Pos('.', ReverseString(Strings.Strings[i])) -
209 >            Pos('-', Strings.Strings[i])
210 >        ) <> '' then
211 >    begin
212 >      SetLength(NamedFilesHeader, Length(NamedFilesHeader) + 1);
213 >      NamedFilesHeader[High(NamedFilesHeader)].FileNumber := StrToInt(MidStr(Strings.Strings[i], 1, 5));
214 >      NamedFilesHeader[High(NamedFilesHeader)].blubb := 0;
215 >    end;
216 >  end;
217 >
218 >  for i := 0 to High(DatHeader.OSIdent) do
219 >    case Connection.DataOS of
220 >      DOS_WIN: DatHeader.OSIdent[i] := HeaderOSIdentWin[i];
221 >      DOS_MAC: DatHeader.OSIdent[i] := HeaderOSIdentMac[i];
222 >      DOS_MACBETA: DatHeader.OSIdent[i] := HeaderOSIdentMacBeta[i];
223 >    end;
224 >  for i := 0 to High(DatHeader.GlobalIdent) do
225 >    DatHeader.GlobalIdent[i] := HeaderGlobalIdent[i];
226 >  DatHeader.Files := Connection.GetFileCount;
227    DatHeader.NamedFiles := Length(NamedFilesHeader);
228 <  DatHeader.Extensions := Length(extlist);
228 >
229 >  Strings := Connection.GetExtensionsList(EF_ExtCount);
230 >
231 >  DatHeader.Extensions := Strings.Count;
232    DatHeader.DataAddr   := 0;
233    DatHeader.DataSize   := 0;
234    DatHeader.NamesAddr  := 0;
# Line 171 | Line 238 | begin
238    SetLength(FilesHeader, DatHeader.Files);
239    SetLength(ExtensionsHeader, DatHeader.Extensions);
240  
241 +
242    DoStep('Writing extensions-header');
243 <  progress.Max := Length(OniDataConnection.GetExtensionsList);
243 >  progress.Max := Strings.Count;
244    Application.ProcessMessages;
245 <
178 <  for i := 0 to High(ExtensionsHeader) do
245 >  for i := 0 to Strings.Count - 1 do
246    begin
247 <    ExtensionsHeader[i].Ident     := extlist[i].Ident;
248 <    ExtensionsHeader[i].Extension := extlist[i].Extension;
249 <    SetLength(temps, 4);
247 >    temps := Strings.Strings[i];
248 >    ExtensionsHeader[i].ExtCount := StrToInt( MidStr(
249 >            temps,
250 >            Pos('(', temps) + 1,
251 >            Pos(')', temps) - Pos('(', temps) - 1 ) );
252 >    temps := MidStr(temps, 1, 4);
253      for j := 0 to 3 do
254 <      temps[j + 1] := ExtensionsHeader[i].Extension[3 - j];
255 <    ExtensionsHeader[i].ExtCount :=
256 <      Length(OniDataConnection.GetFilesList(temps, '', False, stIDAsc));
254 >      ExtensionsHeader[i].Extension[j] := temps[4-j];
255 >    for j := 0 to High(FileTypes) do
256 >      if FileTypes[j].Extension = temps then
257 >        Break;
258 >    if j < Length(FileTypes) then
259 >    begin
260 >      case Connection.DataOS of
261 >        DOS_WIN:     ExtensionsHeader[i].Ident := FileTypes[j].IdentWin;
262 >        DOS_WINDEMO: ExtensionsHeader[i].Ident := FileTypes[j].IdentMac;
263 >        DOS_MAC:     ExtensionsHeader[i].Ident := FileTypes[j].IdentMac;
264 >        DOS_MACBETA: ExtensionsHeader[i].Ident := FileTypes[j].IdentMac;
265 >      end;
266 >    end else begin
267 >      ShowMessage('Unknown Extension: ' + Strings.Strings[i]);
268 >      Exit;
269 >    end;
270      progress.Position    := i + 1;
271      lbl_progress.Caption := 'Extensions done: ' + IntToStr(i + 1) + '/' +
272 <      IntToStr(Length(extlist));
272 >      IntToStr(Strings.Count);
273      Application.ProcessMessages;
274    end;
275  
# Line 197 | Line 280 | begin
280    lbl_estimation.Caption := 'Estimated finishing time: unknown';
281    Application.ProcessMessages;
282  
283 <  begintime := Time;
284 <  for i := 0 to DatHeader.Files - 1 do
283 >  FileTime := Time;
284 >  for FileID := 0 to DatHeader.Files - 1 do
285    begin
286 <    fileinfo := OniDataConnection.GetFileInfo(i);
286 >    FileInfo := Connection.GetFileInfo(FileID);
287      for j := 0 to 3 do
288 <      FilesHeader[i].Extension[j] := fileinfo.Extension[4 - j];
289 <    if fileinfo.Size > 0 then
288 >      FilesHeader[FileID].Extension[j] := FileInfo.Extension[4 - j];
289 >    if FileInfo.Size > 0 then
290      begin
291 <      //        DatLinks:=;
292 <      FilesHeader[i].DataAddr := Stream_Body.Size + 8;
293 <      Data    := OniDataConnection.LoadDatFile(i);
294 <      Data[4] := (levelid) and $FF;
295 <      Data[5] := (levelid shr 8) and $FF;
296 <      Data[6] := (levelid shr 16) and $FF;
297 <      Data[7] := (levelid shr 24) and $FF;
291 >      FilesHeader[FileID].DataAddr := Stream_Body.Size + 8;
292 >      DatFileStream := TMemoryStream.Create;
293 >      Connection.LoadDatFile(FileID, TStream(DatFileStream));
294 >      DatFileStream.Seek(4, soFromBeginning);
295 >      DatFileStream.Write(LevelID, 4);
296 >
297 >      DatLinks := Connection.GetDatLinks(FileID);
298 >      if Length(DatLinks) > 0 then
299 >      begin
300 >        for i := 0 to High(DatLinks) do
301 >        begin
302 >          DatFileStream.Seek(DatLinks[i].SrcOffset, soFromBeginning);
303 >          if DatLinks[i].DestID < 0 then
304 >            tempi := 0
305 >          else
306 >            tempi := DatLinks[i].DestID * 256 + 1;
307 >          DatFileStream.Write(tempi, 4);
308 >        end;
309 >      end;
310  
311 <      if (Pos(UpperCase(fileinfo.Extension), UpperCase(raws)) mod 4) = 1 then
311 >      RawLinks := Connection.GetRawList(FileID);
312 >      if Length(RawLinks) > 0 then
313        begin
314 <        rawlist := OniDataConnection.GetRawList(i);
219 <        if Length(rawlist) > 0 then
314 >        for i := 0 to High(RawLinks) do
315          begin
316 <          for j := 0 to High(rawlist) do
316 >          if RawLinks[i].RawSize > 0 then
317            begin
318 <            if rawlist[j].raw_size > 0 then
318 >            RawFileStream := TMemoryStream.Create;
319 >            Connection.LoadRawFile(FileID, RawLinks[i].SrcOffset, TStream(RawFileStream));
320 >            RawFileStream.Seek(0, soFromBeginning);
321 >            if RawLinks[i].LocSep then
322              begin
323 <              if (UpperCase(fileinfo.Extension) = 'TXMP') and
324 <                ((Data[$88] and $01) > 0) then
325 <              begin
326 <                OniImage.LoadFromTXMP(Connection, i);
327 <                OniImage.GetMipMappedImage(rawdata);
328 <                rawlist[j].raw_size := OniImage.GetImageDataSize(True);
329 <                Data[$90] := $08;
330 <                Data[$89] := 32;
331 < {                  if data[$90]<>OniImage.StoreType then begin
332 <                    data[$90]:=OniImage.StoreType;
235 <                    data[$89]:=(data[$89] and $CF) or $20;
236 <                  end;
237 < }                end
238 <              else
239 <              begin
240 <                SetLength(rawdata, rawlist[j].raw_size);
241 <                OniDataConnection.LoadRawFile(i, rawlist[j].src_offset, @rawdata[0]);
242 <              end;
243 <              //                data[$88]:=data[$88] and $FE;
244 <
245 <              if rawlist[j].loc_sep then
246 <              begin
247 <                rawlist[j].raw_addr := Stream_Sep.Size;
248 <                Stream_Sep.Write(rawdata[0], Length(rawdata));
249 <              end
250 <              else
251 <              begin
252 <                rawlist[j].raw_addr := Stream_Raw.Size;
253 <                Stream_Raw.Write(rawdata[0], Length(rawdata));
254 <              end;
255 <            end
256 <            else
257 <              rawlist[j].raw_addr := 0;
258 <            Data[rawlist[j].src_offset + 0] := (rawlist[j].raw_addr) and $FF;
259 <            Data[rawlist[j].src_offset + 1] := (rawlist[j].raw_addr shr 8) and $FF;
260 <            Data[rawlist[j].src_offset + 2] := (rawlist[j].raw_addr shr 16) and $FF;
261 <            Data[rawlist[j].src_offset + 3] := (rawlist[j].raw_addr shr 24) and $FF;
262 <          end;
323 >              RawLinks[i].RawAddr := Stream_Sep.Size;
324 >              Stream_sep.CopyFrom(RawFileStream, RawFileStream.Size);
325 >            end else begin
326 >              RawLinks[i].RawAddr := Stream_Raw.Size;
327 >              Stream_Raw.CopyFrom(RawFileStream, RawFileStream.Size);
328 >            end;
329 >          end else
330 >            RawLinks[i].RawAddr := 0;
331 >          DatFileStream.Seek(RawLinks[i].SrcOffset, soFromBeginning);
332 >          DatFileStream.Write(RawLinks[i].RawAddr, 4);
333          end;
334        end;
335 <
336 <      Stream_Body.Write(Data[0], Length(Data));
267 <      //
335 >      DatFileStream.Seek(0, soFromBeginning);
336 >      Stream_Body.CopyFrom(DatFileStream, DatFileStream.Size);
337      end
338      else
339        FilesHeader[i].DataAddr := 0;
# Line 279 | Line 348 | begin
348      FilesHeader[i].FileSize := fileinfo.Size;
349      FilesHeader[i].FileType := fileinfo.FileType;
350  
351 <    if ((i mod 10) = 0) and (i >= 100) then
351 >    if ((FileID mod 10) = 0) and (FileID >= 100) then
352        lbl_estimation.Caption := 'Estimated time left: ' + TimeToStr(
353 <        (Time - begintime) / i * (progress.Max - i + 1) * 1.1, timeformat );
354 <    progress.Position := i + 1;
355 <    lbl_progress.Caption := 'Files done: ' + IntToStr(i + 1) + '/' + IntToStr(progress.Max);
353 >        (Time - FileTime) / FileID * (progress.Max - FileID + 1) * 1.1, TimeFormat );
354 >    progress.Position := FileID + 1;
355 >    lbl_progress.Caption := 'Files done: ' + IntToStr(FileID + 1) + '/' + IntToStr(progress.Max);
356      Application.ProcessMessages;
357    end;
358  
# Line 311 | Line 380 | begin
380    Stream_Body.Free;
381    Stream_Names.Free;
382    Stream_Raw.Free;
383 <  if OniDataConnection.OSisMac then
383 >
384 >  if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then
385      Stream_Sep.Free;
386  
387    progress.Position      := progress.Max;
388    lbl_progress.Caption   := 'Files done: ' + IntToStr(progress.Max) + '/' +
389      IntToStr(progress.Max);
390 <  lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - absolutebegintime, timeformat) + ')';
390 >  lbl_estimation.Caption := 'FINISHED (duration: ' + TimeToStr(Time - Begintime, TimeFormat) + ')';
391  
392    DoStep('FIN');
393    btn_abortok.Caption := '&OK';
# Line 327 | Line 397 | begin
397  
398    converting := False;
399  
400 <  CloseDataConnection(DataConnections[conIndex]);
400 > //  CloseDataConnection(DataConnections[conIndex]);
401   end;
402  
403  
# Line 337 | Line 407 | procedure TForm_LevelDB.HandleFile;
407   var
408    i: Byte;
409   begin
410 <  for i := 1 to Length(ConvertHandlers) do
410 > {  for i := 1 to Length(ConvertHandlers) do
411      if UpperCase(ConvertHandlers[i].Ext) = UpperCase(ext) then
412        if ConvertHandlers[i].needed then
413        begin
# Line 346 | Line 416 | begin
416        end
417        else
418          Break;
419 < end;
419 > }end;
420  
421  
422  
423  
424   procedure TForm_LevelDB.CreateDatabase(Source, target: String);
425 + {
426   var
427 +  DataBase:    TABSDatabase;
428 +  Query:       TABSQuery;
429 +  MimeCoder:   TStringFormat_MIME64;
430 +
431    i, j:     LongWord;
432    temps, temps2: String;
433    Data:     Tdata;
# Line 379 | Line 454 | const
454      else
455        group_progress.Caption := 'Creating DB (FINISHED)';
456    end;
457 + }
458  
459   begin
460 <  if CreateDataConnection(Source, ODB_Dat) = nil then
460 > {  if CreateDataConnection(Source, ODB_Dat) = nil then
461    begin
462      ShowMessage('Could not connect to .dat-file');
463      Exit;
# Line 584 | Line 660 | begin
660    database.Free;
661  
662    CloseDataConnection(DataConnections[conIndex]);
663 + }
664   end;
665  
666  
667  
668  
669 < procedure TForm_LevelDB.stop_convert;
669 > procedure TForm_LevelDB.StopConvert;
670   begin
671 <  btn_abortok.Caption := '&Close';
671 > {  btn_abortok.Caption := '&Close';
672    btn_abortok.Default := True;
673    converting := False;
674    lbl_estimation.Caption := 'ABORTED';
# Line 602 | Line 679 | begin
679    begin
680      DeleteFile(loaded_filename);
681    end;
682 < end;
682 > }end;
683  
684  
685  
# Line 625 | Line 702 | end;
702  
703  
704  
705 <
705 > {
706   procedure InsertDatLinkToDB(fileid: LongWord; offset: LongWord);
707   var
708    link: LongWord;
# Line 1657 | Line 1734 | begin
1734    begin
1735    end;
1736   end;
1737 + }
1738  
1739  
1740 <
1663 <
1740 > {
1741   procedure InsertHandler(ext: String; needed: Boolean; handler: THandler);
1742   begin
1743    SetLength(ConvertHandlers, Length(ConvertHandlers) + 1);
# Line 1668 | Line 1745 | begin
1745    ConvertHandlers[High(ConvertHandlers)].needed  := needed;
1746    ConvertHandlers[High(ConvertHandlers)].handler := handler;
1747   end;
1748 <
1748 > }
1749   begin
1750 <  InsertHandler('ABNA', False, nil);
1750 > {  InsertHandler('ABNA', False, nil);
1751    //  InsertHandler('AGDB',True,AGDB);
1752    InsertHandler('AGDB', False, nil);
1753    InsertHandler('AGQC', False, nil);
# Line 1768 | Line 1845 | begin
1845    InsertHandler('WMM_', False, nil);
1846    InsertHandler('WMMB', True, WMMB);
1847    InsertHandler('WPGE', True, WPGE);
1848 < end.
1848 > }end.

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)