|
@@ -383,25 +383,25 @@ struct RefitWindow : public Window {
|
|
|
case VEH_SHIP: command = CMD_REFIT_SHIP | CMD_MSG(STR_9841_CAN_T_REFIT_SHIP); break;
|
|
|
case VEH_AIRCRAFT: command = CMD_REFIT_AIRCRAFT | CMD_MSG(STR_A042_CAN_T_REFIT_AIRCRAFT); break;
|
|
|
}
|
|
|
if (DoCommandP(v->tile, v->index, this->cargo->cargo | this->cargo->subtype << 8, command)) delete this;
|
|
|
} else {
|
|
|
if (DoCommandP(v->tile, v->index, this->cargo->cargo | this->cargo->subtype << 8 | this->order << 16, CMD_ORDER_REFIT)) delete this;
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
virtual void OnResize(Point new_size, Point delta)
|
|
|
virtual void OnResize(Point delta)
|
|
|
{
|
|
|
this->vscroll.cap += delta.y / (int)this->resize.step_height;
|
|
|
this->widget[3].data = (this->vscroll.cap << 8) + 1;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
|
|
|
static const Widget _vehicle_refit_widgets[] = {
|
|
|
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
|
|
{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 239, 0, 13, STR_983B_REFIT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
|
|
{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 239, 14, 27, STR_983F_SELECT_CARGO_TYPE_TO_CARRY, STR_983D_SELECT_TYPE_OF_CARGO_FOR},
|
|
|
{ WWT_MATRIX, RESIZE_BOTTOM, COLOUR_GREY, 0, 227, 28, 139, 0x801, STR_EMPTY},
|
|
@@ -1143,25 +1143,25 @@ struct VehicleListWindow : public BaseVe
|
|
|
|
|
|
virtual void OnTick()
|
|
|
{
|
|
|
if (_pause_game != 0) return;
|
|
|
if (this->vehicles.NeedResort()) {
|
|
|
StationID station = ((this->window_number & VLW_MASK) == VLW_STATION_LIST) ? GB(this->window_number, 16, 16) : INVALID_STATION;
|
|
|
|
|
|
DEBUG(misc, 3, "Periodic resort %d list company %d at station %d", this->vehicle_type, this->owner, station);
|
|
|
this->SetDirty();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
virtual void OnResize(Point new_size, Point delta)
|
|
|
virtual void OnResize(Point delta)
|
|
|
{
|
|
|
this->vscroll.cap += delta.y / (int)this->resize.step_height;
|
|
|
this->widget[VLW_WIDGET_LIST].data = (this->vscroll.cap << 8) + 1;
|
|
|
}
|
|
|
|
|
|
virtual void OnInvalidateData(int data)
|
|
|
{
|
|
|
if (HasBit(data, 15) && (this->window_number & VLW_MASK) == VLW_SHARED_ORDERS) {
|
|
|
SB(this->window_number, 16, 16, GB(data, 16, 16));
|
|
|
this->vehicles.ForceRebuild();
|
|
|
return;
|
|
|
}
|
|
@@ -1566,25 +1566,25 @@ struct VehicleDetailsWindow : Window {
|
|
|
static const StringID _name_vehicle_error[] = {
|
|
|
STR_8866_CAN_T_NAME_TRAIN,
|
|
|
STR_902D_CAN_T_NAME_ROAD_VEHICLE,
|
|
|
STR_9832_CAN_T_NAME_SHIP,
|
|
|
STR_A031_CAN_T_NAME_AIRCRAFT
|
|
|
};
|
|
|
|
|
|
if (str == NULL) return;
|
|
|
|
|
|
DoCommandP(0, this->window_number, 0, CMD_RENAME_VEHICLE | CMD_MSG(_name_vehicle_error[GetVehicle(this->window_number)->type]), NULL, str);
|
|
|
}
|
|
|
|
|
|
virtual void OnResize(Point new_size, Point delta)
|
|
|
virtual void OnResize(Point delta)
|
|
|
{
|
|
|
if (delta.x != 0) ResizeButtons(this, VLD_WIDGET_DETAILS_CARGO_CARRIED, VLD_WIDGET_DETAILS_TOTAL_CARGO);
|
|
|
if (delta.y == 0) return;
|
|
|
|
|
|
this->vscroll.cap += delta.y / 14;
|
|
|
this->widget[VLD_WIDGET_MIDDLE_DETAILS].data = (this->vscroll.cap << 8) + 1;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
/** Vehicle details window descriptor. */
|
|
|
static const WindowDesc _vehicle_details_desc(
|
|
|
WDP_AUTO, WDP_AUTO, 405, 113, 405, 113,
|
|
@@ -2028,25 +2028,25 @@ struct VehicleViewWindow : Window {
|
|
|
case VVW_WIDGET_TURN_AROUND: // turn around
|
|
|
assert(v->type == VEH_TRAIN || v->type == VEH_ROAD);
|
|
|
DoCommandP(v->tile, v->index, 0,
|
|
|
_vehicle_command_translation_table[VCT_CMD_TURN_AROUND][v->type]);
|
|
|
break;
|
|
|
case VVW_WIDGET_FORCE_PROCEED: // force proceed
|
|
|
assert(v->type == VEH_TRAIN);
|
|
|
DoCommandP(v->tile, v->index, 0, CMD_FORCE_TRAIN_PROCEED | CMD_MSG(STR_8862_CAN_T_MAKE_TRAIN_PASS_SIGNAL));
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
virtual void OnResize(Point new_size, Point delta)
|
|
|
virtual void OnResize(Point delta)
|
|
|
{
|
|
|
this->viewport->width += delta.x;
|
|
|
this->viewport->height += delta.y;
|
|
|
this->viewport->virtual_width += delta.x;
|
|
|
this->viewport->virtual_height += delta.y;
|
|
|
}
|
|
|
|
|
|
virtual void OnTick()
|
|
|
{
|
|
|
const Vehicle *v = GetVehicle(this->window_number);
|
|
|
bool veh_stopped = v->IsStoppedInDepot();
|
|
|
|