mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-01 01:20:25 +00:00
Mark unknown layer/cel/chunk/color profile types as incompatibility errors
This commit is contained in:
parent
387b46d72b
commit
32ed6622d4
@ -160,6 +160,11 @@ bool AsepriteDecoder::decode()
|
|||||||
m_allLayers.push_back(newLayer);
|
m_allLayers.push_back(newLayer);
|
||||||
last_object_with_user_data = newLayer;
|
last_object_with_user_data = newLayer;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
// Add a null layer only to match the "layer index" in cel chunk
|
||||||
|
m_allLayers.push_back(nullptr);
|
||||||
|
last_object_with_user_data = nullptr;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,6 +177,9 @@ bool AsepriteDecoder::decode()
|
|||||||
last_cel = cel;
|
last_cel = cel;
|
||||||
last_object_with_user_data = cel->data();
|
last_object_with_user_data = cel->data();
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
last_object_with_user_data = nullptr;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -284,7 +292,7 @@ bool AsepriteDecoder::decode()
|
|||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
delegate()->error(
|
delegate()->incompatibilityError(
|
||||||
fmt::format("Warning: Unsupported chunk type {0} (skipping)", chunk_type));
|
fmt::format("Warning: Unsupported chunk type {0} (skipping)", chunk_type));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -583,6 +591,11 @@ doc::Layer* AsepriteDecoder::readLayerChunk(AsepriteHeader* header,
|
|||||||
layer = new doc::LayerTilemap(sprite, tsi);
|
layer = new doc::LayerTilemap(sprite, tsi);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
delegate()->incompatibilityError(
|
||||||
|
fmt::format("Unknown layer type found: {0}", layer_type));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (layer) {
|
if (layer) {
|
||||||
@ -975,6 +988,11 @@ doc::Cel* AsepriteDecoder::readCelChunk(doc::Sprite* sprite,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
delegate()->incompatibilityError(
|
||||||
|
fmt::format("Unknown cel type found: {0}", cel_type));
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cel)
|
if (!cel)
|
||||||
@ -1038,6 +1056,11 @@ void AsepriteDecoder::readColorProfile(doc::Sprite* sprite)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
delegate()->incompatibilityError(
|
||||||
|
fmt::format("Unknown color profile type found: {0}", type));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
sprite->setColorSpace(cs);
|
sprite->setColorSpace(cs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user