Added: #1440 Parse filter for out of order parsing tricks

--HG--
branch : build_pipeline_v3
hg/feature/build_pipeline_v3
kaetemi 13 years ago
parent e5cd5eb497
commit 6af13cafd4

@ -65,7 +65,7 @@ const TSClassId CAnimatable::SuperClassId = 0x77a60fbd; /* Not official, please
const CAnimatableClassDesc AnimatableClassDesc(&DllPluginDescBuiltin); const CAnimatableClassDesc AnimatableClassDesc(&DllPluginDescBuiltin);
const CAnimatableSuperClassDesc AnimatableSuperClassDesc(&AnimatableClassDesc); const CAnimatableSuperClassDesc AnimatableSuperClassDesc(&AnimatableClassDesc);
void CAnimatable::parse(uint16 version) void CAnimatable::parse(uint16 version, uint filter)
{ {
CSceneClass::parse(version); CSceneClass::parse(version);
if (!m_ChunksOwnsPointers) if (!m_ChunksOwnsPointers)
@ -83,7 +83,7 @@ void CAnimatable::clean()
} }
} }
void CAnimatable::build(uint16 version) void CAnimatable::build(uint16 version, uint filter)
{ {
CSceneClass::build(version); CSceneClass::build(version);
if (m_AppData) if (m_AppData)

@ -67,9 +67,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -60,7 +60,7 @@ const TSClassId CBaseObject::SuperClassId = CReferenceTarget::SuperClassId;
const CBaseObjectClassDesc BaseObjectClassDesc(&DllPluginDescBuiltin); const CBaseObjectClassDesc BaseObjectClassDesc(&DllPluginDescBuiltin);
// const CBaseObjectSuperClassDesc BaseObjectSuperClassDesc(&BaseObjectClassDesc); // const CBaseObjectSuperClassDesc BaseObjectSuperClassDesc(&BaseObjectClassDesc);
void CBaseObject::parse(uint16 version) void CBaseObject::parse(uint16 version, uint filter)
{ {
CReferenceTarget::parse(version); CReferenceTarget::parse(version);
} }
@ -70,7 +70,7 @@ void CBaseObject::clean()
CReferenceTarget::clean(); CReferenceTarget::clean();
} }
void CBaseObject::build(uint16 version) void CBaseObject::build(uint16 version, uint filter)
{ {
CReferenceTarget::build(version); CReferenceTarget::build(version);
} }

@ -60,9 +60,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -58,7 +58,7 @@ const NLMISC::CClassId CEditablePatch::ClassId = NLMISC::CClassId(0x00001030, 0x
const TSClassId CEditablePatch::SuperClassId = CPatchObject::SuperClassId; const TSClassId CEditablePatch::SuperClassId = CPatchObject::SuperClassId;
const CEditablePatchClassDesc EditablePatchClassDesc(&DllPluginDescBuiltin); const CEditablePatchClassDesc EditablePatchClassDesc(&DllPluginDescBuiltin);
void CEditablePatch::parse(uint16 version) void CEditablePatch::parse(uint16 version, uint filter)
{ {
CPatchObject::parse(version); CPatchObject::parse(version);
} }
@ -68,7 +68,7 @@ void CEditablePatch::clean()
CPatchObject::clean(); CPatchObject::clean();
} }
void CEditablePatch::build(uint16 version) void CEditablePatch::build(uint16 version, uint filter)
{ {
CPatchObject::build(version); CPatchObject::build(version);
} }

@ -59,9 +59,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -63,7 +63,7 @@ const TSClassId CGeomObject::SuperClassId = 0x00000010;
const CGeomObjectClassDesc GeomObjectClassDesc(&DllPluginDescBuiltin); const CGeomObjectClassDesc GeomObjectClassDesc(&DllPluginDescBuiltin);
const CGeomObjectSuperClassDesc GeomObjectSuperClassDesc(&GeomObjectClassDesc); const CGeomObjectSuperClassDesc GeomObjectSuperClassDesc(&GeomObjectClassDesc);
void CGeomObject::parse(uint16 version) void CGeomObject::parse(uint16 version, uint filter)
{ {
CObject::parse(version); CObject::parse(version);
} }
@ -73,7 +73,7 @@ void CGeomObject::clean()
CObject::clean(); CObject::clean();
} }
void CGeomObject::build(uint16 version) void CGeomObject::build(uint16 version, uint filter)
{ {
CObject::build(version); CObject::build(version);
} }

@ -60,9 +60,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -61,7 +61,7 @@ const TSClassId INode::SuperClassId = 0x00000001;
const CNodeClassDesc NodeClassDesc(&DllPluginDescBuiltin); const CNodeClassDesc NodeClassDesc(&DllPluginDescBuiltin);
const CNodeSuperClassDesc NodeSuperClassDesc(&NodeClassDesc); const CNodeSuperClassDesc NodeSuperClassDesc(&NodeClassDesc);
void INode::parse(uint16 version) void INode::parse(uint16 version, uint filter)
{ {
CReferenceTarget::parse(version); CReferenceTarget::parse(version);
} }
@ -71,7 +71,7 @@ void INode::clean()
CReferenceTarget::clean(); CReferenceTarget::clean();
} }
void INode::build(uint16 version) void INode::build(uint16 version, uint filter)
{ {
CReferenceTarget::build(version); CReferenceTarget::build(version);
} }

@ -60,9 +60,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -63,7 +63,7 @@ const NLMISC::CClassId CNodeImpl::ClassId = NLMISC::CClassId(0x00000001, 0x00000
const TSClassId CNodeImpl::SuperClassId = INode::SuperClassId; const TSClassId CNodeImpl::SuperClassId = INode::SuperClassId;
const CNodeImplClassDesc NodeImplClassDesc(&DllPluginDescBuiltin); const CNodeImplClassDesc NodeImplClassDesc(&DllPluginDescBuiltin);
void CNodeImpl::parse(uint16 version) void CNodeImpl::parse(uint16 version, uint filter)
{ {
INode::parse(version); INode::parse(version);
if (!m_ChunksOwnsPointers) if (!m_ChunksOwnsPointers)
@ -87,7 +87,7 @@ void CNodeImpl::clean()
INode::clean(); INode::clean();
} }
void CNodeImpl::build(uint16 version) void CNodeImpl::build(uint16 version, uint filter)
{ {
INode::build(version); INode::build(version);

@ -59,9 +59,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -60,7 +60,7 @@ const TSClassId CObject::SuperClassId = 0x00000060;
const CObjectClassDesc ObjectClassDesc(&DllPluginDescBuiltin); const CObjectClassDesc ObjectClassDesc(&DllPluginDescBuiltin);
const CObjectSuperClassDesc ObjectSuperClassDesc(&ObjectClassDesc); const CObjectSuperClassDesc ObjectSuperClassDesc(&ObjectClassDesc);
void CObject::parse(uint16 version) void CObject::parse(uint16 version, uint filter)
{ {
CBaseObject::parse(version); CBaseObject::parse(version);
} }
@ -70,7 +70,7 @@ void CObject::clean()
CBaseObject::clean(); CBaseObject::clean();
} }
void CObject::build(uint16 version) void CObject::build(uint16 version, uint filter)
{ {
CBaseObject::build(version); CBaseObject::build(version);
} }

@ -60,9 +60,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -58,7 +58,7 @@ const NLMISC::CClassId CPatchObject::ClassId = NLMISC::CClassId(0xd0a6b36, 0x7dc
const TSClassId CPatchObject::SuperClassId = CGeomObject::SuperClassId; const TSClassId CPatchObject::SuperClassId = CGeomObject::SuperClassId;
const CPatchObjectClassDesc PatchObjectClassDesc(&DllPluginDescBuiltin); const CPatchObjectClassDesc PatchObjectClassDesc(&DllPluginDescBuiltin);
void CPatchObject::parse(uint16 version) void CPatchObject::parse(uint16 version, uint filter)
{ {
CGeomObject::parse(version); CGeomObject::parse(version);
} }
@ -68,7 +68,7 @@ void CPatchObject::clean()
CGeomObject::clean(); CGeomObject::clean();
} }
void CPatchObject::build(uint16 version) void CPatchObject::build(uint16 version, uint filter)
{ {
CGeomObject::build(version); CGeomObject::build(version);
} }

@ -59,9 +59,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -58,7 +58,7 @@ const NLMISC::CClassId CPolyObject::ClassId = NLMISC::CClassId(0x59772461, 0x6e1
const TSClassId CPolyObject::SuperClassId = CGeomObject::SuperClassId; const TSClassId CPolyObject::SuperClassId = CGeomObject::SuperClassId;
const CPolyObjectClassDesc PolyObjectClassDesc(&DllPluginDescBuiltin); const CPolyObjectClassDesc PolyObjectClassDesc(&DllPluginDescBuiltin);
void CPolyObject::parse(uint16 version) void CPolyObject::parse(uint16 version, uint filter)
{ {
CGeomObject::parse(version); CGeomObject::parse(version);
} }
@ -68,7 +68,7 @@ void CPolyObject::clean()
CGeomObject::clean(); CGeomObject::clean();
} }
void CPolyObject::build(uint16 version) void CPolyObject::build(uint16 version, uint filter)
{ {
CGeomObject::build(version); CGeomObject::build(version);
} }

@ -59,9 +59,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -95,7 +95,7 @@ const TSClassId CReferenceMaker::SuperClassId = 0x00000100;
const CReferenceMakerClassDesc ReferenceMakerClassDesc(&DllPluginDescBuiltin); const CReferenceMakerClassDesc ReferenceMakerClassDesc(&DllPluginDescBuiltin);
const CReferenceMakerSuperClassDesc ReferenceMakerSuperClassDesc(&ReferenceMakerClassDesc); const CReferenceMakerSuperClassDesc ReferenceMakerSuperClassDesc(&ReferenceMakerClassDesc);
void CReferenceMaker::parse(uint16 version) void CReferenceMaker::parse(uint16 version, uint filter)
{ {
CAnimatable::parse(version); CAnimatable::parse(version);
if (!m_ChunksOwnsPointers) if (!m_ChunksOwnsPointers)
@ -153,7 +153,7 @@ void CReferenceMaker::clean()
CAnimatable::clean(); // Nothing to do here, m_ArchivedChunks is cleaned (deleted) for us! CAnimatable::clean(); // Nothing to do here, m_ArchivedChunks is cleaned (deleted) for us!
} }
void CReferenceMaker::build(uint16 version) void CReferenceMaker::build(uint16 version, uint filter)
{ {
CAnimatable::build(version); CAnimatable::build(version);
// TODO: Build contents // TODO: Build contents

@ -61,9 +61,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -60,7 +60,7 @@ const TSClassId CReferenceTarget::SuperClassId = 0x00000200;
const CReferenceTargetClassDesc ReferenceTargetClassDesc(&DllPluginDescBuiltin); const CReferenceTargetClassDesc ReferenceTargetClassDesc(&DllPluginDescBuiltin);
const CReferenceTargetSuperClassDesc ReferenceTargetSuperClassDesc(&ReferenceTargetClassDesc); const CReferenceTargetSuperClassDesc ReferenceTargetSuperClassDesc(&ReferenceTargetClassDesc);
void CReferenceTarget::parse(uint16 version) void CReferenceTarget::parse(uint16 version, uint filter)
{ {
CReferenceMaker::parse(version); CReferenceMaker::parse(version);
} }
@ -70,7 +70,7 @@ void CReferenceTarget::clean()
CReferenceMaker::clean(); CReferenceMaker::clean();
} }
void CReferenceTarget::build(uint16 version) void CReferenceTarget::build(uint16 version, uint filter)
{ {
CReferenceMaker::build(version); CReferenceMaker::build(version);
} }

@ -61,9 +61,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -58,7 +58,7 @@ const NLMISC::CClassId CRootNode::ClassId = NLMISC::CClassId(0x00000002, 0x00000
const TSClassId CRootNode::SuperClassId = INode::SuperClassId; const TSClassId CRootNode::SuperClassId = INode::SuperClassId;
const CRootNodeClassDesc RootNodeClassDesc(&DllPluginDescBuiltin); const CRootNodeClassDesc RootNodeClassDesc(&DllPluginDescBuiltin);
void CRootNode::parse(uint16 version) void CRootNode::parse(uint16 version, uint filter)
{ {
INode::parse(version); INode::parse(version);
} }
@ -68,7 +68,7 @@ void CRootNode::clean()
INode::clean(); INode::clean();
} }
void CRootNode::build(uint16 version) void CRootNode::build(uint16 version, uint filter)
{ {
INode::build(version); INode::build(version);
} }

@ -59,9 +59,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -58,7 +58,7 @@ const NLMISC::CClassId CSceneImpl::ClassId = NLMISC::CClassId(0x00002222, 0x0000
const TSClassId CSceneImpl::SuperClassId = CReferenceMaker::SuperClassId; const TSClassId CSceneImpl::SuperClassId = CReferenceMaker::SuperClassId;
const CSceneImplClassDesc SceneImplClassDesc(&DllPluginDescBuiltin); const CSceneImplClassDesc SceneImplClassDesc(&DllPluginDescBuiltin);
void CSceneImpl::parse(uint16 version) void CSceneImpl::parse(uint16 version, uint filter)
{ {
CReferenceMaker::parse(version); CReferenceMaker::parse(version);
nlassert(m_MaterialEditor); nlassert(m_MaterialEditor);
@ -80,7 +80,7 @@ void CSceneImpl::clean()
CReferenceMaker::clean(); CReferenceMaker::clean();
} }
void CSceneImpl::build(uint16 version) void CSceneImpl::build(uint16 version, uint filter)
{ {
CReferenceMaker::build(version); CReferenceMaker::build(version);
} }

@ -62,9 +62,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -151,7 +151,7 @@ void CAppData::toString(std::ostream &ostream, const std::string &pad) const
} }
} }
void CAppData::parse(uint16 version) void CAppData::parse(uint16 version, uint filter)
{ {
#if PMBS_APP_DATA_PARSE #if PMBS_APP_DATA_PARSE
// Cannot be parsed yet // Cannot be parsed yet
@ -198,7 +198,7 @@ void CAppData::clean()
#endif #endif
} }
void CAppData::build(uint16 version) void CAppData::build(uint16 version, uint filter)
{ {
#if PMBS_APP_DATA_PARSE #if PMBS_APP_DATA_PARSE
// Must be clean first // Must be clean first
@ -397,7 +397,7 @@ void CAppDataEntry::toString(std::ostream &ostream, const std::string &pad) cons
} }
} }
void CAppDataEntry::parse(uint16 version) void CAppDataEntry::parse(uint16 version, uint filter)
{ {
// CStorageContainer::parse(version); // CStorageContainer::parse(version);
// if (!m_ChunksOwnsPointers) { nlwarning("Already parsed"); return; } // if (!m_ChunksOwnsPointers) { nlwarning("Already parsed"); return; }
@ -423,7 +423,7 @@ void CAppDataEntry::clean()
// Nothing to do here! // Nothing to do here!
} }
void CAppDataEntry::build(uint16 version) void CAppDataEntry::build(uint16 version, uint filter)
{ {
nlassert(false); nlassert(false);
// if (m_ChunksOwnsPointers) { nlwarning("Not parsed"); return; } // if (m_ChunksOwnsPointers) { nlwarning("Not parsed"); return; }

@ -76,9 +76,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
// init // init
@ -149,9 +149,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
// public // public

@ -230,7 +230,7 @@ void CGeomBuffers::toString(std::ostream &ostream, const std::string &pad) const
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CGeomBuffers::parse(uint16 version) void CGeomBuffers::parse(uint16 version, uint filter)
{ {
#if PMBS_GEOM_BUFFERS_PARSE #if PMBS_GEOM_BUFFERS_PARSE
CStorageContainer::parse(version); CStorageContainer::parse(version);
@ -244,7 +244,7 @@ void CGeomBuffers::clean()
#endif #endif
} }
void CGeomBuffers::build(uint16 version) void CGeomBuffers::build(uint16 version, uint filter)
{ {
#if PMBS_GEOM_BUFFERS_PARSE #if PMBS_GEOM_BUFFERS_PARSE
CStorageContainer::build(version); CStorageContainer::build(version);

@ -114,9 +114,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:

@ -66,7 +66,7 @@ const NLMISC::CClassId CTrackViewNode::ClassId = NLMISC::CClassId(0x8d73b8aa, 0x
const TSClassId CTrackViewNode::SuperClassId = CReferenceTarget::SuperClassId; const TSClassId CTrackViewNode::SuperClassId = CReferenceTarget::SuperClassId;
const CTrackViewNodeClassDesc TrackViewNodeClassDesc(&DllPluginDescBuiltin); const CTrackViewNodeClassDesc TrackViewNodeClassDesc(&DllPluginDescBuiltin);
void CTrackViewNode::parse(uint16 version) void CTrackViewNode::parse(uint16 version, uint filter)
{ {
CReferenceTarget::parse(version); CReferenceTarget::parse(version);
if (!m_ChunksOwnsPointers) if (!m_ChunksOwnsPointers)
@ -92,7 +92,7 @@ void CTrackViewNode::clean()
CReferenceTarget::clean(); CReferenceTarget::clean();
} }
void CTrackViewNode::build(uint16 version) void CTrackViewNode::build(uint16 version, uint filter)
{ {
CReferenceTarget::build(version); CReferenceTarget::build(version);

@ -68,9 +68,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -58,7 +58,7 @@ const NLMISC::CClassId CTriObject::ClassId = NLMISC::CClassId(0x4553fa6, 0x30f84
const TSClassId CTriObject::SuperClassId = CGeomObject::SuperClassId; const TSClassId CTriObject::SuperClassId = CGeomObject::SuperClassId;
const CTriObjectClassDesc TriObjectClassDesc(&DllPluginDescBuiltin); const CTriObjectClassDesc TriObjectClassDesc(&DllPluginDescBuiltin);
void CTriObject::parse(uint16 version) void CTriObject::parse(uint16 version, uint filter)
{ {
CGeomObject::parse(version); CGeomObject::parse(version);
} }
@ -68,7 +68,7 @@ void CTriObject::clean()
CGeomObject::clean(); CGeomObject::clean();
} }
void CTriObject::build(uint16 version) void CTriObject::build(uint16 version, uint filter)
{ {
CGeomObject::build(version); CGeomObject::build(version);
} }

@ -59,9 +59,9 @@ public:
static const TSClassId SuperClassId; static const TSClassId SuperClassId;
// inherited // inherited
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
virtual void init(); virtual void init();
virtual bool inherits(const NLMISC::CClassId classId) const; virtual bool inherits(const NLMISC::CClassId classId) const;

@ -65,7 +65,7 @@ void CClassData::toString(std::ostream &ostream, const std::string &pad) const
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CClassData::parse(uint16 version) void CClassData::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -75,7 +75,7 @@ void CClassData::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CClassData::build(uint16 version) void CClassData::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }
@ -122,7 +122,7 @@ void CClassDataEntry::toString(std::ostream &ostream, const std::string &pad) co
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CClassDataEntry::parse(uint16 version) void CClassDataEntry::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -132,7 +132,7 @@ void CClassDataEntry::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CClassDataEntry::build(uint16 version) void CClassDataEntry::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }

@ -56,9 +56,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:
@ -81,9 +81,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:

@ -120,7 +120,7 @@ void CClassDirectory3::toString(std::ostream &ostream, const std::string &pad) c
} }
// Parallel to CDllDirectory // Parallel to CDllDirectory
void CClassDirectory3::parse(uint16 version) void CClassDirectory3::parse(uint16 version, uint filter)
{ {
// Ensure not yet parsed // Ensure not yet parsed
nlassert(m_ChunkCache.empty()); nlassert(m_ChunkCache.empty());
@ -189,7 +189,7 @@ void CClassDirectory3::clean()
} }
// Parallel to CDllDirectory // Parallel to CDllDirectory
void CClassDirectory3::build(uint16 version) void CClassDirectory3::build(uint16 version, uint filter)
{ {
// Ensure parsed // Ensure parsed
nlassert(!m_ChunksOwnsPointers); nlassert(!m_ChunksOwnsPointers);
@ -334,7 +334,7 @@ void CClassEntry::toString(std::ostream &ostream, const std::string &pad) const
} }
} }
void CClassEntry::parse(uint16 version) void CClassEntry::parse(uint16 version, uint filter)
{ {
// CStorageContainer::parse(version); // CStorageContainer::parse(version);
nlassert(m_ChunksOwnsPointers); nlassert(m_ChunksOwnsPointers);
@ -354,7 +354,7 @@ void CClassEntry::clean()
// CStorageContainer::clean(); // CStorageContainer::clean();
} }
void CClassEntry::build(uint16 version) void CClassEntry::build(uint16 version, uint filter)
{ {
// Nothing to do here! // Nothing to do here!
// CStorageContainer::build(version); // CStorageContainer::build(version);

@ -66,9 +66,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
// public // public
@ -131,9 +131,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
const ucstring &displayName() const { return m_Name->Value; } const ucstring &displayName() const { return m_Name->Value; }

@ -66,7 +66,7 @@ void CConfig::toString(std::ostream &ostream, const std::string &pad) const
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CConfig::parse(uint16 version) void CConfig::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -76,7 +76,7 @@ void CConfig::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CConfig::build(uint16 version) void CConfig::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }
@ -133,7 +133,7 @@ void CConfig20a0::toString(std::ostream &ostream, const std::string &pad) const
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CConfig20a0::parse(uint16 version) void CConfig20a0::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -143,7 +143,7 @@ void CConfig20a0::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CConfig20a0::build(uint16 version) void CConfig20a0::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }
@ -198,7 +198,7 @@ void CConfig20a0Entry::toString(std::ostream &ostream, const std::string &pad) c
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CConfig20a0Entry::parse(uint16 version) void CConfig20a0Entry::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -208,7 +208,7 @@ void CConfig20a0Entry::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CConfig20a0Entry::build(uint16 version) void CConfig20a0Entry::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }
@ -290,7 +290,7 @@ void CConfigScript::toString(std::ostream &ostream, const std::string &pad) cons
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CConfigScript::parse(uint16 version) void CConfigScript::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -300,7 +300,7 @@ void CConfigScript::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CConfigScript::build(uint16 version) void CConfigScript::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }
@ -347,7 +347,7 @@ void CConfigScriptEntry::toString(std::ostream &ostream, const std::string &pad)
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CConfigScriptEntry::parse(uint16 version) void CConfigScriptEntry::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -357,7 +357,7 @@ void CConfigScriptEntry::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CConfigScriptEntry::build(uint16 version) void CConfigScriptEntry::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }
@ -445,7 +445,7 @@ void CConfigScriptMetaContainer::toString(std::ostream &ostream, const std::stri
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CConfigScriptMetaContainer::parse(uint16 version) void CConfigScriptMetaContainer::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
} }
@ -455,7 +455,7 @@ void CConfigScriptMetaContainer::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CConfigScriptMetaContainer::build(uint16 version) void CConfigScriptMetaContainer::build(uint16 version, uint filter)
{ {
CStorageContainer::build(version); CStorageContainer::build(version);
} }

@ -56,9 +56,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:
@ -81,9 +81,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:
@ -106,9 +106,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:
@ -131,9 +131,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:
@ -156,9 +156,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:
@ -205,9 +205,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
protected: protected:

@ -118,7 +118,7 @@ void CDllDirectory::toString(std::ostream &ostream, const std::string &pad) cons
} }
// Parallel to CClassDirectory3 // Parallel to CClassDirectory3
void CDllDirectory::parse(uint16 version) void CDllDirectory::parse(uint16 version, uint filter)
{ {
// Ensure not yet parsed // Ensure not yet parsed
nlassert(m_ChunkCache.empty()); nlassert(m_ChunkCache.empty());
@ -188,7 +188,7 @@ void CDllDirectory::clean()
} }
// Parallel to CClassDirectory3 // Parallel to CClassDirectory3
void CDllDirectory::build(uint16 version) void CDllDirectory::build(uint16 version, uint filter)
{ {
// Ensure parsed // Ensure parsed
nlassert(!m_ChunksOwnsPointers); nlassert(!m_ChunksOwnsPointers);
@ -360,7 +360,7 @@ void CDllEntry::toString(std::ostream &ostream, const std::string &pad) const
} }
} }
void CDllEntry::parse(uint16 version) void CDllEntry::parse(uint16 version, uint filter)
{ {
// CStorageContainer::parse(version); // CStorageContainer::parse(version);
nlassert(m_ChunksOwnsPointers); nlassert(m_ChunksOwnsPointers);
@ -380,7 +380,7 @@ void CDllEntry::clean()
// CStorageContainer::clean(); // CStorageContainer::clean();
} }
void CDllEntry::build(uint16 version) void CDllEntry::build(uint16 version, uint filter)
{ {
// Nothing to do here! // Nothing to do here!
// CStorageContainer::build(version); // CStorageContainer::build(version);

@ -57,9 +57,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
const ucstring &dllDescription() const { return m_DllDescription->Value; } const ucstring &dllDescription() const { return m_DllDescription->Value; }
@ -94,9 +94,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
// public // public

@ -72,7 +72,7 @@ void CScene::toString(std::ostream &ostream, const std::string &pad) const
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CScene::parse(uint16 version) void CScene::parse(uint16 version, uint filter)
{ {
CStorageContainer::parse(version); CStorageContainer::parse(version);
nlassert(m_Chunks.size() == 1); nlassert(m_Chunks.size() == 1);
@ -83,7 +83,7 @@ void CScene::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CScene::build(uint16 version) void CScene::build(uint16 version, uint filter)
{ {
nlassert(m_Chunks.size() == 1); nlassert(m_Chunks.size() == 1);
CStorageContainer::build(this->version()); CStorageContainer::build(this->version());
@ -140,7 +140,7 @@ void CSceneClassContainer::toString(std::ostream &ostream, const std::string &pa
CStorageContainer::toString(ostream, pad); CStorageContainer::toString(ostream, pad);
} }
void CSceneClassContainer::parse(uint16 version) void CSceneClassContainer::parse(uint16 version, uint filter)
{ {
// Temporary 'readonly' implementation, not modifying m_Chunks! // Temporary 'readonly' implementation, not modifying m_Chunks!
m_StorageObjectByIndex.resize(m_Chunks.size()); m_StorageObjectByIndex.resize(m_Chunks.size());
@ -163,7 +163,7 @@ void CSceneClassContainer::clean()
CStorageContainer::clean(); CStorageContainer::clean();
} }
void CSceneClassContainer::build(uint16 version) void CSceneClassContainer::build(uint16 version, uint filter)
{ {
// Temporary 'readonly' implementation, not modifying m_Chunks! // Temporary 'readonly' implementation, not modifying m_Chunks!
for (std::vector<CSceneClass *>::size_type i = 0; i < m_StorageObjectByIndex.size(); ++i) for (std::vector<CSceneClass *>::size_type i = 0; i < m_StorageObjectByIndex.size(); ++i)

@ -71,9 +71,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
// public // public
@ -105,9 +105,9 @@ public:
// inherited // inherited
virtual std::string className() const; virtual std::string className() const;
virtual void toString(std::ostream &ostream, const std::string &pad = "") const; virtual void toString(std::ostream &ostream, const std::string &pad = "") const;
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
virtual void clean(); virtual void clean();
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
virtual void disown(); virtual void disown();
/// Use while parsing to get an object by it's index /// Use while parsing to get an object by it's index

@ -125,7 +125,7 @@ void CSceneClass::toString(std::ostream &ostream, const std::string &pad) const
} }
} }
void CSceneClass::parse(uint16 version) void CSceneClass::parse(uint16 version, uint filter)
{ {
// Cannot be parsed yet // Cannot be parsed yet
if (!m_ChunksOwnsPointers) { nlerror("Already parsed"); return; } // Already parsed, illegal to call twice if (!m_ChunksOwnsPointers) { nlerror("Already parsed"); return; } // Already parsed, illegal to call twice
@ -167,7 +167,7 @@ void CSceneClass::clean()
m_ArchivedChunks.clear(); m_ArchivedChunks.clear();
} }
void CSceneClass::build(uint16 version) void CSceneClass::build(uint16 version, uint filter)
{ {
// Must be clean first // Must be clean first
if (!m_ChunksOwnsPointers && m_Chunks.size() != 0) { nlerror("Not cleaned"); return; } // Cannot call twice, illegal call if (!m_ChunksOwnsPointers && m_Chunks.size() != 0) { nlerror("Not cleaned"); return; } // Cannot call twice, illegal call

@ -82,11 +82,11 @@ public:
//! \name Inherited functions called through the storage loading and saving system //! \name Inherited functions called through the storage loading and saving system
//@{ //@{
/// Override this to read a chunk from the chunks stream. Call the parent's parse function first. Get the necessary chunks implemented by your class using getChunk. See the getChunk function for further information. In case of failure, call disown. If m_ChunksOwnsPointers is true, the parsing has failed, warnings have already been printed, and nothing should happen. Chunks are already parsed when you get them from getChunk /// Override this to read a chunk from the chunks stream. Call the parent's parse function first. Get the necessary chunks implemented by your class using getChunk. See the getChunk function for further information. In case of failure, call disown. If m_ChunksOwnsPointers is true, the parsing has failed, warnings have already been printed, and nothing should happen. Chunks are already parsed when you get them from getChunk
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
/// Override this if the chunks you are using are not needed after they have been parsed. You may delete any chunks you own. Call the parent's clean first. You must call clean on any chunks you own if they implement this function /// Override this if the chunks you are using are not needed after they have been parsed. You may delete any chunks you own. Call the parent's clean first. You must call clean on any chunks you own if they implement this function
virtual void clean(); virtual void clean();
/// Override this to write a chunk to the chunks stream. If you create a new chunk, the creating class owns it, and should delete it when clean is called. You no longer own any created chunks when disown has been called. Use putChunk to add the chunk. Call the parent's build first. The putChunk function calls build on added chunks /// Override this to write a chunk to the chunks stream. If you create a new chunk, the creating class owns it, and should delete it when clean is called. You no longer own any created chunks when disown has been called. Use putChunk to add the chunk. Call the parent's build first. The putChunk function calls build on added chunks
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
/// Remove any references to chunks that are owned by the inheriting class (those that were acquired using getChunk during parse or created using putChunk during build). You no longer have ownership over these chunks, and should not use them anymore. This function may be called after build to disable any functionality from the loaded storage. Call the parent's disown after disowning your own chunks. Disown is called on the disowned child chunks for you /// Remove any references to chunks that are owned by the inheriting class (those that were acquired using getChunk during parse or created using putChunk during build). You no longer have ownership over these chunks, and should not use them anymore. This function may be called after build to disable any functionality from the loaded storage. Call the parent's disown after disowning your own chunks. Disown is called on the disowned child chunks for you
virtual void disown(); virtual void disown();
//@} //@}

@ -194,7 +194,7 @@ void CStorageContainer::toString(std::ostream &ostream, const std::string &pad)
ostream << "} "; ostream << "} ";
} }
void CStorageContainer::parse(uint16 version) void CStorageContainer::parse(uint16 version, uint filter)
{ {
nlassert(m_ChunksOwnsPointers); // Can only use this when m_Chunks still has ownership. nlassert(m_ChunksOwnsPointers); // Can only use this when m_Chunks still has ownership.
for (TStorageObjectContainer::const_iterator it = m_Chunks.begin(), end = m_Chunks.end(); it != end; ++it) for (TStorageObjectContainer::const_iterator it = m_Chunks.begin(), end = m_Chunks.end(); it != end; ++it)
@ -218,7 +218,7 @@ void CStorageContainer::clean()
} }
} }
void CStorageContainer::build(uint16 version) void CStorageContainer::build(uint16 version, uint filter)
{ {
for (TStorageObjectContainer::const_iterator it = m_Chunks.begin(), end = m_Chunks.end(); it != end; ++it) for (TStorageObjectContainer::const_iterator it = m_Chunks.begin(), end = m_Chunks.end(); it != end; ++it)
{ {

@ -112,11 +112,11 @@ public:
// virtual // virtual
// Parse this class with given version and parse level filter // Parse this class with given version and parse level filter
virtual void parse(uint16 version); virtual void parse(uint16 version, uint filter = 0);
// Clean up built data or duplicate unparsed source data, call after serializing build and after parse // Clean up built data or duplicate unparsed source data, call after serializing build and after parse
virtual void clean(); virtual void clean();
// Build the storage structure needed to store the parsed data back // Build the storage structure needed to store the parsed data back
virtual void build(uint16 version); virtual void build(uint16 version, uint filter = 0);
// Give ownership of the chunks back to the m_Chunks, must call build first, call instead of clean, reduces the parse level back to 0 // Give ownership of the chunks back to the m_Chunks, must call build first, call instead of clean, reduces the parse level back to 0
virtual void disown(); virtual void disown();

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save