- Fix some warnings
authorunc0rr
Sat, 29 Sep 2007 16:39:21 +0000
changeset 614 0e04504bc140
parent 613 e8cf72d0e0f7
child 615 b646b3c43369
- Fix some warnings - Game mode flags to let instance not delayed shotgun fire
hedgewars/HHHandlers.inc
hedgewars/uConsole.pas
hedgewars/uConsts.pas
hedgewars/uGears.pas
hedgewars/uMisc.pas
share/hedgewars/Data/Trainings/001_Shotgun.txt
--- a/hedgewars/HHHandlers.inc	Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/HHHandlers.inc	Sat Sep 29 16:39:21 2007 +0000
@@ -94,7 +94,8 @@
      begin
         Inc(AttacksNum);
         State:= State and not gstAttacking;
-        if Ammo^[CurSlot, CurAmmo].NumPerTurn >= AttacksNum then isInMultiShoot:= true
+        if (Ammo^[CurSlot, CurAmmo].NumPerTurn >= AttacksNum) or
+           ((GameFlags and gfMultiWeapon) <> 0) then isInMultiShoot:= true
            else begin
            TurnTimeLeft:= Ammoz[Ammo^[CurSlot, CurAmmo].AmmoType].TimeAfterTurn;
            State:= State or gstAttacked;
--- a/hedgewars/uConsole.pas	Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uConsole.pas	Sat Sep 29 16:39:21 2007 +0000
@@ -287,6 +287,8 @@
 RegisterVariable('map'     , vtCommand, @chSetMap       , false);
 RegisterVariable('theme'   , vtCommand, @chSetTheme     , false);
 RegisterVariable('seed'    , vtCommand, @chSetSeed      , false);
+RegisterVariable('delay'   , vtLongInt, @cInactDelay    , false);
+RegisterVariable('casefreq', vtLongInt, @cCaseFactor    , false);
 RegisterVariable('c_height', vtLongInt, @cConsoleHeight , false);
 RegisterVariable('gmflags' , vtLongInt, @GameFlags      , false);
 RegisterVariable('turntime', vtLongInt, @cHedgehogTurnTime, false);
--- a/hedgewars/uConsts.pas	Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uConsts.pas	Sat Sep 29 16:39:21 2007 +0000
@@ -115,7 +115,7 @@
 
       cTransparentColor: Longword = $000000;
 
-      cMaxTeams        = 6;  
+      cMaxTeams        = 6;
       cMaxHHIndex      = 7;
       cMaxHHs          = 30;
       cMaxSpawnPoints  = 1024;
@@ -135,9 +135,8 @@
 
       cMaxCaptions = 4;
 
-      cInactDelay = 1500;
-
       gfForts       = $00000001;
+      gfMultiWeapon = $00000002;
       gfOneClanMode = $10000000;
 
       gstDrowning       = $00000001;
--- a/hedgewars/uGears.pas	Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uGears.pas	Sat Sep 29 16:39:21 2007 +0000
@@ -373,7 +373,7 @@
 end;
 
 procedure ProcessGears;
-const delay: LongInt = cInactDelay;
+const delay: LongWord = 0;
       step: (stDelay, stChDmg, stChWin, stSpawn, stNTurn) = stDelay;
 var Gear, t: PGear;
 begin
@@ -389,12 +389,13 @@
 if AllInactive then
    case step of
         stDelay: begin
-                 dec(delay);
                  if delay = 0 then
-                    begin
-                    inc(step);
                     delay:= cInactDelay
-                    end
+                 else
+                    dec(delay);
+
+                 if delay = 0 then
+                    inc(step)
                  end;
         stChDmg: if CheckNoDamage then inc(step) else step:= stDelay;
         stChWin: if not CheckForWin then inc(step) else step:= stDelay;
@@ -896,7 +897,9 @@
 var t: LongInt;
     i: TAmmoType;
 begin
-if (CountGears(gtCase) >= 5) or (getrandom(cCaseFactor) <> 0) then exit;
+if (cCaseFactor = 0) or
+   (CountGears(gtCase) >= 5) or
+   (getrandom(cCaseFactor) <> 0) then exit;
 FollowGear:= AddGear(0, 0, gtCase, 0, _0, _0, 0);
 case getrandom(2) of
      0: begin
--- a/hedgewars/uMisc.pas	Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uMisc.pas	Sat Sep 29 16:39:21 2007 +0000
@@ -61,7 +61,7 @@
     cExplosionBorderColor : LongWord = $808080;
 
     cShowFPS      : boolean = true;
-    cCaseFactor   : Longword = 7;  {1..10}
+    cCaseFactor   : Longword = 6;  {0..9}
     cFullScreen   : boolean = true;
     cLocaleFName  : shortstring = 'en.txt';
     cSeed         : shortstring = '';
@@ -69,9 +69,12 @@
     cVolumeDelta  : LongInt = 0;
     cTimerInterval   : Longword = 5;
     cHasFocus     : boolean = true;
+    cInactDelay   : Longword = 1500;
 
+{$WARNINGS OFF}
     cAirPlaneSpeed: hwFloat = (isNegative: false; QWordValue:   6012954214); // 1.4
     cBombsSpeed   : hwFloat = (isNegative: false; QWordValue:    429496729);
+{$WARNINGS ON}
 
 var
     cSendEmptyPacketTime : LongWord = 2000;
--- a/share/hedgewars/Data/Trainings/001_Shotgun.txt	Thu Sep 27 16:55:49 2007 +0000
+++ b/share/hedgewars/Data/Trainings/001_Shotgun.txt	Sat Sep 29 16:39:21 2007 +0000
@@ -1,6 +1,8 @@
 seed none
-$gmflags 268435456
+$gmflags 268435458
 $turntime 60000
+$casefreq 0
+$delay 0
 map mushrooms
 theme avematan
 ammstore 00009000000000000000