mirror of https://github.com/OpenTTD/OpenTTD.git
Merge 37e4942232
into a60a81f34e
This commit is contained in:
commit
25ec797d2d
|
@ -1334,6 +1334,16 @@ static ChangeInfoResult RailVehicleChangeInfo(uint engine, int numinfo, int prop
|
||||||
SB(ei->callback_mask, 8, 8, buf->ReadByte());
|
SB(ei->callback_mask, 8, 8, buf->ReadByte());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x80: { // Copy existing train properties
|
||||||
|
uint16_t sourceid = buf->ReadWord();
|
||||||
|
Engine *source = GetNewEngine(_cur.grffile, VEH_TRAIN, sourceid, true);
|
||||||
|
if (source == nullptr) break;
|
||||||
|
*ei = source->info;
|
||||||
|
*rvi = source->u.rail;
|
||||||
|
_gted[e->index] = _gted[source->index];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
||||||
break;
|
break;
|
||||||
|
@ -1540,6 +1550,16 @@ static ChangeInfoResult RoadVehicleChangeInfo(uint engine, int numinfo, int prop
|
||||||
SB(ei->callback_mask, 8, 8, buf->ReadByte());
|
SB(ei->callback_mask, 8, 8, buf->ReadByte());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x80: { // Copy existing road vehicle properties
|
||||||
|
uint16_t sourceid = buf->ReadWord();
|
||||||
|
Engine *source = GetNewEngine(_cur.grffile, VEH_ROAD, sourceid, true);
|
||||||
|
if (source == nullptr) break;
|
||||||
|
*ei = source->info;
|
||||||
|
*rvi = source->u.road;
|
||||||
|
_gted[e->index] = _gted[source->index];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
||||||
break;
|
break;
|
||||||
|
@ -1732,6 +1752,16 @@ static ChangeInfoResult ShipVehicleChangeInfo(uint engine, int numinfo, int prop
|
||||||
svi->acceleration = std::max<uint8_t>(1, buf->ReadByte());
|
svi->acceleration = std::max<uint8_t>(1, buf->ReadByte());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x80: { // Copy existing ship properties
|
||||||
|
uint16_t sourceid = buf->ReadWord();
|
||||||
|
Engine *source = GetNewEngine(_cur.grffile, VEH_SHIP, sourceid, true);
|
||||||
|
if (source == nullptr) break;
|
||||||
|
*ei = source->info;
|
||||||
|
*svi = source->u.ship;
|
||||||
|
_gted[e->index] = _gted[source->index];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
||||||
break;
|
break;
|
||||||
|
@ -1897,6 +1927,16 @@ static ChangeInfoResult AircraftVehicleChangeInfo(uint engine, int numinfo, int
|
||||||
SB(ei->callback_mask, 8, 8, buf->ReadByte());
|
SB(ei->callback_mask, 8, 8, buf->ReadByte());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 0x80: { // Copy existing aircraft properties
|
||||||
|
uint16_t sourceid = buf->ReadWord();
|
||||||
|
Engine *source = GetNewEngine(_cur.grffile, VEH_AIRCRAFT, sourceid, true);
|
||||||
|
if (source == nullptr) break;
|
||||||
|
*ei = source->info;
|
||||||
|
*avi = source->u.air;
|
||||||
|
_gted[e->index] = _gted[source->index];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
ret = CommonVehicleChangeInfo(ei, prop, buf);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue