|
@@ -24,13 +24,13 @@
|
|
|
#include "window_gui.h"
|
|
|
#include "engine_gui.h"
|
|
|
|
|
|
#include "table/sprites.h"
|
|
|
#include "table/strings.h"
|
|
|
|
|
|
void DrawEngineList(VehicleType type, int x, int y, const GUIEngineList *eng_list, uint16 min, uint16 max, EngineID selected_id, int count_location, GroupID selected_group);
|
|
|
void DrawEngineList(VehicleType type, int x, int r, int y, const GUIEngineList *eng_list, uint16 min, uint16 max, EngineID selected_id, int count_location, GroupID selected_group);
|
|
|
|
|
|
static const StringID _rail_types_list[] = {
|
|
|
STR_RAIL_VEHICLES,
|
|
|
STR_ELRAIL_VEHICLES,
|
|
|
STR_MONORAIL_VEHICLES,
|
|
|
STR_MAGLEV_VEHICLES,
|
|
@@ -381,13 +381,13 @@ public:
|
|
|
uint widget = (i == 0) ? RVW_WIDGET_LEFT_MATRIX : RVW_WIDGET_RIGHT_MATRIX;
|
|
|
GUIEngineList *list = &this->list[i]; // which list to draw
|
|
|
EngineID start = i == 0 ? this->vscroll.pos : this->vscroll2.pos; // what is the offset for the start (scrolling)
|
|
|
EngineID end = min((i == 0 ? this->vscroll.cap : this->vscroll2.cap) + start, list->Length());
|
|
|
|
|
|
/* Do the actual drawing */
|
|
|
DrawEngineList((VehicleType)this->window_number, this->widget[widget].left + 2, this->widget[widget].top + 1, list, start, end, this->sel_engine[i], i == 0 ? this->widget[RVW_WIDGET_LEFT_MATRIX].right - 2 : 0, selected_group);
|
|
|
DrawEngineList((VehicleType)this->window_number, this->widget[widget].left + 2, this->widget[widget].right, this->widget[widget].top + 1, list, start, end, this->sel_engine[i], i == 0 ? this->widget[RVW_WIDGET_LEFT_MATRIX].right - 2 : 0, selected_group);
|
|
|
|
|
|
/* Also draw the details if an engine is selected */
|
|
|
if (this->sel_engine[i] != INVALID_ENGINE) {
|
|
|
const Widget *wi = &this->widget[i == 0 ? RVW_WIDGET_LEFT_DETAILS : RVW_WIDGET_RIGHT_DETAILS];
|
|
|
int text_end = DrawVehiclePurchaseInfo(wi->left + 2, wi->top + 1, wi->right - wi->left - 2, this->sel_engine[i]);
|
|
|
|