mirror of https://github.com/OpenTTD/OpenTTD
Change: Sort cargo list in build industry window.
parent
c8883baf24
commit
fc1a616d9f
|
@ -377,8 +377,15 @@ class BuildIndustryWindow : public Window {
|
||||||
size_t numcargo = 0;
|
size_t numcargo = 0;
|
||||||
size_t firstcargo = 0;
|
size_t firstcargo = 0;
|
||||||
|
|
||||||
for (size_t j = 0; j < cargolist.size(); j++) {
|
/* Use map to sort cargo list. The data is in two separate spans, so keep the index of each entry. */
|
||||||
if (!IsValidCargoID(cargolist[j])) continue;
|
std::map<CargoID, size_t, CargoIDComparator> positions;
|
||||||
|
for (auto it = std::begin(cargolist); it != std::end(cargolist); ++it) {
|
||||||
|
if (!IsValidCargoID(*it)) continue;
|
||||||
|
positions.emplace(*it, std::distance(std::begin(cargolist), it));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const auto &pair : positions) {
|
||||||
|
size_t j = pair.second;
|
||||||
numcargo++;
|
numcargo++;
|
||||||
if (numcargo == 1) {
|
if (numcargo == 1) {
|
||||||
firstcargo = j;
|
firstcargo = j;
|
||||||
|
|
Loading…
Reference in New Issue