598 amDynamite: DrawRotated(sprHandDynamite, hx, hy, sign, aangle); |
598 amDynamite: DrawRotated(sprHandDynamite, hx, hy, sign, aangle); |
599 amHellishBomb: DrawRotated(sprHandHellish, hx, hy, sign, aangle); |
599 amHellishBomb: DrawRotated(sprHandHellish, hx, hy, sign, aangle); |
600 amGasBomb: DrawRotated(sprHandCheese, hx, hy, sign, aangle); |
600 amGasBomb: DrawRotated(sprHandCheese, hx, hy, sign, aangle); |
601 amMine: DrawRotated(sprHandMine, hx, hy, sign, aangle); |
601 amMine: DrawRotated(sprHandMine, hx, hy, sign, aangle); |
602 amSMine: DrawRotated(sprHandSMine, hx, hy, sign, aangle); |
602 amSMine: DrawRotated(sprHandSMine, hx, hy, sign, aangle); |
603 amSeduction: DrawRotated(sprHandSeduction, hx, hy, sign, aangle); |
603 amSeduction: begin |
|
604 DrawRotated(sprHandSeduction, hx, hy, sign, aangle); |
|
605 DrawCircle(ox, oy, 248, 4, $FF, $00, $00, $AA); |
|
606 end; |
604 amVampiric: DrawRotatedF(sprHandVamp, hx, hy, (RealTicks div 125) mod 4, sign, aangle); |
607 amVampiric: DrawRotatedF(sprHandVamp, hx, hy, (RealTicks div 125) mod 4, sign, aangle); |
605 amRCPlane: begin |
608 amRCPlane: begin |
606 DrawRotated(sprHandPlane, hx, hy, sign, 0); |
609 DrawRotated(sprHandPlane, hx, hy, sign, 0); |
607 defaultPos:= false |
610 defaultPos:= false |
608 end; |
611 end; |
875 var |
878 var |
876 HHGear: PGear; |
879 HHGear: PGear; |
877 i: Longword; |
880 i: Longword; |
878 startX, endX, startY, endY: LongInt; |
881 startX, endX, startY, endY: LongInt; |
879 begin |
882 begin |
|
883 if Gear^.TargetX <> NoPointX then |
|
884 if Gear^.AmmoType = amBee then |
|
885 DrawRotatedF(sprTargetBee, Gear^.TargetX + WorldDx, Gear^.TargetY + WorldDy, 0, 0, (RealTicks shr 3) mod 360) |
|
886 else |
|
887 DrawRotatedF(sprTargetP, Gear^.TargetX + WorldDx, Gear^.TargetY + WorldDy, 0, 0, (RealTicks shr 3) mod 360); |
|
888 |
880 case Gear^.Kind of |
889 case Gear^.Kind of |
881 gtGrenade: DrawRotated(sprBomb, x, y, 0, Gear^.DirAngle); |
890 gtGrenade: DrawRotated(sprBomb, x, y, 0, Gear^.DirAngle); |
882 gtSnowball: DrawRotated(sprSnowball, x, y, 0, Gear^.DirAngle); |
891 gtSnowball: DrawRotated(sprSnowball, x, y, 0, Gear^.DirAngle); |
883 gtGasBomb: DrawRotated(sprCheese, x, y, 0, Gear^.DirAngle); |
892 gtGasBomb: DrawRotated(sprCheese, x, y, 0, Gear^.DirAngle); |
884 gtMolotov: DrawRotated(sprMolotov, x, y, 0, Gear^.DirAngle); |
893 gtMolotov: DrawRotated(sprMolotov, x, y, 0, Gear^.DirAngle); |
1017 endY:= startY + 256; |
1026 endY:= startY + 256; |
1018 DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + LongInt(round((endX - startX) * power(2, 10 * (LongInt(Gear^.Timer)/2000 - 1)))) + hwRound(Gear^.dX * Gear^.Timer), startY + WorldDy + LongInt(round((endY - startY) * cos(LongInt(Gear^.Timer)/2000 * (Pi/2)) - (endY - startY))) + hwRound(Gear^.dY * Gear^.Timer), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
1027 DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + LongInt(round((endX - startX) * power(2, 10 * (LongInt(Gear^.Timer)/2000 - 1)))) + hwRound(Gear^.dX * Gear^.Timer), startY + WorldDy + LongInt(round((endY - startY) * cos(LongInt(Gear^.Timer)/2000 * (Pi/2)) - (endY - startY))) + hwRound(Gear^.dY * Gear^.Timer), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
1019 end; |
1028 end; |
1020 end |
1029 end |
1021 else |
1030 else |
1022 DrawTextureF(SpritesData[sprBirdy].Texture, 1, x, y, ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
1031 begin |
|
1032 if Gear^.Health < 250 then |
|
1033 DrawTextureF(SpritesData[sprBirdy].Texture, 1, x, y, ((Gear^.Pos shr 6) or (RealTicks shr 7)) mod 2, Gear^.Tag, 75, 75) |
|
1034 else |
|
1035 DrawTextureF(SpritesData[sprBirdy].Texture, 1, x, y, ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
|
1036 end; |
1023 end; |
1037 end; |
1024 gtEgg: DrawRotatedTextureF(SpritesData[sprEgg].Texture, 1, 0, 0, x, y, 0, 1, 16, 16, Gear^.DirAngle); |
1038 gtEgg: DrawRotatedTextureF(SpritesData[sprEgg].Texture, 1, 0, 0, x, y, 0, 1, 16, 16, Gear^.DirAngle); |
1025 gtPiano: begin |
1039 gtPiano: begin |
1026 if (Gear^.State and gstDrowning) = 0 then |
1040 if (Gear^.State and gstDrowning) = 0 then |
1027 begin |
1041 begin |
1047 Tint($f5, $db, $35, max($00, round($C0 * abs(1 - (GameTicks mod 6000) / 3000)))); |
1061 Tint($f5, $db, $35, max($00, round($C0 * abs(1 - (GameTicks mod 6000) / 3000)))); |
1048 DrawTexture(x - 108, y - 108, SpritesData[sprVampiric].Texture, 4.5); |
1062 DrawTexture(x - 108, y - 108, SpritesData[sprVampiric].Texture, 4.5); |
1049 Tint($FF, $FF, $FF, $FF); |
1063 Tint($FF, $FF, $FF, $FF); |
1050 end; |
1064 end; |
1051 gtNapalmBomb: DrawRotated(sprNapalmBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1065 gtNapalmBomb: DrawRotated(sprNapalmBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1052 gtFlake: if (Gear^.State and gstTmpFlag) <> 0 then |
1066 gtFlake: if Gear^.State and (gstDrowning or gstTmpFlag) <> 0 then |
1053 begin |
1067 begin |
1054 Tint((cExplosionBorderColor shr RShift) and $FF, |
1068 Tint((cExplosionBorderColor shr RShift) and $FF, |
1055 (cExplosionBorderColor shr GShift) and $FF, |
1069 (cExplosionBorderColor shr GShift) and $FF, |
1056 (cExplosionBorderColor shr BShift) and $FF, |
1070 (cExplosionBorderColor shr BShift) and $FF, |
1057 $FF); |
1071 $FF); |