| 1 | – | {$A8,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N+,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1} | 
 
 
 
 
 
 
 
 
 | 2 | – | {$MINSTACKSIZE $00004000} | 
 
 
 
 
 
 
 
 
 | 3 | – | {$MAXSTACKSIZE $00100000} | 
 
 
 
 
 
 
 
 
 | 4 | – | {$IMAGEBASE $00400000} | 
 
 
 
 
 
 
 
 
 | 5 | – | {$APPTYPE GUI} | 
 
 
 
 
 
 
 
 
 | 6 | – | {$WARN SYMBOL_DEPRECATED ON} | 
 
 
 
 
 
 
 
 
 | 7 | – | {$WARN SYMBOL_LIBRARY ON} | 
 
 
 
 
 
 
 
 
 | 8 | – | {$WARN SYMBOL_PLATFORM ON} | 
 
 
 
 
 
 
 
 
 | 9 | – | {$WARN SYMBOL_EXPERIMENTAL ON} | 
 
 
 
 
 
 
 
 
 | 10 | – | {$WARN UNIT_LIBRARY ON} | 
 
 
 
 
 
 
 
 
 | 11 | – | {$WARN UNIT_PLATFORM ON} | 
 
 
 
 
 
 
 
 
 | 12 | – | {$WARN UNIT_DEPRECATED ON} | 
 
 
 
 
 
 
 
 
 | 13 | – | {$WARN UNIT_EXPERIMENTAL ON} | 
 
 
 
 
 
 
 
 
 | 14 | – | {$WARN HRESULT_COMPAT ON} | 
 
 
 
 
 
 
 
 
 | 15 | – | {$WARN HIDING_MEMBER ON} | 
 
 
 
 
 
 
 
 
 | 16 | – | {$WARN HIDDEN_VIRTUAL ON} | 
 
 
 
 
 
 
 
 
 | 17 | – | {$WARN GARBAGE ON} | 
 
 
 
 
 
 
 
 
 | 18 | – | {$WARN BOUNDS_ERROR ON} | 
 
 
 
 
 
 
 
 
 | 19 | – | {$WARN ZERO_NIL_COMPAT ON} | 
 
 
 
 
 
 
 
 
 | 20 | – | {$WARN STRING_CONST_TRUNCED ON} | 
 
 
 
 
 
 
 
 
 | 21 | – | {$WARN FOR_LOOP_VAR_VARPAR ON} | 
 
 
 
 
 
 
 
 
 | 22 | – | {$WARN TYPED_CONST_VARPAR ON} | 
 
 
 
 
 
 
 
 
 | 23 | – | {$WARN ASG_TO_TYPED_CONST ON} | 
 
 
 
 
 
 
 
 
 | 24 | – | {$WARN CASE_LABEL_RANGE ON} | 
 
 
 
 
 
 
 
 
 | 25 | – | {$WARN FOR_VARIABLE ON} | 
 
 
 
 
 
 
 
 
 | 26 | – | {$WARN CONSTRUCTING_ABSTRACT ON} | 
 
 
 
 
 
 
 
 
 | 27 | – | {$WARN COMPARISON_FALSE ON} | 
 
 
 
 
 
 
 
 
 | 28 | – | {$WARN COMPARISON_TRUE ON} | 
 
 
 
 
 
 
 
 
 | 29 | – | {$WARN COMPARING_SIGNED_UNSIGNED ON} | 
 
 
 
 
 
 
 
 
 | 30 | – | {$WARN COMBINING_SIGNED_UNSIGNED ON} | 
 
 
 
 
 
 
 
 
 | 31 | – | {$WARN UNSUPPORTED_CONSTRUCT ON} | 
 
 
 
 
 
 
 
 
 | 32 | – | {$WARN FILE_OPEN ON} | 
 
 
 
 
 
 
 
 
 | 33 | – | {$WARN FILE_OPEN_UNITSRC ON} | 
 
 
 
 
 
 
 
 
 | 34 | – | {$WARN BAD_GLOBAL_SYMBOL ON} | 
 
 
 
 
 
 
 
 
 | 35 | – | {$WARN DUPLICATE_CTOR_DTOR ON} | 
 
 
 
 
 
 
 
 
 | 36 | – | {$WARN INVALID_DIRECTIVE ON} | 
 
 
 
 
 
 
 
 
 | 37 | – | {$WARN PACKAGE_NO_LINK ON} | 
 
 
 
 
 
 
 
 
 | 38 | – | {$WARN PACKAGED_THREADVAR ON} | 
 
 
 
 
 
 
 
 
 | 39 | – | {$WARN IMPLICIT_IMPORT ON} | 
 
 
 
 
 
 
 
 
 | 40 | – | {$WARN HPPEMIT_IGNORED ON} | 
 
 
 
 
 
 
 
 
 | 41 | – | {$WARN NO_RETVAL ON} | 
 
 
 
 
 
 
 
 
 | 42 | – | {$WARN USE_BEFORE_DEF ON} | 
 
 
 
 
 
 
 
 
 | 43 | – | {$WARN FOR_LOOP_VAR_UNDEF ON} | 
 
 
 
 
 
 
 
 
 | 44 | – | {$WARN UNIT_NAME_MISMATCH ON} | 
 
 
 
 
 
 
 
 
 | 45 | – | {$WARN NO_CFG_FILE_FOUND ON} | 
 
 
 
 
 
 
 
 
 | 46 | – | {$WARN IMPLICIT_VARIANTS ON} | 
 
 
 
 
 
 
 
 
 | 47 | – | {$WARN UNICODE_TO_LOCALE ON} | 
 
 
 
 
 
 
 
 
 | 48 | – | {$WARN LOCALE_TO_UNICODE ON} | 
 
 
 
 
 
 
 
 
 | 49 | – | {$WARN IMAGEBASE_MULTIPLE ON} | 
 
 
 
 
 
 
 
 
 | 50 | – | {$WARN SUSPICIOUS_TYPECAST ON} | 
 
 
 
 
 
 
 
 
 | 51 | – | {$WARN PRIVATE_PROPACCESSOR ON} | 
 
 
 
 
 
 
 
 
 | 52 | – | {$WARN UNSAFE_TYPE OFF} | 
 
 
 
 
 
 
 
 
 | 53 | – | {$WARN UNSAFE_CODE OFF} | 
 
 
 
 
 
 
 
 
 | 54 | – | {$WARN UNSAFE_CAST OFF} | 
 
 
 
 
 
 
 
 
 | 55 | – | {$WARN OPTION_TRUNCATED ON} | 
 
 
 
 
 
 
 
 
 | 56 | – | {$WARN WIDECHAR_REDUCED ON} | 
 
 
 
 
 
 
 
 
 | 57 | – | {$WARN DUPLICATES_IGNORED ON} | 
 
 
 
 
 
 
 
 
 | 58 | – | {$WARN UNIT_INIT_SEQ ON} | 
 
 
 
 
 
 
 
 
 | 59 | – | {$WARN LOCAL_PINVOKE ON} | 
 
 
 
 
 
 
 
 
 | 60 | – | {$WARN MESSAGE_DIRECTIVE ON} | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 1 |  | unit LevelDB; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 2 |  | interface | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 3 |  | uses | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 311 |  | if RawLinks[i].RawSize > 0 then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 312 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 313 |  | RawFileStream := TMemoryStream.Create; | 
 
 
 
 
 
 
 
 
 
 
 | 314 | < | if UpperCase(fileinfo.Extension) = 'TXMP' then | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 314 | > | Connection.LoadRawFile(FileID, RawLinks[i].SrcOffset, TStream(RawFileStream)); | 
 
 
 
 
 | 315 | > | RawFileStream.Seek(0, soFromBeginning); | 
 
 
 
 
 | 316 | > | if RawLinks[i].LocSep then | 
 
 
 
 
 
 
 
 
 
 
 | 317 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 | 318 | < | DatFileStream.Seek($88, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 319 | < | DatFileStream.Read(tempb, 1); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 378 | < | if (tempb and $01) > 0 then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 379 | < | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 380 | < | OniImage.Load(Connection.ConnectionID, FileID); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 381 | < | if not OniImage.GetMipMappedImage(TStream(RawFileStream)) then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 382 | < | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 383 | < | ShowMessage('MipMapping-Error'); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 384 | < | RawFileStream.Seek(0, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 385 | < | tempb := tempb and $FE; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 386 | < | DatFileStream.Seek($88, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 387 | < | DatFileStream.Write(tempb, 1); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 388 | < | OniImage.Load(Connection.ConnectionID, FileID); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 389 | < | OniImage.GetAsData(TStream(RawFileStream)); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 390 | < | end else | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 391 | < | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 392 | < | // Change of Depth($89), Storetype ($90) | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 393 | < | DatFileStream.Seek($89, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 394 | < | DatFileStream.Read(tempb, 1); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 395 | < |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 396 | < | DatFileStream.Seek($90, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 397 | < | DatFileStream.Read(tempb, 1); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 398 | < | Exit; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 399 | < | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 400 | < | end else | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 401 | < | OniImage.GetAsData(TStream(RawFileStream)); | 
 
 
 
 
 
 
 
 
 | 318 | > | RawLinks[i].RawAddr := Stream_Sep.Size; | 
 
 
 
 
 | 319 | > | Stream_sep.CopyFrom(RawFileStream, RawFileStream.Size); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 320 |  | end else begin | 
 
 
 
 
 
 
 
 
 
 
 | 321 | < | Connection.LoadRawFile(FileID, RawLinks[i].SrcOffset, TStream(RawFileStream)); | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 321 | > | RawLinks[i].RawAddr := Stream_Raw.Size; | 
 
 
 
 
 | 322 | > | Stream_Raw.CopyFrom(RawFileStream, RawFileStream.Size); | 
 
 
 
 
 
 
 
 
 
 
 | 323 |  | end; | 
 
 
 
 
 
 
 
 
 | 405 | – | RawFileStream.Seek(0, soFromBeginning); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 324 |  | end else | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 325 |  | RawLinks[i].RawAddr := 0; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 326 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 327 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 328 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 329 |  | { | 
 
 
 
 
 
 
 
 
 | 412 | – | if rawlist[j].raw_size > 0 then | 
 
 
 
 
 
 
 
 
 | 413 | – | begin | 
 
 
 
 
 
 
 
 
 | 414 | – | if (UpperCase(fileinfo.Extension) = 'TXMP') and | 
 
 
 
 
 
 
 
 
 | 415 | – | ((Data[$88] and $01) > 0) then | 
 
 
 
 
 
 
 
 
 | 416 | – | begin | 
 
 
 
 
 
 
 
 
 | 417 | – | OniImage.LoadFromTXMP(Connection, i); | 
 
 
 
 
 
 
 
 
 | 418 | – | OniImage.GetMipMappedImage(rawdata); | 
 
 
 
 
 
 
 
 
 | 419 | – | rawlist[j].raw_size := OniImage.GetImageDataSize(True); | 
 
 
 
 
 
 
 
 
 | 420 | – | Data[$90] := $08; | 
 
 
 
 
 
 
 
 
 | 421 | – | Data[$89] := 32; | 
 
 
 
 
 
 
 
 
 | 422 | – | (*                  if data[$90]<>OniImage.StoreType then begin | 
 
 
 
 
 
 
 
 
 | 423 | – | data[$90]:=OniImage.StoreType; | 
 
 
 
 
 
 
 
 
 | 424 | – | data[$89]:=(data[$89] and $CF) or $20; | 
 
 
 
 
 
 
 
 
 | 425 | – | end; | 
 
 
 
 
 
 
 
 
 | 426 | – | *)                end | 
 
 
 
 
 
 
 
 
 | 427 | – | else | 
 
 
 
 
 
 
 
 
 | 428 | – | begin | 
 
 
 
 
 
 
 
 
 | 429 | – | SetLength(rawdata, rawlist[j].raw_size); | 
 
 
 
 
 
 
 
 
 | 430 | – | OniDataConnection.LoadRawFile(i, rawlist[j].src_offset, @rawdata[0]); | 
 
 
 
 
 
 
 
 
 | 431 | – | end; | 
 
 
 
 
 
 
 
 
 | 432 | – | //                data[$88]:=data[$88] and $FE; | 
 
 
 
 
 
 
 
 
 | 433 | – |  | 
 
 
 
 
 
 
 
 
 | 434 | – | if rawlist[j].loc_sep then | 
 
 
 
 
 
 
 
 
 | 435 | – | begin | 
 
 
 
 
 
 
 
 
 | 436 | – | rawlist[j].raw_addr := Stream_Sep.Size; | 
 
 
 
 
 
 
 
 
 | 437 | – | Stream_Sep.Write(rawdata[0], Length(rawdata)); | 
 
 
 
 
 
 
 
 
 | 438 | – | end | 
 
 
 
 
 
 
 
 
 | 439 | – | else | 
 
 
 
 
 
 
 
 
 | 440 | – | begin | 
 
 
 
 
 
 
 
 
 | 441 | – | rawlist[j].raw_addr := Stream_Raw.Size; | 
 
 
 
 
 
 
 
 
 | 442 | – | Stream_Raw.Write(rawdata[0], Length(rawdata)); | 
 
 
 
 
 
 
 
 
 | 443 | – | end; | 
 
 
 
 
 
 
 
 
 | 444 | – | end | 
 
 
 
 
 
 
 
 
 | 445 | – | else | 
 
 
 
 
 
 
 
 
 | 446 | – | rawlist[j].raw_addr := 0; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 330 |  | Data[rawlist[j].src_offset + 0] := (rawlist[j].raw_addr) and $FF; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 331 |  | Data[rawlist[j].src_offset + 1] := (rawlist[j].raw_addr shr 8) and $FF; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 332 |  | Data[rawlist[j].src_offset + 2] := (rawlist[j].raw_addr shr 16) and $FF; |