895 |
895 |
896 gtRCPlane: begin |
896 gtRCPlane: begin |
897 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF); |
897 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF); |
898 if Gear^.Tag = -1 then |
898 if Gear^.Tag = -1 then |
899 begin |
899 begin |
900 DrawRotatedTextureF(SpritesData[sprPlane].Texture, 1, 0, 0, x, y, 0, -1, SpritesData[sprPlane].Width, SpritesData[sprPlane].Height, DxDy2Angle(Gear^.dX, Gear^.dY) + 90); |
900 DrawRotatedF(sprPlane, x, y, 0, -1, DxDy2Angle(Gear^.dX, Gear^.dY) + 90); |
901 Tint($FF, $FF, $FF, $FF); |
901 Tint($FF, $FF, $FF, $FF); |
902 DrawRotatedTextureF(SpritesData[sprPlane].Texture, 1, 0, 0, x, y, 1, -1, SpritesData[sprPlane].Width, SpritesData[sprPlane].Height, DxDy2Angle(Gear^.dX, Gear^.dY) + 90) |
902 DrawRotatedF(sprPlane, x, y, 1, -1, DxDy2Angle(Gear^.dX, Gear^.dY) + 90) |
903 end |
903 end |
904 else |
904 else |
905 begin |
905 begin |
906 DrawRotatedTextureF(SpritesData[sprPlane].Texture, 1, 0, 0, x, y, 0, 0, SpritesData[sprPlane].Width, SpritesData[sprPlane].Height, DxDy2Angle(Gear^.dY, Gear^.dX)); |
906 DrawRotatedF(sprPlane, x, y, 0, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
907 Tint($FF, $FF, $FF, $FF); |
907 Tint($FF, $FF, $FF, $FF); |
908 DrawRotatedTextureF(SpritesData[sprPlane].Texture, 1, 0, 0, x, y, 1, 0, SpritesData[sprPlane].Width, SpritesData[sprPlane].Height, DxDy2Angle(Gear^.dY, Gear^.dX)) |
908 DrawRotatedF(sprPlane, x, y, 1, 0, DxDy2Angle(Gear^.dY, Gear^.dX)) |
909 end |
909 end |
910 end; |
910 end; |
911 gtBall: DrawRotatedf(sprBalls, x, y, Gear^.Tag,0, Gear^.DirAngle); |
911 gtBall: DrawRotatedf(sprBalls, x, y, Gear^.Tag,0, Gear^.DirAngle); |
912 |
912 |
913 gtPortal: if ((Gear^.Tag and 1) = 0) // still moving? |
913 gtPortal: if ((Gear^.Tag and 1) = 0) // still moving? |
981 DrawRotatedF(sprExplosivesRoll, x, y + 4, 1, 0, Gear^.DirAngle); |
981 DrawRotatedF(sprExplosivesRoll, x, y + 4, 1, 0, Gear^.DirAngle); |
982 end; |
982 end; |
983 gtDynamite: DrawSprite2(sprDynamite, x - 16, y - 25, Gear^.Tag and 1, Gear^.Tag shr 1); |
983 gtDynamite: DrawSprite2(sprDynamite, x - 16, y - 25, Gear^.Tag and 1, Gear^.Tag shr 1); |
984 gtClusterBomb: DrawRotated(sprClusterBomb, x, y, 0, Gear^.DirAngle); |
984 gtClusterBomb: DrawRotated(sprClusterBomb, x, y, 0, Gear^.DirAngle); |
985 gtCluster: DrawSprite(sprClusterParticle, x - 8, y - 8, 0); |
985 gtCluster: DrawSprite(sprClusterParticle, x - 8, y - 8, 0); |
986 gtFlame: DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), x, y, (GameTicks shr 7 + LongWord(Gear^.Tag)) mod 8, 1, 16, 16); |
986 gtFlame: if Gear^.Tag and 1 = 0 then |
|
987 DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), x, y, (GameTicks shr 7 + LongWord(Gear^.Tag)) mod 8, 1, 16, 16) |
|
988 else DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), x, y, (GameTicks shr 7 + LongWord(Gear^.Tag)) mod 8, -1, 16, 16); |
987 gtParachute: begin |
989 gtParachute: begin |
988 DrawSprite(sprParachute, x - 24, y - 48, 0); |
990 DrawSprite(sprParachute, x - 24, y - 48, 0); |
989 DrawAltWeapon(Gear, x + 1, y - 3) |
991 DrawAltWeapon(Gear, x + 1, y - 3) |
990 end; |
992 end; |
991 gtAirAttack: if Gear^.Tag > 0 then DrawSprite(sprAirplane, x - SpritesData[sprAirplane].Width div 2, y - SpritesData[sprAirplane].Height div 2, 0) |
993 gtAirAttack: begin |
992 else DrawSprite(sprAirplane, x - SpritesData[sprAirplane].Width div 2, y - SpritesData[sprAirplane].Height div 2, 1); |
994 Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF); |
|
995 DrawRotatedF(sprAirplane, x, y, 0, Gear^.Tag, 0); |
|
996 Tint($FF, $FF, $FF, $FF); |
|
997 DrawRotatedF(sprAirplane, x, y, 1, Gear^.Tag, 0); |
|
998 end; |
993 gtAirBomb: DrawRotated(sprAirBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
999 gtAirBomb: DrawRotated(sprAirBomb, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
994 gtTeleport: begin |
1000 gtTeleport: begin |
995 HHGear:= Gear^.Hedgehog^.Gear; |
1001 HHGear:= Gear^.Hedgehog^.Gear; |
996 if not Gear^.Hedgehog^.Unplaced then DrawRotatedF(sprTeleport, x + 1, y - 3, Gear^.Pos, hwSign(Gear^.dX), 0); |
1002 if not Gear^.Hedgehog^.Unplaced then DrawRotatedF(sprTeleport, x + 1, y - 3, Gear^.Pos, hwSign(Gear^.dX), 0); |
997 DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0); |
1003 DrawRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0); |
1049 gtPiano: begin |
1055 gtPiano: begin |
1050 if (Gear^.State and gstDrowning) = 0 then |
1056 if (Gear^.State and gstDrowning) = 0 then |
1051 begin |
1057 begin |
1052 Tint($FF, $FF, $FF, $10); |
1058 Tint($FF, $FF, $FF, $10); |
1053 for i:= 8 downto 1 do |
1059 for i:= 8 downto 1 do |
1054 DrawRotatedTextureF(SpritesData[sprPiano].Texture, 1, 0, 0, x, y - hwRound(Gear^.dY * 4 * i), 0, 1, 128, 128, 0); |
1060 DrawTextureF(SpritesData[sprPiano].Texture, 1, x, y - hwRound(Gear^.dY * 4 * i), 0, 1, 128, 128); |
1055 Tint($FF, $FF, $FF, $FF) |
1061 Tint($FF, $FF, $FF, $FF) |
1056 end; |
1062 end; |
1057 DrawRotatedTextureF(SpritesData[sprPiano].Texture, 1, 0, 0, x, y, 0, 1, 128, 128, 0); |
1063 DrawTextureF(SpritesData[sprPiano].Texture, 1, x, y, 0, 1, 128, 128); |
1058 end; |
1064 end; |
1059 gtPoisonCloud: begin |
1065 gtPoisonCloud: begin |
1060 if Gear^.Timer < 1020 then |
1066 if Gear^.Timer < 1020 then |
1061 Tint($C0, $C0, $00, Gear^.Timer div 8) |
1067 Tint($C0, $C0, $00, Gear^.Timer div 8) |
1062 else if Gear^.Timer > 3980 then |
1068 else if Gear^.Timer > 3980 then |