Fix #1889: Now {tagframe} can be used in --filename-format for the filenames in a --data sheet

This commit is contained in:
David Capello 2018-10-11 17:00:48 -03:00
parent bccd3f1bf8
commit f2739d89f1
2 changed files with 5 additions and 13 deletions

View File

@ -149,16 +149,6 @@ int DocExporter::Item::frames() const
return doc->sprite()->totalFrames(); return doc->sprite()->totalFrames();
} }
doc::frame_t DocExporter::Item::firstFrame() const
{
if (selFrames)
return selFrames->firstFrame();
else if (frameTag)
return frameTag->fromFrame();
else
return 0;
}
doc::SelectedFrames DocExporter::Item::getSelectedFrames() const doc::SelectedFrames DocExporter::Item::getSelectedFrames() const
{ {
if (selFrames) if (selFrames)
@ -487,7 +477,7 @@ void DocExporter::captureSamples(Samples& samples)
(frameTag != nullptr)); // Has frame tag (frameTag != nullptr)); // Has frame tag
} }
frame_t frameFirst = item.firstFrame(); frame_t outputFrame = 0;
for (frame_t frame : item.getSelectedFrames()) { for (frame_t frame : item.getSelectedFrames()) {
FrameTag* innerTag = (frameTag ? frameTag: sprite->frameTags().innerTag(frame)); FrameTag* innerTag = (frameTag ? frameTag: sprite->frameTags().innerTag(frame));
FrameTag* outerTag = sprite->frameTags().outerTag(frame); FrameTag* outerTag = sprite->frameTags().outerTag(frame);
@ -498,7 +488,10 @@ void DocExporter::captureSamples(Samples& samples)
.groupName(layer && layer->parent() != sprite->root() ? layer->parent()->name(): "") .groupName(layer && layer->parent() != sprite->root() ? layer->parent()->name(): "")
.innerTagName(innerTag ? innerTag->name(): "") .innerTagName(innerTag ? innerTag->name(): "")
.outerTagName(outerTag ? outerTag->name(): "") .outerTagName(outerTag ? outerTag->name(): "")
.frame((frames > 1) ? frame-frameFirst: frame_t(-1)); .frame(outputFrame)
.tagFrame(innerTag ? frame - innerTag->fromFrame():
outputFrame);
++outputFrame;
std::string filename = filename_formatter(format, fnInfo); std::string filename = filename_formatter(format, fnInfo);

View File

@ -118,7 +118,6 @@ namespace app {
Item& operator=(const Item&) = delete; Item& operator=(const Item&) = delete;
int frames() const; int frames() const;
doc::frame_t firstFrame() const;
doc::SelectedFrames getSelectedFrames() const; doc::SelectedFrames getSelectedFrames() const;
}; };
typedef std::vector<Item> Items; typedef std::vector<Item> Items;