|
|
@ -497,6 +497,12 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
|
|
|
rvi->tractive_effort = grf_load_byte(&buf);
|
|
|
|
rvi->tractive_effort = grf_load_byte(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 0x20: // Air drag
|
|
|
|
|
|
|
|
/** @todo Air drag for trains. */
|
|
|
|
|
|
|
|
grf_load_byte(&buf);
|
|
|
|
|
|
|
|
ret = true;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case 0x21: // Shorter vehicle
|
|
|
|
case 0x21: // Shorter vehicle
|
|
|
|
rvi->shorten_factor = grf_load_byte(&buf);
|
|
|
|
rvi->shorten_factor = grf_load_byte(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -545,12 +551,6 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
|
|
|
ei->base_intro = grf_load_dword(&buf);
|
|
|
|
ei->base_intro = grf_load_dword(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case 0x20: // Air drag
|
|
|
|
|
|
|
|
/** @todo Air drag for trains. */
|
|
|
|
|
|
|
|
grf_load_byte(&buf);
|
|
|
|
|
|
|
|
ret = true;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
ret = true;
|
|
|
|
ret = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -638,6 +638,13 @@ static bool RoadVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
|
|
|
ei->callbackmask = grf_load_byte(&buf);
|
|
|
|
ei->callbackmask = grf_load_byte(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 0x18: // Tractive effort
|
|
|
|
|
|
|
|
case 0x19: // Air drag
|
|
|
|
|
|
|
|
/** @todo Tractive effort and air drag for road vehicles. */
|
|
|
|
|
|
|
|
grf_load_byte(&buf);
|
|
|
|
|
|
|
|
ret = true;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case 0x1A: // Refit cost
|
|
|
|
case 0x1A: // Refit cost
|
|
|
|
ei->refit_cost = grf_load_byte(&buf);
|
|
|
|
ei->refit_cost = grf_load_byte(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -663,13 +670,6 @@ static bool RoadVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
|
|
|
ei->base_intro = grf_load_dword(&buf);
|
|
|
|
ei->base_intro = grf_load_dword(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case 0x18: // Tractive effort
|
|
|
|
|
|
|
|
case 0x19: // Air drag
|
|
|
|
|
|
|
|
/** @todo Tractive effort and air drag for road vehicles. */
|
|
|
|
|
|
|
|
grf_load_byte(&buf);
|
|
|
|
|
|
|
|
ret = true;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
ret = true;
|
|
|
|
ret = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -748,6 +748,13 @@ static bool ShipVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
|
|
|
ei->refit_cost = grf_load_byte(&buf);
|
|
|
|
ei->refit_cost = grf_load_byte(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 0x14: // Ocean speed fraction
|
|
|
|
|
|
|
|
case 0x15: // Canal speed fraction
|
|
|
|
|
|
|
|
/** @todo Speed fractions for ships on oceans and canals */
|
|
|
|
|
|
|
|
grf_load_byte(&buf);
|
|
|
|
|
|
|
|
ret = true;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case 0x16: // Retire vehicle early
|
|
|
|
case 0x16: // Retire vehicle early
|
|
|
|
ei->retire_early = grf_load_byte(&buf);
|
|
|
|
ei->retire_early = grf_load_byte(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -769,13 +776,6 @@ static bool ShipVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
|
|
|
ei->base_intro = grf_load_dword(&buf);
|
|
|
|
ei->base_intro = grf_load_dword(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case 0x14: // Ocean speed fraction
|
|
|
|
|
|
|
|
case 0x15: // Canal speed fraction
|
|
|
|
|
|
|
|
/** @todo Speed fractions for ships on oceans and canals */
|
|
|
|
|
|
|
|
grf_load_byte(&buf);
|
|
|
|
|
|
|
|
ret = true;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
ret = true;
|
|
|
|
ret = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -1394,6 +1394,12 @@ static bool TownHouseChangeInfo(uint hid, int numinfo, int prop, byte **bufp, in
|
|
|
|
housespec->minimum_life = grf_load_byte(&buf);
|
|
|
|
housespec->minimum_life = grf_load_byte(&buf);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 0x20: { // @todo Cargo acceptance watch list
|
|
|
|
|
|
|
|
byte count = grf_load_byte(&buf);
|
|
|
|
|
|
|
|
for (byte j = 0; j < count; j++) grf_load_byte(&buf);
|
|
|
|
|
|
|
|
ret = true;
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
ret = true;
|
|
|
|
ret = true;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|