diff --git a/src/app/WardrobePage/OutfitKnownGlitchesBadge.js b/src/app/WardrobePage/OutfitKnownGlitchesBadge.js
index f3d3cf0..d666145 100644
--- a/src/app/WardrobePage/OutfitKnownGlitchesBadge.js
+++ b/src/app/WardrobePage/OutfitKnownGlitchesBadge.js
@@ -40,6 +40,39 @@ function OutfitKnownGlitchesBadge({ appearance }) {
}
}
+ // Look for items with the OFFICIAL_SWF_IS_INCORRECT glitch.
+ for (const item of items) {
+ const itemHasBrokenOnNeopetsDotCom = item.appearance.layers.some((l) =>
+ (l.knownGlitches || []).includes("OFFICIAL_SWF_IS_INCORRECT")
+ );
+ const itemHasBrokenUnconvertedLayers = item.appearance.layers.some(
+ (l) =>
+ (l.knownGlitches || []).includes("OFFICIAL_SWF_IS_INCORRECT") &&
+ !layerUsesHTML5(l)
+ );
+ if (itemHasBrokenOnNeopetsDotCom) {
+ glitchMessages.push(
+
+ {itemHasBrokenUnconvertedLayers ? (
+ <>
+ We're aware of a glitch affecting the art for {item.name}.
+ Last time we checked, this glitch affected its appearance on
+ Neopets.com, too. Hopefully this will be fixed once it's converted
+ to HTML5!
+ >
+ ) : (
+ <>
+ We're aware of a previous glitch affecting the art for{" "}
+ {item.name}, but it might have been resolved during HTML5
+ conversion. Please use the feedback form on the homepage to let us
+ know if it looks right, or still looks wrong! Thank you!
+ >
+ )}
+
+ );
+ }
+ }
+
// Look for items with the OFFICIAL_SVG_IS_INCORRECT glitch.
for (const item of items) {
const itemHasOfficialSvgIsIncorrect = item.appearance.layers.some((l) =>
diff --git a/src/app/WardrobePage/support/ItemLayerSupportModal.js b/src/app/WardrobePage/support/ItemLayerSupportModal.js
index b09e47b..d88f8bf 100644
--- a/src/app/WardrobePage/support/ItemLayerSupportModal.js
+++ b/src/app/WardrobePage/support/ItemLayerSupportModal.js
@@ -430,6 +430,12 @@ function ItemLayerSupportKnownGlitchesFields({
Known glitches
+
+ Official SWF is incorrect{" "}
+
+ (Will display a message)
+
+
Official SVG is incorrect{" "}
@@ -439,7 +445,8 @@ function ItemLayerSupportKnownGlitchesFields({
Only fits pets with other body-specific assets{" "}
- (DTI's fault: bodyId=0 is a lie!)
+ (DTI's fault: bodyId=0 is a lie! Will mark incompatible for some
+ pets.)
diff --git a/src/server/types/AppearanceLayer.js b/src/server/types/AppearanceLayer.js
index e6abcac..5c74843 100644
--- a/src/server/types/AppearanceLayer.js
+++ b/src/server/types/AppearanceLayer.js
@@ -83,6 +83,16 @@ const typeDefs = gql`
}
enum AppearanceLayerKnownGlitch {
+ # This glitch means that the official SWF art for this layer is known to
+ # contain a glitch. (It probably also affects the PNG captured by Classic
+ # DTI, too.)
+ #
+ # In this case, there's no correct art we _can_ show until it's converted
+ # to HTML5. We'll show a message explaining the situation, and automatically
+ # change it to be more hesitant after HTML5 conversion, because we don't
+ # know in advance whether the layer will be fixed during conversion.
+ OFFICIAL_SWF_IS_INCORRECT
+
# This glitch means that, while the official manifest declares an SVG
# version of this layer, it is incorrect and does not visually match the
# PNG version that the official pet editor users.