A little clock for convenience in finding things in demos
authornemo
Tue, 23 Feb 2010 03:55:46 +0000
changeset 2850 f6f8db825ce7
parent 2849 5e9325659be2
child 2851 a9a5ce1d9f23
A little clock for convenience in finding things in demos
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