diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 92e1581ab3..b8987e3a16 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -223,7 +223,7 @@ public: } virtual void ExtraInfo(uint index, NIExtraInfoOutput &output) const {} - virtual void SpriteDump(uint index, DumpSpriteGroupPrinter print) const {} + virtual void SpriteDump(uint index, SpriteGroupDumper &dumper) const {} virtual bool ShowExtraInfoOnly(uint index) const { return false; }; virtual bool ShowExtraInfoIncludingGRFIDOnly(uint index) const { return false; }; virtual bool ShowSpriteDumpButton(uint index) const { return false; }; @@ -566,12 +566,11 @@ struct NewGRFInspectWindow : Window { const_cast(this)->highlight_tag_lines.clear(); const_cast(this)->nfo_line_lines.clear(); if (this->sprite_dump) { - SpriteGroupDumper::use_shadows = this->sprite_dump_unopt; bool collapsed = false; const SpriteGroup *collapse_group = nullptr; uint collapse_lines = 0; char tmp_buf[256]; - nih->SpriteDump(index, [&](const SpriteGroup *group, DumpSpriteGroupPrintOp operation, uint32 highlight_tag, const char *buf) { + SpriteGroupDumper dumper([&](const SpriteGroup *group, DumpSpriteGroupPrintOp operation, uint32 highlight_tag, const char *buf) { if (this->log_console && operation == DSGPO_PRINT) DEBUG(misc, 0, " %s", buf); if (operation == DSGPO_NFO_LINE) { @@ -623,7 +622,8 @@ struct NewGRFInspectWindow : Window { } ::DrawString(ir.left, ir.right, ir.top + (scroll_offset * this->resize.step_height), buf, colour); }); - SpriteGroupDumper::use_shadows = false; + dumper.use_shadows = this->sprite_dump_unopt; + nih->SpriteDump(index, dumper); return; } else { NewGRFInspectWindow *this_mutable = const_cast(this); diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp index 8753111776..970d3badcc 100644 --- a/src/newgrf_engine.cpp +++ b/src/newgrf_engine.cpp @@ -1660,7 +1660,7 @@ void AnalyseEngineCallbacks() } } -void DumpVehicleSpriteGroup(const Vehicle *v, DumpSpriteGroupPrinter print) +void DumpVehicleSpriteGroup(const Vehicle *v, SpriteGroupDumper &dumper) { char buffer[512]; const Engine *e = Engine::Get(v->engine_type); @@ -1670,7 +1670,7 @@ void DumpVehicleSpriteGroup(const Vehicle *v, DumpSpriteGroupPrinter print) 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); + dumper.Print(buffer); } } @@ -1684,15 +1684,14 @@ void DumpVehicleSpriteGroup(const Vehicle *v, DumpSpriteGroupPrinter print) root_spritegroup = e->grf_prop.spritegroup[CT_DEFAULT]; seprintf(buffer, lastof(buffer), "CT_DEFAULT"); } - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); } - SpriteGroupDumper dumper(print); dumper.DumpSpriteGroup(root_spritegroup, 0); for (uint i = 0; i < NUM_CARGO + 2; i++) { if (e->grf_prop.spritegroup[i] != root_spritegroup && e->grf_prop.spritegroup[i] != nullptr) { - print(nullptr, DSGPO_PRINT, 0, ""); + dumper.Print(""); switch (i) { case CT_DEFAULT: seprintf(buffer, lastof(buffer), "OTHER SPRITE GROUP: CT_DEFAULT"); @@ -1704,14 +1703,14 @@ void DumpVehicleSpriteGroup(const Vehicle *v, DumpSpriteGroupPrinter print) seprintf(buffer, lastof(buffer), "OTHER SPRITE GROUP: Cargo: %u", i); break; } - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); dumper.DumpSpriteGroup(e->grf_prop.spritegroup[i], 0); } } for (const WagonOverride &wo : e->overrides) { if (wo.group != root_spritegroup && wo.group != nullptr) { - print(nullptr, DSGPO_PRINT, 0, ""); - print(nullptr, DSGPO_PRINT, 0, "OTHER SPRITE GROUP: Wagon override"); + dumper.Print(""); + dumper.Print("OTHER SPRITE GROUP: Wagon override"); dumper.DumpSpriteGroup(wo.group, 0); } } diff --git a/src/newgrf_generic.cpp b/src/newgrf_generic.cpp index 3ef4fd6f24..0e4b5fad4a 100644 --- a/src/newgrf_generic.cpp +++ b/src/newgrf_generic.cpp @@ -293,16 +293,15 @@ bool IsGetTownZonesCallbackHandlerPresent() return false; } -void DumpGenericCallbackSpriteGroups(GrfSpecFeature feature, DumpSpriteGroupPrinter print) +void DumpGenericCallbackSpriteGroups(GrfSpecFeature feature, SpriteGroupDumper &dumper) { - SpriteGroupDumper dumper(print); bool first = true; for (GenericCallbackList::const_reverse_iterator it = _gcl[feature].rbegin(); it != _gcl[feature].rend(); ++it) { - if (!first) print(nullptr, DSGPO_PRINT, 0, ""); + if (!first) dumper.Print(""); char buffer[64]; seprintf(buffer, lastof(buffer), "GRF: %08X, town zone cb enabled: %s", BSWAP32(it->file->grfid), HasBit(it->file->observed_feature_tests, GFTOF_TOWN_ZONE_CALLBACK) ? "yes" : "no"); - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); first = false; dumper.DumpSpriteGroup(it->group, 0); } diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index d536074eee..24de0e97f1 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -720,12 +720,12 @@ bool IndustryTemporarilyRefusesCargo(Industry *ind, CargoID cargo_type) return false; } -void DumpIndustrySpriteGroup(const IndustrySpec *spec, DumpSpriteGroupPrinter print) +void DumpIndustrySpriteGroup(const IndustrySpec *spec, SpriteGroupDumper &dumper) { - DumpSpriteGroup(spec->grf_prop.spritegroup[0], std::move(print)); + dumper.DumpSpriteGroup(spec->grf_prop.spritegroup[0], 0); } -void DumpIndustryTileSpriteGroup(const IndustryTileSpec *spec, DumpSpriteGroupPrinter print) +void DumpIndustryTileSpriteGroup(const IndustryTileSpec *spec, SpriteGroupDumper &dumper) { - DumpSpriteGroup(spec->grf_prop.spritegroup[0], std::move(print)); + dumper.DumpSpriteGroup(spec->grf_prop.spritegroup[0], 0); } diff --git a/src/newgrf_newlandscape.cpp b/src/newgrf_newlandscape.cpp index b394487368..45c4e2592a 100644 --- a/src/newgrf_newlandscape.cpp +++ b/src/newgrf_newlandscape.cpp @@ -104,15 +104,14 @@ NewLandscapeResolverObject::NewLandscapeResolverObject(const GRFFile *grffile, c } } -void DumpNewLandscapeRocksSpriteGroups(DumpSpriteGroupPrinter print) +void DumpNewLandscapeRocksSpriteGroups(SpriteGroupDumper &dumper) { - SpriteGroupDumper dumper(print); bool first = true; for (const GRFFile *grf : _new_landscape_rocks_grfs) { - if (!first) print(nullptr, DSGPO_PRINT, 0, ""); + if (!first) dumper.Print(""); char buffer[64]; seprintf(buffer, lastof(buffer), "GRF: %08X", BSWAP32(grf->grfid)); - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); first = false; dumper.DumpSpriteGroup(grf->new_rocks_group, 0); } diff --git a/src/newgrf_newsignals.cpp b/src/newgrf_newsignals.cpp index b089b8dfe6..8412b59c7f 100644 --- a/src/newgrf_newsignals.cpp +++ b/src/newgrf_newsignals.cpp @@ -127,15 +127,14 @@ uint GetNewSignalsVerticalClearanceInfo(TileIndex tile, uint z) } } -void DumpNewSignalsSpriteGroups(DumpSpriteGroupPrinter print) +void DumpNewSignalsSpriteGroups(SpriteGroupDumper &dumper) { - SpriteGroupDumper dumper(print); bool first = true; for (const GRFFile *grf : _new_signals_grfs) { - if (!first) print(nullptr, DSGPO_PRINT, 0, ""); + if (!first) dumper.Print(""); char buffer[64]; seprintf(buffer, lastof(buffer), "GRF: %08X", BSWAP32(grf->grfid)); - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); first = false; dumper.DumpSpriteGroup(grf->new_signals_group, 0); } diff --git a/src/newgrf_object.cpp b/src/newgrf_object.cpp index e0ac20081b..546c266d78 100644 --- a/src/newgrf_object.cpp +++ b/src/newgrf_object.cpp @@ -639,7 +639,7 @@ void TriggerObjectAnimation(Object *o, ObjectAnimationTrigger trigger, const Obj } } -void DumpObjectSpriteGroup(const ObjectSpec *spec, DumpSpriteGroupPrinter print) +void DumpObjectSpriteGroup(const ObjectSpec *spec, SpriteGroupDumper &dumper) { - DumpSpriteGroup(spec->grf_prop.spritegroup[0], std::move(print)); + dumper.DumpSpriteGroup(spec->grf_prop.spritegroup[0], 0); } diff --git a/src/newgrf_railtype.cpp b/src/newgrf_railtype.cpp index e70d3c4092..3ea0d33e41 100644 --- a/src/newgrf_railtype.cpp +++ b/src/newgrf_railtype.cpp @@ -272,7 +272,7 @@ uint8 GetReverseRailTypeTranslation(RailType railtype, const GRFFile *grffile) return 0xFF; } -void DumpRailTypeSpriteGroup(RailType rt, DumpSpriteGroupPrinter print) +void DumpRailTypeSpriteGroup(RailType rt, SpriteGroupDumper &dumper) { char buffer[64]; const RailTypeInfo *rti = GetRailTypeInfo(rt); @@ -294,13 +294,11 @@ void DumpRailTypeSpriteGroup(RailType rt, DumpSpriteGroupPrinter print) }; static_assert(lengthof(sprite_group_names) == RTSG_END); - SpriteGroupDumper dumper(print); - bool non_first_group = false; for (RailTypeSpriteGroup rtsg = (RailTypeSpriteGroup)0; rtsg < RTSG_END; rtsg = (RailTypeSpriteGroup)(rtsg + 1)) { if (rti->group[rtsg] != nullptr) { if (non_first_group) { - print(nullptr, DSGPO_PRINT, 0, ""); + dumper.Print(""); } else { non_first_group = true; } @@ -309,7 +307,7 @@ void DumpRailTypeSpriteGroup(RailType rt, DumpSpriteGroupPrinter print) if (rti->grffile[rtsg] != nullptr) { b += seprintf(b, lastof(buffer), ", GRF: %08X", BSWAP32(rti->grffile[rtsg]->grfid)); } - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); dumper.DumpSpriteGroup(rti->group[rtsg], 0); } } diff --git a/src/newgrf_roadstop.cpp b/src/newgrf_roadstop.cpp index 2aae8d0bfa..49850881a6 100644 --- a/src/newgrf_roadstop.cpp +++ b/src/newgrf_roadstop.cpp @@ -680,7 +680,7 @@ void StationUpdateRoadStopCachedTriggers(BaseStation *st) } } -void DumpRoadStopSpriteGroup(const BaseStation *st, const RoadStopSpec *spec, DumpSpriteGroupPrinter print) +void DumpRoadStopSpriteGroup(const BaseStation *st, const RoadStopSpec *spec, SpriteGroupDumper &dumper) { CargoID ctype = CT_DEFAULT_NA; @@ -703,5 +703,5 @@ void DumpRoadStopSpriteGroup(const BaseStation *st, const RoadStopSpec *spec, Du ctype = CT_DEFAULT; } - DumpSpriteGroup(spec->grf_prop.spritegroup[ctype], std::move(print)); + dumper.DumpSpriteGroup(spec->grf_prop.spritegroup[ctype], 0); } diff --git a/src/newgrf_roadtype.cpp b/src/newgrf_roadtype.cpp index 4933e678a6..dbc1e9f05f 100644 --- a/src/newgrf_roadtype.cpp +++ b/src/newgrf_roadtype.cpp @@ -168,7 +168,7 @@ uint8 GetReverseRoadTypeTranslation(RoadType roadtype, const GRFFile *grffile) return 0xFF; } -void DumpRoadTypeSpriteGroup(RoadType rt, DumpSpriteGroupPrinter print) +void DumpRoadTypeSpriteGroup(RoadType rt, SpriteGroupDumper &dumper) { char buffer[64]; const RoadTypeInfo *rti = GetRoadTypeInfo(rt); @@ -189,8 +189,6 @@ void DumpRoadTypeSpriteGroup(RoadType rt, DumpSpriteGroupPrinter print) }; static_assert(lengthof(sprite_group_names) == ROTSG_END); - SpriteGroupDumper dumper(print); - for (RoadTypeSpriteGroup rtsg = (RoadTypeSpriteGroup)0; rtsg < ROTSG_END; rtsg = (RoadTypeSpriteGroup)(rtsg + 1)) { if (rti->group[rtsg] != nullptr) { char *b = buffer; @@ -198,9 +196,9 @@ void DumpRoadTypeSpriteGroup(RoadType rt, DumpSpriteGroupPrinter print) if (rti->grffile[rtsg] != nullptr) { b += seprintf(b, lastof(buffer), ", GRF: %08X", BSWAP32(rti->grffile[rtsg]->grfid)); } - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); dumper.DumpSpriteGroup(rti->group[rtsg], 0); - print(nullptr, DSGPO_PRINT, 0, ""); + dumper.Print(""); } } } diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp index 5287ff1de7..265839c499 100644 --- a/src/newgrf_spritegroup.cpp +++ b/src/newgrf_spritegroup.cpp @@ -589,8 +589,6 @@ static char *DumpSpriteGroupAdjust(char *p, const char *last, const Deterministi return p; } -bool SpriteGroupDumper::use_shadows = false; - void SpriteGroupDumper::DumpSpriteGroup(const SpriteGroup *sg, const char *padding, uint flags) { uint32 highlight_tag = 0; @@ -671,7 +669,7 @@ void SpriteGroupDumper::DumpSpriteGroup(const SpriteGroup *sg, const char *paddi const std::vector *ranges = &(dsg->ranges); bool calculated_result = dsg->calculated_result; - if (SpriteGroupDumper::use_shadows) { + if (this->use_shadows) { auto iter = _deterministic_sg_shadows.find(dsg); if (iter != _deterministic_sg_shadows.end()) { default_group = iter->second.default_group; @@ -786,7 +784,7 @@ void SpriteGroupDumper::DumpSpriteGroup(const SpriteGroup *sg, const char *paddi const std::vector *groups = &(rsg->groups); - if (SpriteGroupDumper::use_shadows) { + if (this->use_shadows) { auto iter = _randomized_sg_shadows.find(rsg); if (iter != _randomized_sg_shadows.end()) { groups = &(iter->second.groups); @@ -930,9 +928,3 @@ void SpriteGroupDumper::DumpSpriteGroup(const SpriteGroup *sg, const char *paddi } } } - -void DumpSpriteGroup(const SpriteGroup *sg, DumpSpriteGroupPrinter print) -{ - SpriteGroupDumper dumper(std::move(print)); - dumper.DumpSpriteGroup(sg, 0); -} diff --git a/src/newgrf_spritegroup.h b/src/newgrf_spritegroup.h index fae7e60ae8..8191b261eb 100644 --- a/src/newgrf_spritegroup.h +++ b/src/newgrf_spritegroup.h @@ -770,7 +770,7 @@ enum DumpSpriteGroupPrintOp { using DumpSpriteGroupPrinter = std::function; struct SpriteGroupDumper { - static bool use_shadows; + bool use_shadows = false; private: char buffer[1024]; @@ -794,9 +794,13 @@ public: { this->DumpSpriteGroup(sg, "", flags); } + + void Print(const char *msg) + { + this->print_fn(nullptr, DSGPO_PRINT, 0, msg); + } }; -void DumpSpriteGroup(const SpriteGroup *sg, DumpSpriteGroupPrinter print); uint32 EvaluateDeterministicSpriteGroupAdjust(DeterministicSpriteGroupSize size, const DeterministicSpriteGroupAdjust &adjust, ScopeResolver *scope, uint32 last_value, uint32 value); #endif /* NEWGRF_SPRITEGROUP_H */ diff --git a/src/newgrf_station.cpp b/src/newgrf_station.cpp index d06ae4658b..f1527cec7e 100644 --- a/src/newgrf_station.cpp +++ b/src/newgrf_station.cpp @@ -1032,7 +1032,7 @@ void StationUpdateCachedTriggers(BaseStation *st) } } -void DumpStationSpriteGroup(const StationSpec *statspec, BaseStation *st, DumpSpriteGroupPrinter print) +void DumpStationSpriteGroup(const StationSpec *statspec, BaseStation *st, SpriteGroupDumper &dumper) { char buffer[512]; @@ -1052,14 +1052,13 @@ void DumpStationSpriteGroup(const StationSpec *statspec, BaseStation *st, DumpSp seprintf(buffer, lastof(buffer), "Cargo: %u", ro.station_scope.cargo_type); break; } - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); - SpriteGroupDumper dumper(print); dumper.DumpSpriteGroup(ro.root_spritegroup, 0); for (uint i = 0; i < NUM_CARGO + 3; i++) { if (statspec->grf_prop.spritegroup[i] != ro.root_spritegroup && statspec->grf_prop.spritegroup[i] != nullptr) { - print(nullptr, DSGPO_PRINT, 0, ""); + dumper.Print(""); switch (i) { case CT_DEFAULT: seprintf(buffer, lastof(buffer), "OTHER SPRITE GROUP: CT_DEFAULT"); @@ -1074,7 +1073,7 @@ void DumpStationSpriteGroup(const StationSpec *statspec, BaseStation *st, DumpSp seprintf(buffer, lastof(buffer), "OTHER SPRITE GROUP: Cargo: %u", i); break; } - print(nullptr, DSGPO_PRINT, 0, buffer); + dumper.Print(buffer); dumper.DumpSpriteGroup(statspec->grf_prop.spritegroup[i], 0); } } diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index 99ee2ca66b..6c76ff58d5 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -661,10 +661,10 @@ class NIHVehicle : public NIHelper { output.print(buffer); } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpVehicleSpriteGroup(const Vehicle *v, DumpSpriteGroupPrinter print); - DumpVehicleSpriteGroup(Vehicle::Get(index), std::move(print)); + extern void DumpVehicleSpriteGroup(const Vehicle *v, SpriteGroupDumper &dumper); + DumpVehicleSpriteGroup(Vehicle::Get(index), dumper); } }; @@ -813,10 +813,10 @@ class NIHStation : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpStationSpriteGroup(const StationSpec *statspec, BaseStation *st, DumpSpriteGroupPrinter print); - DumpStationSpriteGroup(GetStationSpec(index), BaseStation::GetByTile(index), std::move(print)); + extern void DumpStationSpriteGroup(const StationSpec *statspec, BaseStation *st, SpriteGroupDumper &dumper); + DumpStationSpriteGroup(GetStationSpec(index), BaseStation::GetByTile(index), dumper); } }; @@ -919,9 +919,9 @@ class NIHHouse : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - DumpSpriteGroup(HouseSpec::Get(GetHouseType(index))->grf_prop.spritegroup[0], std::move(print)); + dumper.DumpSpriteGroup(HouseSpec::Get(GetHouseType(index))->grf_prop.spritegroup[0], 0); } }; @@ -992,12 +992,12 @@ class NIHIndustryTile : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { const IndustryTileSpec *indts = GetIndustryTileSpec(GetIndustryGfx(index)); if (indts) { - extern void DumpIndustryTileSpriteGroup(const IndustryTileSpec *spec, DumpSpriteGroupPrinter print); - DumpIndustryTileSpriteGroup(indts, std::move(print)); + extern void DumpIndustryTileSpriteGroup(const IndustryTileSpec *spec, SpriteGroupDumper &dumper); + DumpIndustryTileSpriteGroup(indts, dumper); } } }; @@ -1227,12 +1227,12 @@ class NIHIndustry : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { const IndustrySpec *spec = (const IndustrySpec *)this->GetSpec(index); if (spec) { - extern void DumpIndustrySpriteGroup(const IndustrySpec *spec, DumpSpriteGroupPrinter print); - DumpIndustrySpriteGroup(spec, std::move(print)); + extern void DumpIndustrySpriteGroup(const IndustrySpec *spec, SpriteGroupDumper &dumper); + DumpIndustrySpriteGroup(spec, dumper); } } }; @@ -1307,9 +1307,9 @@ class NIHCargo : public NIHelper { output.print(buffer); } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - DumpSpriteGroup(CargoSpec::Get(index)->group, std::move(print)); + dumper.DumpSpriteGroup(CargoSpec::Get(index)->group, 0); } }; @@ -1435,10 +1435,10 @@ class NIHSignals : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpNewSignalsSpriteGroups(DumpSpriteGroupPrinter print); - DumpNewSignalsSpriteGroups(std::move(print)); + extern void DumpNewSignalsSpriteGroups(SpriteGroupDumper &dumper); + DumpNewSignalsSpriteGroups(dumper); } }; @@ -1576,10 +1576,10 @@ class NIHObject : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpObjectSpriteGroup(const ObjectSpec *spec, DumpSpriteGroupPrinter print); - DumpObjectSpriteGroup(ObjectSpec::GetByTile(index), std::move(print)); + extern void DumpObjectSpriteGroup(const ObjectSpec *spec, SpriteGroupDumper &dumper); + DumpObjectSpriteGroup(ObjectSpec::GetByTile(index), dumper); } }; @@ -1705,10 +1705,10 @@ class NIHRailType : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpRailTypeSpriteGroup(RailType rt, DumpSpriteGroupPrinter print); - DumpRailTypeSpriteGroup(GetTileRailType(index), std::move(print)); + extern void DumpRailTypeSpriteGroup(RailType rt, SpriteGroupDumper &dumper); + DumpRailTypeSpriteGroup(GetTileRailType(index), dumper); } }; @@ -1924,10 +1924,10 @@ class NIHTown : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpGenericCallbackSpriteGroups(GrfSpecFeature feature, DumpSpriteGroupPrinter print); - DumpGenericCallbackSpriteGroups(GSF_FAKE_TOWNS, std::move(print)); + extern void DumpGenericCallbackSpriteGroups(GrfSpecFeature feature, SpriteGroupDumper &dumper); + DumpGenericCallbackSpriteGroups(GSF_FAKE_TOWNS, dumper); } }; @@ -2156,14 +2156,14 @@ class NIHRoadType : public NIHelper { writeInfo(RTT_TRAM); } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { for (RoadTramType rtt : { RTT_ROAD, RTT_TRAM }) { RoadType rt = GetRoadType(index, rtt); if (rt == INVALID_ROADTYPE) continue; - extern void DumpRoadTypeSpriteGroup(RoadType rt, DumpSpriteGroupPrinter print); - DumpRoadTypeSpriteGroup(rt, print); + extern void DumpRoadTypeSpriteGroup(RoadType rt, SpriteGroupDumper &dumper); + DumpRoadTypeSpriteGroup(rt, dumper); } } }; @@ -2257,10 +2257,10 @@ class NIHRoadStop : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpRoadStopSpriteGroup(const BaseStation *st, const RoadStopSpec *spec, DumpSpriteGroupPrinter print); - DumpRoadStopSpriteGroup(BaseStation::GetByTile(index), GetRoadStopSpec(index), std::move(print)); + extern void DumpRoadStopSpriteGroup(const BaseStation *st, const RoadStopSpec *spec, SpriteGroupDumper &dumper); + DumpRoadStopSpriteGroup(BaseStation::GetByTile(index), GetRoadStopSpec(index), dumper); } }; @@ -2319,10 +2319,10 @@ class NIHNewLandscape : public NIHelper { } } - /* virtual */ void SpriteDump(uint index, DumpSpriteGroupPrinter print) const override + /* virtual */ void SpriteDump(uint index, SpriteGroupDumper &dumper) const override { - extern void DumpNewLandscapeRocksSpriteGroups(DumpSpriteGroupPrinter print); - DumpNewLandscapeRocksSpriteGroups(std::move(print)); + extern void DumpNewLandscapeRocksSpriteGroups(SpriteGroupDumper &dumper); + DumpNewLandscapeRocksSpriteGroups(dumper); } };