diff --git a/code/nel/tools/pipeline/max/dll_directory.cpp b/code/nel/tools/pipeline/max/dll_directory.cpp index d1cfe2c85..3449bfda4 100644 --- a/code/nel/tools/pipeline/max/dll_directory.cpp +++ b/code/nel/tools/pipeline/max/dll_directory.cpp @@ -42,6 +42,10 @@ using namespace std; namespace PIPELINE { namespace MAX { +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// + CDllDirectory::CDllDirectory() { @@ -250,6 +254,13 @@ IStorageObject *CDllDirectory::createChunkById(uint16 id, bool container) return CStorageContainer::createChunkById(id, container); } +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +// Entries[5]: (DllEntry) [2] PARSED { +// DllDescription: ... +// DllFilename: ... } + CDllEntry::CDllEntry() : m_DllDescription(NULL), m_DllFilename(NULL) { @@ -273,7 +284,7 @@ void CDllEntry::toString(std::ostream &ostream, const std::string &pad) std::string padpad = pad + "\t"; ostream << "\n" << pad << "DllDescription: " << m_DllDescription->Value.toUtf8(); ostream << "\n" << pad << "DllFilename: " << m_DllFilename->Value.toUtf8(); - ostream << "} "; + ostream << " } "; } else { @@ -329,6 +340,10 @@ IStorageObject *CDllEntry::createChunkById(uint16 id, bool container) return CStorageContainer::createChunkById(id, container); } +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////// + } /* namespace MAX */ } /* namespace PIPELINE */ diff --git a/code/nel/tools/pipeline/max/dll_plugin_desc.cpp b/code/nel/tools/pipeline/max/dll_plugin_desc.cpp new file mode 100644 index 000000000..31bf801ba --- /dev/null +++ b/code/nel/tools/pipeline/max/dll_plugin_desc.cpp @@ -0,0 +1,71 @@ +/** + * \file dll_plugin_desc.cpp + * \brief CDllPluginDesc + * \date 2012-08-20 09:59GMT + * \author Jan Boon (Kaetemi) + * CDllPluginDesc + */ + +/* + * Copyright (C) 2012 by authors + * + * This file is part of RYZOM CORE PIPELINE. + * RYZOM CORE PIPELINE is free software: you can redistribute it + * and/or modify it under the terms of the GNU Affero General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * RYZOM CORE PIPELINE is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with RYZOM CORE PIPELINE. If not, see + * . + */ + +#include +#include "dll_plugin_desc.h" + +// STL includes + +// NeL includes +// #include + +// Project includes + +// using namespace std; +// using namespace NLMISC; + +namespace PIPELINE { +namespace MAX { + +const ucchar *CDllPluginDescBuiltin::displayName() const +{ + static const ucstring value = ucstring("Builtin"); + return value.c_str(); +} + +const ucchar *CDllPluginDescBuiltin::internalName() const +{ + static const ucstring value = ucstring("Builtin"); + return value.c_str(); +} + +const ucchar *CDllPluginDescScript::displayName() const +{ + static const ucstring value = ucstring("Script"); + return value.c_str(); +} + +const ucchar *CDllPluginDescScript::internalName() const +{ + static const ucstring value = ucstring("Script"); + return value.c_str(); +} + +} /* namespace MAX */ +} /* namespace PIPELINE */ + +/* end of file */ diff --git a/code/nel/tools/pipeline/max/dll_plugin_desc.h b/code/nel/tools/pipeline/max/dll_plugin_desc.h new file mode 100644 index 000000000..26bcf6ded --- /dev/null +++ b/code/nel/tools/pipeline/max/dll_plugin_desc.h @@ -0,0 +1,103 @@ +/** + * \file dll_plugin_desc.h + * \brief CDllPluginDesc + * \date 2012-08-20 09:59GMT + * \author Jan Boon (Kaetemi) + * CDllPluginDesc + */ + +/* + * Copyright (C) 2012 by authors + * + * This file is part of RYZOM CORE PIPELINE. + * RYZOM CORE PIPELINE is free software: you can redistribute it + * and/or modify it under the terms of the GNU Affero General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * RYZOM CORE PIPELINE is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with RYZOM CORE PIPELINE. If not, see + * . + */ + +#ifndef PIPELINE_DLL_PLUGIN_DESC_H +#define PIPELINE_DLL_PLUGIN_DESC_H +#include + +// STL includes + +// NeL includes +#include + +// Project includes + +namespace PIPELINE { +namespace MAX { + +/** + * \brief IDllPluginDescInternal + * \date 2012-08-20 09:59GMT + * \author Jan Boon (Kaetemi) + * Used for internal plugin descriptions that have no actual plugin + * associated with them. + */ +class IDllPluginDescInternal +{ +public: + virtual const ucchar *displayName() const = 0; + virtual const ucchar *internalName() const = 0; + +}; /* class IDllPluginDescInternal */ + +/** + * \brief IDllPluginDesc + * \date 2012-08-20 09:59GMT + * \author Jan Boon (Kaetemi) + * Inherit from this when making a plugin + */ +class IDllPluginDesc : public IDllPluginDescInternal +{ +public: + // virtual const ucchar *displayName() const = 0; + // virtual const ucchar *internalName() const = 0; + // TODO: list scene classes + +}; /* class IDllPluginDesc */ + +/** + * \brief CDllPluginDescBuiltin + * \date 2012-08-20 09:59GMT + * \author Jan Boon (Kaetemi) + * Use only internally for builtin classes + * TODO: Move to separate header? + */ +class CDllPluginDescBuiltin : public IDllPluginDescInternal +{ + virtual const ucchar *displayName() const; + virtual const ucchar *internalName() const; +}; /* class CDllPluginDescBuiltin */ + +/** + * \brief CDllPluginDescScript + * \date 2012-08-20 09:59GMT + * \author Jan Boon (Kaetemi) + * Use only internally for scripts + * TODO: Move to separate header? + */ +class CDllPluginDescScript : public IDllPluginDescInternal +{ + virtual const ucchar *displayName() const; + virtual const ucchar *internalName() const; +}; /* class CDllPluginDescScript */ + +} /* namespace MAX */ +} /* namespace PIPELINE */ + +#endif /* #ifndef PIPELINE_DLL_PLUGIN_DESC_H */ + +/* end of file */ diff --git a/code/nel/tools/pipeline/max/scene_class.h b/code/nel/tools/pipeline/max/scene_class.h index 14cc17471..43e4431d2 100644 --- a/code/nel/tools/pipeline/max/scene_class.h +++ b/code/nel/tools/pipeline/max/scene_class.h @@ -118,23 +118,6 @@ public: }; /* class CSceneClassDesc */ -/** - * \brief CSceneClassRegistry - * \date 2012-08-19 19:25GMT - * \author Jan Boon (Kaetemi) - * CSceneClassRegistry - */ -class CSceneClassRegistry -{ -public: - void add(const NLMISC::CClassId, const ISceneClassDesc *desc); - void remove(const NLMISC::CClassId); - CSceneClass *create(const NLMISC::CClassId classid) const; - void destroy(CSceneClass *sceneClass) const; - const ISceneClassDesc *describe(const NLMISC::CClassId classid) const; - -}; /* class ISceneClassConstructor */ - } /* namespace MAX */ } /* namespace PIPELINE */ diff --git a/code/nel/tools/pipeline/max/scene_class_registry.cpp b/code/nel/tools/pipeline/max/scene_class_registry.cpp new file mode 100644 index 000000000..922f8afeb --- /dev/null +++ b/code/nel/tools/pipeline/max/scene_class_registry.cpp @@ -0,0 +1,57 @@ +/** + * \file scene_class_registry.cpp + * \brief CSceneClassRegistry + * \date 2012-08-20 09:57GMT + * \author Jan Boon (Kaetemi) + * CSceneClassRegistry + */ + +/* + * Copyright (C) 2012 by authors + * + * This file is part of RYZOM CORE PIPELINE. + * RYZOM CORE PIPELINE is free software: you can redistribute it + * and/or modify it under the terms of the GNU Affero General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * RYZOM CORE PIPELINE is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with RYZOM CORE PIPELINE. If not, see + * . + */ + +#include +#include "scene_class_registry.h" + +// STL includes + +// NeL includes +// #include + +// Project includes + +using namespace std; +// using namespace NLMISC; + +namespace PIPELINE { +namespace MAX { + +CSceneClassRegistry::CSceneClassRegistry() +{ + +} + +CSceneClassRegistry::~CSceneClassRegistry() +{ + +} + +} /* namespace MAX */ +} /* namespace PIPELINE */ + +/* end of file */ diff --git a/code/nel/tools/pipeline/max/scene_class_registry.h b/code/nel/tools/pipeline/max/scene_class_registry.h new file mode 100644 index 000000000..37b52ccf9 --- /dev/null +++ b/code/nel/tools/pipeline/max/scene_class_registry.h @@ -0,0 +1,67 @@ +/** + * \file scene_class_registry.h + * \brief CSceneClassRegistry + * \date 2012-08-20 09:57GMT + * \author Jan Boon (Kaetemi) + * CSceneClassRegistry + */ + +/* + * Copyright (C) 2012 by authors + * + * This file is part of RYZOM CORE PIPELINE. + * RYZOM CORE PIPELINE is free software: you can redistribute it + * and/or modify it under the terms of the GNU Affero General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * RYZOM CORE PIPELINE is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with RYZOM CORE PIPELINE. If not, see + * . + */ + +#ifndef PIPELINE_SCENE_CLASS_REGISTRY_H +#define PIPELINE_SCENE_CLASS_REGISTRY_H +#include + +// STL includes + +// NeL includes + +// Project includes +#include "scene_class.h" + +namespace PIPELINE { +namespace MAX { + +/** + * \brief CSceneClassRegistry + * \date 2012-08-20 09:57GMT + * \author Jan Boon (Kaetemi) + * CSceneClassRegistry + */ +class CSceneClassRegistry +{ +public: + CSceneClassRegistry(); + virtual ~CSceneClassRegistry(); + + void add(const NLMISC::CClassId, const ISceneClassDesc *desc); + void remove(const NLMISC::CClassId); + CSceneClass *create(const NLMISC::CClassId classid) const; + void destroy(CSceneClass *sceneClass) const; + const ISceneClassDesc *describe(const NLMISC::CClassId classid) const; + +}; /* class CSceneClassRegistry */ + +} /* namespace MAX */ +} /* namespace PIPELINE */ + +#endif /* #ifndef PIPELINE_SCENE_CLASS_REGISTRY_H */ + +/* end of file */