diff options
author | peter1138 <peter1138@openttd.org> | 2008-05-28 10:29:48 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2008-05-28 10:29:48 +0000 |
commit | bb002067363b6d331b04c7cea0cfb240a03c42c9 (patch) | |
tree | 98229bb37d8e318c46e4bbd27ecf90e9636ad14a | |
parent | 504d0d1ae5aad221ab1e0e23f060f0ff5e6f103a (diff) | |
download | openttd-bb002067363b6d331b04c7cea0cfb240a03c42c9.tar.xz |
(svn r13306) -Fix (r8362): Pass engine list by pointer instead of making a copy of it.
-rw-r--r-- | src/autoreplace_gui.cpp | 4 | ||||
-rw-r--r-- | src/build_vehicle_gui.cpp | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/autoreplace_gui.cpp b/src/autoreplace_gui.cpp index 88d5a9db8..3f1caf10f 100644 --- a/src/autoreplace_gui.cpp +++ b/src/autoreplace_gui.cpp @@ -27,7 +27,7 @@ #include "table/sprites.h" #include "table/strings.h" -void DrawEngineList(VehicleType type, int x, int y, const EngineList eng_list, uint16 min, uint16 max, EngineID selected_id, int count_location, GroupID selected_group); +void DrawEngineList(VehicleType type, int x, int y, const EngineList *eng_list, uint16 min, uint16 max, EngineID selected_id, int count_location, GroupID selected_group); static const StringID _rail_types_list[] = { STR_RAIL_VEHICLES, @@ -386,7 +386,7 @@ public: EngineID end = min((i == 0 ? this->vscroll.cap : this->vscroll2.cap) + start, list.size()); /* 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].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) { diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index 715938a9d..8f453170f 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -745,13 +745,13 @@ static void DrawVehicleEngine(VehicleType type, int x, int y, EngineID engine, S * @param selected_id what engine to highlight as selected, if any * @param count_location Offset to print the engine count (used by autoreplace). 0 means it's off */ -void DrawEngineList(VehicleType type, int x, int y, const EngineList eng_list, uint16 min, uint16 max, EngineID selected_id, int count_location, GroupID selected_group) +void DrawEngineList(VehicleType type, int x, int y, const EngineList *eng_list, uint16 min, uint16 max, EngineID selected_id, int count_location, GroupID selected_group) { byte step_size = GetVehicleListHeight(type); byte x_offset = 0; byte y_offset = 0; - assert(max <= eng_list.size()); + assert(max <= eng_list->size()); switch (type) { case VEH_TRAIN: @@ -779,7 +779,7 @@ void DrawEngineList(VehicleType type, int x, int y, const EngineList eng_list, u } for (; min < max; min++, y += step_size) { - const EngineID engine = eng_list[min]; + const EngineID engine = (*eng_list)[min]; /* Note: num_engines is only used in the autoreplace GUI, so it is correct to use _local_player here. */ const uint num_engines = GetGroupNumEngines(_local_player, selected_group, engine); @@ -1117,7 +1117,7 @@ struct BuildVehicleWindow : Window { this->DrawWidgets(); - DrawEngineList(this->vehicle_type, this->widget[BUILD_VEHICLE_WIDGET_LIST].left + 2, this->widget[BUILD_VEHICLE_WIDGET_LIST].top + 1, this->eng_list, this->vscroll.pos, max, this->sel_engine, 0, DEFAULT_GROUP); + DrawEngineList(this->vehicle_type, this->widget[BUILD_VEHICLE_WIDGET_LIST].left + 2, this->widget[BUILD_VEHICLE_WIDGET_LIST].top + 1, &this->eng_list, this->vscroll.pos, max, this->sel_engine, 0, DEFAULT_GROUP); if (this->sel_engine != INVALID_ENGINE) { const Widget *wi = &this->widget[BUILD_VEHICLE_WIDGET_PANEL]; |