roadveh_cmd.c
changeset 534 17ab2f22ff74
parent 507 8aa8100b0b22
child 538 5dd99f3b7eca
equal deleted inserted replaced
533:f512d1b9bc17 534:17ab2f22ff74
    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);