317 ty:= round(ly) |
317 ty:= round(ly) |
318 end; |
318 end; |
319 // reached edge of land. assume infinite beam. Extend it way out past camera |
319 // reached edge of land. assume infinite beam. Extend it way out past camera |
320 if ((ty and LAND_HEIGHT_MASK) <> 0) or ((tx and LAND_WIDTH_MASK) <> 0) then |
320 if ((ty and LAND_HEIGHT_MASK) <> 0) or ((tx and LAND_WIDTH_MASK) <> 0) then |
321 begin |
321 begin |
322 tx:= round(lx + ax * (LAND_WIDTH div 4)); |
322 tx:= round(lx + ax * (LAND_WIDTH div 2)); |
323 ty:= round(ly + ay * (LAND_WIDTH div 4)); |
323 ty:= round(ly + ay * (LAND_WIDTH div 2)); |
324 end; |
324 end; |
325 |
325 |
326 //if (abs(lx-tx)>8) or (abs(ly-ty)>8) then |
326 //if (abs(lx-tx)>8) or (abs(ly-ty)>8) then |
327 begin |
327 begin |
328 DrawLine(hx, hy, tx, ty, 1.0, $FF, $00, $00, $C0); |
328 DrawLine(hx, hy, tx, ty, 1.0, $FF, $00, $00, $C0); |
985 DrawSpriteRotated(sprSMineOff, x, y, 0, Gear^.DirAngle) |
985 DrawSpriteRotated(sprSMineOff, x, y, 0, Gear^.DirAngle) |
986 else if Gear^.Health <> 0 then |
986 else if Gear^.Health <> 0 then |
987 DrawSpriteRotated(sprSMineOn, x, y, 0, Gear^.DirAngle) |
987 DrawSpriteRotated(sprSMineOn, x, y, 0, Gear^.DirAngle) |
988 else DrawSpriteRotated(sprMineDead, x, y, 0, Gear^.DirAngle); |
988 else DrawSpriteRotated(sprMineDead, x, y, 0, Gear^.DirAngle); |
989 |
989 |
990 gtCase: if ((Gear^.Pos and posCaseAmmo) <> 0) then |
990 gtCase: begin |
|
991 if Gear^.Timer < 255 then Tint($FF, $FF, $FF, Gear^.Timer); |
|
992 if ((Gear^.Pos and posCaseAmmo) <> 0) then |
991 begin |
993 begin |
992 i:= (GameTicks shr 6) mod 64; |
994 i:= (GameTicks shr 6) mod 64; |
993 if i > 18 then |
995 if i > 18 then |
994 i:= 0; |
996 i:= 0; |
995 DrawSprite(sprCase, x - 24, y - 24, i); |
997 DrawSprite(sprCase, x - 24, y - 24, i); |
1007 if i > 23 then |
1009 if i > 23 then |
1008 i:= 0; |
1010 i:= 0; |
1009 i:= i mod 12; |
1011 i:= i mod 12; |
1010 DrawSprite(sprUtility, x - 24, y - 24, i); |
1012 DrawSprite(sprUtility, x - 24, y - 24, i); |
1011 end; |
1013 end; |
|
1014 if Gear^.Timer < 255 then Tint($FF, $FF, $FF, $FF); |
|
1015 end; |
1012 gtExplosives: begin |
1016 gtExplosives: begin |
1013 if ((Gear^.State and gstDrowning) <> 0) then |
1017 if ((Gear^.State and gstDrowning) <> 0) then |
1014 DrawSprite(sprExplosivesRoll, x - 24, y - 24, 0) |
1018 DrawSprite(sprExplosivesRoll, x - 24, y - 24, 0) |
1015 else if Gear^.State and gstAnimation = 0 then |
1019 else if Gear^.State and gstAnimation = 0 then |
1016 begin |
1020 begin |