diff options
author | Celestar <celestar@openttd.org> | 2004-12-08 15:26:57 +0000 |
---|---|---|
committer | Celestar <celestar@openttd.org> | 2004-12-08 15:26:57 +0000 |
commit | 6fd3fc10e347695b28c8b3d1e0074b5456cd8100 (patch) | |
tree | 98602eb5f4d3563f2c7af9080465d5bd94904fe8 /vehicle.h | |
parent | 547a2d1f9ff267bec683eae211a4b1070afd27f4 (diff) | |
download | openttd-6fd3fc10e347695b28c8b3d1e0074b5456cd8100.tar.xz |
(svn r978) Fixed an endianess issue with the new Order system. Thanks to Bjarni, Oskar and Tron
Diffstat (limited to 'vehicle.h')
-rw-r--r-- | vehicle.h | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -4,8 +4,13 @@ #include "vehicle_gui.h" typedef struct Order { +#ifdef TTD_LITTLE_ENDIAN /* XXX hack to avoid savegame revision bump */ uint8 type:4; uint8 flags:4; +#else + uint8 flags:4; + uint8 type:4; +#endif uint8 station; } Order; @@ -16,11 +21,10 @@ static inline uint16 PackOrder(const Order *order) static inline Order UnpackOrder(uint16 packed) { - Order order = { - (packed & 0x000f), - (packed & 0x00f0) >> 4, - (packed & 0xff00) >> 8 - }; + Order order; + order.type = (packed & 0x000f); + order.flags = (packed & 0x00f0) >> 4, + order.station = (packed & 0xff00) >> 8; return order; } |