Changeset - r3222:303ed792a936
[Not reviewed]
master
0 9 0
Darkvater - 18 years ago 2006-03-16 00:20:33
darkvater@openttd.org
(svn r3895) - Add proper SLE(G)_CONDNULL macros for the empty space reservation in savegames and update where used
- Also add this capability to settings
9 files changed with 34 insertions and 23 deletions:
0 comments (0 inline, 0 general)
engine.c
Show inline comments
 
@@ -681,7 +681,7 @@ static const SaveLoad _engine_desc[] = {
 
	SLE_VAR(Engine,player_avail,					SLE_UINT8),
 

	
 
	// reserve extra space in savegame here. (currently 16 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 2, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(16, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
industry_cmd.c
Show inline comments
 
@@ -1935,7 +1935,7 @@ static const SaveLoad _industry_desc[] =
 
	SLE_VAR(Industry,was_cargo_delivered,SLE_UINT8),
 

	
 
	// reserve extra space in savegame here. (currently 32 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 4, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(32, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
order_cmd.c
Show inline comments
 
@@ -1100,7 +1100,7 @@ static const SaveLoad _order_desc[] = {
 
	SLE_REF(Order,next,					REF_ORDER),
 

	
 
	// reserve extra space in savegame here. (currently 10 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8 | SLE_VAR_NULL, 10, 5, SL_MAX_VERSION),
 
	SLE_CONDNULL(10, 5, SL_MAX_VERSION),
 
	SLE_END()
 
};
 

	
players.c
Show inline comments
 
@@ -1150,7 +1150,7 @@ static const SaveLoad _player_desc[] = {
 
	SLE_CONDVAR(Player,is_active,	SLE_UINT8, 4, SL_MAX_VERSION),
 

	
 
	// Engine renewal settings
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U16 | SLE_VAR_NULL, 256, 16, 18),
 
	SLE_CONDNULL(512, 16, 18),
 
	SLE_CONDREF(Player,engine_renew_list, REF_ENGINE_RENEWS, 19, SL_MAX_VERSION),
 
	SLE_CONDVAR(Player,engine_renew,         SLE_UINT8,      16, SL_MAX_VERSION),
 
	SLE_CONDVAR(Player,engine_renew_months,  SLE_INT16,      16, SL_MAX_VERSION),
 
@@ -1158,8 +1158,7 @@ static const SaveLoad _player_desc[] = {
 
	SLE_CONDVAR(Player,renew_keep_length,    SLE_UINT8,       2, SL_MAX_VERSION),	// added with 16.1, but was blank since 2
 

	
 
	// reserve extra space in savegame here. (currently 63 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8  | SLE_VAR_NULL, 7, 2, SL_MAX_VERSION),
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 7, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(63, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
 
@@ -1219,7 +1218,7 @@ static const SaveLoad _player_ai_desc[] 
 
	SLE_ARR(PlayerAI,order_list_blocks,	SLE_UINT8, 20),
 
	SLE_ARR(PlayerAI,banned_tiles,			SLE_UINT16, 16),
 

	
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 8, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(64, 2, SL_MAX_VERSION),
 
	SLE_END()
 
};
 

	
saveload.h
Show inline comments
 
@@ -179,6 +179,8 @@ typedef SaveLoad SaveLoadGlobVarList;
 
#define SLE_ARR(base, variable, type, length) SLE_CONDARR(base, variable, type, length, 0, SL_MAX_VERSION)
 
#define SLE_STR(base, variable, type, length) SLE_CONDSTR(base, variable, type, length, 0, SL_MAX_VERSION)
 

	
 
#define SLE_CONDNULL(length, from, to) SLE_CONDARR(NullStruct, null, SLE_FILE_U8 | SLE_VAR_NULL, length, from, to)
 

	
 
/* Translate values ingame to different values in the savegame and vv */
 
#define SLE_WRITEBYTE(base, variable, game_value, file_value) SLE_GENERAL(SL_WRITEBYTE, base, variable, 0, 0, game_value, file_value)
 
/* Load common code and put it into each struct (currently only for vehicles */
 
@@ -208,8 +210,10 @@ typedef SaveLoad SaveLoadGlobVarList;
 

	
 
#define SLEG_VAR(variable, type) SLEG_CONDVAR(variable, type, 0, SL_MAX_VERSION)
 
#define SLEG_REF(variable, type) SLEG_CONDREF(variable, type, 0, SL_MAX_VERSION)
 
#define SLEG_ARR(variable, type) SLEG_CONDARR(variable, type, lengthof(variable), SL_MAX_VERSION)
 
#define SLEG_STR(variable, type) SLEG_CONDSTR(variable, type, lengthof(variable), SL_MAX_VERSION)
 
#define SLEG_ARR(variable, type) SLEG_CONDARR(variable, type, lengthof(variable), 0, SL_MAX_VERSION)
 
#define SLEG_STR(variable, type) SLEG_CONDSTR(variable, type, lengthof(variable), 0, SL_MAX_VERSION)
 

	
 
#define SLEG_CONDNULL(length, from, to) {SL_ARR, SLE_FILE_U8 | SLE_VAR_NULL, length, from, to, (void*)NULL}
 

	
 
#define SLEG_END() {SL_END, 0, 0, 0, 0, NULL}
 

	
settings.c
Show inline comments
 
@@ -615,6 +615,7 @@ static void ini_load_settings(IniFile *i
 
		const SaveLoad        *sld = &sd->save;
 

	
 
		if (!SlIsObjectCurrentlyValid(sld->version_from, sld->version_to)) continue;
 
		if (sd->desc.name == NULL) continue;
 

	
 
		// XXX - wtf is this?? (group override?)
 
		s = strchr(sdb->name, '.');
 
@@ -682,6 +683,7 @@ static void ini_save_settings(IniFile *i
 
		 * file, just continue with the next setting */
 
		if (!SlIsObjectCurrentlyValid(sld->version_from, sld->version_to)) continue;
 
		if (sld->conv & SLF_CONFIG_NO) continue;
 
		if (sd->desc.name == NULL) continue;
 

	
 
		// XXX - wtf is this?? (group override?)
 
		s = strchr(sdb->name, '.');
 
@@ -879,6 +881,9 @@ static void ini_save_setting_list(IniFil
 
#define SDTG_MMANY(name, type, flags, guiflags, var, def, full, str, proc)\
 
	SDTG_CONDMMANY(name, type, flags, guiflags, var, def, full, str, proc, 0, SL_MAX_VERSION)
 

	
 
#define SDTG_CONDNULL(length, from, to)\
 
	{{NULL, NULL, 0, 0, 0, 0, NULL, STR_NULL, NULL}, SLEG_CONDNULL(length, from, to)}
 

	
 
#define SDTG_END() {{NULL, NULL, 0, 0, 0, 0, NULL, STR_NULL, NULL}, SLEG_END()}
 

	
 
/* Macros for various objects to go in the configuration file.
 
@@ -925,6 +930,9 @@ static void ini_save_setting_list(IniFil
 
#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc)\
 
	SDT_CONDMMANY(base, var, type, 0, SL_MAX_VERSION, flags, guiflags, def, full, str, proc)
 

	
 
#define SDT_CONDNULL(length, from, to)\
 
	{{NULL, NULL, 0, 0, 0, 0, NULL, STR_NULL, NULL}, SLE_CONDNULL(length, from, to)}
 

	
 
#define SDT_END() {{NULL, NULL, 0, 0, 0, 0, NULL, STR_NULL, NULL}, SLE_END()}
 

	
 
/* Shortcuts for macros below. Logically if we don't save the value
station_cmd.c
Show inline comments
 
@@ -2816,7 +2816,7 @@ static const SaveLoad _roadstop_desc[] =
 
	SLE_VAR(RoadStop,used,         SLE_UINT8),
 
	SLE_VAR(RoadStop,status,       SLE_UINT8),
 
	/* Index was saved in some versions, but this is not needed */
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U32 | SLE_VAR_NULL, 1, 0, 8),
 
	SLE_CONDNULL(4, 0, 8),
 
	SLE_VAR(RoadStop,station,      SLE_UINT16),
 
	SLE_VAR(RoadStop,type,         SLE_UINT8),
 

	
 
@@ -2844,7 +2844,7 @@ static const SaveLoad _station_desc[] = 
 
	SLE_CONDVAR(Station,trainst_h,	SLE_UINT8, 2, SL_MAX_VERSION),
 

	
 
	// alpha_order was stored here in savegame format 0 - 3
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8 | SLE_VAR_NULL, 1, 0, 3),
 
	SLE_CONDNULL(1, 0, 3),
 

	
 
	SLE_VAR(Station,string_id,			SLE_STRINGID),
 
	SLE_VAR(Station,had_vehicle_of_type,SLE_UINT16),
 
@@ -2875,8 +2875,8 @@ static const SaveLoad _station_desc[] = 
 
	SLE_CONDREF(Station,bus_stops,					REF_ROADSTOPS, 6, SL_MAX_VERSION),
 
	SLE_CONDREF(Station,truck_stops,				REF_ROADSTOPS, 6, SL_MAX_VERSION),
 

	
 
	// reserve extra space in savegame here. (currently 28 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8 | SLE_VAR_NULL, 32, 2, SL_MAX_VERSION),
 
	// reserve extra space in savegame here. (currently 32 bytes)
 
	SLE_CONDNULL(32, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
town_cmd.c
Show inline comments
 
@@ -1979,7 +1979,7 @@ static const SaveLoad _town_desc[] = {
 
	SLE_VAR(Town,statues,			SLE_UINT8),
 

	
 
	// sort_index_obsolete was stored here in savegame format 0 - 1
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8 | SLE_VAR_NULL, 1, 0, 1),
 
	SLE_CONDNULL(1, 0, 1),
 

	
 
	SLE_VAR(Town,have_ratings,SLE_UINT8),
 
	SLE_ARR(Town,ratings,			SLE_INT16, 8),
 
@@ -2021,7 +2021,7 @@ static const SaveLoad _town_desc[] = {
 
	SLE_VAR(Town,exclusivity,						SLE_UINT8),
 
	SLE_VAR(Town,exclusive_counter,			SLE_UINT8),
 
	// reserve extra space in savegame here. (currently 30 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8 | SLE_VAR_NULL, 30, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(30, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
vehicle.c
Show inline comments
 
@@ -2158,7 +2158,7 @@ const SaveLoad _common_veh_desc[] = {
 
	SLE_REF(Vehicle,prev_shared,				REF_VEHICLE),
 

	
 
	// reserve extra space in savegame here. (currently 10 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8 | SLE_VAR_NULL, 10, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(10, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
 
@@ -2175,9 +2175,9 @@ static const SaveLoad _train_desc[] = {
 
	SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleRail,flags), SLE_UINT8, 2, SL_MAX_VERSION),
 
	SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleRail,days_since_order_progr), SLE_UINT16, 2, SL_MAX_VERSION),
 

	
 
	SLE_CONDARR(NullStruct, null, SLE_FILE_U8 | SLE_VAR_NULL, 2, 2, 19),
 
	SLE_CONDNULL(2, 2, 19),
 
	// reserve extra space in savegame here. (currently 11 bytes)
 
	SLE_CONDARR(NullStruct, null, SLE_FILE_U8 | SLE_VAR_NULL, 11, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(11, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
 
@@ -2197,7 +2197,7 @@ static const SaveLoad _roadveh_desc[] = 
 
	SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,slotindex), SLE_UINT8, 6, SL_MAX_VERSION),
 
	SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,slot_age), SLE_UINT8, 6, SL_MAX_VERSION),
 
	// reserve extra space in savegame here. (currently 16 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 2, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(16, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
 
@@ -2208,7 +2208,7 @@ static const SaveLoad _ship_desc[] = {
 
	SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleShip,state),				SLE_UINT8),
 

	
 
	// reserve extra space in savegame here. (currently 16 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 2, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(16, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
 
@@ -2227,7 +2227,7 @@ static const SaveLoad _aircraft_desc[] =
 
	SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleAir,previous_pos),			SLE_UINT8, 2, SL_MAX_VERSION),
 

	
 
	// reserve extra space in savegame here. (currently 15 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U8 | SLE_VAR_NULL, 15, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(15, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
 
@@ -2259,7 +2259,7 @@ static const SaveLoad _special_desc[] = 
 
	SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleSpecial,unk2),	SLE_UINT8),
 

	
 
	// reserve extra space in savegame here. (currently 16 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 2, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(16, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
 
@@ -2301,7 +2301,7 @@ static const SaveLoad _disaster_desc[] =
 
	SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleDisaster,unk2),						SLE_UINT16),
 

	
 
	// reserve extra space in savegame here. (currently 16 bytes)
 
	SLE_CONDARR(NullStruct,null,SLE_FILE_U64 | SLE_VAR_NULL, 2, 2, SL_MAX_VERSION),
 
	SLE_CONDNULL(16, 2, SL_MAX_VERSION),
 

	
 
	SLE_END()
 
};
0 comments (0 inline, 0 general)