(svn r957) -Fix: vehicle.c compiler problems for MSVC6 only! (Tron)
authordarkvater
Sun, 05 Dec 2004 19:50:58 +0000
changeset 556 59308f21c27e
parent 555 02df8a1b7f33
child 557 a61a9aee1ade
(svn r957) -Fix: vehicle.c compiler problems for MSVC6 only! (Tron)
saveload.h
vehicle.c
--- a/saveload.h	Sun Dec 05 12:43:04 2004 +0000
+++ b/saveload.h	Sun Dec 05 19:50:58 2004 +0000
@@ -92,6 +92,9 @@
 };
 
 #define SLE_VAR(t,i,c) 0 | (offsetof(t,i) & 0xF), offsetof(t,i) >> 4, c
+#if MSC_VER == 1200 /* XXX workaround for MSVC6 */
+#define SLE_VAR2(t0,i0, t1, i1, c) 0 | ((offsetof(t0, i0) + offsetof(t1, i1)) & 0xF), (offsetof(t0, i0) + offsetof(t1, i1)) >> 4, c
+#endif
 #define SLE_REF(t,i,c) 0x10 | (offsetof(t,i) & 0xF), offsetof(t,i) >> 4, c
 #define SLE_ARR(t,i,c,l) 0x20 | (offsetof(t,i) & 0xF), offsetof(t,i) >> 4, c, l
 #define SLE_CONDVAR(t,i,c,from,to) 0x40 | (offsetof(t,i) & 0xF), offsetof(t,i) >> 4, c, from, to
--- a/vehicle.c	Sun Dec 05 12:43:04 2004 +0000
+++ b/vehicle.c	Sun Dec 05 19:50:58 2004 +0000
@@ -1593,7 +1593,11 @@
 	SLE_VAR(Vehicle,cur_order_index,	SLE_UINT8),
 	SLE_VAR(Vehicle,num_orders,				SLE_UINT8),
 	SLE_VAR(Vehicle,current_order,		SLE_UINT8), /* XXX hack to avoid version bump */
+	#if _MSC_VER != 1200
 	SLE_VAR(Vehicle,current_order.station, SLE_UINT8),
+	#else /* XXX workaround for MSVC6 */
+	SLE_VAR2(Vehicle, current_order, Order, station, SLE_UINT8),
+	#endif
 	SLE_REF(Vehicle,schedule_ptr,			REF_SCHEDULE),
 
 	SLE_VAR(Vehicle,age,							SLE_UINT16),
@@ -1737,7 +1741,11 @@
 	SLE_VAR(Vehicle,z_height,					SLE_UINT8),
 	SLE_VAR(Vehicle,owner,						SLE_UINT8),
 	SLE_VAR(Vehicle,vehstatus,				SLE_UINT8),
+	#if _MSC_VER != 1200
 	SLE_VAR(Vehicle,current_order.station, SLE_UINT8),
+	#else /* XXX workaround for MSVC6 */
+	SLE_VAR2(Vehicle, current_order, Order, station, SLE_UINT8),
+	#endif
 
 	SLE_VAR(Vehicle,cur_image,				SLE_UINT16),
 	SLE_VAR(Vehicle,age,							SLE_UINT16),