diff -r 2e836bebb518 -r 453917e94e55 hedgewars/uStore.pas --- a/hedgewars/uStore.pas Wed Nov 14 00:23:29 2012 +0100 +++ b/hedgewars/uStore.pas Thu Nov 22 00:41:53 2012 +0100 @@ -70,9 +70,11 @@ procedure EndWater; implementation -uses uMisc, uConsole, uMobile, uVariables, uUtils, uTextures, uRender, uRenderUtils, uCommands, - uDebug{$IFDEF USE_CONTEXT_RESTORE}, uWorld{$ENDIF} - {$IF NOT DEFINED(SDL13) AND DEFINED(USE_VIDEO_RECORDING)}, glut {$ENDIF}; +uses uMisc, uConsole, uMobile, uVariables, uUtils, uTextures, uRender, uRenderUtils, uCommands + , uPhysFSLayer + , uDebug + {$IFDEF USE_CONTEXT_RESTORE}, uWorld{$ENDIF} + {$IF NOT DEFINED(SDL13) AND DEFINED(USE_VIDEO_RECORDING)}, glut {$ENDIF}; //type TGPUVendor = (gvUnknown, gvNVIDIA, gvATI, gvIntel, gvApple); @@ -171,6 +173,7 @@ texsurf, flagsurf, iconsurf: PSDL_Surface; foundBot: boolean; begin + if cOnlyStats then exit; r.x:= 0; r.y:= 0; drY:= - 4; @@ -333,11 +336,9 @@ for fi:= Low(THWFont) to High(THWFont) do with Fontz[fi] do begin - s:= UserPathz[ptFonts] + '/' + Name; - if not FileExists(s) then - s:= Pathz[ptFonts] + '/' + Name; + s:= cPathz[ptFonts] + '/' + Name; WriteToConsole(msgLoading + s + ' (' + inttostr(Height) + 'pt)... '); - Handle:= TTF_OpenFont(Str2PChar(s), Height); + Handle:= TTF_OpenFontRW(rwopsOpenRead(s), true, Height); SDLTry(Handle <> nil, true); TTF_SetFontStyle(Handle, style); WriteLnToConsole(msgOK) @@ -591,7 +592,7 @@ WriteToConsole(msgLoading + filename + '.png [flags: ' + inttostr(imageFlags) + '] '); s:= filename + '.png'; - tmpsurf:= IMG_Load(Str2PChar(s)); + tmpsurf:= IMG_Load_RW(rwopsOpenRead(s), true); if tmpsurf = nil then begin @@ -602,7 +603,7 @@ if ((imageFlags and ifIgnoreCaps) = 0) and ((tmpsurf^.w > MaxTextureSize) or (tmpsurf^.h > MaxTextureSize)) then begin SDL_FreeSurface(tmpsurf); - OutError(msgFailedSize, (imageFlags and ifCritical) <> 0); + OutError(msgFailedSize, ((not cOnlyStats) and ((imageFlags and ifCritical) <> 0))); // dummy surface to replace non-critical textures that failed to load due to their size LoadImage:= SDL_CreateRGBSurface(SDL_SWSURFACE, 2, 2, 32, RMask, GMask, BMask, AMask); exit; @@ -623,13 +624,7 @@ var tmpsurf: PSDL_Surface; begin // check for file in user dir (never critical) - tmpsurf:= LoadImage(UserPathz[path] + '/' + filename, imageFlags and (not ifCritical)); - - // if unsuccessful check data dir - if (tmpsurf = nil) then - tmpsurf:= LoadImage(Pathz[path] + '/' + filename, imageFlags); - - LoadDataImage:= tmpsurf; + tmpsurf:= LoadImage(cPathz[path] + '/' + filename, imageFlags); end; @@ -1197,6 +1192,7 @@ var r: TSDL_Rect; texsurf: PSDL_Surface; begin + if cOnlyStats then exit; if Step = 0 then begin WriteToConsole(msgLoading + 'progress sprite: '); @@ -1452,10 +1448,14 @@ {$IFNDEF DARWIN}ico: PSDL_Surface;{$ENDIF} {$IFDEF SDL13}x, y: LongInt;{$ENDIF} begin + if cOnlyStats then + begin + MaxTextureSize:= 1024; + exit + end; if Length(s) = 0 then - cFullScreen:= (not cFullScreen) - else - cFullScreen:= s = '1'; + cFullScreen:= (not cFullScreen) + else cFullScreen:= s = '1'; AddFileLog('Preparing to change video parameters...'); {$IFDEF SDL13}