X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fsfs%2FsfsPlainFS.pas;h=5666ad23a8e1f7e8dbbc162877c63f1adee7c752;hb=2bd42e8c2e82a4aab077e526f615084535246609;hp=e43f367e994916171437e500548c679231ba6623;hpb=ffd525f425556f81296ad45b6011791ffffb6eaf;p=d2df-sdl.git diff --git a/src/sfs/sfsPlainFS.pas b/src/sfs/sfsPlainFS.pas index e43f367..5666ad2 100644 --- a/src/sfs/sfsPlainFS.pas +++ b/src/sfs/sfsPlainFS.pas @@ -52,8 +52,8 @@ var begin if (fType <> sfspvPAK) and (fType <> sfspvSIN) then raise ESFSError.Create('invalid archive'); fFileStream.Seek(4, soCurrent); // skip signature - fFileStream.ReadBuffer(dofs, 4); - fFileStream.ReadBuffer(dsize, 4); + dofs := readLongWord(fFileStream); + dsize := readLongWord(fFileStream); fFileStream.Position := dofs; if fType = sfspvPAK then esz := 64 else esz := 128; while dsize >= esz do @@ -62,8 +62,8 @@ begin FillChar(name[0], length(name), 0); fFileStream.ReadBuffer(name[0], esz-8); fi.fName := PChar(@name[0]); - fFileStream.ReadBuffer(fi.fOfs, 4); - fFileStream.ReadBuffer(fi.fSize, 4); + fi.fOfs := readLongWord(fFileStream); + fi.fSize := readLongWord(fFileStream); Dec(dsize, esz); end; end; @@ -100,8 +100,8 @@ begin vt := sfspvNone; st.ReadBuffer(sign[0], 4); - st.ReadBuffer(dofs, 4); - st.ReadBuffer(dsize, 4); + dofs := readLongWord(st); + dsize := readLongWord(st); st.Seek(-12, soCurrent); if sign = 'PACK' then begin