From 787cd15c14b65f50b06c6b9ccecf28e937318430 Mon Sep 17 00:00:00 2001
From: Rob Blanckaert <rob@withpiper.com>
Date: Sun, 22 Oct 2017 11:41:57 -0700
Subject: - Clear colors when reading property info. - Set vertex colors on
 upright_sprites.

---
 src/content_cao.cpp       | 2 ++
 src/object_properties.cpp | 1 +
 2 files changed, 3 insertions(+)

diff --git a/src/content_cao.cpp b/src/content_cao.cpp
index 9d87c733e..a8b4ae2e1 100644
--- a/src/content_cao.cpp
+++ b/src/content_cao.cpp
@@ -1134,10 +1134,12 @@ void GenericCAO::updateTextures(std::string mod)
 					buf->getMaterial().AmbientColor = m_prop.colors[1];
 					buf->getMaterial().DiffuseColor = m_prop.colors[1];
 					buf->getMaterial().SpecularColor = m_prop.colors[1];
+					setMeshColor(mesh, m_prop.colors[1]);
 				} else if (!m_prop.colors.empty()) {
 					buf->getMaterial().AmbientColor = m_prop.colors[0];
 					buf->getMaterial().DiffuseColor = m_prop.colors[0];
 					buf->getMaterial().SpecularColor = m_prop.colors[0];
+					setMeshColor(mesh, m_prop.colors[0]);
 				}
 
 				buf->getMaterial().setFlag(video::EMF_TRILINEAR_FILTER, use_trilinear_filter);
diff --git a/src/object_properties.cpp b/src/object_properties.cpp
index 26a19a082..e330bc24a 100644
--- a/src/object_properties.cpp
+++ b/src/object_properties.cpp
@@ -145,6 +145,7 @@ void ObjectProperties::deSerialize(std::istream &is)
 	makes_footstep_sound = readU8(is);
 	automatic_rotate = readF1000(is);
 	mesh = deSerializeString(is);
+	colors.clear();
 	u32 color_count = readU16(is);
 	for (u32 i = 0; i < color_count; i++){
 		colors.push_back(readARGB8(is));
-- 
cgit v1.2.3