diff --git a/code/nel/tools/pipeline/max/builtin/animatable.cpp b/code/nel/tools/pipeline/max/builtin/animatable.cpp index c5076ce99..7b16bff23 100644 --- a/code/nel/tools/pipeline/max/builtin/animatable.cpp +++ b/code/nel/tools/pipeline/max/builtin/animatable.cpp @@ -34,6 +34,7 @@ // #include // Project includes +#include "storage/app_data.h" using namespace std; // using namespace NLMISC; @@ -42,14 +43,18 @@ namespace PIPELINE { namespace MAX { namespace BUILTIN { -CAnimatable::CAnimatable() +CAnimatable::CAnimatable() : m_AppData(NULL) { } CAnimatable::~CAnimatable() { - + if (!m_ChunksOwnsPointers) + { + delete m_AppData; + m_AppData = NULL; + } } const ucchar *CAnimatable::DisplayName = ucstring("Animatable").c_str(); @@ -63,20 +68,33 @@ const CAnimatableSuperClassDesc AnimatableSuperClassDesc(&AnimatableClassDesc); void CAnimatable::parse(uint16 version, TParseLevel level) { CSceneClass::parse(version, level); + if (!m_ChunksOwnsPointers) + { + m_AppData = static_cast(getChunk(PMBS_APP_DATA_CHUNK_ID)); + } } void CAnimatable::clean() { CSceneClass::clean(); + if (m_AppData) + { + m_AppData->clean(); + } } void CAnimatable::build(uint16 version) { CSceneClass::build(version); + if (m_AppData) + { + putChunk(PMBS_APP_DATA_CHUNK_ID, m_AppData); + } } void CAnimatable::disown() { + m_AppData = NULL; CSceneClass::disown(); } @@ -99,6 +117,21 @@ const ISceneClassDesc *CAnimatable::classDesc() const void CAnimatable::toStringLocal(std::ostream &ostream, const std::string &pad) const { CSceneClass::toStringLocal(ostream, pad); + if (m_AppData) + { + ostream << "\n" << pad << "AppData: "; + m_AppData->toString(ostream, pad + "\t"); + } +} + +IStorageObject *CAnimatable::createChunkById(uint16 id, bool container) +{ + switch (id) + { + case PMBS_APP_DATA_CHUNK_ID: + return new STORAGE::CAppData; + } + return CSceneClass::createChunkById(id, container); } } /* namespace BUILTIN */ diff --git a/code/nel/tools/pipeline/max/builtin/animatable.h b/code/nel/tools/pipeline/max/builtin/animatable.h index fd586db32..8ecb87841 100644 --- a/code/nel/tools/pipeline/max/builtin/animatable.h +++ b/code/nel/tools/pipeline/max/builtin/animatable.h @@ -40,6 +40,11 @@ namespace PIPELINE { namespace MAX { namespace BUILTIN { +namespace STORAGE { + +class CAppData; + +} /** * \brief CAnimatable @@ -70,6 +75,16 @@ public: virtual const ISceneClassDesc *classDesc() const; virtual void toStringLocal(std::ostream &ostream, const std::string &pad = "") const; + // public + inline STORAGE::CAppData *appData() const { return m_AppData; } + +protected: + // inherited + virtual IStorageObject *createChunkById(uint16 id, bool container); + +private: + STORAGE::CAppData *m_AppData; + }; /* class CAnimatable */ typedef CSceneClassDesc CAnimatableClassDesc; diff --git a/code/nel/tools/pipeline/max/builtin/builtin.cpp b/code/nel/tools/pipeline/max/builtin/builtin.cpp index 1028a8b68..43ccb2b1f 100644 --- a/code/nel/tools/pipeline/max/builtin/builtin.cpp +++ b/code/nel/tools/pipeline/max/builtin/builtin.cpp @@ -50,143 +50,143 @@ namespace { // 0x0 - invalid, default to reftarget typedef CSuperClassDescUnknown CNullSuperClassDesc; -const CNullSuperClassDesc NullSuperClassDesc(&ReferenceTargetClassDesc); +const CNullSuperClassDesc NullSuperClassDesc(&ReferenceTargetClassDesc, "NullSuperClassUnknown"); // 0x9003 bezier float control, subclass under control???; control is under reftarget typedef CSuperClassDescUnknown CControlFloatSuperClassDesc; -const CControlFloatSuperClassDesc ControlFloatSuperClassDesc(&ReferenceTargetClassDesc); +const CControlFloatSuperClassDesc ControlFloatSuperClassDesc(&ReferenceTargetClassDesc, "ControlFloatSuperClassUnknown"); // 0x8 param block, under reftarget directly typedef CSuperClassDescUnknown CParamBlockSuperClassDesc; -const CParamBlockSuperClassDesc ParamBlockSuperClassDesc(&ReferenceTargetClassDesc); +const CParamBlockSuperClassDesc ParamBlockSuperClassDesc(&ReferenceTargetClassDesc, "ParamBlockSuperClassUnknown"); // 0xc20 uv gen, sub of mtlbase typedef CSuperClassDescUnknown CUVGenSuperClassDesc; -const CUVGenSuperClassDesc UVGenSuperClassDesc(&ReferenceTargetClassDesc); +const CUVGenSuperClassDesc UVGenSuperClassDesc(&ReferenceTargetClassDesc, "UVGenSuperClassUnknown"); // 0x82 param block 2, under reftarget directly typedef CSuperClassDescUnknown CParamBlock2SuperClassDesc; -const CParamBlock2SuperClassDesc ParamBlock2SuperClassDesc(&ReferenceTargetClassDesc); +const CParamBlock2SuperClassDesc ParamBlock2SuperClassDesc(&ReferenceTargetClassDesc, "ParamBlock2SuperClassUnknown"); // 0xc40 output, textureoutput???, under mtlbase typedef CSuperClassDescUnknown CTextureOutputSuperClassDesc; -const CTextureOutputSuperClassDesc TextureOutputSuperClassDesc(&ReferenceTargetClassDesc); +const CTextureOutputSuperClassDesc TextureOutputSuperClassDesc(&ReferenceTargetClassDesc, "TextureOutputSuperClassUnknown"); // 0xc10 texmap, under mtlbase typedef CSuperClassDescUnknown CTexmapSuperClassDesc; -const CTexmapSuperClassDesc TexmapSuperClassDesc(&ReferenceTargetClassDesc); +const CTexmapSuperClassDesc TexmapSuperClassDesc(&ReferenceTargetClassDesc, "TexmapSuperClassUnknown"); // 0x1080 texmap_container, 'Texmaps' under reftarget directly typedef CSuperClassDescUnknown CTexmapContainerSuperClassDesc; -const CTexmapContainerSuperClassDesc TexmapContainerSuperClassDesc(&ReferenceTargetClassDesc); +const CTexmapContainerSuperClassDesc TexmapContainerSuperClassDesc(&ReferenceTargetClassDesc, "TexmapContainerSuperClassUnknown"); // 0x10b0, shader, under baseshader, under special_Fx typedef CSuperClassDescUnknown CShaderSuperClassDesc; -const CShaderSuperClassDesc ShaderSuperClassDesc(&ReferenceTargetClassDesc); +const CShaderSuperClassDesc ShaderSuperClassDesc(&ReferenceTargetClassDesc, "ShaderSuperClassUnknown"); // 0x1110, sampler, under special_fx typedef CSuperClassDescUnknown CSamplerSuperClassDesc; -const CSamplerSuperClassDesc SamplerSuperClassDesc(&ReferenceTargetClassDesc); +const CSamplerSuperClassDesc SamplerSuperClassDesc(&ReferenceTargetClassDesc, "SamplerSuperClassUnknown"); // 0xc00, mtl 'materials', under mtlbase typedef CSuperClassDescUnknown CMtlSuperClassDesc; -const CMtlSuperClassDesc MtlSuperClassDesc(&ReferenceTargetClassDesc); +const CMtlSuperClassDesc MtlSuperClassDesc(&ReferenceTargetClassDesc, "MtlSuperClassUnknown"); // 0xd00, soundobj, under reftarget directly typedef CSuperClassDescUnknown CSoundObjSuperClassDesc; -const CSoundObjSuperClassDesc SoundObjSuperClassDesc(&ReferenceTargetClassDesc); +const CSoundObjSuperClassDesc SoundObjSuperClassDesc(&ReferenceTargetClassDesc, "SoundObjSuperClassUnknown"); // 0x1, node; under reftarget directly; classid 1 is node, 2 is rootnode typedef CSuperClassDescUnknown CNodeSuperClassDesc; -const CNodeSuperClassDesc NodeSuperClassDesc(&ReferenceTargetClassDesc); +const CNodeSuperClassDesc NodeSuperClassDesc(&ReferenceTargetClassDesc, "NodeSuperClassUnknown"); // 0x900b, controlposition, under control??? typedef CSuperClassDescUnknown CControlPositionSuperClassDesc; -const CControlPositionSuperClassDesc ControlPositionSuperClassDesc(&ReferenceTargetClassDesc); +const CControlPositionSuperClassDesc ControlPositionSuperClassDesc(&ReferenceTargetClassDesc, "ControlPositionSuperClassUnknown"); // 0x900c, controlrotation, under control??? typedef CSuperClassDescUnknown CControlRotationSuperClassDesc; -const CControlRotationSuperClassDesc ControlRotationSuperClassDesc(&ReferenceTargetClassDesc); +const CControlRotationSuperClassDesc ControlRotationSuperClassDesc(&ReferenceTargetClassDesc, "ControlRotationSuperClassUnknown"); // 0x900d, control_scale, under control??? typedef CSuperClassDescUnknown CControlScaleSuperClassDesc; -const CControlScaleSuperClassDesc ControlScaleSuperClassDesc(&ReferenceTargetClassDesc); +const CControlScaleSuperClassDesc ControlScaleSuperClassDesc(&ReferenceTargetClassDesc, "ControlScaleSuperClassUnknown"); // 0x9008, pos/rot/scale; controltransform; matrix3; under control??? typedef CSuperClassDescUnknown CControlTransformSuperClassDesc; -const CControlTransformSuperClassDesc ControlTransformSuperClassDesc(&ReferenceTargetClassDesc); +const CControlTransformSuperClassDesc ControlTransformSuperClassDesc(&ReferenceTargetClassDesc, "ControlTransformSuperClassUnknown"); // 0x810 - osmodifier, under modifier (physique etc, necessary for skinning) typedef CSuperClassDescUnknown COSModifierSuperClassDesc; -const COSModifierSuperClassDesc OSModifierSuperClassDesc(&ReferenceTargetClassDesc); +const COSModifierSuperClassDesc OSModifierSuperClassDesc(&ReferenceTargetClassDesc, "OSModifierSuperClassUnknown"); // 0x9010 - master point controller typedef CSuperClassDescUnknown CMasterPointControllerSuperClassDesc; -const CMasterPointControllerSuperClassDesc MasterPointControllerSuperClassDesc(&ReferenceTargetClassDesc); +const CMasterPointControllerSuperClassDesc MasterPointControllerSuperClassDesc(&ReferenceTargetClassDesc, "MasterPointControllerSuperClassUnknown"); // 0x10 - geom object typedef CSuperClassDescUnknown CGeomObjectSuperClassDesc; -const CGeomObjectSuperClassDesc GeomObjectSuperClassDesc(&ReferenceTargetClassDesc); +const CGeomObjectSuperClassDesc GeomObjectSuperClassDesc(&ReferenceTargetClassDesc, "GeomObjectSuperClassUnknown"); // 0x10f0 - layer, under reftarget directly typedef CSuperClassDescUnknown CLayerSuperClassDesc; -const CLayerSuperClassDesc LayerSuperClassDesc(&ReferenceTargetClassDesc); +const CLayerSuperClassDesc LayerSuperClassDesc(&ReferenceTargetClassDesc, "LayerSuperClassUnknown"); // 0x60 - object???, under base object typedef CSuperClassDescUnknown CObjectSuperClassDesc; -const CObjectSuperClassDesc ObjectSuperClassDesc(&ReferenceTargetClassDesc); +const CObjectSuperClassDesc ObjectSuperClassDesc(&ReferenceTargetClassDesc, "ObjectSuperClassUnknown"); // 0x50 helperobject, under object... typedef CSuperClassDescUnknown CHelperObjectSuperClassDesc; -const CHelperObjectSuperClassDesc HelperObjectSuperClassDesc(&ReferenceTargetClassDesc); +const CHelperObjectSuperClassDesc HelperObjectSuperClassDesc(&ReferenceTargetClassDesc, "HelperObjectSuperClassUnknown"); // 0x10a0 filterkernel, under specialfx (example: area filter) typedef CSuperClassDescUnknown CFilterKernelSuperClassDesc; -const CFilterKernelSuperClassDesc FilterKernelSuperClassDesc(&ReferenceTargetClassDesc); +const CFilterKernelSuperClassDesc FilterKernelSuperClassDesc(&ReferenceTargetClassDesc, "FilterKernelSuperClassUnknown"); // 0xf00 - renderer ,direct sub of reftarget typedef CSuperClassDescUnknown CRendererSuperClassDesc; -const CRendererSuperClassDesc RendererSuperClassDesc(&ReferenceTargetClassDesc); +const CRendererSuperClassDesc RendererSuperClassDesc(&ReferenceTargetClassDesc, "RendererSuperClassUnknown"); // 0x9005 - control point3 (also color), under control??? typedef CSuperClassDescUnknown CControlPoint3SuperClassDesc; -const CControlPoint3SuperClassDesc ControlPoint3SuperClassDesc(&ReferenceTargetClassDesc); +const CControlPoint3SuperClassDesc ControlPoint3SuperClassDesc(&ReferenceTargetClassDesc, "ControlPoint3SuperClassUnknown"); // 0x1010 - atmospheric, under special effects typedef CSuperClassDescUnknown CAtmosphericSuperClassDesc; -const CAtmosphericSuperClassDesc AtmosphericSuperClassDesc(&ReferenceTargetClassDesc); +const CAtmosphericSuperClassDesc AtmosphericSuperClassDesc(&ReferenceTargetClassDesc, "AtmosphericSuperClassUnknown"); // 0x9011 - control master block 'block control', under control??? typedef CSuperClassDescUnknown CControlMasterBlockSuperClassDesc; -const CControlMasterBlockSuperClassDesc ControlMasterBlockSuperClassDesc(&ReferenceTargetClassDesc); +const CControlMasterBlockSuperClassDesc ControlMasterBlockSuperClassDesc(&ReferenceTargetClassDesc, "ControlMasterBlockSuperClassUnknown"); // 0xfffffe00 - grid reference, not sure where, probably directly under reftarget typedef CSuperClassDescUnknown CGridReferenceSuperClassDesc; -const CGridReferenceSuperClassDesc GridReferenceSuperClassDesc(&ReferenceTargetClassDesc); +const CGridReferenceSuperClassDesc GridReferenceSuperClassDesc(&ReferenceTargetClassDesc, "GridReferenceSuperClassUnknown"); // 0x1090 - render effect, possibly under special fx typedef CSuperClassDescUnknown CRenderEffectSuperClassDesc; -const CRenderEffectSuperClassDesc RenderEffectSuperClassDesc(&ReferenceTargetClassDesc); +const CRenderEffectSuperClassDesc RenderEffectSuperClassDesc(&ReferenceTargetClassDesc, "RenderEffectSuperClassUnknown"); // 0x10d0 - shadow type, directly under ref target typedef CSuperClassDescUnknown CShadowTypeSuperClassDesc; -const CShadowTypeSuperClassDesc ShadowTypeSuperClassDesc(&ReferenceTargetClassDesc); +const CShadowTypeSuperClassDesc ShadowTypeSuperClassDesc(&ReferenceTargetClassDesc, "ShadowTypeSuperClassUnknown"); // 0x1160 - CustAttrib, directly under ref target typedef CSuperClassDescUnknown CCustAttribSuperClassDesc; -const CCustAttribSuperClassDesc CustAttribSuperClassDesc(&ReferenceTargetClassDesc); +const CCustAttribSuperClassDesc CustAttribSuperClassDesc(&ReferenceTargetClassDesc, "CustAttribSuperClassUnknown"); // 0x9012 - point4list, controlpoint4, also rgba, under controll??? typedef CSuperClassDescUnknown CControlPoint4SuperClassDesc; -const CControlPoint4SuperClassDesc ControlPoint4SuperClassDesc(&ReferenceTargetClassDesc); +const CControlPoint4SuperClassDesc ControlPoint4SuperClassDesc(&ReferenceTargetClassDesc, "ControlPoint4SuperClassUnknown"); // 0xb60 - userdatatype, deprecated, don't care typedef CSuperClassDescUnknown CUserDataTypeSuperClassDesc; -const CUserDataTypeSuperClassDesc UserDataTypeSuperClassDesc(&ReferenceTargetClassDesc); +const CUserDataTypeSuperClassDesc UserDataTypeSuperClassDesc(&ReferenceTargetClassDesc, "UserDataTypeSuperClassUnknown"); // 0x900f - usertype, don't care typedef CSuperClassDescUnknown CUserTypeSuperClassDesc; -const CUserTypeSuperClassDesc UserTypeSuperClassDesc(&ReferenceTargetClassDesc); +const CUserTypeSuperClassDesc UserTypeSuperClassDesc(&ReferenceTargetClassDesc, "UserTypeSuperClassUnknown"); } /* anonymous namespace */ diff --git a/code/nel/tools/pipeline/max/builtin/storage/app_data.cpp b/code/nel/tools/pipeline/max/builtin/storage/app_data.cpp index efde55efa..4fa5c27de 100644 --- a/code/nel/tools/pipeline/max/builtin/storage/app_data.cpp +++ b/code/nel/tools/pipeline/max/builtin/storage/app_data.cpp @@ -151,8 +151,8 @@ void CAppData::toString(std::ostream &ostream, const std::string &pad) const void CAppData::parse(uint16 version, TParseLevel level) { - if (level & PARSE_BUILTIN) - { + /*if (level & PARSE_BUILTIN) + {*/ // Cannot be parsed yet if (!m_ChunksOwnsPointers) { nlerror("Already parsed"); return; } @@ -183,7 +183,7 @@ void CAppData::parse(uint16 version, TParseLevel level) // Take local ownership m_ChunksOwnsPointers = false; - } + /*}*/ } void CAppData::clean() diff --git a/code/nel/tools/pipeline/max/builtin/storage/app_data.h b/code/nel/tools/pipeline/max/builtin/storage/app_data.h index cc71285d6..5c7191fa7 100644 --- a/code/nel/tools/pipeline/max/builtin/storage/app_data.h +++ b/code/nel/tools/pipeline/max/builtin/storage/app_data.h @@ -44,7 +44,7 @@ namespace MAX { namespace BUILTIN { namespace STORAGE { -#define NLMAXFILE_APP_DATA_CHUNK_ID 0x2150 +#define PMBS_APP_DATA_CHUNK_ID 0x2150 class CAppDataEntry; diff --git a/code/nel/tools/pipeline/max/scene_class.cpp b/code/nel/tools/pipeline/max/scene_class.cpp index 3689125c5..140f7143c 100644 --- a/code/nel/tools/pipeline/max/scene_class.cpp +++ b/code/nel/tools/pipeline/max/scene_class.cpp @@ -36,9 +36,6 @@ // Project includes -// Temporary project includes -#include "builtin/storage/app_data.h" - using namespace std; // using namespace NLMISC; @@ -89,6 +86,18 @@ void CSceneClass::toString(std::ostream &ostream, const std::string &pad) const { ostream << "(" << className() << ": " << ucstring(classDesc()->displayName()).toUtf8() << ", " << classDesc()->classId().toString() << ", " << ucstring(classDesc()->dllPluginDesc()->internalName()).toUtf8() << ") [" << m_Chunks.size() << "] { "; toStringLocal(ostream, pad); + // Append orphans + std::string padpad = pad + "\t"; + sint i = 0; + for (TStorageObjectContainer::const_iterator it = m_OrphanedChunks.begin(), end = m_OrphanedChunks.end(); it != end; ++it) + { + std::stringstream ss; + ss << std::hex << std::setfill('0'); + ss << std::setw(4) << it->first; + ostream << "\n" << pad << "Orphan[" << i << "] 0x" << ss.str() << ": "; + it->second->toString(ostream, padpad); + ++i; + } ostream << "} "; } } @@ -173,11 +182,11 @@ void CSceneClass::init() IStorageObject *CSceneClass::createChunkById(uint16 id, bool container) { // Temporary - switch (id) + /*switch (id) { case NLMAXFILE_APP_DATA_CHUNK_ID: return new BUILTIN::STORAGE::CAppData(); - } + }*/ return CStorageContainer::createChunkById(id, container); } @@ -202,25 +211,16 @@ const ISceneClassDesc *CSceneClass::classDesc() const void CSceneClass::toStringLocal(std::ostream &ostream, const std::string &pad) const { - std::string padpad = pad + "\t"; - sint i = 0; - for (TStorageObjectContainer::const_iterator it = m_OrphanedChunks.begin(), end = m_OrphanedChunks.end(); it != end; ++it) - { - std::stringstream ss; - ss << std::hex << std::setfill('0'); - ss << std::setw(4) << it->first; - ostream << "\n" << pad << "Orphan[" << i << "] 0x" << ss.str() << ": "; - it->second->toString(ostream, padpad); - ++i; - } + // Nothing to do here... } IStorageObject *CSceneClass::getChunk(uint16 id) { if (m_OrphanedChunks.begin()->first == id) { - return m_OrphanedChunks.begin()->second; + IStorageObject *result = m_OrphanedChunks.begin()->second; m_OrphanedChunks.pop_front(); + return result; } else { @@ -235,12 +235,16 @@ IStorageObject *CSceneClass::getChunk(uint16 id) } } } - nldebug("Chunk 0x%x not found, this is allowed, returning NULL", (uint32)id); + // nldebug("Chunk 0x%x not found, this is allowed, returning NULL", (uint32)id); return NULL; } void CSceneClass::putChunk(uint16 id, IStorageObject *storageObject) { + if (storageObject->isContainer()) + { + static_cast(storageObject)->build(VersionUnknown); // FIXME + } m_OrphanedChunks.insert(m_PutChunkInsert, TStorageObjectWithId(id, storageObject)); } diff --git a/code/nel/tools/pipeline/max/scene_class.h b/code/nel/tools/pipeline/max/scene_class.h index 9b6581aba..896aab7a3 100644 --- a/code/nel/tools/pipeline/max/scene_class.h +++ b/code/nel/tools/pipeline/max/scene_class.h @@ -65,7 +65,7 @@ public: //! \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 + /// 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, TParseLevel level); /// 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(); diff --git a/code/nel/tools/pipeline/max/super_class_desc.h b/code/nel/tools/pipeline/max/super_class_desc.h index dda85bf02..abfdc2b52 100644 --- a/code/nel/tools/pipeline/max/super_class_desc.h +++ b/code/nel/tools/pipeline/max/super_class_desc.h @@ -88,13 +88,15 @@ template class CSuperClassDescUnknown : public ISuperClassDesc { public: - CSuperClassDescUnknown(const ISceneClassDesc *classDesc) : m_ClassDesc(classDesc) { } + CSuperClassDescUnknown(const ISceneClassDesc *classDesc, const char *internalNameUnknown) : m_ClassDesc(classDesc), m_InternalNameUnknown(internalNameUnknown) { } virtual CSceneClass *createUnknown(const NLMISC::CClassId classId, const ucstring &displayName, const ucstring &dllFilename, const ucstring &dllDescription) const { return static_cast(new CSceneClassUnknown(classId, SuperClassId, displayName,internalNameUnknown(), dllFilename, dllDescription)); } - virtual const char *internalNameUnknown() const { return T::InternalNameUnknown; } + virtual const char *internalNameUnknown() const { return m_InternalNameUnknown; } virtual TSClassId superClassId() const { return SuperClassId; } virtual const ISceneClassDesc *classDesc() const { return m_ClassDesc; } private: const ISceneClassDesc *m_ClassDesc; + const char *m_InternalNameUnknown; + }; /* class ISceneClassDesc */ } /* namespace MAX */ diff --git a/code/nel/tools/pipeline/max_dump/main.cpp b/code/nel/tools/pipeline/max_dump/main.cpp index 9e7f7a4cc..af020797e 100644 --- a/code/nel/tools/pipeline/max_dump/main.cpp +++ b/code/nel/tools/pipeline/max_dump/main.cpp @@ -32,9 +32,9 @@ #include "../max/builtin/builtin.h" //static const char *filename = "/srv/work/database/interfaces/anims_max/cp_fy_hof_species.max"; -static const char *filename = "/home/kaetemi/source/minimax/GE_Acc_MikotoBaniere.max"; +//static const char *filename = "/home/kaetemi/source/minimax/GE_Acc_MikotoBaniere.max"; //static const char *filename = "/home/kaetemi/3dsMax/scenes/test2008.max"; -//static const char *filename = "/home/kaetemi/3dsMax/scenes/teapot_test_scene.max"; +static const char *filename = "/home/kaetemi/3dsMax/scenes/teapot_test_scene.max"; static const char *streamname = "Scene"; // int __stdcall WinMain(void *, void *, void *, int)