Homing projectiles previously behaved like expanding circles, where the projectile was drawn
at the closest point on the circle to the target. Which meant that if the target was fast,
moving at right angles to the direction of the projectile, the projectile would move fast,
too (and would not be travelling in the direction it was facing).
Homing projectiles now go at a constant speed towards the target, using target prediction.
To test the target prediction, set the projectile speed to something close to 700 (same as a
VTOL), and try to get the VTOL to escape.
1) If the game doesn't need to update yet (10 updates per second needed), render it. Else goto 2.
2) If the game has been rendered since it was last updated, update it. Else goto 3.
3) Either render or update the game, such that rendering takes 2/5 of the total time.
Hopefully, this means more stable framerates, while still running the game at full speed, assuming
the CPU is fast enough. And on a super-fast GPU where rendering takes only 2/3 of the time taken
to update, there should be at least one rendered frame per game-state update (same as previous
behaviour from before the render and state updates were untangled).
Check against blueprints, instead of going through all droids and checking their build
queues (but erroneously ignoring their current order). Should improve symmetry of valid
building locations next to map edges.
Fixes ticket:2999.
The fpathTileLOS call seemed useless, since if the path is blocked, there's not much chance
that the destination can be reached by going in a straight line, anyway.
If sending two trucks to build a cyborg factory, the second truck no longer goes in circles
just before the destination when the first truck arrives first. However, this is because it
now no longer ignores the last waypoint, but the main issue is that the second-last waypoint
seems to be missing.
Projectile flight time was calculated in seconds, instead of milliseconds.
Also, assume ground unit altitudes will follow the terrain.
Lancers can now hit moving targets, again.