diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index cd17a604f4..021ff8a264 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -998,14 +998,14 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec } -/* virtual */ ResolverResult VehicleResolverObject::ResolveReal(const RealSpriteGroup &group) const +/* virtual */ const SpriteGroup *VehicleResolverObject::ResolveReal(const RealSpriteGroup &group) const { const Vehicle *v = this->self_scope.v; if (v == nullptr) { if (!group.loading.empty()) return group.loading[0]; if (!group.loaded.empty()) return group.loaded[0]; - return std::monostate{}; + return nullptr; } const Order &order = v->First()->current_order; @@ -1014,7 +1014,7 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec uint totalsets = static_cast(in_motion ? group.loaded.size() : group.loading.size()); - if (totalsets == 0) return std::monostate{}; + if (totalsets == 0) return nullptr; uint set = (v->cargo.StoredCount() * totalsets) / std::max(1u, v->cargo_cap); set = std::min(set, totalsets - 1); diff --git a/src/newgrf_engine.h b/src/newgrf_engine.h index 0bf8f3af2f..92d87a795f 100644 --- a/src/newgrf_engine.h +++ b/src/newgrf_engine.h @@ -64,7 +64,7 @@ struct VehicleResolverObject : public SpecializedResolverObjectstation_scope.st == nullptr || !Station::IsExpected(this->station_scope.st)) { if (!group.loading.empty()) return group.loading[0]; - return std::monostate{}; + return nullptr; } uint cargo = 0; @@ -566,7 +566,7 @@ uint32_t Waypoint::GetNewGRFVariable(const ResolverObject &, uint8_t variable, [ } if (!group.loading.empty()) return group.loading[0]; - return std::monostate{}; + return nullptr; } GrfSpecFeature StationResolverObject::GetFeature() const diff --git a/src/newgrf_station.h b/src/newgrf_station.h index 0a8301387e..7857df82b6 100644 --- a/src/newgrf_station.h +++ b/src/newgrf_station.h @@ -75,7 +75,7 @@ struct StationResolverObject : public SpecializedResolverObject