@@ -129,7 +129,6 @@ class Model : public libcube::Model, public kpi::TDocData<riistudio::g3d::G3DMod
129129
130130struct SceneData {
131131 std::vector<librii::g3d::ChrAnim> chrs;
132- std::vector<librii::g3d::ClrAnim> clrs;
133132 std::vector<librii::g3d::PatAnim> pats;
134133 std::vector<librii::g3d::BinaryVis> viss;
135134 std::string path;
@@ -147,32 +146,38 @@ class Collection
147146 kpi::MutCollectionRange<Model> getModels () { return { &mModels }; }
148147 kpi::MutCollectionRange<Texture> getTextures () { return { &mTextures }; }
149148 kpi::MutCollectionRange<SRT0> getAnim_Srts () { return { &mAnim_Srts }; }
149+ kpi::MutCollectionRange<CLR0> getAnim_Clrs () { return { &mAnim_Clrs }; }
150150 kpi::ConstCollectionRange<Model> getModels () const { return { &mModels }; }
151151 kpi::ConstCollectionRange<Texture> getTextures () const { return { &mTextures }; }
152152 kpi::ConstCollectionRange<SRT0> getAnim_Srts () const { return { &mAnim_Srts }; }
153+ kpi::ConstCollectionRange<CLR0> getAnim_Clrs () const { return { &mAnim_Clrs }; }
153154
154155 librii::g3d::Archive toLibRii () const ;
155156
156157protected:
157158 kpi::ICollection* v_getModels () const { return const_cast <kpi::ICollection*>(static_cast <const kpi::ICollection*>(&mModels )); }
158159 kpi::ICollection* v_getTextures () const { return const_cast <kpi::ICollection*>(static_cast <const kpi::ICollection*>(&mTextures )); }
159160 kpi::ICollection* v_getAnim_Srts () const { return const_cast <kpi::ICollection*>(static_cast <const kpi::ICollection*>(&mAnim_Srts )); }
161+ kpi::ICollection* v_getAnim_Clrs () const { return const_cast <kpi::ICollection*>(static_cast <const kpi::ICollection*>(&mAnim_Clrs )); }
160162 void onRelocate () {
161163 mModels .onParentMoved (this );
162164 mTextures .onParentMoved (this );
163165 mAnim_Srts .onParentMoved (this );
166+ mAnim_Clrs .onParentMoved (this );
164167 }
165168 Collection (Collection&& rhs) {
166169 new (&mModels ) decltype (mModels ) (std::move (rhs.mModels ));
167170 new (&mTextures ) decltype (mTextures ) (std::move (rhs.mTextures ));
168171 new (&mAnim_Srts ) decltype (mAnim_Srts ) (std::move (rhs.mAnim_Srts ));
172+ new (&mAnim_Clrs ) decltype (mAnim_Clrs ) (std::move (rhs.mAnim_Clrs ));
169173
170174 onRelocate ();
171175 }
172176 Collection (const Collection& rhs) {
173177 new (&mModels ) decltype (mModels ) (rhs.mModels );
174178 new (&mTextures ) decltype (mTextures ) (rhs.mTextures );
175179 new (&mAnim_Srts ) decltype (mAnim_Srts ) (rhs.mAnim_Srts );
180+ new (&mAnim_Clrs ) decltype (mAnim_Clrs ) (rhs.mAnim_Clrs );
176181
177182 onRelocate ();
178183 }
@@ -191,19 +196,22 @@ class Collection
191196 kpi::CollectionImpl<Model> mModels {this };
192197 kpi::CollectionImpl<Texture> mTextures {this };
193198 kpi::CollectionImpl<SRT0> mAnim_Srts {this };
199+ kpi::CollectionImpl<CLR0> mAnim_Clrs {this };
194200
195201public:
196202 struct _Memento : public kpi ::IMemento {
197203 SceneData sd;
198204 kpi::ConstPersistentVec<Model> mModels ;
199205 kpi::ConstPersistentVec<Texture> mTextures ;
200206 kpi::ConstPersistentVec<SRT0> mAnim_Srts ;
207+ kpi::ConstPersistentVec<CLR0> mAnim_Clrs ;
201208 template <typename M> _Memento (const M& _new, const kpi::IMemento* last=nullptr ) {
202209 const auto * old = last ? dynamic_cast <const _Memento*>(last) : nullptr ;
203210 sd = static_cast <const SceneData&>(_new);
204211 kpi::nextFolder (this ->mModels , _new.getModels (), old ? &old->mModels : nullptr );
205212 kpi::nextFolder (this ->mTextures , _new.getTextures (), old ? &old->mTextures : nullptr );
206213 kpi::nextFolder (this ->mAnim_Srts , _new.getAnim_Srts (), old ? &old->mAnim_Srts : nullptr );
214+ kpi::nextFolder (this ->mAnim_Clrs , _new.getAnim_Clrs (), old ? &old->mAnim_Clrs : nullptr );
207215 }
208216 };
209217 std::unique_ptr<kpi::IMemento> next (const kpi::IMemento* last) const {
@@ -216,6 +224,7 @@ class Collection
216224 kpi::fromFolder (getModels (), in->mModels );
217225 kpi::fromFolder (getTextures (), in->mTextures );
218226 kpi::fromFolder (getAnim_Srts (), in->mAnim_Srts );
227+ kpi::fromFolder (getAnim_Clrs (), in->mAnim_Clrs );
219228 }
220229 template <typename T> void * operator =(const T& rhs) { from (rhs); return this ; }
221230};
0 commit comments