--- oup/current/Helper/LevelDB.pas 2007/03/23 17:14:40 127 +++ oup/current/Helper/LevelDB.pas 2007/03/28 01:20:26 131 @@ -151,15 +151,20 @@ begin begin ShowMessage('Couldn''t delete file. Aborting'); Exit; - end else if not DeleteFile(AnsiReplaceStr(Target, '.dat', '.raw')) then - begin - ShowMessage('Couldn''t delete file. Aborting'); - Exit; - end else if not DeleteFile(AnsiReplaceStr(Target, '.dat', '.sep')) then - begin - ShowMessage('Couldn''t delete file. Aborting'); - Exit; end; + if FileExists(AnsiReplaceStr(Target, '.dat', '.raw')) then + if not DeleteFile(AnsiReplaceStr(Target, '.dat', '.raw')) then + begin + ShowMessage('Couldn''t delete file. Aborting'); + Exit; + end; + if FileExists(AnsiReplaceStr(Target, '.dat', '.sep')) then + if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then + if not DeleteFile(AnsiReplaceStr(Target, '.dat', '.sep')) then + begin + ShowMessage('Couldn''t delete file. Aborting'); + Exit; + end; end else begin ShowMessage('Aborting'); Exit; @@ -323,17 +328,12 @@ begin end; 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 FilesHeader[i].DataAddr := 0; @@ -348,11 +348,11 @@ begin FilesHeader[i].FileSize := fileinfo.Size; FilesHeader[i].FileType := fileinfo.FileType; - if ((i mod 10) = 0) and (i >= 100) then + if ((FileID mod 10) = 0) and (FileID >= 100) then lbl_estimation.Caption := 'Estimated time left: ' + TimeToStr( - (Time - FileTime) / i * (progress.Max - i + 1) * 1.1, TimeFormat ); - progress.Position := i + 1; - lbl_progress.Caption := 'Files done: ' + IntToStr(i + 1) + '/' + IntToStr(progress.Max); + (Time - FileTime) / FileID * (progress.Max - FileID + 1) * 1.1, TimeFormat ); + progress.Position := FileID + 1; + lbl_progress.Caption := 'Files done: ' + IntToStr(FileID + 1) + '/' + IntToStr(progress.Max); Application.ProcessMessages; end; @@ -380,7 +380,8 @@ begin Stream_Body.Free; Stream_Names.Free; Stream_Raw.Free; - if OniDataConnection.OSisMac then + + if Connection.DataOS in [DOS_WINDEMO, DOS_MAC, DOS_MACBETA] then Stream_Sep.Free; progress.Position := progress.Max; @@ -396,7 +397,7 @@ begin converting := False; - CloseDataConnection(DataConnections[conIndex]); +// CloseDataConnection(DataConnections[conIndex]); end; @@ -406,7 +407,7 @@ procedure TForm_LevelDB.HandleFile; var 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 begin @@ -415,12 +416,13 @@ begin end else Break; -end; +}end; procedure TForm_LevelDB.CreateDatabase(Source, target: String); +{ var DataBase: TABSDatabase; Query: TABSQuery; @@ -452,9 +454,10 @@ const else group_progress.Caption := 'Creating DB (FINISHED)'; end; +} begin - if CreateDataConnection(Source, ODB_Dat) = nil then +{ if CreateDataConnection(Source, ODB_Dat) = nil then begin ShowMessage('Could not connect to .dat-file'); Exit; @@ -657,14 +660,15 @@ begin database.Free; CloseDataConnection(DataConnections[conIndex]); +} end; -procedure TForm_LevelDB.stop_convert; +procedure TForm_LevelDB.StopConvert; begin - btn_abortok.Caption := '&Close'; +{ btn_abortok.Caption := '&Close'; btn_abortok.Default := True; converting := False; lbl_estimation.Caption := 'ABORTED'; @@ -675,7 +679,7 @@ begin begin DeleteFile(loaded_filename); end; -end; +}end; @@ -698,7 +702,7 @@ end; - +{ procedure InsertDatLinkToDB(fileid: LongWord; offset: LongWord); var link: LongWord; @@ -1730,10 +1734,10 @@ begin begin end; end; +} - - +{ procedure InsertHandler(ext: String; needed: Boolean; handler: THandler); begin SetLength(ConvertHandlers, Length(ConvertHandlers) + 1); @@ -1741,9 +1745,9 @@ begin ConvertHandlers[High(ConvertHandlers)].needed := needed; ConvertHandlers[High(ConvertHandlers)].handler := handler; end; - +} begin - InsertHandler('ABNA', False, nil); +{ InsertHandler('ABNA', False, nil); // InsertHandler('AGDB',True,AGDB); InsertHandler('AGDB', False, nil); InsertHandler('AGQC', False, nil); @@ -1841,4 +1845,4 @@ begin InsertHandler('WMM_', False, nil); InsertHandler('WMMB', True, WMMB); InsertHandler('WPGE', True, WPGE); -end. +}end.