85 DrawSprite((6 + _roadveh_images[spritenum]) | image_ormod, x, y); |
85 DrawSprite((6 + _roadveh_images[spritenum]) | image_ormod, x, y); |
86 } |
86 } |
87 |
87 |
88 void DrawRoadVehEngineInfo(int engine, int x, int y, int maxw) |
88 void DrawRoadVehEngineInfo(int engine, int x, int y, int maxw) |
89 { |
89 { |
90 SET_DPARAM32(0, ((_price.roadveh_base >> 3) * road_vehicle_info(engine)->base_cost) >> 5); |
90 SetDParam(0, ((_price.roadveh_base >> 3) * road_vehicle_info(engine)->base_cost) >> 5); |
91 SET_DPARAM16(1, road_vehicle_info(engine)->max_speed * 10 >> 5); |
91 SetDParam(1, road_vehicle_info(engine)->max_speed * 10 >> 5); |
92 SET_DPARAM32(2, road_vehicle_info(engine)->running_cost * _price.roadveh_running >> 8); |
92 SetDParam(2, road_vehicle_info(engine)->running_cost * _price.roadveh_running >> 8); |
93 |
93 |
94 SET_DPARAM16(4, road_vehicle_info(engine)->capacity); |
94 SetDParam(4, road_vehicle_info(engine)->capacity); |
95 SET_DPARAM16(3, _cargoc.names_long_p[road_vehicle_info(engine)->cargo_type]); |
95 SetDParam(3, _cargoc.names_long_p[road_vehicle_info(engine)->cargo_type]); |
96 |
96 |
97 DrawStringMultiCenter(x, y, STR_902A_COST_SPEED_RUNNING_COST, maxw); |
97 DrawStringMultiCenter(x, y, STR_902A_COST_SPEED_RUNNING_COST, maxw); |
98 } |
98 } |
99 |
99 |
100 static int32 EstimateRoadVehCost(byte engine_type) |
100 static int32 EstimateRoadVehCost(byte engine_type) |
489 |
489 |
490 pass = 1; |
490 pass = 1; |
491 if (v->cargo_type == 0) |
491 if (v->cargo_type == 0) |
492 pass += v->cargo_count; |
492 pass += v->cargo_count; |
493 v->cargo_count = 0; |
493 v->cargo_count = 0; |
494 SET_DPARAM16(0, pass); |
494 SetDParam(0, pass); |
495 |
495 |
496 AddNewsItem(STR_9031_ROAD_VEHICLE_CRASH_DRIVER+(pass!=1), |
496 AddNewsItem(STR_9031_ROAD_VEHICLE_CRASH_DRIVER+(pass!=1), |
497 NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ACCIDENT, 0), |
497 NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ACCIDENT, 0), |
498 v->index, |
498 v->index, |
499 0); |
499 0); |
701 /* Check if station was ever visited before */ |
701 /* Check if station was ever visited before */ |
702 if (!(st->had_vehicle_of_type & HVOT_BUS)) { |
702 if (!(st->had_vehicle_of_type & HVOT_BUS)) { |
703 uint32 flags; |
703 uint32 flags; |
704 |
704 |
705 st->had_vehicle_of_type |= HVOT_BUS; |
705 st->had_vehicle_of_type |= HVOT_BUS; |
706 SET_DPARAM16(0, st->index); |
706 SetDParam(0, st->index); |
707 flags = (v->owner == _local_player) ? NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_PLAYER, 0) : NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_OTHER, 0); |
707 flags = (v->owner == _local_player) ? NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_PLAYER, 0) : NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_OTHER, 0); |
708 AddNewsItem( |
708 AddNewsItem( |
709 STR_902F_CITIZENS_CELEBRATE_FIRST, |
709 STR_902F_CITIZENS_CELEBRATE_FIRST, |
710 flags, |
710 flags, |
711 v->index, |
711 v->index, |
715 /* Check if station was ever visited before */ |
715 /* Check if station was ever visited before */ |
716 if (!(st->had_vehicle_of_type & HVOT_TRUCK)) { |
716 if (!(st->had_vehicle_of_type & HVOT_TRUCK)) { |
717 uint32 flags; |
717 uint32 flags; |
718 |
718 |
719 st->had_vehicle_of_type |= HVOT_TRUCK; |
719 st->had_vehicle_of_type |= HVOT_TRUCK; |
720 SET_DPARAM16(0, st->index); |
720 SetDParam(0, st->index); |
721 flags = (v->owner == _local_player) ? NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_PLAYER, 0) : NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_OTHER, 0); |
721 flags = (v->owner == _local_player) ? NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_PLAYER, 0) : NEWS_FLAGS(NM_THIN, NF_VIEWPORT|NF_VEHICLE, NT_ARRIVAL_OTHER, 0); |
722 AddNewsItem( |
722 AddNewsItem( |
723 STR_9030_CITIZENS_CELEBRATE_FIRST, |
723 STR_9030_CITIZENS_CELEBRATE_FIRST, |
724 flags, |
724 flags, |
725 v->index, |
725 v->index, |
1379 if (t & OF_UNLOAD) { v->cur_order_index++; } |
1379 if (t & OF_UNLOAD) { v->cur_order_index++; } |
1380 |
1380 |
1381 else if (t & OF_FULL_LOAD) { |
1381 else if (t & OF_FULL_LOAD) { |
1382 v->vehstatus |= VS_STOPPED; |
1382 v->vehstatus |= VS_STOPPED; |
1383 if (v->owner == _local_player) { |
1383 if (v->owner == _local_player) { |
1384 SET_DPARAM16(0, v->unitnumber); |
1384 SetDParam(0, v->unitnumber); |
1385 AddNewsItem( |
1385 AddNewsItem( |
1386 STR_9016_ROAD_VEHICLE_IS_WAITING, |
1386 STR_9016_ROAD_VEHICLE_IS_WAITING, |
1387 NEWS_FLAGS(NM_SMALL, NF_VIEWPORT|NF_VEHICLE, NT_ADVICE, 0), |
1387 NEWS_FLAGS(NM_SMALL, NF_VIEWPORT|NF_VEHICLE, NT_ADVICE, 0), |
1388 v->index, |
1388 v->index, |
1389 0); |
1389 0); |