| 646 |  | end; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 647 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 648 |  | function TAccess_OniArchive.AppendRawFile(LocSep: Boolean; Src: TStream): Integer; | 
 
 
 
 
 
 
 
 | 649 | + | const | 
 
 
 
 
 
 
 
 | 650 | + | EmptyBytes: Array[0..31] of Byte = ( | 
 
 
 
 
 
 
 
 | 651 | + | 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 652 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 653 |  | if not LocSep then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 654 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 655 |  | if not FRawOpened then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 656 |  | Fraw_file := TFileStream.Create(AnsiReplaceStr(FFileName, '.dat', '.raw'), | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 657 |  | fmOpenReadWrite); | 
 
 
 
 
 
 
 
 | 658 | + | if (Fraw_file.Size mod 32) > 0 then | 
 
 
 
 
 
 
 
 | 659 | + | Fraw_file.Write(EmptyBytes[0], 32 - (Fraw_file.Size mod 32)); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 660 |  | Result := Fraw_file.Size; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 661 |  | Fraw_file.Seek(0, soFromEnd); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 662 |  | Fraw_file.CopyFrom(Src, Src.Size); | 
 
 
 
 
 
 
 
 | 663 | + | if (Fraw_file.Size mod 32) > 0 then | 
 
 
 
 
 
 
 
 | 664 | + | Fraw_file.Write(EmptyBytes[0], 32 - (Fraw_file.Size mod 32)); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 665 |  | if UnloadWhenUnused then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 666 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 667 |  | FRawOpened := False; | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 675 |  | if not FSepOpened then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 676 |  | Fsep_file := TFileStream.Create(AnsiReplaceStr(FFileName, '.dat', '.sep'), | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 677 |  | fmOpenReadWrite); | 
 
 
 
 
 
 
 
 | 678 | + | if (Fsep_file.Size mod 32) > 0 then | 
 
 
 
 
 
 
 
 | 679 | + | Fsep_file.Write(EmptyBytes[0], 32 - (Fsep_file.Size mod 32)); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 680 |  | Result := Fsep_file.Size; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 681 |  | Fsep_file.Seek(0, soFromEnd); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 682 |  | Fsep_file.CopyFrom(Src, Src.Size); | 
 
 
 
 
 
 
 
 | 683 | + | if (Fsep_file.Size mod 32) > 0 then | 
 
 
 
 
 
 
 
 | 684 | + | Fsep_file.Write(EmptyBytes[0], 32 - (Fsep_file.Size mod 32)); | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 685 |  | if UnloadWhenUnused then | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 686 |  | begin | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 687 |  | FSepOpened := False; |