|
@@ -744,6 +744,7 @@ static void ReplaceVehicleWndProc(Window
|
|
|
uint16 click_scroll_pos = w->vscroll2.pos;
|
|
|
uint16 click_scroll_cap = w->vscroll2.cap;
|
|
|
byte click_side = 1;
|
|
|
Player *p = GetPlayer(_local_player);
|
|
|
|
|
|
switch(e->event) {
|
|
|
case WE_PAINT:
|
|
@@ -813,13 +814,13 @@ static void ReplaceVehicleWndProc(Window
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if ( selected_id[0] == selected_id[1] || _autoreplace_array[selected_id[0]] == selected_id[1]
|
|
|
if ( selected_id[0] == selected_id[1] || p->engine_replacement[selected_id[0]] == selected_id[1]
|
|
|
|| selected_id[0] == -1 || selected_id[1] == -1 )
|
|
|
SETBIT(w->disabled_state, 4);
|
|
|
else
|
|
|
CLRBIT(w->disabled_state, 4);
|
|
|
|
|
|
if ( _autoreplace_array[selected_id[0]] == selected_id[0] || selected_id[0] == -1 )
|
|
|
if (p->engine_replacement[selected_id[0]] == INVALID_ENGINE || selected_id[0] == -1)
|
|
|
SETBIT(w->disabled_state, 6);
|
|
|
else
|
|
|
CLRBIT(w->disabled_state, 6);
|
|
@@ -831,10 +832,10 @@ static void ReplaceVehicleWndProc(Window
|
|
|
|
|
|
// sets up the string for the vehicle that is being replaced to
|
|
|
if ( selected_id[0] != -1 ) {
|
|
|
if ( selected_id[0] == _autoreplace_array[selected_id[0]] )
|
|
|
if (p->engine_replacement[selected_id[0]] == INVALID_ENGINE)
|
|
|
SetDParam(0, STR_NOT_REPLACING);
|
|
|
else
|
|
|
SetDParam(0, GetCustomEngineName(_autoreplace_array[selected_id[0]]));
|
|
|
SetDParam(0, GetCustomEngineName(p->engine_replacement[selected_id[0]]));
|
|
|
} else {
|
|
|
SetDParam(0, STR_NOT_REPLACING_VEHICLE_SELECTED);
|
|
|
}
|
|
@@ -908,14 +909,17 @@ static void ReplaceVehicleWndProc(Window
|
|
|
ShowDropDownMenu(w, _rail_types_list, _railtype_selected_in_replace_gui, 15, ~GetPlayer(_local_player)->avail_railtypes, 1);
|
|
|
break;
|
|
|
}
|
|
|
case 4: {
|
|
|
_autoreplace_array[WP(w,replaceveh_d).sel_engine[0]] = WP(w,replaceveh_d).sel_engine[1];
|
|
|
case 4: { /* Start replacing */
|
|
|
EngineID veh_from = WP(w, replaceveh_d).sel_engine[0];
|
|
|
EngineID veh_to = WP(w, replaceveh_d).sel_engine[1];
|
|
|
DoCommandP(0, 3, veh_from + (veh_to << 16), NULL, CMD_REPLACE_VEHICLE);
|
|
|
SetWindowDirty(w);
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case 6: {
|
|
|
_autoreplace_array[WP(w,replaceveh_d).sel_engine[0]] = WP(w,replaceveh_d).sel_engine[0];
|
|
|
case 6: { /* Stop replacing */
|
|
|
EngineID veh_from = WP(w, replaceveh_d).sel_engine[0];
|
|
|
DoCommandP(0, 3, veh_from + (INVALID_ENGINE << 16), NULL, CMD_REPLACE_VEHICLE);
|
|
|
SetWindowDirty(w);
|
|
|
break;
|
|
|
}
|