hedgewars/uVisualGears.pas
branchhedgeroid
changeset 5932 5164d17b6374
parent 5924 82fc26c53d2a
child 6117 2a4829172a29
equal deleted inserted replaced
5828:667fb58d7f18 5932:5164d17b6374
   319                 Frame:= 7;
   319                 Frame:= 7;
   320                 Angle:= 0;
   320                 Angle:= 0;
   321                 end;
   321                 end;
   322 vgtSmoothWindBar: Tag:= hwRound(cWindSpeed * 72 / cMaxWindSpeed);
   322 vgtSmoothWindBar: Tag:= hwRound(cWindSpeed * 72 / cMaxWindSpeed);
   323  vgtStraightShot: begin
   323  vgtStraightShot: begin
       
   324                 Angle:= 0;
   324                 Scale:= 1.0;
   325                 Scale:= 1.0;
   325                 dx:= 0.001 * random(45);
   326                 dx:= 0.001 * random(45);
   326                 dy:= 0.001 * (random(20) + 25);
   327                 dy:= 0.001 * (random(20) + 25);
   327                 State:= ord(sprHealth);
   328                 State:= ord(sprHealth);
   328                 if random(2) = 0 then dx := -dx;
   329                 if random(2) = 0 then dx := -dx;
   594                                    SetScale(zoom)
   595                                    SetScale(zoom)
   595                                    end
   596                                    end
   596                                end;
   597                                end;
   597                vgtStraightShot: begin 
   598                vgtStraightShot: begin 
   598                                 if Gear^.dX < 0 then i:= -1 else i:= 1;
   599                                 if Gear^.dX < 0 then i:= -1 else i:= 1;
   599                                 DrawTextureF(SpritesData[TSprite(Gear^.State)].Texture, Gear^.Scale, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, i, SpritesData[TSprite(Gear^.State)].Width, SpritesData[TSprite(Gear^.State)].Height);
   600                                 DrawRotatedTextureF(SpritesData[TSprite(Gear^.State)].Texture, Gear^.Scale, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, i, SpritesData[TSprite(Gear^.State)].Width, SpritesData[TSprite(Gear^.State)].Height, Gear^.Angle);
   600                                 end;
   601                                 end;
   601            end;
   602            end;
   602            if (cReducedQuality and rqAntiBoom) = 0 then
   603            if (cReducedQuality and rqAntiBoom) = 0 then
   603                case Gear^.Kind of
   604                case Gear^.Kind of
   604                    vgtChunk: DrawRotatedF(sprChunk, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle);
   605                    vgtChunk: DrawRotatedF(sprChunk, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle);
   647                                    Tint($FF, $FF, $FF, Gear^.FrameTicks);
   648                                    Tint($FF, $FF, $FF, Gear^.FrameTicks);
   648                                    tinted:= true
   649                                    tinted:= true
   649                                    end;
   650                                    end;
   650                                DrawRotatedF(sprFeather, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle);
   651                                DrawRotatedF(sprFeather, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle);
   651                              end;
   652                              end;
   652                    vgtEgg: begin
   653                    vgtEgg: DrawRotatedF(sprEgg, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle);
   653                            if Gear^.FrameTicks < $FF then
       
   654                                begin
       
   655                                    Tint($FF, $FF, $FF, Gear^.FrameTicks);
       
   656                                    tinted:= true
       
   657                                end;
       
   658                            DrawRotatedF(sprEgg, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Frame, 1, Gear^.Angle);
       
   659                            end;
       
   660                    vgtBeeTrace: begin
   654                    vgtBeeTrace: begin
   661                                 if Gear^.FrameTicks < $FF then
   655                                 if Gear^.FrameTicks < $FF then
   662                                     Tint($FF, $FF, $FF, Gear^.FrameTicks div 2)
   656                                     Tint($FF, $FF, $FF, Gear^.FrameTicks div 2)
   663                                 else
   657                                 else
   664                                     Tint($FF, $FF, $FF, $80);
   658                                     Tint($FF, $FF, $FF, $80);