diff -r 5e9325659be2 -r f6f8db825ce7 hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Tue Feb 23 00:27:48 2010 +0000 +++ b/hedgewars/uWorld.pas Tue Feb 23 03:55:46 2010 +0000 @@ -63,6 +63,7 @@ AMxShift, SlotsNum: LongInt; tmpSurface: PSDL_Surface; fpsTexture: PTexture; + timeTexture: PTexture; FPS: Longword; CountTicks: Longword; SoundTimerTicks: Longword; @@ -650,9 +651,28 @@ offset:= 10; {$ENDIF} inc(Frames); + +if cShowFPS or (GameType = gmtDemo) then inc(CountTicks, Lag); +if (GameType = gmtDemo) and (not isSpeed) and (CountTicks >= 1000) then + begin + i:=GameTicks div 60000; + t:=(GameTicks-(i*60000)) div 1000; + s:=''; + if i<10 then s:='0'; + s:= s+inttostr(i)+':'; + if t<10 then s:=s+'0'; + s:= s+inttostr(t); + tmpSurface:= TTF_RenderUTF8_Blended(Fontz[fnt16].Handle, Str2PChar(s), cWhiteColorChannels); + tmpSurface:= doSurfaceConversion(tmpSurface); + timeTexture:= Surface2Tex(tmpSurface, false); + SDL_FreeSurface(tmpSurface) + end; + +if timeTexture <> nil then + DrawTexture((cScreenWidth shr 1) - 10 - timeTexture^.w, offset + timeTexture^.h+5, timeTexture); + if cShowFPS then begin - inc(CountTicks, Lag); if CountTicks >= 1000 then begin FPS:= Frames; @@ -669,6 +689,8 @@ DrawTexture((cScreenWidth shr 1) - 50, offset, fpsTexture); end; +if CountTicks >= 1000 then CountTicks:= 0; + // lag warning (?) inc(SoundTimerTicks, Lag); if SoundTimerTicks >= 50 then