hedgewars/uVisualGears.pas
changeset 6288 fcc50b96d20a
parent 6184 335ece2bce9c
child 6289 95ffd59d0f4a
equal deleted inserted replaced
6287:68db7625060d 6288:fcc50b96d20a
   335         end;
   335         end;
   336 
   336 
   337 if State <> 0 then gear^.State:= State;
   337 if State <> 0 then gear^.State:= State;
   338 
   338 
   339 case Gear^.Kind of
   339 case Gear^.Kind of
   340     vgtFlake: if random(2) = 0 then gear^.Layer:= 0   // 50%
   340     vgtFlake: if cFlattenFlakes then gear^.Layer:= 0
       
   341               else if random(2) = 0 then gear^.Layer:= 0   // 50%
   341               else if random(2) = 0 then gear^.Layer:= 1  // 25%
   342               else if random(2) = 0 then gear^.Layer:= 1  // 25%
   342               else gear^.Layer:= random(2)+2;  // 12.5% each
   343               else gear^.Layer:= random(2)+2;  // 12.5% each
   343 
   344 
   344     // 0: this layer is very distant in the background when stereo
   345     // 0: this layer is very distant in the background when stereo
   345     vgtTeamHealthSorter,
   346     vgtTeamHealthSorter,
   482        Gear:= VisualGearLayers[0];
   483        Gear:= VisualGearLayers[0];
   483        while Gear <> nil do
   484        while Gear <> nil do
   484            begin
   485            begin
   485            if Gear^.Tint <> $FFFFFFFF then Tint(Gear^.Tint);
   486            if Gear^.Tint <> $FFFFFFFF then Tint(Gear^.Tint);
   486            case Gear^.Kind of
   487            case Gear^.Kind of
   487                vgtFlake: if SuddenDeathDmg then
   488                vgtFlake: if cFlattenFlakes then
   488                              if vobSDVelocity = 0 then
   489                              begin
   489                                  DrawTextureF(SpritesData[sprSDFlake].Texture, 0.5, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height)
   490                              if SuddenDeathDmg then
       
   491                                  if vobSDVelocity = 0 then
       
   492                                      DrawSprite(sprSDFlake, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame)
       
   493                                  else
       
   494                                      DrawRotatedF(sprSDFlake, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, Gear^.Angle)
   490                              else
   495                              else
   491                                  DrawRotatedTextureF(SpritesData[sprSDFlake].Texture, 0.5, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height, Gear^.Angle)
   496                                  if vobVelocity = 0 then
       
   497                                      DrawSprite(sprFlake, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame)
       
   498                                  else
       
   499                                      DrawRotatedF(sprFlake, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, Gear^.Angle)
       
   500                              end
   492                          else
   501                          else
   493                              if vobVelocity = 0 then
   502                              begin
   494                                  DrawTextureF(SpritesData[sprFlake].Texture, 0.5, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height)
   503                              if SuddenDeathDmg then
       
   504                                  if vobSDVelocity = 0 then
       
   505                                      DrawTextureF(SpritesData[sprSDFlake].Texture, 0.5, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height)
       
   506                                  else
       
   507                                      DrawRotatedTextureF(SpritesData[sprSDFlake].Texture, 0.5, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height, Gear^.Angle)
   495                              else
   508                              else
   496                                  DrawRotatedTextureF(SpritesData[sprFlake].Texture, 0.5, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height, Gear^.Angle);
   509                                  if vobVelocity = 0 then
       
   510                                      DrawTextureF(SpritesData[sprFlake].Texture, 0.5, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height)
       
   511                                  else
       
   512                                      DrawRotatedTextureF(SpritesData[sprFlake].Texture, 0.5, 0, 0, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, SpritesData[sprFlake].Width, SpritesData[sprFlake].Height, Gear^.Angle)
       
   513                              end;
   497                vgtCloud: if SuddenDeathDmg then
   514                vgtCloud: if SuddenDeathDmg then
   498                              DrawSprite(sprSDCloud, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame)
   515                              DrawSprite(sprSDCloud, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame)
   499                          else
   516                          else
   500                              DrawSprite(sprCloud, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame);
   517                              DrawSprite(sprCloud, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame);
   501                end;
   518                end;