diff options
author | truelight <truelight@openttd.org> | 2005-01-08 12:47:26 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2005-01-08 12:47:26 +0000 |
commit | 788f543bc3a778895a10480d4b9e65e3a488e41f (patch) | |
tree | eb8091f14551600fb73a27878ecd5163e0e72187 /vehicle.h | |
parent | 3be9515d846cdd62bbdac65d2eba2655ca207cda (diff) | |
download | openttd-788f543bc3a778895a10480d4b9e65e3a488e41f.tar.xz |
(svn r1429) Change: bumped savegame to revision 5.
- Now orders are bigger
- Now _map2 is official 16 bits
Diffstat (limited to 'vehicle.h')
-rw-r--r-- | vehicle.h | 30 |
1 files changed, 17 insertions, 13 deletions
@@ -4,27 +4,31 @@ #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 type; + uint8 flags; uint16 station; } Order; -static inline uint16 PackOrder(const Order *order) +static inline uint32 PackOrder(const Order *order) { - return order->station << 8 | order->flags << 4 | order->type; + return order->station << 16 | order->flags << 8 | order->type; } -static inline Order UnpackOrder(uint16 packed) +static inline Order UnpackOrder(uint32 packed) { Order order; - order.type = (packed & 0x000f); - order.flags = (packed & 0x00f0) >> 4, - order.station = (packed & 0xff00) >> 8; + order.type = (packed & 0x000000FF); + order.flags = (packed & 0x0000FF00) >> 8; + order.station = (packed & 0xFFFF0000) >> 16; + return order; +} + +static inline Order UnpackVersion4Order(uint16 packed) +{ + Order order; + order.type = (packed & 0x000F); + order.flags = (packed & 0x00F0) >> 4; + order.station = (packed & 0xFF00) >> 8; return order; } |