Added RocketLocomotionClass definition.
BuildingClass::GateCloseTimer added.
Added definition for some coords that are related to tunnels.
Added a definition for an empty function.
Added IsWithinUsableArea() and CoordinatesLegal().
Almost complete FlyLocomotionClass definition added.
Changed the math function template.

The called functions are cdecl, thus the macro is responsible for cleaning up the stack.
There still seems to be a stack corruption I can't make sense of. It goes away if the function is disallowed from being inlined, but without understanding why this is, this patch should be looked at with suspicion.
Added arctanfoo function

This math function with the fancy name does something with two numbers.
Changed the FacingStruct definition.

Facet became Data, which now contains conversion functions to rounded and the raw values.
Added typedefs Raw and Rounded to indicate which type is used for what.

TechnoClass::GetFacing() and TechnoClass::GetReadFacing() definitions have been updated to take a pointer to Data.
Got rid of a warning.
Fix for Operator *= on Vector2D and Vector3D

To maintain consistency, the definition is changed to void. It is also possible to return a reference to "this", but then all operators should be changed.
RandomDouble() support function

Generates a random double in the interval [0,1].
ParticleSystemClass constructor fix
Minor updates related path finding, and others.
Added RepeatableTimerStruct

This class inherits from TimerStruct and contains one more field that remembers the initial duration.
Converted eMove and eZGradient to classes

Removed move_Count and zgrad_Count, which were rather meta values than valid values.
Some more locomotor stuff
Merged FacingStruct::Data and DirStruct

FacingStruct::Data (the former Facet) and DirStruct appear to be the same type. DirStruct is required to be 4 bytes long, because the game treats pointers to it as pointers to int.
Added some new ScenarioClass fields, renamed some timers for consistency.
BuildingLightClass update. Removed some fields which were mere padding anyhow.