--- a/hedgewars/GSHandlers.inc Sun Mar 15 12:58:23 2009 +0000
+++ b/hedgewars/GSHandlers.inc Sun Mar 15 12:59:52 2009 +0000
@@ -687,6 +687,7 @@
begin
Message:= Message and not gm_Attack;
State:= State or gstMoving;
+ State:= State and not gstWinner;
end;
DeleteGear(Gear)
end;
--- a/hedgewars/hwengine.dpr Sun Mar 15 12:58:23 2009 +0000
+++ b/hedgewars/hwengine.dpr Sun Mar 15 12:59:52 2009 +0000
@@ -189,7 +189,7 @@
{$ENDIF}
case ParamCount of
-16: begin
+ 16: begin
val(ParamStr(2), cScreenWidth);
val(ParamStr(3), cScreenHeight);
cInitWidth:= cScreenWidth;
@@ -216,9 +216,24 @@
GameType:= gmtLandPreview;
if ParamStr(3) <> 'landpreview' then OutError(errmsgShouldntRun, true);
end;
- 2: begin
+ 14: begin
PathPrefix:= ParamStr(1);
recordFileName:= ParamStr(2);
+ val(ParamStr(3), cScreenWidth);
+ val(ParamStr(4), cScreenHeight);
+ cInitWidth:= cScreenWidth;
+ cInitHeight:= cScreenHeight;
+ cBitsStr:= ParamStr(5);
+ val(cBitsStr, cBits);
+ cFullScreen:= ParamStr(6) = '1';
+ isSoundEnabled:= ParamStr(7) = '1';
+ cLocaleFName:= ParamStr(8);
+ val(ParamStr(9), cInitVolume);
+ val(ParamStr(10), cTimerInterval);
+ cShowFPS:= ParamStr(11) = '1';
+ cAltDamage:= ParamStr(12) = '1';
+ isMusicEnabled:= ParamStr(13) = '1';
+ cReducedQuality:= ParamStr(14) = '1';
for p:= Succ(Low(TPathType)) to High(TPathType) do
if p <> ptMapCurrent then Pathz[p]:= PathPrefix + '/' + Pathz[p]
end;
--- a/hedgewars/uConsts.pas Sun Mar 15 12:58:23 2009 +0000
+++ b/hedgewars/uConsts.pas Sun Mar 15 12:59:52 2009 +0000
@@ -1180,6 +1180,7 @@
NumberInCase: 1;
Ammo: (Propz: ammoprop_NoCrosshair or
ammoprop_DontHold or
+ ammoprop_AltUse or
ammoprop_Utility;
Count: 1;
NumPerTurn: 0;
@@ -1200,6 +1201,7 @@
NumberInCase: 1;
Ammo: (Propz: ammoprop_NoCrosshair or
ammoprop_DontHold or
+ ammoprop_AltUse or
ammoprop_Utility;
Count: 1;
NumPerTurn: 0;
@@ -1220,6 +1222,7 @@
NumberInCase: 1;
Ammo: (Propz: ammoprop_NoCrosshair or
ammoprop_DontHold or
+ ammoprop_AltUse or
ammoprop_Utility;
Count: 1;
NumPerTurn: 0;
@@ -1240,6 +1243,7 @@
NumberInCase: 1;
Ammo: (Propz: ammoprop_NoCrosshair or
ammoprop_DontHold or
+ ammoprop_AltUse or
ammoprop_Utility;
Count: 1;
NumPerTurn: 0;
@@ -1260,6 +1264,7 @@
NumberInCase: 1;
Ammo: (Propz: ammoprop_NoCrosshair or
ammoprop_DontHold or
+ ammoprop_AltUse or
ammoprop_Utility;
Count: 1;
NumPerTurn: 0;
--- a/hedgewars/uGears.pas Sun Mar 15 12:58:23 2009 +0000
+++ b/hedgewars/uGears.pas Sun Mar 15 12:59:52 2009 +0000
@@ -505,7 +505,6 @@
stChDmg: if CheckNoDamage then inc(step) else step:= stDelay;
stSweep: if SweepDirty then
begin
- SetAllToActive;
step:= stChDmg
end else inc(step);
stTurnReact: begin
@@ -671,7 +670,8 @@
defaultPos:= false
end else
-if (Gear^.State and gstWinner) <> 0 then
+if ((Gear^.State and gstWinner) <> 0) and
+ ((CurAmmoGear = nil) or (CurAmmoGear^.Kind <> gtPickHammer)) then
begin
DrawHedgehog(sx, sy,
hwSign(Gear^.dX),
@@ -749,7 +749,10 @@
0);
defaultPos:= false
end;
- gtPickHammer,
+ gtPickHammer: begin
+ defaultPos:= false;
+ dec(sy,20);
+ end;
gtTeleport: defaultPos:= false;
gtWhip: begin
DrawRotatedF(sprWhip,
--- a/hedgewars/uLandGraphics.pas Sun Mar 15 12:58:23 2009 +0000
+++ b/hedgewars/uLandGraphics.pas Sun Mar 15 12:59:52 2009 +0000
@@ -423,7 +423,7 @@
ny:= Y + i;
nx:= X + j;
if ((ny and LAND_HEIGHT_MASK) = 0) and ((nx and LAND_WIDTH_MASK) = 0) then
- if Land[ny, nx] <> 0 then
+ if Land[ny, nx] > 255 then
inc(c);
end;