Changeset - r22931:9af9a5713b0c
[Not reviewed]
master
0 8 0
PeterN - 6 years ago 2018-06-26 12:32:58
peter@fuzzle.org
Change: Increase cargo type limit to 64.
8 files changed with 26 insertions and 18 deletions:
0 comments (0 inline, 0 general)
src/cargo_type.h
Show inline comments
 
@@ -63,14 +63,14 @@ enum CargoType {
 
	CT_PLASTIC      = 10,
 
	CT_FIZZY_DRINKS = 11,
 

	
 
	NUM_CARGO       = 32,   ///< Maximal number of cargo types in a game.
 
	NUM_CARGO       = 64,   ///< Maximal number of cargo types in a game.
 

	
 
	CT_AUTO_REFIT   = 0xFD, ///< Automatically choose cargo type when doing auto refitting.
 
	CT_NO_REFIT     = 0xFE, ///< Do not refit cargo of a vehicle (used in vehicle orders and auto-replace/auto-new).
 
	CT_INVALID      = 0xFF, ///< Invalid cargo type.
 
};
 

	
 
typedef uint32 CargoTypes;
 
typedef uint64 CargoTypes;
 

	
 
static const CargoTypes ALL_CARGOTYPES = (CargoTypes)UINT32_MAX;
 

	
src/graph_gui.cpp
Show inline comments
 
@@ -33,8 +33,8 @@
 
#include "safeguards.h"
 

	
 
/* Bitmasks of company and cargo indices that shouldn't be drawn. */
 
static uint _legend_excluded_companies;
 
static uint _legend_excluded_cargo;
 
static CompanyMask _legend_excluded_companies;
 
static CargoTypes _legend_excluded_cargo;
 

	
 
/* Apparently these don't play well with enums. */
 
static const OverflowSafeInt64 INVALID_DATAPOINT(INT64_MAX); // Value used for a datapoint that shouldn't be drawn.
 
@@ -166,14 +166,14 @@ struct ValuesInterval {
 

	
 
struct BaseGraphWindow : Window {
 
protected:
 
	static const int GRAPH_MAX_DATASETS     =  32;
 
	static const int GRAPH_MAX_DATASETS     =  64;
 
	static const int GRAPH_AXIS_LINE_COLOUR = PC_BLACK;
 
	static const int GRAPH_NUM_MONTHS       =  24; ///< Number of months displayed in the graph.
 

	
 
	static const int MIN_GRAPH_NUM_LINES_Y  =   9; ///< Minimal number of horizontal lines to draw.
 
	static const int MIN_GRID_PIXEL_SIZE    =  20; ///< Minimum distance between graph lines.
 

	
 
	uint excluded_data; ///< bitmask of the datasets that shouldn't be displayed.
 
	uint64 excluded_data; ///< bitmask of the datasets that shouldn't be displayed.
 
	byte num_dataset;
 
	byte num_on_x_axis;
 
	byte num_vert_lines;
 
@@ -561,7 +561,7 @@ public:
 
	 */
 
	void UpdateStatistics(bool initialize)
 
	{
 
		uint excluded_companies = _legend_excluded_companies;
 
		CompanyMask excluded_companies = _legend_excluded_companies;
 

	
 
		/* Exclude the companies which aren't valid */
 
		for (CompanyID c = COMPANY_FIRST; c < MAX_COMPANIES; c++) {
src/saveload/company_sl.cpp
Show inline comments
 
@@ -350,7 +350,8 @@ static const SaveLoad _company_economy_d
 
	SLE_CONDVAR(CompanyEconomyEntry, company_value,       SLE_INT64,                  2, SL_MAX_VERSION),
 

	
 
	SLE_CONDVAR(CompanyEconomyEntry, delivered_cargo[NUM_CARGO - 1], SLE_INT32,       0, 169),
 
	SLE_CONDARR(CompanyEconomyEntry, delivered_cargo,     SLE_UINT32, NUM_CARGO,    170, SL_MAX_VERSION),
 
	SLE_CONDARR(CompanyEconomyEntry, delivered_cargo,     SLE_UINT32, 32,           170, 198),
 
	SLE_CONDARR(CompanyEconomyEntry, delivered_cargo,     SLE_UINT32, NUM_CARGO,    199, SL_MAX_VERSION),
 
	    SLE_VAR(CompanyEconomyEntry, performance_history, SLE_INT32),
 

	
 
	SLE_END()
src/saveload/economy_sl.cpp
Show inline comments
 
@@ -29,7 +29,7 @@ static void Load_PRIC()
 
/** Cargo payment rates in pre 126 savegames */
 
static void Load_CAPR()
 
{
 
	uint num_cargo = IsSavegameVersionBefore(55) ? 12 : NUM_CARGO;
 
	uint num_cargo = IsSavegameVersionBefore(55) ? 12 : IsSavegameVersionBefore(199) ? 32 : NUM_CARGO;
 
	int vt = IsSavegameVersionBefore(65) ? SLE_FILE_I32 : SLE_FILE_I64;
 
	SlArray(NULL, num_cargo, vt | SLE_VAR_NULL);
 
	SlArray(NULL, num_cargo, SLE_FILE_U16 | SLE_VAR_NULL);
src/saveload/saveload.cpp
Show inline comments
 
@@ -266,8 +266,9 @@
 
 *  196   27778   1.7.x
 
 *  197   27978   1.8.x
 
 *  198
 
 *  199
 
 */
 
extern const uint16 SAVEGAME_VERSION = 198; ///< Current savegame version of OpenTTD.
 
extern const uint16 SAVEGAME_VERSION = 199; ///< Current savegame version of OpenTTD.
 

	
 
SavegameType _savegame_type; ///< type of savegame we are loading
 
FileToSaveLoad _file_to_saveload; ///< File to save or load in the openttd loop.
src/saveload/station_sl.cpp
Show inline comments
 
@@ -329,6 +329,7 @@ static void Load_STNS()
 
	_cargo_days = 0;
 
	_cargo_feeder_share = 0;
 

	
 
	uint num_cargo = IsSavegameVersionBefore(55) ? 12 : IsSavegameVersionBefore(199) ? 32 : NUM_CARGO;
 
	int index;
 
	while ((index = SlIterateArray()) != -1) {
 
		Station *st = new (index) Station();
 
@@ -337,7 +338,6 @@ static void Load_STNS()
 

	
 
		_waiting_acceptance = 0;
 

	
 
		uint num_cargo = IsSavegameVersionBefore(55) ? 12 : NUM_CARGO;
 
		for (CargoID i = 0; i < num_cargo; i++) {
 
			GoodsEntry *ge = &st->goods[i];
 
			SlObject(ge, GetGoodsDesc());
 
@@ -377,10 +377,11 @@ static void Ptrs_STNS()
 
	/* Don't run when savegame version is higher than or equal to 123. */
 
	if (!IsSavegameVersionBefore(123)) return;
 

	
 
	uint num_cargo = IsSavegameVersionBefore(199) ? 32 : NUM_CARGO;
 
	Station *st;
 
	FOR_ALL_STATIONS(st) {
 
		if (!IsSavegameVersionBefore(68)) {
 
			for (CargoID i = 0; i < NUM_CARGO; i++) {
 
			for (CargoID i = 0; i < num_cargo; i++) {
 
				GoodsEntry *ge = &st->goods[i];
 
				SwapPackets(ge);
 
				SlObject(ge, GetGoodsDesc());
 
@@ -440,7 +441,8 @@ static const SaveLoad _station_desc[] = 
 
	      SLE_VAR(Station, last_vehicle_type,          SLE_UINT8),
 
	      SLE_VAR(Station, had_vehicle_of_type,        SLE_UINT8),
 
	      SLE_LST(Station, loading_vehicles,           REF_VEHICLE),
 
	  SLE_CONDVAR(Station, always_accepted,            SLE_UINT32, 127, SL_MAX_VERSION),
 
	  SLE_CONDVAR(Station, always_accepted,            SLE_FILE_U32 | SLE_VAR_U64, 127, 198),
 
	  SLE_CONDVAR(Station, always_accepted,            SLE_UINT64,                 199, SL_MAX_VERSION),
 

	
 
	      SLE_END()
 
};
 
@@ -520,6 +522,7 @@ static void Load_STNN()
 
{
 
	_num_flows = 0;
 

	
 
	uint num_cargo = IsSavegameVersionBefore(199) ? 32 : NUM_CARGO;
 
	int index;
 
	while ((index = SlIterateArray()) != -1) {
 
		bool waypoint = (SlReadByte() & FACIL_WAYPOINT) != 0;
 
@@ -538,7 +541,7 @@ static void Load_STNN()
 
				memcpy(st->airport.psa->storage, _old_st_persistent_storage.storage, sizeof(st->airport.psa->storage));
 
			}
 

	
 
			for (CargoID i = 0; i < NUM_CARGO; i++) {
 
			for (CargoID i = 0; i < num_cargo; i++) {
 
				SlObject(&st->goods[i], GetGoodsDesc());
 
				FlowSaveLoad flow;
 
				FlowStat *fs = NULL;
 
@@ -580,9 +583,10 @@ static void Ptrs_STNN()
 
	/* Don't run when savegame version lower than 123. */
 
	if (IsSavegameVersionBefore(123)) return;
 

	
 
	uint num_cargo = IsSavegameVersionBefore(199) ? 32 : NUM_CARGO;
 
	Station *st;
 
	FOR_ALL_STATIONS(st) {
 
		for (CargoID i = 0; i < NUM_CARGO; i++) {
 
		for (CargoID i = 0; i < num_cargo; i++) {
 
			GoodsEntry *ge = &st->goods[i];
 
			if (IsSavegameVersionBefore(183)) {
 
				SwapPackets(ge);
src/saveload/town_sl.cpp
Show inline comments
 
@@ -192,7 +192,8 @@ static const SaveLoad _town_desc[] = {
 

	
 
	SLE_CONDLST(Town, psa_list,            REF_STORAGE,                161, SL_MAX_VERSION),
 

	
 
	SLE_CONDVAR(Town, cargo_produced,       SLE_UINT32,                166, SL_MAX_VERSION),
 
	SLE_CONDVAR(Town, cargo_produced,        SLE_FILE_U32 | SLE_VAR_U64, 166, 198),
 
	SLE_CONDVAR(Town, cargo_produced,        SLE_UINT64,                 199, SL_MAX_VERSION),
 

	
 
	/* reserve extra space in savegame here. (currently 30 bytes) */
 
	SLE_CONDNULL(30, 2, SL_MAX_VERSION),
 
@@ -274,12 +275,13 @@ static void Save_TOWN()
 
static void Load_TOWN()
 
{
 
	int index;
 
	uint num_cargo = IsSavegameVersionBefore(199) ? 32 : NUM_CARGO;
 

	
 
	while ((index = SlIterateArray()) != -1) {
 
		Town *t = new (index) Town();
 
		SlObject(t, _town_desc);
 

	
 
		for (CargoID i = 0; i < NUM_CARGO; i++) {
 
		for (CargoID i = 0; i < num_cargo; i++) {
 
			SlObject(&t->supplied[i], _town_supplied_desc);
 
		}
 
		for (int i = TE_BEGIN; i < TE_END; i++) {
src/strings.cpp
Show inline comments
 
@@ -1147,7 +1147,7 @@ static char *FormatString(char *buff, co
 
			}
 

	
 
			case SCC_CARGO_LIST: { // {CARGO_LIST}
 
				CargoTypes cmask = args->GetInt32(SCC_CARGO_LIST);
 
				CargoTypes cmask = args->GetInt64(SCC_CARGO_LIST);
 
				bool first = true;
 

	
 
				const CargoSpec *cs;
0 comments (0 inline, 0 general)