Currently, the readDouble and writeDouble functions don't handle the following cases:
The RISC OS port (and possibly others) use FPA word order, which means that doubles have little endian byte order and big endian word order. Some background on this can be found here: https://github.com/libsdl-org/SDL/pull/5607
The Dreamcast and Nintendo DS ports both treat doubles as being equivalent to floats, which means that doubles are 32-bit instead of 64-bit on those platforms.
This results in broken movement in Full Pipe, and save files that are incompatible between different platforms in Versailles 1685 and Hyperspace Delivery Boy.
Currently, the readDouble and writeDouble functions don't handle the following cases:
This results in broken movement in Full Pipe, and save files that are incompatible between different platforms in Versailles 1685 and Hyperspace Delivery Boy.