(svn r11431) -Codechange: [NewGRF] Add support for changing rail vehicle user-defined bit mask (prop 25) via callback 36
--- a/src/newgrf_engine.cpp Tue Nov 13 22:44:41 2007 +0000
+++ b/src/newgrf_engine.cpp Thu Nov 15 00:13:12 2007 +0000
@@ -548,7 +548,7 @@
cargo_classes |= GetCargo(u->cargo_type)->classes;
common_cargos[u->cargo_type]++;
- if (v->type == VEH_TRAIN) user_def_data |= RailVehInfo(u->engine_type)->user_def_data;
+ if (v->type == VEH_TRAIN) user_def_data |= u->u.rail.user_def_data;
common_subtypes[u->cargo_subtype]++;
}
--- a/src/train_cmd.cpp Tue Nov 13 22:44:41 2007 +0000
+++ b/src/train_cmd.cpp Thu Nov 15 00:13:12 2007 +0000
@@ -236,6 +236,8 @@
u->cargo_cap = GetVehicleProperty(u, 0x14, rvi_u->capacity);
}
+ u->u.rail.user_def_data = GetVehicleProperty(u, 0x25, rvi_u->user_def_data);
+
/* check the vehicle length (callback) */
uint16 veh_len = CALLBACK_FAILED;
if (HASBIT(EngInfo(u->engine_type)->callbackmask, CBM_VEHICLE_LENGTH)) {
--- a/src/vehicle.h Tue Nov 13 22:44:41 2007 +0000
+++ b/src/vehicle.h Thu Nov 15 00:13:12 2007 +0000
@@ -136,6 +136,7 @@
* bit 7 = disable powered wagons.
*/
byte cached_vis_effect;
+ byte user_def_data;
/* NOSAVE: for wagon override - id of the first engine in train
* 0xffff == not in train */