776 vgtSteam: DrawSprite(sprExplPart, hwRound(Gear^.X) + WorldDx - 16, hwRound(Gear^.Y) + WorldDy - 16, 7 - Gear^.Frame); |
776 vgtSteam: DrawSprite(sprExplPart, hwRound(Gear^.X) + WorldDx - 16, hwRound(Gear^.Y) + WorldDy - 16, 7 - Gear^.Frame); |
777 vgtAmmo: begin |
777 vgtAmmo: begin |
778 Tint($FF, $FF, $FF, floor(Gear^.alpha * $FF)); |
778 Tint($FF, $FF, $FF, floor(Gear^.alpha * $FF)); |
779 DrawTextureF(ropeIconTex, Gear^.scale, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 1, 32, 32); |
779 DrawTextureF(ropeIconTex, Gear^.scale, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 1, 32, 32); |
780 DrawTextureF(SpritesData[sprAMAmmos].Texture, Gear^.scale * 0.90, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame - 1, 1, 32, 32); |
780 DrawTextureF(SpritesData[sprAMAmmos].Texture, Gear^.scale * 0.90, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame - 1, 1, 32, 32); |
781 Tint($FFFFFFFF); |
781 Tint($FF, $FF, $FF, $FF); |
782 end; |
782 end; |
783 vgtHealth: begin |
783 vgtHealth: begin |
784 case Gear^.Frame div 10 of |
784 case Gear^.Frame div 10 of |
785 0:Tint(0, $FF, 0, floor(Gear^.FrameTicks * $FF / 1000)); |
785 0:Tint(0, $FF, 0, floor(Gear^.FrameTicks * $FF / 1000)); |
786 1:Tint($FF, 0, 0, floor(Gear^.FrameTicks * $FF / 1000)); |
786 1:Tint($FF, 0, 0, floor(Gear^.FrameTicks * $FF / 1000)); |
787 end; |
787 end; |
788 DrawSprite(sprHealth, hwRound(Gear^.X) + WorldDx - 8, hwRound(Gear^.Y) + WorldDy - 8, 0); |
788 DrawSprite(sprHealth, hwRound(Gear^.X) + WorldDx - 8, hwRound(Gear^.Y) + WorldDy - 8, 0); |
789 Tint($FFFFFFFF); |
789 Tint($FF, $FF, $FF, $FF); |
790 end; |
790 end; |
791 vgtShell: begin |
791 vgtShell: begin |
792 if Gear^.FrameTicks < $FF then |
792 if Gear^.FrameTicks < $FF then |
793 Tint($FF, $FF, $FF, Gear^.FrameTicks); |
793 Tint($FF, $FF, $FF, Gear^.FrameTicks); |
794 DrawRotatedF(sprShell, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle); |
794 DrawRotatedF(sprShell, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle); |
795 if Gear^.FrameTicks < $FF then |
795 if Gear^.FrameTicks < $FF then |
796 Tint($FFFFFFFF); |
796 Tint($FF, $FF, $FF, $FF); |
797 end; |
797 end; |
798 vgtEgg: begin |
798 vgtEgg: begin |
799 if Gear^.FrameTicks < $FF then |
799 if Gear^.FrameTicks < $FF then |
800 Tint($FF, $FF, $FF, Gear^.FrameTicks); |
800 Tint($FF, $FF, $FF, Gear^.FrameTicks); |
801 DrawRotatedF(sprEgg, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle); |
801 DrawRotatedF(sprEgg, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle); |
802 if Gear^.FrameTicks < $FF then |
802 if Gear^.FrameTicks < $FF then |
803 Tint($FFFFFFFF); |
803 Tint($FF, $FF, $FF, $FF); |
804 end; |
804 end; |
805 vgtSplash: DrawSprite(sprSplash, hwRound(Gear^.X) + WorldDx - 40, hwRound(Gear^.Y) + WorldDy - 58, 19 - (Gear^.FrameTicks div 37)); |
805 vgtSplash: DrawSprite(sprSplash, hwRound(Gear^.X) + WorldDx - 40, hwRound(Gear^.Y) + WorldDy - 58, 19 - (Gear^.FrameTicks div 37)); |
806 vgtDroplet: DrawSprite(sprDroplet, hwRound(Gear^.X) + WorldDx - 8, hwRound(Gear^.Y) + WorldDy - 8, Gear^.Frame); |
806 vgtDroplet: DrawSprite(sprDroplet, hwRound(Gear^.X) + WorldDx - 8, hwRound(Gear^.Y) + WorldDy - 8, Gear^.Frame); |
807 vgtBeeTrace: begin |
807 vgtBeeTrace: begin |
808 if Gear^.FrameTicks < $FF then |
808 if Gear^.FrameTicks < $FF then |
809 Tint($FF, $FF, $FF, Gear^.FrameTicks div 2) |
809 Tint($FF, $FF, $FF, Gear^.FrameTicks div 2) |
810 else |
810 else |
811 Tint($80FFFFFF); |
811 Tint($FF, $FF, $FF, $80); |
812 DrawRotatedF(sprBeeTrace, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, 1, (RealTicks shr 4) mod cMaxAngle); |
812 DrawRotatedF(sprBeeTrace, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Frame, 1, (RealTicks shr 4) mod cMaxAngle); |
813 Tint($FFFFFFFF); |
813 Tint($FF, $FF, $FF, $FF); |
814 end; |
814 end; |
815 vgtSmokeRing: begin |
815 vgtSmokeRing: begin |
816 Tint($FF, $FF, $FF, floor(Gear^.alpha * $FF)); |
816 Tint($FF, $FF, $FF, floor(Gear^.alpha * $FF)); |
817 DrawRotatedTextureF(SpritesData[sprSmokeRing].Texture, Gear^.scale, 0, 0, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 1, 200, 200, Gear^.Angle); |
817 DrawRotatedTextureF(SpritesData[sprSmokeRing].Texture, Gear^.scale, 0, 0, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, 1, 200, 200, Gear^.Angle); |
818 Tint($FFFFFFFF); |
818 Tint($FF, $FF, $FF, $FF); |
819 end; |
819 end; |
820 end; |
820 end; |
821 case Gear^.Kind of |
821 case Gear^.Kind of |
822 vgtSmallDamageTag: DrawCentered(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tex); |
822 vgtSmallDamageTag: DrawCentered(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tex); |
823 vgtSpeechBubble: if Gear^.Tex <> nil then DrawCentered(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tex); |
823 vgtSpeechBubble: if Gear^.Tex <> nil then DrawCentered(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tex); |