hedgewars/uGearsRender.pas
changeset 15208 26b4e864b341
parent 15207 9b8010f0d12f
child 15242 5c91c5191085
equal deleted inserted replaced
15207:9b8010f0d12f 15208:26b4e864b341
   337         DrawSelectedWeapon(Gear, sx, sy, false);
   337         DrawSelectedWeapon(Gear, sx, sy, false);
   338         end
   338         end
   339 end;
   339 end;
   340 
   340 
   341 procedure RenderAirMineGuiExtras(Gear: PGear; ox, oy: LongInt);
   341 procedure RenderAirMineGuiExtras(Gear: PGear; ox, oy: LongInt);
   342 var isChasing: boolean;
   342 var tinted: boolean;
   343 begin
   343 begin
   344 // render air mine contour, if underwater
   344 // render air mine contour, if underwater
   345     if (((not SuddenDeathDmg) and (WaterOpacity > cGearContourThreshold)) or (SuddenDeathDmg and (SDWaterOpacity > cGearContourThreshold))) and
   345     if (((not SuddenDeathDmg) and (WaterOpacity > cGearContourThreshold)) or (SuddenDeathDmg and (SDWaterOpacity > cGearContourThreshold))) and
   346         ((cWaterLine < (hwRound(Gear^.Y) + Gear^.Radius + 16)) or
   346         ((cWaterLine < (hwRound(Gear^.Y) + Gear^.Radius + 16)) or
   347         ((WorldEdge = weSea) and ((hwRound(Gear^.X) < LeftX + 24) or (hwRound(Gear^.X) > RightX - 24)))) then
   347         ((WorldEdge = weSea) and ((hwRound(Gear^.X) < LeftX + 24) or (hwRound(Gear^.X) > RightX - 24)))) then
   348         begin
   348         begin
   349         isChasing:= ((Gear^.State and gstFrozen) = 0) and (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Gear <> nil) and ((Gear^.State and gstTmpFlag) <> 0) and (Gear^.Tag = 0);
   349         tinted:= true;
   350         if isChasing then
   350         // tint contour based on air mine state:
   351             Tint($FF, $30, $30, $FF);
   351         // not seeking or chasing (frozen, stunned or just launched)
       
   352         if ((Gear^.State and gstFrozen) <> 0) or ((Gear^.State and gstTmpFlag) = 0) or (Gear^.Tag <> 0) then
       
   353             // more transparent
       
   354             Tint($FF, $FF, $FF, $80)
       
   355         // chasing hog
       
   356         else if (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Gear <> nil) then
       
   357             // reddish
       
   358             Tint($FF, $30, $30, $FF)
       
   359         // not seeking or chasing (no target)
       
   360         else if (Gear^.State and gstChooseTarget) = 0 then
       
   361             // more transparent
       
   362             Tint($FF, $FF, $FF, $80)
       
   363         // seeking
       
   364         else
       
   365             // default color
       
   366             tinted:= false;
   352         DrawSprite(sprAirMine, ox-16, oy-16, 32);
   367         DrawSprite(sprAirMine, ox-16, oy-16, 32);
   353         if isChasing then
   368         if tinted then
   354             untint;
   369             untint;
   355         end;
   370         end;
   356 end;
   371 end;
   357 
   372 
   358 procedure DrawHH(Gear: PGear; ox, oy: LongInt);
   373 procedure DrawHH(Gear: PGear; ox, oy: LongInt);