engine.c
changeset 1560 d040e4763f45
parent 1559 c0d5d35b25db
child 1786 7cfd46c3fcc4
equal deleted inserted replaced
1559:c0d5d35b25db 1560:d040e4763f45
   460 }
   460 }
   461 
   461 
   462 static SpriteGroup *GetVehicleSpriteGroup(byte engine, const Vehicle *v)
   462 static SpriteGroup *GetVehicleSpriteGroup(byte engine, const Vehicle *v)
   463 {
   463 {
   464 	SpriteGroup *group;
   464 	SpriteGroup *group;
   465 	uint16 overriding_engine = -1;
       
   466 	byte cargo = CID_PURCHASE;
   465 	byte cargo = CID_PURCHASE;
   467 
   466 
   468 	if (v != NULL) {
   467 	if (v != NULL) {
   469 		overriding_engine = v->type == VEH_Train ? v->u.rail.first_engine : -1;
       
   470 		cargo = _global_cargo_id[_opt.landscape][v->cargo_type];
   468 		cargo = _global_cargo_id[_opt.landscape][v->cargo_type];
   471 	}
   469 	}
   472 
   470 
   473 	group = &_engine_custom_sprites[engine][cargo];
   471 	group = &_engine_custom_sprites[engine][cargo];
   474 
   472 
   475 	if (overriding_engine != 0xffff) {
   473 	if (v != NULL && v->type == VEH_Train) {
   476 		SpriteGroup *overset = GetWagonOverrideSpriteSet(engine, overriding_engine);
   474 		SpriteGroup *overset = GetWagonOverrideSpriteSet(engine, v->u.rail.first_engine);
   477 
   475 
   478 		if (overset != NULL) group = overset;
   476 		if (overset != NULL) group = overset;
   479 	}
   477 	}
   480 
   478 
   481 	return group;
   479 	return group;