@ -106,7 +106,7 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e)
SetVScrollCount ( w , count ) ;
}
S ET_DPARAM16 ( 0 , WP ( w , buildtrain_d ) . railtype + STR_881C_NEW_RAIL_VEHICLES ) ;
S etDParam ( 0 , WP ( w , buildtrain_d ) . railtype + STR_881C_NEW_RAIL_VEHICLES ) ;
DrawWindowWidgets ( w ) ;
{
@ -136,36 +136,36 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e)
/* it's an engine */
int multihead = ( rvi - > flags & RVI_MULTIHEAD ? 1 : 0 ) ;
S ET_DPARAM32 ( 0 , rvi - > base_cost * ( _price . build_railvehicle > > 3 ) > > 5 ) ;
S ET_DPARAM16 ( 2 , rvi - > max_speed * 10 > > 4 ) ;
S ET_DPARAM16 ( 3 , rvi - > power < < multihead ) ;
S ET_DPARAM16 ( 1 , rvi - > weight < < multihead ) ;
S ET_DPARAM32 ( 4 , ( rvi - > running_cost_base * _price . running_rail [ rvi - > engclass ] > > 8 ) < < multihead ) ;
S etDParam ( 0 , rvi - > base_cost * ( _price . build_railvehicle > > 3 ) > > 5 ) ;
S etDParam ( 2 , rvi - > max_speed * 10 > > 4 ) ;
S etDParam ( 3 , rvi - > power < < multihead ) ;
S etDParam ( 1 , rvi - > weight < < multihead ) ;
S etDParam ( 4 , ( rvi - > running_cost_base * _price . running_rail [ rvi - > engclass ] > > 8 ) < < multihead ) ;
S ET_DPARAM16 ( 5 , STR_8838_N_A ) ;
S etDParam ( 5 , STR_8838_N_A ) ;
if ( rvi - > capacity ! = 0 ) {
S ET_DPARAM16 ( 6 , rvi - > capacity < < multihead ) ;
S ET_DPARAM16 ( 5 , _cargoc . names_long_p [ rvi - > cargo_type ] ) ;
S etDParam ( 6 , rvi - > capacity < < multihead ) ;
S etDParam ( 5 , _cargoc . names_long_p [ rvi - > cargo_type ] ) ;
}
e = & _engines [ selected_id ] ;
S ET_DPARAM16 ( 8 , e - > lifelength ) ;
S ET_DPARAM8 ( 9 , e - > reliability * 100 > > 16 ) ;
S etDParam ( 8 , e - > lifelength ) ;
S etDParam ( 9 , e - > reliability * 100 > > 16 ) ;
ConvertDayToYMD ( & ymd , e - > intro_date ) ;
S ET_DPARAM16 ( 7 , ymd . year + 1920 ) ;
S etDParam ( 7 , ymd . year + 1920 ) ;
DrawString ( 2 , 0x7F , STR_8817_COST_WEIGHT_T_SPEED_POWER , 0 ) ;
} else {
/* it's a wagon */
S ET_DPARAM32 ( 0 ,
S etDParam ( 0 ,
DoCommandByTile ( w - > window_number , selected_id , 0 , DC_QUERY_COST , CMD_BUILD_RAIL_VEHICLE )
) ;
S ET_DPARAM16 ( 4 , rvi - > capacity ) ;
S ET_DPARAM16 ( 1 , rvi - > weight ) ;
S ET_DPARAM16 ( 3 , _cargoc . names_long_p [ rvi - > cargo_type ] ) ;
S ET_DPARAM16 ( 2 , ( _cargoc . weights [ rvi - > cargo_type ] * rvi - > capacity > > 4 ) + rvi - > weight ) ;
S etDParam ( 4 , rvi - > capacity ) ;
S etDParam ( 1 , rvi - > weight ) ;
S etDParam ( 3 , _cargoc . names_long_p [ rvi - > cargo_type ] ) ;
S etDParam ( 2 , ( _cargoc . weights [ rvi - > cargo_type ] * rvi - > capacity > > 4 ) + rvi - > weight ) ;
DrawString ( 2 , 0x7F , STR_8821_COST_WEIGHT_T_T_CAPACITY , 0 ) ;
}
}
@ -309,7 +309,7 @@ static void DrawTrainDepotWindow(Window *w)
/* locate the depot struct */
for ( d = _depots ; d - > xy ! = ( TileIndex ) tile ; d + + ) { }
S ET_DPARAM16 ( 0 , d - > town_index ) ;
S etDParam ( 0 , d - > town_index ) ;
DrawWindowWidgets ( w ) ;
x = 2 ;
@ -326,7 +326,7 @@ static void DrawTrainDepotWindow(Window *w)
DrawTrainImage ( v , x + 21 , y , 10 , w - > hscroll . pos , WP ( w , traindepot_d ) . sel ) ;
/* Draw the train number */
S ET_DPARAM16 ( 0 , v - > unitnumber ) ;
S etDParam ( 0 , v - > unitnumber ) ;
DrawString ( x , y , ( v - > max_age - 366 < v - > age ) ? STR_00E3 : STR_00E2 , 0 ) ;
/* Draw the pretty flag */
DrawSprite ( v - > vehstatus & VS_STOPPED ? 0xC12 : 0xC13 , x + 15 , y ) ;
@ -622,8 +622,8 @@ static void RailVehicleRefitWndProc(Window *w, WindowEvent *e)
byte color ;
int cargo ;
S ET_DPARAM16 ( 0 , v - > string_id ) ;
S ET_DPARAM16 ( 1 , v - > unitnumber ) ;
S etDParam ( 0 , v - > string_id ) ;
S etDParam ( 1 , v - > unitnumber ) ;
DrawWindowWidgets ( w ) ;
DrawString ( 1 , 15 , STR_983F_SELECT_CARGO_TYPE_TO_CARRY , 0 ) ;
@ -671,9 +671,9 @@ static void RailVehicleRefitWndProc(Window *w, WindowEvent *e)
if ( cargo ! = - 1 ) {
int32 cost = DoCommandByTile ( v - > tile , v - > index , cargo , 0 , CMD_REFIT_RAIL_VEHICLE ) ;
if ( cost ! = CMD_ERROR ) {
S ET_DPARAM32 ( 2 , cost ) ;
S ET_DPARAM16 ( 0 , _cargoc . names_long_p [ cargo ] ) ;
S ET_DPARAM16 ( 1 , _returned_refit_amount ) ;
S etDParam ( 2 , cost ) ;
S etDParam ( 0 , _cargoc . names_long_p [ cargo ] ) ;
S etDParam ( 1 , _returned_refit_amount ) ;
DrawString ( 1 , 137 , STR_9840_NEW_CAPACITY_COST_OF_REFIT , 0 ) ;
}
}
@ -759,8 +759,8 @@ static void TrainViewWndProc(Window *w, WindowEvent *e)
/* draw widgets & caption */
S ET_DPARAM16 ( 0 , v - > string_id ) ;
S ET_DPARAM16 ( 1 , v - > unitnumber ) ;
S etDParam ( 0 , v - > string_id ) ;
S etDParam ( 1 , v - > unitnumber ) ;
DrawWindowWidgets ( w ) ;
/* draw the flag */
@ -774,22 +774,22 @@ static void TrainViewWndProc(Window *w, WindowEvent *e)
if ( v - > u . rail . last_speed = = 0 ) {
str = STR_8861_STOPPED ;
} else {
S ET_DPARAM16 ( 0 , v - > u . rail . last_speed * 10 > > 4 ) ;
S etDParam ( 0 , v - > u . rail . last_speed * 10 > > 4 ) ;
str = STR_TRAIN_STOPPING + _patches . vehicle_speed ;
}
} else {
switch ( v - > next_order & OT_MASK ) {
case OT_GOTO_STATION : {
str = STR_HEADING_FOR_STATION + _patches . vehicle_speed ;
S ET_DPARAM16 ( 0 , v - > next_order_param ) ;
S ET_DPARAM16 ( 1 , v - > u . rail . last_speed * 10 > > 4 ) ;
S etDParam ( 0 , v - > next_order_param ) ;
S etDParam ( 1 , v - > u . rail . last_speed * 10 > > 4 ) ;
} break ;
case OT_GOTO_DEPOT : {
Depot * dep = & _depots [ v - > next_order_param ] ;
S ET_DPARAM16 ( 0 , dep - > town_index ) ;
S etDParam ( 0 , dep - > town_index ) ;
str = STR_HEADING_FOR_TRAIN_DEPOT + _patches . vehicle_speed ;
S ET_DPARAM16 ( 1 , v - > u . rail . last_speed * 10 > > 4 ) ;
S etDParam ( 1 , v - > u . rail . last_speed * 10 > > 4 ) ;
} break ;
case OT_LOADING :
@ -798,16 +798,16 @@ static void TrainViewWndProc(Window *w, WindowEvent *e)
break ;
case OT_GOTO_WAYPOINT : {
S ET_DPARAM16 ( 0 , v - > next_order_param ) ;
S etDParam ( 0 , v - > next_order_param ) ;
str = STR_HEADING_FOR_WAYPOINT + _patches . vehicle_speed ;
S ET_DPARAM16 ( 1 , v - > u . rail . last_speed * 10 > > 4 ) ;
S etDParam ( 1 , v - > u . rail . last_speed * 10 > > 4 ) ;
break ;
}
default :
if ( v - > num_orders = = 0 ) {
str = STR_NO_ORDERS + _patches . vehicle_speed ;
S ET_DPARAM16 ( 0 , v - > u . rail . last_speed * 10 > > 4 ) ;
S etDParam ( 0 , v - > u . rail . last_speed * 10 > > 4 ) ;
} else
str = STR_EMPTY ;
break ;
@ -901,9 +901,9 @@ static void TrainDetailsCargoTab(Vehicle *v, int x, int y)
num = v - > cargo_count ;
str = STR_8812_EMPTY ;
if ( num ! = 0 ) {
S ET_DPARAM8 ( 0 , v - > cargo_type ) ;
S ET_DPARAM16 ( 1 , num ) ;
S ET_DPARAM16 ( 2 , v - > cargo_source ) ;
S etDParam ( 0 , v - > cargo_type ) ;
S etDParam ( 1 , num ) ;
S etDParam ( 2 , v - > cargo_source ) ;
str = STR_8813_FROM ;
}
DrawString ( x , y , str , 0 ) ;
@ -917,13 +917,13 @@ static void TrainDetailsInfoTab(Vehicle *v, int x, int y)
rvi = & _rail_vehicle_info [ v - > engine_type ] ;
if ( ! ( rvi - > flags & RVI_WAGON ) ) {
S ET_DPARAM16 ( 0 , GetCustomEngineName ( v - > engine_type ) ) ;
S ET_DPARAM16 ( 1 , v - > build_year + 1920 ) ;
S ET_DPARAM32 ( 2 , v - > value ) ;
S etDParam ( 0 , GetCustomEngineName ( v - > engine_type ) ) ;
S etDParam ( 1 , v - > build_year + 1920 ) ;
S etDParam ( 2 , v - > value ) ;
DrawString ( x , y , STR_882C_BUILT_VALUE , 0x10 ) ;
} else {
S ET_DPARAM16 ( 0 , GetCustomEngineName ( v - > engine_type ) ) ;
S ET_DPARAM32 ( 1 , v - > value ) ;
S etDParam ( 0 , GetCustomEngineName ( v - > engine_type ) ) ;
S etDParam ( 1 , v - > value ) ;
DrawString ( x , y , STR_882D_VALUE , 0x10 ) ;
}
}
@ -931,8 +931,8 @@ static void TrainDetailsInfoTab(Vehicle *v, int x, int y)
static void TrainDetailsCapacityTab ( Vehicle * v , int x , int y )
{
if ( v - > cargo_cap ! = 0 ) {
S ET_DPARAM16 ( 1 , v - > cargo_cap ) ;
S ET_DPARAM16 ( 0 , _cargoc . names_long_p [ v - > cargo_type ] ) ;
S etDParam ( 1 , v - > cargo_cap ) ;
S etDParam ( 0 , _cargoc . names_long_p [ v - > cargo_type ] ) ;
DrawString ( x , y , STR_013F_CAPACITY , 0 ) ;
}
}
@ -990,12 +990,12 @@ static void DrawTrainDetailsWindow(Window *w)
if ( ! _patches . servint_trains ) // disable service-scroller when interval is set to disabled
w - > disabled_state | = ( 1 < < 6 ) | ( 1 < < 7 ) ;
S ET_DPARAM16 ( 0 , v - > string_id ) ;
S ET_DPARAM16 ( 1 , v - > unitnumber ) ;
S etDParam ( 0 , v - > string_id ) ;
S etDParam ( 1 , v - > unitnumber ) ;
DrawWindowWidgets ( w ) ;
num = v - > age / 366 ;
S ET_DPARAM16 ( 1 , num ) ;
S etDParam ( 1 , num ) ;
x = 2 ;
@ -1005,26 +1005,26 @@ static void DrawTrainDetailsWindow(Window *w)
if ( ( uint16 ) ( v - > max_age - 366 ) < v - > age )
str + = STR_019B_YEARS - STR_019A_YEARS ;
}
S ET_DPARAM16 ( 0 , str ) ;
S ET_DPARAM16 ( 2 , v - > max_age / 366 ) ;
S ET_DPARAM32 ( 3 , GetTrainRunningCost ( v ) > > 8 ) ;
S etDParam ( 0 , str ) ;
S etDParam ( 2 , v - > max_age / 366 ) ;
S etDParam ( 3 , GetTrainRunningCost ( v ) > > 8 ) ;
DrawString ( x , 15 , STR_885D_AGE_RUNNING_COST_YR , 0 ) ;
S ET_DPARAM16 ( 2 , v - > max_speed * 10 > > 4 ) ;
S ET_DPARAM32 ( 1 , v - > u . rail . cached_power ) ;
S ET_DPARAM16 ( 0 , v - > u . rail . cached_weight ) ;
S etDParam ( 2 , v - > max_speed * 10 > > 4 ) ;
S etDParam ( 1 , v - > u . rail . cached_power ) ;
S etDParam ( 0 , v - > u . rail . cached_weight ) ;
DrawString ( x , 25 , STR_885E_WEIGHT_T_POWER_HP_MAX_SPEED , 0 ) ;
S ET_DPARAM32 ( 0 , v - > profit_this_year ) ;
S ET_DPARAM32 ( 1 , v - > profit_last_year ) ;
S etDParam ( 0 , v - > profit_this_year ) ;
S etDParam ( 1 , v - > profit_last_year ) ;
DrawString ( x , 35 , STR_885F_PROFIT_THIS_YEAR_LAST_YEAR , 0 ) ;
S ET_DPARAM8 ( 0 , 100 * ( v - > reliability > > 8 ) > > 8 ) ;
S ET_DPARAM16 ( 1 , v - > breakdowns_since_last_service ) ;
S etDParam ( 0 , 100 * ( v - > reliability > > 8 ) > > 8 ) ;
S etDParam ( 1 , v - > breakdowns_since_last_service ) ;
DrawString ( x , 45 , STR_8860_RELIABILITY_BREAKDOWNS , 0 ) ;
S ET_DPARAM16 ( 0 , v - > service_interval ) ;
S ET_DPARAM16 ( 1 , v - > date_of_last_service ) ;
S etDParam ( 0 , v - > service_interval ) ;
S etDParam ( 1 , v - > date_of_last_service ) ;
DrawString ( x + 11 , 141 , _patches . servint_ispercent ? STR_SERVICING_INTERVAL_PERCENT : STR_883C_SERVICING_INTERVAL_DAYS , 0 ) ;
x = 1 ;
@ -1050,10 +1050,10 @@ static void DrawTrainDetailsWindow(Window *w)
if ( tot_cargo [ i ] [ 1 ] > 0 & & - - sel < 0 & & sel > = - 5 ) {
y + = 14 ;
// STR_013F_TOTAL_CAPACITY :{LTBLUE}- {CARGO} ({SHORTCARGO})
S ET_DPARAM8 ( 0 , i ) ; // {CARGO} #1
S ET_DPARAM16 ( 1 , tot_cargo [ i ] [ 0 ] ) ; // {CARGO} #2
S ET_DPARAM8 ( 2 , i ) ; // {SHORTCARGO} #1
S ET_DPARAM16 ( 3 , tot_cargo [ i ] [ 1 ] ) ; // {SHORTCARGO} #2
S etDParam ( 0 , i ) ; // {CARGO} #1
S etDParam ( 1 , tot_cargo [ i ] [ 0 ] ) ; // {CARGO} #2
S etDParam ( 2 , i ) ; // {SHORTCARGO} #1
S etDParam ( 3 , tot_cargo [ i ] [ 1 ] ) ; // {SHORTCARGO} #2
DrawString ( x , y , STR_013F_TOTAL_CAPACITY , 0 ) ;
}
} while ( + + i ! = NUM_CARGO ) ;
@ -1072,7 +1072,7 @@ static void TrainDetailsWndProc(Window *w, WindowEvent *e)
switch ( e - > click . widget ) {
case 2 : /* name train */
v = & _vehicles [ w - > window_number ] ;
S ET_DPARAM16 ( 0 , v - > unitnumber ) ;
S etDParam ( 0 , v - > unitnumber ) ;
ShowQueryString ( v - > string_id , STR_8865_NAME_TRAIN , 31 , 150 , w - > window_class , w - > window_number ) ;
break ;
case 6 : /* inc serv interval */
@ -1256,9 +1256,9 @@ static void PlayerTrainsWndProc(Window *w, WindowEvent *e)
{
Player * p = DEREF_PLAYER ( window_number ) ;
/* Company Name -- (###) Trains */
S ET_DPARAM16 ( 0 , p - > name_1 ) ;
S ET_DPARAM32 ( 1 , p - > name_2 ) ;
S ET_DPARAM16 ( 2 , w - > vscroll . count ) ;
S etDParam ( 0 , p - > name_1 ) ;
S etDParam ( 1 , p - > name_2 ) ;
S etDParam ( 2 , w - > vscroll . count ) ;
DrawWindowWidgets ( w ) ;
}
/* draw sorting criteria string */
@ -1283,7 +1283,7 @@ static void PlayerTrainsWndProc(Window *w, WindowEvent *e)
DrawTrainImage ( v , x + 21 , y + 6 + _traininfo_vehicle_pitch , 10 , 0 , INVALID_VEHICLE ) ;
DrawVehicleProfitButton ( v , x , y + 13 ) ;
S ET_DPARAM16 ( 0 , v - > unitnumber ) ;
S etDParam ( 0 , v - > unitnumber ) ;
if ( IsTrainDepotTile ( v - > tile ) ) {
str = STR_021F ;
} else {
@ -1291,12 +1291,12 @@ static void PlayerTrainsWndProc(Window *w, WindowEvent *e)
}
DrawString ( x , y + 2 , str , 0 ) ;
S ET_DPARAM32 ( 0 , v - > profit_this_year ) ;
S ET_DPARAM32 ( 1 , v - > profit_last_year ) ;
S etDParam ( 0 , v - > profit_this_year ) ;
S etDParam ( 1 , v - > profit_last_year ) ;
DrawString ( x + 21 , y + 18 , STR_0198_PROFIT_THIS_YEAR_LAST_YEAR , 0 ) ;
if ( v - > string_id ! = STR_SV_TRAIN_NAME ) {
S ET_DPARAM16 ( 0 , v - > string_id ) ;
S etDParam ( 0 , v - > string_id ) ;
DrawString ( x + 21 , y , STR_01AB , 0 ) ;
}