1236 untint; |
1236 untint; |
1237 DrawSpriteRotatedF(sprPlane, x, y, 1, Gear^.Tag, aangle - 90) |
1237 DrawSpriteRotatedF(sprPlane, x, y, 1, Gear^.Tag, aangle - 90) |
1238 end; |
1238 end; |
1239 gtBall: DrawSpriteRotatedF(sprBalls, x, y, Gear^.Tag,0, Gear^.DirAngle); |
1239 gtBall: DrawSpriteRotatedF(sprBalls, x, y, Gear^.Tag,0, Gear^.DirAngle); |
1240 |
1240 |
1241 gtPortal: if ((Gear^.Tag and 1) = 0) // still moving? |
1241 gtPortal: begin |
|
1242 if ((Gear^.Tag and 1) = 0) // still moving? |
1242 or (Gear^.LinkedGear = nil) or (Gear^.LinkedGear^.LinkedGear <> Gear) // not linked&backlinked? |
1243 or (Gear^.LinkedGear = nil) or (Gear^.LinkedGear^.LinkedGear <> Gear) // not linked&backlinked? |
1243 or ((Gear^.LinkedGear^.Tag and 1) = 0) then // linked portal still moving? |
1244 or ((Gear^.LinkedGear^.Tag and 1) = 0) then // linked portal still moving? |
1244 DrawSpriteRotatedF(sprPortal, x, y, Gear^.Tag, hwSign(Gear^.dX), Gear^.DirAngle) |
1245 DrawSpriteRotatedF(sprPortal, x, y, Gear^.Tag, hwSign(Gear^.dX), Gear^.DirAngle) |
1245 else DrawSpriteRotatedF(sprPortal, x, y, 4 + Gear^.Tag div 2, hwSign(Gear^.dX), Gear^.DirAngle); |
1246 else |
|
1247 DrawSpriteRotatedF(sprPortal, x, y, 4 + Gear^.Tag div 2, hwSign(Gear^.dX), Gear^.DirAngle); |
|
1248 |
|
1249 // Portal ball trace effects |
|
1250 if ((Gear^.Tag and 1) = 0) and ((GameTicks mod 4) = 0) and (not isPaused) then |
|
1251 begin |
|
1252 vg:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtDust, 1); |
|
1253 if Gear^.Tag = 0 then |
|
1254 vg^.Tint:= $fab02ab0 |
|
1255 else if Gear^.Tag = 2 then |
|
1256 vg^.Tint:= $364df7b0; |
|
1257 end; |
|
1258 end; |
1246 |
1259 |
1247 gtDrill: if (Gear^.State and gsttmpFlag) <> 0 then |
1260 gtDrill: if (Gear^.State and gsttmpFlag) <> 0 then |
1248 DrawSpriteRotated(sprAirDrill, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)) |
1261 DrawSpriteRotated(sprAirDrill, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)) |
1249 else |
1262 else |
1250 DrawSpriteRotated(sprDrill, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |
1263 DrawSpriteRotated(sprDrill, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); |