# HG changeset patch # User unc0rr # Date 1237121992 0 # Node ID fddc1201df2527d6ad94da021eed1d0e01bf15a7 # Parent 47e832a88cbdde38b3df7f772e9f181548d522d6 Some tweaks by nemo diff -r 47e832a88cbd -r fddc1201df25 hedgewars/GSHandlers.inc --- 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; diff -r 47e832a88cbd -r fddc1201df25 hedgewars/hwengine.dpr --- 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; diff -r 47e832a88cbd -r fddc1201df25 hedgewars/uConsts.pas --- 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; diff -r 47e832a88cbd -r fddc1201df25 hedgewars/uGears.pas --- 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, diff -r 47e832a88cbd -r fddc1201df25 hedgewars/uLandGraphics.pas --- 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;