Fix: Don't use a loop to test if classid is valid. (#10818)

Additionally the Object class test was broken.
This commit is contained in:
PeterN 2023-05-13 22:27:32 +01:00 committed by GitHub
parent 1fe7bbba8a
commit 07473bfd2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 21 deletions

View File

@ -182,19 +182,8 @@ public:
} else {
/* Check if the previously selected object class is not available anymore as a
* result of starting a new game without the corresponding NewGRF. */
bool available = false;
for (uint i = 0; ObjectClass::GetClassCount(); ++i) {
if ((ObjectClassID)i == _selected_object_class) {
available = true;
break;
}
}
if (available) {
this->SelectOtherClass(_selected_object_class);
} else {
this->SelectOtherClass(this->object_classes[0]);
}
bool available = _selected_object_class < ObjectClass::GetClassCount();
this->SelectOtherClass(available ? _selected_object_class : this->object_classes[0]);
}
if (this->CanRestoreSelectedObject()) {

View File

@ -1089,14 +1089,7 @@ public:
} else {
/* Check if the previously selected station class is not available anymore as a
* result of starting a new game without the corresponding NewGRF. */
bool available = false;
for (uint i = 0; i < StationClass::GetClassCount(); ++i) {
if ((StationClassID)i == _railstation.station_class) {
available = true;
break;
}
}
bool available = _railstation.station_class < StationClass::GetClassCount();
this->SelectOtherClass(available ? _railstation.station_class : StationClassID::STAT_CLASS_DFLT);
}
}