Debug: Show name of root sprite group shown in vehicle debug window
This commit is contained in:
@@ -561,7 +561,7 @@ struct NewGRFInspectWindow : Window {
|
|||||||
if (group != nullptr) const_cast<NewGRFInspectWindow *>(this)->sprite_group_lines[offset] = group;
|
if (group != nullptr) const_cast<NewGRFInspectWindow *>(this)->sprite_group_lines[offset] = group;
|
||||||
if (highlight_tag != 0) const_cast<NewGRFInspectWindow *>(this)->highlight_tag_lines[offset] = highlight_tag;
|
if (highlight_tag != 0) const_cast<NewGRFInspectWindow *>(this)->highlight_tag_lines[offset] = highlight_tag;
|
||||||
|
|
||||||
TextColour colour = (this->selected_sprite_group == group) ? TC_LIGHT_BLUE : TC_BLACK;
|
TextColour colour = (this->selected_sprite_group == group && group != nullptr) ? TC_LIGHT_BLUE : TC_BLACK;
|
||||||
if (highlight_tag != 0 && this->selected_highlight_tag == highlight_tag) colour = TC_YELLOW;
|
if (highlight_tag != 0 && this->selected_highlight_tag == highlight_tag) colour = TC_YELLOW;
|
||||||
::DrawString(r.left + LEFT_OFFSET, r.right - RIGHT_OFFSET, r.top + TOP_OFFSET + (scroll_offset * this->resize.step_height), buf, colour);
|
::DrawString(r.left + LEFT_OFFSET, r.right - RIGHT_OFFSET, r.top + TOP_OFFSET + (scroll_offset * this->resize.step_height), buf, colour);
|
||||||
});
|
});
|
||||||
|
@@ -1621,14 +1621,28 @@ void AnalyseEngineCallbacks()
|
|||||||
|
|
||||||
void DumpVehicleSpriteGroup(const Vehicle *v, DumpSpriteGroupPrinter print)
|
void DumpVehicleSpriteGroup(const Vehicle *v, DumpSpriteGroupPrinter print)
|
||||||
{
|
{
|
||||||
|
char buffer[512];
|
||||||
const SpriteGroup *root_spritegroup = nullptr;
|
const SpriteGroup *root_spritegroup = nullptr;
|
||||||
if (v->IsGroundVehicle()) root_spritegroup = GetWagonOverrideSpriteSet(v->engine_type, v->cargo_type, v->GetGroundVehicleCache()->first_engine);
|
if (v->IsGroundVehicle()) {
|
||||||
|
root_spritegroup = GetWagonOverrideSpriteSet(v->engine_type, v->cargo_type, v->GetGroundVehicleCache()->first_engine);
|
||||||
|
if (root_spritegroup != nullptr) {
|
||||||
|
seprintf(buffer, lastof(buffer), "Wagon Override for cargo: %u, engine type: %u", v->cargo_type, v->GetGroundVehicleCache()->first_engine);
|
||||||
|
print(nullptr, DSGPO_PRINT, 0, buffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (root_spritegroup == nullptr) {
|
if (root_spritegroup == nullptr) {
|
||||||
const Engine *e = Engine::Get(v->engine_type);
|
const Engine *e = Engine::Get(v->engine_type);
|
||||||
CargoID cargo = v->cargo_type;
|
CargoID cargo = v->cargo_type;
|
||||||
assert(cargo < lengthof(e->grf_prop.spritegroup));
|
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];
|
if (e->grf_prop.spritegroup[cargo] != nullptr) {
|
||||||
|
root_spritegroup = e->grf_prop.spritegroup[cargo];
|
||||||
|
seprintf(buffer, lastof(buffer), "Cargo: %u", cargo);
|
||||||
|
} else {
|
||||||
|
root_spritegroup = e->grf_prop.spritegroup[CT_DEFAULT];
|
||||||
|
seprintf(buffer, lastof(buffer), "CT_DEFAULT");
|
||||||
|
}
|
||||||
|
print(nullptr, DSGPO_PRINT, 0, buffer);
|
||||||
}
|
}
|
||||||
DumpSpriteGroup(root_spritegroup, std::move(print));
|
DumpSpriteGroup(root_spritegroup, std::move(print));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user