X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbuilders%2Fsequencetemplate.cpp;h=3ad973139010ae60b6e5cc5d602a9a0e1aca8aef;hp=d852643301fa0ecac87fe0114b514bbe4478b45e;hb=3ac3a51c623271da815c8ee60c484445871753bf;hpb=885b8ad08cfcefba4b95ec9028fa1e25df2fe171 diff --git a/source/builders/sequencetemplate.cpp b/source/builders/sequencetemplate.cpp index d8526433..3ad97313 100644 --- a/source/builders/sequencetemplate.cpp +++ b/source/builders/sequencetemplate.cpp @@ -113,7 +113,11 @@ void SequenceTemplate::Loader::step_with_slot(const string &tag, const string &r stp.tag = tag; stp.slot_name = rend; if(coll) - load_sub(stp, *coll); + { + Step::Loader ldr(stp, *coll); + ldr.set_inline_base_name(format("%s/%d.step", get_source(), obj.steps.size())); + load_sub_with(ldr); + } else load_sub(stp); @@ -145,6 +149,11 @@ void SequenceTemplate::Step::Loader::init() add("scene", &Loader::scene); } +void SequenceTemplate::Step::Loader::set_inline_base_name(const string &n) +{ + inline_base_name = n; +} + void SequenceTemplate::Step::Loader::blend_predefined(const string &name) { const Blend *bln = 0; @@ -187,13 +196,13 @@ void SequenceTemplate::Step::Loader::lighting_inline() { RefPtr lightn = new Lighting; load_sub(*lightn); - obj.lighting = lightn; + get_collection().add(inline_base_name+".lightn", lightn.get()); + obj.lighting = lightn.release(); } void SequenceTemplate::Step::Loader::lighting(const string &name) { obj.lighting = &get_collection().get(name); - obj.lighting.keep(); } void SequenceTemplate::Step::Loader::object(const string &name)