diff -u mario-orig/play.pas mario/play.pas --- mario-orig/play.pas Sat Jul 24 16:00:00 1999 +++ mario/play.pas Sat Jan 27 16:50:45 2001 @@ -345,6 +345,7 @@ begin { PlayWorld } PlayWorld := False; Key := #0; + time := 255 * 32; SetYOffset (YBase); SetYStart ($12); @@ -546,6 +547,14 @@ end else DoDemo; + + if (time > 0) and (not Passed) then + Dec(time); + if time <= 0 then + begin + GameDone := TRUE; + Passed := FALSE; + end; if not Waiting then if Passed then diff -u mario-orig/status.pas mario/status.pas --- mario-orig/status.pas Sat Jul 24 16:00:00 1999 +++ mario/status.pas Sat Jan 27 16:14:40 2001 @@ -6,6 +6,8 @@ Buffers, Txt, VGA256; + var + time: Integer; procedure InitStatus; procedure ShowStatus; @@ -41,19 +43,27 @@ for i := 3 to Length (S) do if S[i] = ' ' then S[i] := '0'; - WriteText (XView + 84 + 6, HEIGHT, S, 31); + WriteText (XView + 74 + 6, HEIGHT, S, 31); + + i := time div 32; + if i > 999 then + i := 999 + else if i < 0 then + i := 0; + Str (i: 3, S); + WriteText (XView + 150 + 6, HEIGHT, S, 31); - WriteText (XView + 140 + 40 + 10, HEIGHT, #9, 13); - WriteText (XView + 140 + 40 + 10, HEIGHT, #7, 14); + WriteText (XView + 150 + 40 + 10, HEIGHT, #9, 13); + WriteText (XView + 150 + 40 + 10, HEIGHT, #7, 14); Str (Data.Coins[Player]: 2, S); - WriteText (XView + 158 + 40 + 10, HEIGHT, S, 31); + WriteText (XView + 168 + 40 + 10, HEIGHT, S, 31); { WriteText (XView + 242, HEIGHT, 'WORLD ' + WorldNumber, 31); } WriteText (XView + 258, HEIGHT, 'LEVEL ' + WorldNumber[3], 31); SetFont (0, 0); WriteText (XView + 46 + 4, HEIGHT, 'x', 31); - WriteText (XView + 150 + 40 + 10, HEIGHT, 'x', 31); + WriteText (XView + 160 + 40 + 10, HEIGHT, 'x', 31); end; procedure HideStatus;