changeset 16973:740e4edff72e draft

(svn r21709) -Fix (r8128): Vehicle sprite was cached into a 16 bit variable, causing incorrect sprites to be displayed.
author peter1138 <peter1138@openttd.org>
date Tue, 04 Jan 2011 12:04:09 +0000
parents 098d0476f3b3
children 7e1289fffe7a
files src/saveload/vehicle_sl.cpp src/vehicle_base.h
diffstat 2 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/saveload/vehicle_sl.cpp
+++ b/src/saveload/vehicle_sl.cpp
@@ -630,7 +630,7 @@
 		 SLE_CONDVAR(Vehicle, y_pos,                 SLE_INT32,                    6, SL_MAX_VERSION),
 		     SLE_VAR(Vehicle, z_pos,                 SLE_UINT8),
 
-		     SLE_VAR(Vehicle, cur_image,             SLE_UINT16),
+		     SLE_VAR(Vehicle, cur_image,             SLE_FILE_U16 | SLE_VAR_U32),
 		SLE_CONDNULL(5,                                                            0,  57),
 		     SLE_VAR(Vehicle, progress,              SLE_UINT8),
 		     SLE_VAR(Vehicle, vehstatus,             SLE_UINT8),
@@ -669,7 +669,7 @@
 		 SLE_CONDVAR(Vehicle, current_order.dest,    SLE_FILE_U8 | SLE_VAR_U16,    0,   4),
 		 SLE_CONDVAR(Vehicle, current_order.dest,    SLE_UINT16,                   5, SL_MAX_VERSION),
 
-		     SLE_VAR(Vehicle, cur_image,             SLE_UINT16),
+		     SLE_VAR(Vehicle, cur_image,             SLE_FILE_U16 | SLE_VAR_U32),
 		 SLE_CONDVAR(Vehicle, age,                   SLE_FILE_U16 | SLE_VAR_I32,   0,  30),
 		 SLE_CONDVAR(Vehicle, age,                   SLE_INT32,                   31, SL_MAX_VERSION),
 		     SLE_VAR(Vehicle, tick_counter,          SLE_UINT8),
--- a/src/vehicle_base.h
+++ b/src/vehicle_base.h
@@ -174,7 +174,7 @@
 	byte spritenum;                     ///< currently displayed sprite index
 	                                    ///< 0xfd == custom sprite, 0xfe == custom second head sprite
 	                                    ///< 0xff == reserved for another custom sprite
-	uint16 cur_image;                   ///< sprite number for this vehicle
+	SpriteID cur_image;                 ///< sprite number for this vehicle
 	byte x_extent;                      ///< x-extent of vehicle bounding box
 	byte y_extent;                      ///< y-extent of vehicle bounding box
 	byte z_extent;                      ///< z-extent of vehicle bounding box