mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-25 10:43:46 +00:00
Fix data recovery process for collapsed layer groups
This commit is contained in:
parent
f57c298ad6
commit
5b5764e40e
@ -72,20 +72,37 @@ public:
|
|||||||
if (!saveObject("frtag", frtag, &Writer::writeFrameTag))
|
if (!saveObject("frtag", frtag, &Writer::writeFrameTag))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (Cel* cel : spr->uniqueCels()) {
|
// Get all layers (visible, hidden, subchildren, etc.)
|
||||||
if (!saveObject("img", cel->image(), &Writer::writeImage))
|
LayerList layers = spr->allLayers();
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!saveObject("celdata", cel->data(), &Writer::writeCelData))
|
// Save original cel data (skip links)
|
||||||
return false;
|
for (Layer* lay : layers) {
|
||||||
|
CelList cels;
|
||||||
|
lay->getCels(cels);
|
||||||
|
|
||||||
|
for (Cel* cel : cels) {
|
||||||
|
if (cel->link()) // Skip link
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!saveObject("img", cel->image(), &Writer::writeImage))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!saveObject("celdata", cel->data(), &Writer::writeCelData))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Cel* cel : spr->cels())
|
// Save all cels (original and links)
|
||||||
if (!saveObject("cel", cel, &Writer::writeCel))
|
for (Layer* lay : layers) {
|
||||||
return false;
|
CelList cels;
|
||||||
|
lay->getCels(cels);
|
||||||
|
|
||||||
|
for (Cel* cel : cels)
|
||||||
|
if (!saveObject("cel", cel, &Writer::writeCel))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Save all layers (top level, groups, children, etc.)
|
// Save all layers (top level, groups, children, etc.)
|
||||||
LayerList layers = spr->allLayers();
|
|
||||||
for (Layer* lay : layers)
|
for (Layer* lay : layers)
|
||||||
if (!saveObject("lay", lay, &Writer::writeLayerStructure))
|
if (!saveObject("lay", lay, &Writer::writeLayerStructure))
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user