mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-01-21 03:12:41 +01:00
Codechange: Do not use a mutable global to return calculated VarAction2 results.
This commit is contained in:
@@ -998,14 +998,14 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec
|
||||
}
|
||||
|
||||
|
||||
/* virtual */ const SpriteGroup *VehicleResolverObject::ResolveReal(const RealSpriteGroup &group) const
|
||||
/* virtual */ ResolverResult 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 nullptr;
|
||||
return std::monostate{};
|
||||
}
|
||||
|
||||
const Order &order = v->First()->current_order;
|
||||
@@ -1014,7 +1014,7 @@ static uint32_t VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *objec
|
||||
|
||||
uint totalsets = static_cast<uint>(in_motion ? group.loaded.size() : group.loading.size());
|
||||
|
||||
if (totalsets == 0) return nullptr;
|
||||
if (totalsets == 0) return std::monostate{};
|
||||
|
||||
uint set = (v->cargo.StoredCount() * totalsets) / std::max<uint16_t>(1u, v->cargo_cap);
|
||||
set = std::min(set, totalsets - 1);
|
||||
|
||||
Reference in New Issue
Block a user