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); |