….games. MAX_PLAYERS was less than MaxGames, so it wouldn't memset too much, at least.
… efficiently for multiple droids. Instead of one message per droid, it sends one message for all droids, with the list of droids encoded as droid ID deltas.
The moveBestTarget function could be called while sMove.Position == 0, if moveCalcBlockingSlide detected a gate and changed the status to MOVEPAUSE. To reproduce the crash (before this commit), add a bunch of gates and a bunch of droids, and have the droids patrol near the gates, and wait a while. Renamed sMove.Position to sMove.pathIndex to reduce confusion and to verify all uses of it.
…n encountering something.
…he assertion. Fixes ticket:2498.
…d crashes at the end of missions. Mission stuff is very confusing, but whether or not it is correct now, it at least doesn't crash.
…r when shaders aren't supported." This reverts commit e0617af. If you are building from source, and you cannot upgrade your graphics drivers, you can revert this revert, and the game may be playable for now.
Removed a few structs due to disuse.
A VTOL would be waiting for a rearming pad to become available, but also happen to be covering a rearming pad, and get asked to clear off since it wasn't actually using that pad. The VTOLs would then get confused, and fly off as if it had rearmed itself already.
…king for air units even after being destroyed.
Scores were 0 due to some complicated score synchronisation code. Fixed mainly by removing a lot of the score synchronisation code.
…tructure. Was >>32, should have been <<32, broke in 466943b. Cleaned up some casts a bit, too.