Merge branch 'master' into vehicle_group_info
# Conflicts: # src/group_gui.cpp # src/saveload/vehicle_sl.cpp
This commit is contained in:
@@ -55,7 +55,7 @@ static const NWidgetPart _nested_group_widgets[] = {
|
||||
SetFill(1, 0), SetResize(0, 1), SetScrollbar(WID_GL_LIST_GROUP_SCROLLBAR),
|
||||
NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_GL_LIST_GROUP_SCROLLBAR),
|
||||
EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_GL_INFO), SetMinimalSize(200, 37), SetFill(1, 0), EndContainer(),
|
||||
NWidget(WWT_PANEL, COLOUR_GREY, WID_GL_INFO), SetFill(1, 0), EndContainer(),
|
||||
NWidget(NWID_HORIZONTAL),
|
||||
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_GL_CREATE_GROUP), SetFill(0, 1),
|
||||
SetDataTip(SPR_GROUP_CREATE_TRAIN, STR_GROUP_CREATE_TOOLTIP),
|
||||
@@ -373,7 +373,7 @@ public:
|
||||
max_icon_height = max(max_icon_height, GetSpriteSize(this->GetWidget<NWidgetCore>(WID_GL_REPLACE_PROTECTION)->widget_data).height);
|
||||
|
||||
/* ... minus the height of the group info ... */
|
||||
max_icon_height += (FONT_HEIGHT_NORMAL * 3) + 7;
|
||||
max_icon_height += (FONT_HEIGHT_NORMAL * 3) + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
|
||||
|
||||
/* Get a multiple of tiny_step_height of that amount */
|
||||
size->height = Ceil(size->height - max_icon_height, tiny_step_height);
|
||||
@@ -409,7 +409,7 @@ public:
|
||||
}
|
||||
|
||||
case WID_GL_INFO: {
|
||||
size->height = (FONT_HEIGHT_NORMAL * 3) + 7;
|
||||
size->height = (FONT_HEIGHT_NORMAL * 3) + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -540,34 +540,35 @@ public:
|
||||
Money this_year = 0;
|
||||
Money last_year = 0;
|
||||
uint32 occupancy = 0;
|
||||
uint32 group_vehicles = 0;
|
||||
uint32 vehicle_count = this->vehicles.Length();
|
||||
|
||||
for (uint i = 0, vehicle_count = this->vehicles.Length(); i < vehicle_count; i++) {
|
||||
for (uint i = 0; i < vehicle_count; i++) {
|
||||
const Vehicle *v = this->vehicles[i];
|
||||
|
||||
assert(v->owner == this->owner);
|
||||
|
||||
this_year += v->GetDisplayProfitThisYear();
|
||||
last_year += v->GetDisplayProfitLastYear();
|
||||
occupancy += v->trip_occupancy;
|
||||
group_vehicles++;
|
||||
}
|
||||
|
||||
const int left_edge = r.left + WD_FRAMERECT_LEFT + 8;
|
||||
const int right_edge = r.right - WD_FRAMERECT_RIGHT - 8;
|
||||
const int left = r.left + WD_FRAMERECT_LEFT + 8;
|
||||
const int right = r.right - WD_FRAMERECT_RIGHT - 8;
|
||||
|
||||
DrawString(left_edge, right_edge, r.top + WD_FRAMERECT_TOP + 1, STR_GROUP_PROFIT_THIS_YEAR, TC_BLACK);
|
||||
int y = r.top + WD_FRAMERECT_TOP;
|
||||
DrawString(left, right, y, STR_GROUP_PROFIT_THIS_YEAR, TC_BLACK);
|
||||
SetDParam(0, this_year);
|
||||
DrawString(left_edge, right_edge, r.top + WD_FRAMERECT_TOP + 1, STR_JUST_CURRENCY_LONG, TC_BLACK, SA_RIGHT);
|
||||
DrawString(left, right, y, STR_JUST_CURRENCY_LONG, TC_BLACK, SA_RIGHT);
|
||||
|
||||
DrawString(left_edge, right_edge, r.top + WD_FRAMERECT_TOP + FONT_HEIGHT_NORMAL + 2, STR_GROUP_PROFIT_LAST_YEAR, TC_BLACK);
|
||||
y += FONT_HEIGHT_NORMAL;
|
||||
DrawString(left, right, y, STR_GROUP_PROFIT_LAST_YEAR, TC_BLACK);
|
||||
SetDParam(0, last_year);
|
||||
DrawString(left_edge, right_edge, r.top + WD_FRAMERECT_TOP + FONT_HEIGHT_NORMAL + 2, STR_JUST_CURRENCY_LONG, TC_BLACK, SA_RIGHT);
|
||||
DrawString(left, right, y, STR_JUST_CURRENCY_LONG, TC_BLACK, SA_RIGHT);
|
||||
|
||||
DrawString(left_edge, right_edge, r.top + WD_FRAMERECT_TOP + 2 * FONT_HEIGHT_NORMAL + 3, STR_GROUP_OCCUPANCY, TC_BLACK);
|
||||
if (group_vehicles > 0) {
|
||||
SetDParam(0, occupancy / group_vehicles);
|
||||
DrawString(left_edge, right_edge, r.top + WD_FRAMERECT_TOP + 2 * FONT_HEIGHT_NORMAL + 3, STR_GROUP_OCCUPANCY_VALUE, TC_BLACK, SA_RIGHT);
|
||||
y += FONT_HEIGHT_NORMAL;
|
||||
DrawString(left, right, y, STR_GROUP_OCCUPANCY, TC_BLACK);
|
||||
if (vehicle_count > 0) {
|
||||
SetDParam(0, occupancy / vehicle_count);
|
||||
DrawString(left, right, y, STR_GROUP_OCCUPANCY_VALUE, TC_BLACK, SA_RIGHT);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -673,8 +674,8 @@ public:
|
||||
|
||||
this->vehicle_sel = v->index;
|
||||
|
||||
int image = v->GetImage(_current_text_dir == TD_RTL ? DIR_E : DIR_W, EIT_IN_LIST);
|
||||
SetObjectToPlaceWnd(image, GetVehiclePalette(v), HT_DRAG, this);
|
||||
SetObjectToPlaceWnd(SPR_CURSOR_MOUSE, PAL_NONE, HT_DRAG, this);
|
||||
SetMouseCursorVehicle(v, EIT_IN_LIST);
|
||||
_cursor.vehchain = true;
|
||||
|
||||
this->SetDirty();
|
||||
@@ -715,7 +716,7 @@ public:
|
||||
case WID_GL_REPLACE_PROTECTION: {
|
||||
const Group *g = Group::GetIfValid(this->vli.index);
|
||||
if (g != NULL) {
|
||||
DoCommandP(0, this->vli.index, !g->replace_protection | (_ctrl_pressed << 1), CMD_SET_GROUP_REPLACE_PROTECTION);
|
||||
DoCommandP(0, this->vli.index, (g->replace_protection ? 0 : 1) | (_ctrl_pressed << 1), CMD_SET_GROUP_REPLACE_PROTECTION);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user