saveload.c
changeset 1024 9b06b01490a4
parent 950 1f6546ea35a3
child 1093 e8d26c7dc42f
--- a/saveload.c	Sat Jan 15 16:38:10 2005 +0000
+++ b/saveload.c	Sat Jan 15 19:06:22 2005 +0000
@@ -8,7 +8,7 @@
 
 enum {
 	SAVEGAME_MAJOR_VERSION = 5,
-	SAVEGAME_MINOR_VERSION = 1,
+	SAVEGAME_MINOR_VERSION = 2,
 
 	SAVEGAME_LOADABLE_VERSION = (SAVEGAME_MAJOR_VERSION << 8) + SAVEGAME_MINOR_VERSION
 };
@@ -869,6 +869,7 @@
 extern const ChunkHandler _misc_chunk_handlers[];
 extern const ChunkHandler _player_chunk_handlers[];
 extern const ChunkHandler _veh_chunk_handlers[];
+extern const ChunkHandler _order_chunk_handlers[];
 extern const ChunkHandler _town_chunk_handlers[];
 extern const ChunkHandler _sign_chunk_handlers[];
 extern const ChunkHandler _station_chunk_handlers[];
@@ -880,6 +881,7 @@
 static const ChunkHandler * const _chunk_handlers[] = {
 	_misc_chunk_handlers,
 	_veh_chunk_handlers,
+	_order_chunk_handlers,
 	_industry_chunk_handlers,
 	_economy_chunk_handlers,
 	_engine_chunk_handlers,
@@ -912,9 +914,7 @@
 		case REF_VEHICLE: return ((Vehicle *)v)->index + 1;
 		case REF_STATION: return ((Station *)v)->index + 1;
 		case REF_TOWN:    return ((Town *)v)->index + 1;
-
-		case REF_SCHEDULE:
-			return ((byte*)v - (byte*)_order_array) / sizeof(_order_array[0]) + 1;
+		case REF_ORDER:   return ((Order *)v)->index + 1;
 
 		default:
 			NOT_REACHED();
@@ -935,13 +935,11 @@
 		return NULL;
 
 	switch (t) {
+		case REF_ORDER:   return GetOrder(r - 1);
 		case REF_VEHICLE: return GetVehicle(r - 1);
 		case REF_STATION: return GetStation(r - 1);
 		case REF_TOWN:    return GetTown(r - 1);
 
-		case REF_SCHEDULE:
-			return (byte*)_order_array + (r - 1) * sizeof(_order_array[0]);
-
 		case REF_VEHICLE_OLD: {
 			/* Old vehicles were saved differently: invalid vehicle was 0xFFFF,
 			    and the index was not - 1.. correct for this */