Update to 14.0-beta1
This commit is contained in:
+12
-15
@@ -25,7 +25,7 @@
|
||||
*/
|
||||
void Order::ConvertFromOldSavegame()
|
||||
{
|
||||
uint8 old_flags = this->flags;
|
||||
uint8_t old_flags = this->flags;
|
||||
this->flags = 0;
|
||||
|
||||
/* First handle non-stop - use value from savegame if possible, else use value from config file */
|
||||
@@ -79,7 +79,7 @@ void Order::ConvertFromOldSavegame()
|
||||
* @param packed packed order
|
||||
* @return unpacked order
|
||||
*/
|
||||
static Order UnpackVersion4Order(uint16 packed)
|
||||
static Order UnpackVersion4Order(uint16_t packed)
|
||||
{
|
||||
return Order(GB(packed, 8, 8) << 16 | GB(packed, 4, 4) << 8 | GB(packed, 0, 4));
|
||||
}
|
||||
@@ -89,7 +89,7 @@ static Order UnpackVersion4Order(uint16 packed)
|
||||
* @param packed packed order
|
||||
* @return unpacked order
|
||||
*/
|
||||
Order UnpackOldOrder(uint16 packed)
|
||||
Order UnpackOldOrder(uint16_t packed)
|
||||
{
|
||||
Order order = UnpackVersion4Order(packed);
|
||||
|
||||
@@ -141,29 +141,25 @@ struct ORDRChunkHandler : ChunkHandler {
|
||||
|
||||
if (IsSavegameVersionBefore(SLV_5)) {
|
||||
/* Pre-version 5 had another layout for orders
|
||||
* (uint16 instead of uint32) */
|
||||
len /= sizeof(uint16);
|
||||
uint16 *orders = MallocT<uint16>(len + 1);
|
||||
* (uint16_t instead of uint32_t) */
|
||||
len /= sizeof(uint16_t);
|
||||
std::vector<uint16_t> orders(len);
|
||||
|
||||
SlCopy(orders, len, SLE_UINT16);
|
||||
SlCopy(&orders[0], len, SLE_UINT16);
|
||||
|
||||
for (size_t i = 0; i < len; ++i) {
|
||||
Order *o = new (i) Order();
|
||||
o->AssignOrder(UnpackVersion4Order(orders[i]));
|
||||
}
|
||||
|
||||
free(orders);
|
||||
} else if (IsSavegameVersionBefore(SLV_5, 2)) {
|
||||
len /= sizeof(uint32);
|
||||
uint32 *orders = MallocT<uint32>(len + 1);
|
||||
len /= sizeof(uint32_t);
|
||||
std::vector<uint32_t> orders(len);
|
||||
|
||||
SlCopy(orders, len, SLE_UINT32);
|
||||
SlCopy(&orders[0], len, SLE_UINT32);
|
||||
|
||||
for (size_t i = 0; i < len; ++i) {
|
||||
new (i) Order(orders[i]);
|
||||
}
|
||||
|
||||
free(orders);
|
||||
}
|
||||
|
||||
/* Update all the next pointer */
|
||||
@@ -261,7 +257,8 @@ SaveLoadTable GetOrderBackupDescription()
|
||||
SLE_CONDVAR(OrderBackup, cur_implicit_order_index, SLE_UINT8, SLV_176, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(OrderBackup, current_order_time, SLE_UINT32, SLV_176, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(OrderBackup, lateness_counter, SLE_INT32, SLV_176, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(OrderBackup, timetable_start, SLE_INT32, SLV_176, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(OrderBackup, timetable_start, SLE_FILE_I32 | SLE_VAR_U64, SLV_176, SLV_TIMETABLE_START_TICKS_FIX),
|
||||
SLE_CONDVAR(OrderBackup, timetable_start, SLE_UINT64, SLV_TIMETABLE_START_TICKS_FIX, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(OrderBackup, vehicle_flags, SLE_FILE_U8 | SLE_VAR_U16, SLV_176, SLV_180),
|
||||
SLE_CONDVAR(OrderBackup, vehicle_flags, SLE_UINT16, SLV_180, SL_MAX_VERSION),
|
||||
SLE_REF(OrderBackup, orders, REF_ORDER),
|
||||
|
||||
Reference in New Issue
Block a user