--- 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;