Debug: Add general mechanism to dump a sprite group chain
This commit is contained in:
@@ -1635,3 +1635,17 @@ void AnalyseEngineCallbacks()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DumpVehicleSpriteGroup(const Vehicle *v, std::function<void(const char *)> print)
|
||||
{
|
||||
const SpriteGroup *root_spritegroup = nullptr;
|
||||
if (v->IsGroundVehicle()) root_spritegroup = GetWagonOverrideSpriteSet(v->engine_type, v->cargo_type, v->GetGroundVehicleCache()->first_engine);
|
||||
|
||||
if (root_spritegroup == nullptr) {
|
||||
const Engine *e = Engine::Get(v->engine_type);
|
||||
CargoID cargo = v->cargo_type;
|
||||
assert(cargo < lengthof(e->grf_prop.spritegroup));
|
||||
root_spritegroup = e->grf_prop.spritegroup[cargo] != nullptr ? e->grf_prop.spritegroup[cargo] : e->grf_prop.spritegroup[CT_DEFAULT];
|
||||
}
|
||||
DumpSpriteGroup(root_spritegroup, std::move(print));
|
||||
}
|
||||
|
Reference in New Issue
Block a user