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 133 by alloc, Wed Mar 28 02:23:44 2007 UTC vs.
Revision 137 by alloc, Fri Mar 30 00:00:10 2007 UTC

# Line 302 | Line 302 | begin
302        DatFileStream := TMemoryStream.Create;
303        Connection.LoadDatFile(FileID, TStream(DatFileStream));
304        DatFileStream.Seek(0, soFromBeginning);
305 <      DatFileStream.Write(FileID, 4);
305 >      tempi := FileID * 256 + 1;
306 >      DatFileStream.Write(tempi, 4);
307        DatFileStream.Write(LevelID, 4);
308  
309        QueryPerformanceCounter(tempticks2);
# Line 356 | Line 357 | begin
357        rawsum := rawsum + (tempticks2 - tempticks1);
358      end
359      else
360 <      FilesHeader[i].DataAddr := 0;
360 >      FilesHeader[FileID].DataAddr := 0;
361      if Length(fileinfo.Name) > 0 then
362      begin
363 <      FilesHeader[i].NameAddr := Stream_Names.Size;
363 >      FilesHeader[FileID].NameAddr := Stream_Names.Size;
364        temps := fileinfo.Extension + fileinfo.Name + Chr(0);
365        Stream_Names.Write(temps[1], Length(temps));
366      end
367      else
368 <      FilesHeader[i].NameAddr := 0;
369 <    FilesHeader[i].FileSize := fileinfo.Size;
370 <    FilesHeader[i].FileType := fileinfo.FileType;
368 >      FilesHeader[FileID].NameAddr := 0;
369 >    FilesHeader[FileID].FileSize := fileinfo.Size;
370 >    FilesHeader[FileID].FileType := fileinfo.FileType;
371  
372      if ((FileID mod 10) = 0) and (FileID >= 100) then
373        lbl_estimation.Caption := 'Estimated time left: ' + TimeToStr(
# Line 448 | Line 449 | begin
449  
450  
451   procedure TForm_LevelDB.CreateDatabase(Source, target: String);
452 + var
453 +  DataBase:  TABSDatabase;
454   {
455   var
456    DataBase:    TABSDatabase;
# Line 509 | Line 512 | begin
512    absolutebegintime := Time;
513  
514    DataBase := TABSDatabase.Create(Self);
515 + }
516 +  DataBase.MaxConnections := 1;
517 +  DataBase.PageSize := 8112;
518 +  DataBase.PageCountInExtent := 8;
519 + {
520    DataBase.DatabaseName := 'OLDB';
521    DataBase.DatabaseFileName := target;
522    DataBase.CreateDatabase;
# Line 522 | Line 530 | begin
530    Query := TABSQuery.Create(Self);
531    Query.DatabaseName := 'OLDB';
532    Query.SQL.Text :=
533 <    'CREATE TABLE globals  ( id AUTOINC PRIMARY KEY, name STRING(128), value STRING(128) );';
533 >    'CREATE TABLE globals  ( id AUTOINC PRIMARY KEY, name STRING(128), ' +
534 >    'value STRING(128) );';
535    Query.ExecSQL;
536    Query.SQL.Text :=
537 <    'CREATE TABLE linkmap  ( id AUTOINC PRIMARY KEY, src_id INTEGER, src_link_offset INTEGER, target_id INTEGER );';
537 >    'CREATE TABLE linkmap  ( id AUTOINC PRIMARY KEY, src_id INTEGER, ' +
538 >    'src_link_offset INTEGER, target_id INTEGER,  INDEX idsrcid src_id, ' +
539 >    'INDEX iddestid target_id);';
540    Query.ExecSQL;
541    Query.SQL.Text :=
542 <    'CREATE TABLE rawmap  ( id AUTOINC PRIMARY KEY, src_id INTEGER, src_link_offset INTEGER, sep BOOLEAN, size INTEGER, data BLOB BlobCompressionMode 9 BlobBlockSize 1024 BlobCompressionAlgorithm ZLib );';
542 >    'CREATE TABLE rawmap  ( id AUTOINC PRIMARY KEY, src_id INTEGER, ' +
543 >    'src_link_offset INTEGER, sep BOOLEAN, size INTEGER, ' +
544 >    'data BLOB BlobCompressionMode 9 BlobBlockSize 1024 BlobCompressionAlgorithm ZLib, ' +
545 >    'INDEX idsrcid src_id);';
546    //    Query.SQL.Text:='CREATE TABLE rawmap  ( id AUTOINC PRIMARY KEY, src_id INTEGER, src_link_offset INTEGER, size INTEGER, data BLOB BlobCompressionAlgorithm None );';
547    Query.ExecSQL;
548    Query.SQL.Text :=
549 <    'CREATE TABLE datfiles  ( id INTEGER PRIMARY KEY, extension CHAR(4), name STRING(128), contenttype INTEGER, size INTEGER, data BLOB BlobCompressionMode 9 BlobBlockSize 1024 BlobCompressionAlgorithm ZLib );';
549 >    'CREATE TABLE datfiles  ( id INTEGER PRIMARY KEY, extension CHAR(4), ' +
550 >    'name STRING(128), contenttype INTEGER, size INTEGER, ' +
551 >    'data BLOB BlobCompressionMode 9 BlobBlockSize 1024 BlobCompressionAlgorithm ZLib );';
552    //    Query.SQL.Text:='CREATE TABLE datfiles  ( id INTEGER PRIMARY KEY, extension CHAR(4), name STRING(128), contenttype INTEGER, size INTEGER, data BLOB BlobCompressionAlgorithm None );';
553    Query.ExecSQL;
554 <  Query.SQL.Text :=
555 <    'CREATE TABLE extlist  ( id AUTOINC PRIMARY KEY, ext CHAR(4), ident CHAR(16) );';
556 <  Query.ExecSQL;
554 > //  Query.SQL.Text :=
555 > //    'CREATE TABLE extlist  ( id AUTOINC PRIMARY KEY, ext CHAR(4), ident CHAR(16) );';
556 > //  Query.ExecSQL;
557  
558    Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("dbversion","' +
559      dbversion + '");';
# Line 546 | Line 562 | begin
562    for i := 0 to High(OniDataConnection.LevelInfo.Ident) do
563      Data[i] := OniDataConnection.LevelInfo.Ident[i];
564    temps := CreateHexString(Data, True);
565 <  Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("ident","' + temps + '");';
566 <  Query.ExecSQL;
565 > //  Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("ident","' + temps + '");';
566 > //  Query.ExecSQL;
567    Query.SQL.Text := 'INSERT INTO globals (name,value) VALUES ("lvl","' +
568      IntToStr(OniDataConnection.LevelInfo.LevelNumber) + '");';
569    Query.ExecSQL;

Diff Legend

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