# HG changeset patch # User unc0rr # Date 1191083961 0 # Node ID 0e04504bc14006d581aa7e9cc8f5cf2193dd2d12 # Parent e8cf72d0e0f7ffa1222947b95d34f6b7e38dc69c - Fix some warnings - Game mode flags to let instance not delayed shotgun fire diff -r e8cf72d0e0f7 -r 0e04504bc140 hedgewars/HHHandlers.inc --- 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; diff -r e8cf72d0e0f7 -r 0e04504bc140 hedgewars/uConsole.pas --- 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); diff -r e8cf72d0e0f7 -r 0e04504bc140 hedgewars/uConsts.pas --- 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; diff -r e8cf72d0e0f7 -r 0e04504bc140 hedgewars/uGears.pas --- 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 diff -r e8cf72d0e0f7 -r 0e04504bc140 hedgewars/uMisc.pas --- 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; diff -r e8cf72d0e0f7 -r 0e04504bc140 share/hedgewars/Data/Trainings/001_Shotgun.txt --- 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