Apparently, some replace operation was a little too eager to replace Long with int. No harm done, it hasn't been used for a int time.
Recovered some ancient knowledge that was lost in 2008.
ParasiteClass update.
Added PointerExpiredNotification.

If a class creates an object of a type it usually wouldn't usually receive an invalid pointer notification, the class can subscribe to these notifications using this class.

For example, if the ParasiteClass creates a squid grapple animation, it would not be notified when it is destroyed. Thus, it has to subscribe to NotifyInvalidAnim. When the grapple animation is destroyed (either by the ParasiteClass or in some external code), the ParasiteClass then unsubscribes from the NotifyInvalidAnim notifications.
Added some math support.

Two functions convert between degrees and radians.
A new constant sqrt(2).
Renamed CountOwnedNow to CountOwnedNowTotal and added a new CountOwnedNow that does not check special types like upgrades, vehicle thieves and deployables.
SuperClass::AnimationGotInvalid
The bSilent parameter silences the message beep. This is used to not beep again if too long lines need to be split (which is done recursively).
Some changes regarding garrisoning structures or entering absorbers and occupiables.