From f28723830fc92c4ef2235739a1dd85d686235211 Mon Sep 17 00:00:00 2001 From: glx Date: Thu, 15 Nov 2007 00:13:12 +0000 Subject: [PATCH] (svn r11431) -Codechange: [NewGRF] Add support for changing rail vehicle user-defined bit mask (prop 25) via callback 36 --- src/newgrf_engine.cpp | 2 +- src/train_cmd.cpp | 2 ++ src/vehicle.h | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 2c0090da99..4adf8d82db 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -548,7 +548,7 @@ static uint32 VehicleGetVariable(const ResolverObject *object, byte variable, by 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]++; } diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index ffd7bc85a2..98521110b5 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -236,6 +236,8 @@ void TrainConsistChanged(Vehicle* v) 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)) { diff --git a/src/vehicle.h b/src/vehicle.h index 00a457bb1d..eb3f3ad4f6 100644 --- a/src/vehicle.h +++ b/src/vehicle.h @@ -136,6 +136,7 @@ struct VehicleRail { * 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 */