- os << serializeString(node_placement_prediction);
- os << serializeString(sound_place.name);
- writeF1000(os, sound_place.gain);
- writeF1000(os, range);
- os << serializeString(sound_place_failed.name);
- writeF1000(os, sound_place_failed.gain);
- os << serializeString(palette_image);
- writeU32(os, color.color);
-
- if (version >= 4) {
- writeF1000(os, sound_place.pitch);
- writeF1000(os, sound_place_failed.pitch);
- os << serializeString(inventory_overlay);
- os << serializeString(wield_overlay);
- }
+
+ os << serializeString16(node_placement_prediction);
+
+ // Version from ContentFeatures::serialize to keep in sync
+ sound_place.serialize(os, CONTENTFEATURES_VERSION);
+ sound_place_failed.serialize(os, CONTENTFEATURES_VERSION);
+
+ writeF32(os, range);
+ os << serializeString16(palette_image);
+ writeARGB8(os, color);
+ os << serializeString16(inventory_overlay);
+ os << serializeString16(wield_overlay);
+
+ os << serializeString16(short_description);