From fa37809eb65024af01d3cfa763df09b13c04ce40 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Mon, 15 May 2006 06:49:36 +0000 Subject: [PATCH] (svn r4872) - NewGRF: add support for vehicle variable 0x47 (mart3p) --- newgrf_engine.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/newgrf_engine.c b/newgrf_engine.c index 2ce4d16e79..46af6e8880 100644 --- a/newgrf_engine.c +++ b/newgrf_engine.c @@ -587,6 +587,18 @@ static uint32 VehicleGetVariable(const ResolverObject *object, byte variable, by case 0x46: /* Motion counter */ return 0; + case 0x47: { /* Vehicle cargo info */ + /* Format: ccccwwtt + * tt - the cargo type transported by the vehicle, + * translated if a translation table has been installed. + * ww - cargo unit weight in 1/16 tons, same as cargo prop. 0F. + * cccc - the cargo class value of the cargo transported by the vehicle. + */ + CargoID cid = _global_cargo_id[_opt.landscape][v->cargo_type]; + + return (_cargo_classes[cid] << 16) | (_cargoc.weights[v->cargo_type] << 8) | cid; + } + /* Variables which use the parameter */ case 0x60: /* Count consist's engine ID occurance */ if (v->type != VEH_Train) return v->engine_type == parameter;