diff -r 07862ab415c8 -r dc30104660d3 hedgewars/uLandObjects.pas --- a/hedgewars/uLandObjects.pas Wed Nov 14 22:45:36 2012 +0400 +++ b/hedgewars/uLandObjects.pas Wed Nov 14 23:27:33 2012 +0400 @@ -30,8 +30,9 @@ procedure AddOnLandObjects(Surface: PSDL_Surface); implementation -uses uStore, uConsts, uConsole, uRandom, uSound, GLunit, - uTypes, uVariables, uUtils, uDebug, SysUtils; +uses uStore, uConsts, uConsole, uRandom, uSound, GLunit + , uTypes, uVariables, uUtils, uDebug, SysUtils + , uPhysFSLayer; const MaxRects = 512; MAXOBJECTRECTS = 16; @@ -399,7 +400,7 @@ procedure ReadThemeInfo(var ThemeObjects: TThemeObjects; var SprayObjects: TSprayObjects); var s, key: shortstring; - f: textfile; + f: PFSFile; i: LongInt; ii, t: Longword; c2: TSDL_Color; @@ -431,17 +432,15 @@ s:= cPathz[ptCurrTheme] + '/' + cThemeCFGFilename; WriteLnToConsole('Reading objects info...'); -Assign(f, s); -{$I-} -filemode:= 0; // readonly -Reset(f); +f:= pfsOpenRead(s); +TryDo(f <> nil, 'Bad data or cannot access file ' + cThemeCFGFilename, true); ThemeObjects.Count:= 0; SprayObjects.Count:= 0; -while not eof(f) do +while not pfsEOF(f) do begin - Readln(f, s); + pfsReadLn(f, s); if Length(s) = 0 then continue; if s[1] = ';' then @@ -736,9 +735,7 @@ end end; -Close(f); -{$I+} -TryDo(IOResult = 0, 'Bad data or cannot access file ' + cThemeCFGFilename, true); +pfsClose(f); AddProgress; end;