Helper application for migrating maps to the new tile indices for "brick" and "blue":
- brick10.png changed from 10 to 0a
- brick11.png changed from 11 to 0b
- brick12.png changed from 12 to 0c
- blue10.png changed from 10 to 0a
- blue11.png changed from 11 to 0b
- blue12.png changed from 12 to 0c
For a given matrix and game object, this method calculates the average value
considering that every matrix row/column represents a tile row/column of a map.
Since the playground's friction may vary depending on the game object's position,
this method shall be used to determine the object's current friction factor.
Since the playground's gravity may vary depending on the game object's position,
this method shall be used to determine the object's current gravity vector.
Since the playground's stream speed may vary depending on the game object's position,
this method shall be used to determine the object's current stream speed vector.
For every active player, a Timer is stored which is used to temporarily disable
Ship/Platform collisions after take off, which likely occurs when the player
is thrusting and rotating simultaneously.
Since the bsMusic engine doesn't work with the ModPlayer for some reason
(bsMusic.play() always returns -1), I decided to poll the ModPlayer
during the game loop to know when to play the next track.