# HG changeset patch # User sheepluva # Date 1452698390 -3600 # Node ID 24bef86e3f3a97397482835180bae8bd7a3da779 # Parent 32bad5758df6f90a95c5a7fdeeb8b90f162d37b6 add some dust effect to rolling/sliding hedgehogs diff -r 32bad5758df6 -r 24bef86e3f3a hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Tue Jan 12 17:18:51 2016 -0500 +++ b/hedgewars/uGearsRender.pas Wed Jan 13 16:19:50 2016 +0100 @@ -846,6 +846,7 @@ end else // not gstHHDriven begin + // check if hedgehog is sliding/rolling if (Gear^.Damage > 0) and (HH^.Effects[heFrozen] = 0) and (hwSqr(Gear^.dX) + hwSqr(Gear^.dY) > _0_003) then begin @@ -855,6 +856,23 @@ 2, 1, Gear^.DirAngle); + + // dust effect + // TODO fix: this gives different results based on framerate + if (sx mod 8) = 0 then + begin + if Gear^.dX.isNegative then + tx := hwRound(Gear^.X) + cHHRadius + else + tx := hwRound(Gear^.X) - cHHRadius; + ty:= hwRound(Gear^.Y) + cHHRadius + 2; + if ((tx and LAND_WIDTH_MASK) = 0) and + ((ty and LAND_HEIGHT_MASK) = 0) and + (Land[ty, tx] <> 0) then + AddVisualGear(tx - 2 + Random(4), ty - 8, vgtDust); + end; + + // draw april's fool hat if AprilOne and (curhat <> nil) then DrawTextureRotatedF(curhat, 1.0, -1.0, 0, sx, sy, 18, sign, 32, 32, sign*Gear^.DirAngle)