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

Comparing:
oup/rewrite/DataAccess/DataAccess.pas (file contents), Revision 101 by alloc, Tue Feb 20 20:43:29 2007 UTC vs.
oup/current/DataAccess/DataAccess.pas (file contents), Revision 193 by alloc, Sat May 26 14:24:55 2007 UTC

# Line 41 | Line 41 | type
41      procedure LoadDatFilePart(FileID, Offset, Size: Integer; var Target: TByteData); overload;
42      procedure LoadDatFilePart(FileID, Offset, Size: Integer; Target: Pointer); overload;
43      procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: TStream); overload; virtual; abstract;
44    procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: TByteData); overload;
44      procedure UpdateDatFilePart(FileID, Offset, Size: Integer; Src: Pointer); overload;
45  
46 +    function GetDatLinks(FileID: Integer): TDatLinkList; virtual; abstract;
47 +    function GetDatLink(FileID, DatOffset: Integer): TDatLink; virtual; abstract;
48      function GetRawList(FileID: Integer): TRawDataList; virtual; abstract;
49      function GetRawInfo(FileID, DatOffset: Integer): TRawDataInfo; virtual; abstract;
50  
# Line 55 | Line 56 | type
56      procedure LoadRawFilePart(FileID, DatOffset, Offset, Size: Integer; var Target: TByteData); overload;
57      procedure LoadRawFilePart(FileID, DatOffset, Offset, Size: Integer; Target: Pointer); overload;
58      procedure UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: TStream); overload; virtual; abstract;
58    procedure UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: TByteData); overload;
59      procedure UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: Pointer); overload;
60  
61 <    function AppendRawFile(LocSep: Boolean; Size: Integer; Src: TStream): Integer; overload; virtual;
62 <    function AppendRawFile(LocSep: Boolean; Size: Integer; Src: TByteData): Integer; overload;
63 <    function AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer; overload;
61 >    function AppendRawFile(LocSep: Boolean; Src: TStream): Integer; overload; virtual;
62 >    function AppendRawFile(LocSep: Boolean; Src: TByteData): Integer; overload;
63 > //    function AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer; overload;
64    published
65    end;
66  
# Line 172 | Line 172 | begin
172    end;
173   end;
174  
175 procedure TDataAccess.UpdateDatFilePart(FileID, Offset, Size: Integer; Src: TByteData);
176 var
177  data: TStream;
178 begin
179  if fileid < GetFileCount then
180  begin
181    data := TMemoryStream.Create;
182    data.Write(Src[0], Size);
183    data.Seek(0, soFromBeginning);
184    UpdateDatFilePart(FileID, offset, size, data);
185    data.Free;
186  end;
187 end;
188
175   procedure TDataAccess.UpdateDatFilePart(FileID, Offset, Size: Integer; Src: Pointer);
176   var
177    data: TStream;
# Line 259 | Line 245 | begin
245    end;
246   end;
247  
262 procedure TDataAccess.UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: TByteData);
263 var
264  data: TStream;
265 begin
266  if fileid < GetFileCount then
267  begin
268    data := TMemoryStream.Create;
269    data.Write(Src[0], Size);
270    data.Seek(0, soFromBeginning);
271    UpdateRawFilePart(FileID, DatOffset, Offset, Size, data);
272    data.Free;
273  end;
274 end;
275
248   procedure TDataAccess.UpdateRawFilePart(FileID, DatOffset, Offset, Size: Integer; Src: Pointer);
249   var
250    data: TStream;
# Line 288 | Line 260 | begin
260   end;
261  
262  
263 < function TDataAccess.AppendRawFile(LocSep: Boolean; Size: Integer; Src: TStream): Integer;
263 > function TDataAccess.AppendRawFile(LocSep: Boolean; Src: TStream): Integer;
264   begin
265    raise ENotImplemented.Create('ERROR: AppendRawFile not implemented here!!!');
266   end;
267  
268  
269 < function TDataAccess.AppendRawFile(LocSep: Boolean; Size: Integer; Src: TByteData): Integer;
269 > function TDataAccess.AppendRawFile(LocSep: Boolean; Src: TByteData): Integer;
270   var
271    data: TStream;
272   begin
273    data := TMemoryStream.Create;
274 <  data.Write(Src[0], Size);
275 <  AppendRawFile(LocSep, Size, data);
274 >  data.Write(Src[0], Length(Src));
275 >  data.Seek(0, soFromBeginning);
276 >  Result := AppendRawFile(LocSep, data);
277    data.Free;
278   end;
279 <
279 > {
280   function TDataAccess.AppendRawFile(LocSep: Boolean; Size: Integer; Src: Pointer): Integer;
281   var
282    data: TStream;
283   begin
284    data := TMemoryStream.Create;
285    data.Write(Src^, Size);
286 <  AppendRawFile(LocSep, Size, data);
286 >  data.Seek(0, soFromBeginning);
287 >  Result := AppendRawFile(LocSep, data);
288    data.Free;
289   end;
290 <
290 > }
291  
292  
293   procedure TDataAccess.SetDataOS(DataOS: TDataOS);

Diff Legend

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