Engine:
* Changed ready screen's behaviour (e.g. hitting [attack] WILL close the screen and trigger an attack)
* Ammo menu keybind stops ready timer now.
--- a/hedgewars/CCHandlers.inc Wed Sep 01 13:03:43 2010 +0200
+++ b/hedgewars/CCHandlers.inc Wed Sep 01 17:42:56 2010 +0200
@@ -391,7 +391,7 @@
s:= s; // avoid compiler hint
if CheckNoTeamOrHH or isPaused then exit;
if not CurrentTeam^.ExtDriven then SendIPC('j');
-if ReadyTimeLeft > 1 then begin ReadyTimeLeft:= 1; exit end;
+if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
bShowFinger:= false;
with CurrentHedgehog^.Gear^ do
Message:= Message or gm_LJump
@@ -402,7 +402,7 @@
s:= s; // avoid compiler hint
if CheckNoTeamOrHH or isPaused then exit;
if not CurrentTeam^.ExtDriven then SendIPC('J');
-if ReadyTimeLeft > 1 then begin ReadyTimeLeft:= 1; exit end;
+if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
bShowFinger:= false;
with CurrentHedgehog^.Gear^ do
Message:= Message or gm_HJump
@@ -412,12 +412,7 @@
begin
s:= s; // avoid compiler hint
if CheckNoTeamOrHH or isPaused then exit;
-if ReadyTimeLeft > 1 then
- begin
- ReadyTimeLeft:= 1; // set to 1 millisecond so we still play the sound file
- if not CurrentTeam^.ExtDriven then SendIPC('A');
- exit
- end;
+if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1;
bShowFinger:= false;
with CurrentHedgehog^.Gear^ do
begin
@@ -687,10 +682,11 @@
procedure chAmmoMenu(var s: shortstring);
begin
s:= s; // avoid compiler hint
-if CheckNoTeamOrHH then
-bShowAmmoMenu:= true
+if CheckNoTeamOrHH then
+ bShowAmmoMenu:= true
else
-with CurrentTeam^ do
+ begin
+ with CurrentTeam^ do
with Hedgehogs[CurrHedgehog] do
begin
bSelected:= false;
@@ -699,7 +695,9 @@
else if ((Gear^.State and (gstAttacking or gstAttacked)) <> 0) or
((MultiShootAttacks > 0) and ((Ammo^[CurSlot, CurAmmo].Propz and ammoprop_NoRoundEndHint) = 0)) or
((Gear^.State and gstHHDriven) = 0) then else bShowAmmoMenu:= true
- end
+ end;
+ if ReadyTimeLeft > 1 then ReadyTimeLeft:= 1
+ end
end;
procedure chFullScr(var s: shortstring);