From fdce64ddaef4e2347d55b0cd3a540d87176588bc Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 9 Aug 2015 23:43:55 +0100 Subject: [PATCH] Save/load changes for order occupancy --- src/saveload/extended_ver_sl.cpp | 1 + src/saveload/extended_ver_sl.h | 1 + src/saveload/order_sl.cpp | 2 +- src/table/settings.ini | 3 ++- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/saveload/extended_ver_sl.cpp b/src/saveload/extended_ver_sl.cpp index be40cad17b..a6dd7f0340 100644 --- a/src/saveload/extended_ver_sl.cpp +++ b/src/saveload/extended_ver_sl.cpp @@ -45,6 +45,7 @@ std::vector _sl_xv_discardable_chunk_ids; ///< list of chunks static const uint32 _sl_xv_slxi_chunk_version = 0; ///< current version os SLXI chunk const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = { + { XSLFI_ORDER_OCCUPANCY, XSCF_NULL, 1, 1, "order_occupancy", NULL, NULL, NULL }, { XSLFI_NULL, XSCF_NULL, 0, 0, NULL, NULL, NULL, NULL },// This is the end marker }; diff --git a/src/saveload/extended_ver_sl.h b/src/saveload/extended_ver_sl.h index 39a03478c2..031b8d706e 100644 --- a/src/saveload/extended_ver_sl.h +++ b/src/saveload/extended_ver_sl.h @@ -21,6 +21,7 @@ */ enum SlXvFeatureIndex { XSLFI_NULL = 0, ///< Unused value, to indicate that no extended feature test is in use + XSLFI_ORDER_OCCUPANCY, ///< Running average of order occupancy XSLFI_SIZE, ///< Total count of features, including null feature }; diff --git a/src/saveload/order_sl.cpp b/src/saveload/order_sl.cpp index 237a7a7ea0..f3ddcb31af 100644 --- a/src/saveload/order_sl.cpp +++ b/src/saveload/order_sl.cpp @@ -110,7 +110,7 @@ const SaveLoad *GetOrderDescription() SLE_REF(Order, next, REF_ORDER), SLE_CONDVAR(Order, refit_cargo, SLE_UINT8, 36, SL_MAX_VERSION), SLE_CONDNULL(1, 36, 181), // refit_subtype - SLE_CONDVAR(Order, occupancy, SLE_UINT8, 300, SL_MAX_VERSION), + SLE_CONDVAR_X(Order, occupancy, SLE_UINT8, 0, SL_MAX_VERSION, SlXvFeatureTest(XSLFTO_AND, XSLFI_ORDER_OCCUPANCY)), SLE_CONDVAR(Order, wait_time, SLE_UINT16, 67, SL_MAX_VERSION), SLE_CONDVAR(Order, travel_time, SLE_UINT16, 67, SL_MAX_VERSION), SLE_CONDVAR(Order, max_speed, SLE_UINT16, 172, SL_MAX_VERSION), diff --git a/src/table/settings.ini b/src/table/settings.ini index c1e9e8a8ce..c71148448f 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -2151,7 +2151,6 @@ cat = SC_EXPERT base = GameSettings var = order.occupancy_smoothness type = SLE_UINT8 -from = 300 def = 75 min = 0 max = 100 @@ -2160,6 +2159,8 @@ str = STR_CONFIG_OCCUPANCY_SMOOTHNESS strhelp = STR_CONFIG_OCCUPANCY_SMOOTHNESS_HELPTEXT strval = STR_CONFIG_SETTING_PERCENTAGE cat = SC_EXPERT +extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_ORDER_OCCUPANCY) +patxname = ""order_occupancy.order.occupancy_smoothness"" ## [SDT_VAR]