From 4ecf20cf9dc37af113629b7e8dfbace2fda31b91 Mon Sep 17 00:00:00 2001 From: Guillaume Melquiond Date: Mon, 9 Aug 2010 09:03:03 +0000 Subject: [PATCH] Avoided creation of temporary animations. --- src/builder.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/builder.cpp b/src/builder.cpp index 465b3c46845..1ba42e3d845 100644 --- a/src/builder.cpp +++ b/src/builder.cpp @@ -328,11 +328,10 @@ bool terrain_builder::load_images(building_rule &rule) foreach(rule_image& ri, constraint.images) { foreach(rule_image_variant& variant, ri.variants) { - typedef animated::frame_description frame_info; - std::vector frame_info_vector; - //TODO: improve this, 99% of terrains are not animated. std::vector frames = utils::parenthetical_split(variant.image_string,','); + if (frames.empty()) return false; + foreach(const std::string& frame, frames) { const std::vector items = utils::split(frame, ':'); const std::string& str = items.front(); @@ -356,15 +355,9 @@ bool terrain_builder::load_images(building_rule &rule) } else { locator = image::locator(filename, modif); } - frame_info_vector.push_back(frame_info(time,locator)); + variant.image.add_frame(time, locator); } - if(frame_info_vector.empty()) - return false; - - animated th(frame_info_vector); - - variant.image = th; variant.image.start_animation(0, true); } }