diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h index 864028501..973f80e14 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin.h @@ -95,12 +95,6 @@ public: @endcode */ virtual void setNelContext(NLMISC::INelContext *nelContext) = 0; - - virtual QString name() const = 0; - virtual QString version() const = 0; - virtual QString vendor() const = 0; - virtual QString description() const = 0; - virtual QStringList dependencies() const = 0; }; }; //namespace ExtensionSystem diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h index 45895c36f..2aefbb894 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/iplugin_spec.h @@ -37,8 +37,8 @@ struct State { Invalid = 1, Read, - Loaded, Resolved, + Loaded, Initialized, Running, Stopped, diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp index 3b2431a07..bcd90e351 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.cpp @@ -26,13 +26,14 @@ namespace ExtensionSystem { -CPluginManager::CPluginManager(QObject *parent) +PluginManager::PluginManager(QObject *parent) :IPluginManager(parent), - m_settings(0) + m_settings(0), + m_extension("xml") { } -CPluginManager::~CPluginManager() +PluginManager::~PluginManager() { writeSettings(); stopAll(); @@ -40,7 +41,7 @@ CPluginManager::~CPluginManager() qDeleteAll(m_pluginSpecs); } -void CPluginManager::addObject(QObject *obj) +void PluginManager::addObject(QObject *obj) { QWriteLocker lock(&m_lock); if (obj == 0) @@ -60,7 +61,7 @@ void CPluginManager::addObject(QObject *obj) Q_EMIT objectAdded(obj); } -void CPluginManager::removeObject(QObject *obj) +void PluginManager::removeObject(QObject *obj) { if (obj == 0) { @@ -80,25 +81,25 @@ void CPluginManager::removeObject(QObject *obj) m_allObjects.removeAll(obj); } -QList CPluginManager::allObjects() const +QList PluginManager::allObjects() const { return m_allObjects; } -void CPluginManager::loadPlugins() +void PluginManager::loadPlugins() { - Q_FOREACH (CPluginSpec *spec, m_pluginSpecs) - setPluginState(spec, State::Loaded); - - Q_FOREACH (CPluginSpec *spec, m_pluginSpecs) + Q_FOREACH (PluginSpec *spec, m_pluginSpecs) setPluginState(spec, State::Resolved); - QList queue = loadQueue(); + QList queue = loadQueue(); - Q_FOREACH (CPluginSpec *spec, queue) + Q_FOREACH (PluginSpec *spec, queue) + setPluginState(spec, State::Loaded); + + Q_FOREACH (PluginSpec *spec, queue) setPluginState(spec, State::Initialized); - QListIterator it(queue); + QListIterator it(queue); it.toBack(); while (it.hasPrevious()) setPluginState(it.previous(), State::Running); @@ -106,34 +107,34 @@ void CPluginManager::loadPlugins() Q_EMIT pluginsChanged(); } -QStringList CPluginManager::getPluginPaths() const +QStringList PluginManager::getPluginPaths() const { return m_pluginPaths; } -void CPluginManager::setPluginPaths(const QStringList &paths) +void PluginManager::setPluginPaths(const QStringList &paths) { m_pluginPaths = paths; readPluginPaths(); readSettings(); } -QList CPluginManager::plugins() const +QList PluginManager::plugins() const { return m_ipluginSpecs; } -void CPluginManager::setSettings(QSettings *settings) +void PluginManager::setSettings(QSettings *settings) { m_settings = settings; } -QSettings *CPluginManager::settings() const +QSettings *PluginManager::settings() const { return m_settings; } -void CPluginManager::readSettings() +void PluginManager::readSettings() { if (m_settings) { @@ -141,7 +142,7 @@ void CPluginManager::readSettings() m_settings->beginGroup("PluginManager"); blackList = m_settings->value("BlackList").toStringList(); m_settings->endGroup(); - Q_FOREACH (CPluginSpec *spec, m_pluginSpecs) + Q_FOREACH (PluginSpec *spec, m_pluginSpecs) { QString pluginName = spec->fileName(); @@ -154,14 +155,13 @@ void CPluginManager::readSettings() } } -void CPluginManager::writeSettings() +void PluginManager::writeSettings() { if (m_settings) { QStringList blackList; - Q_FOREACH(CPluginSpec *spec, m_pluginSpecs) + Q_FOREACH(PluginSpec *spec, m_pluginSpecs) { - nlinfo(spec->fileName().toStdString().c_str()); if (!spec->isEnabled()) blackList.push_back(spec->fileName()); } @@ -172,7 +172,7 @@ void CPluginManager::writeSettings() } } -void CPluginManager::readPluginPaths() +void PluginManager::readPluginPaths() { qDeleteAll(m_pluginSpecs); m_pluginSpecs.clear(); @@ -183,11 +183,7 @@ void CPluginManager::readPluginPaths() while (!searchPaths.isEmpty()) { const QDir dir(searchPaths.takeFirst()); -#ifdef Q_OS_WIN - const QFileInfoList files = dir.entryInfoList(QStringList() << QString("ovqt_plugin_*.dll"), QDir::Files); -#else - const QFileInfoList files = dir.entryInfoList(QStringList() << QString("libovqt_plugin_*.so"), QDir::Files); -#endif + const QFileInfoList files = dir.entryInfoList(QStringList() << QString("ovqt_plugin_*.%1").arg(m_extension), QDir::Files); Q_FOREACH (const QFileInfo &file, files) pluginsList << file.absoluteFilePath(); const QFileInfoList dirs = dir.entryInfoList(QDir::Dirs|QDir::NoDotAndDotDot); @@ -197,9 +193,9 @@ void CPluginManager::readPluginPaths() Q_FOREACH (const QString &pluginFile, pluginsList) { - CPluginSpec *spec = new CPluginSpec; - spec->setFileName(pluginFile); + PluginSpec *spec = new PluginSpec; spec->m_pluginManager = this; + spec->setSpecFileName(pluginFile); m_pluginSpecs.append(spec); m_ipluginSpecs.append(spec); } @@ -207,7 +203,7 @@ void CPluginManager::readPluginPaths() Q_EMIT pluginsChanged(); } -void CPluginManager::setPluginState(CPluginSpec *spec, int destState) +void PluginManager::setPluginState(PluginSpec *spec, int destState) { if (spec->hasError() || spec->state() != destState-1) return; @@ -233,7 +229,7 @@ void CPluginManager::setPluginState(CPluginSpec *spec, int destState) default: break; } - Q_FOREACH (const CPluginSpec *depSpec, spec->dependencySpecs()) + Q_FOREACH (const PluginSpec *depSpec, spec->dependencySpecs()) { if (depSpec->state() != destState) { @@ -256,19 +252,19 @@ void CPluginManager::setPluginState(CPluginSpec *spec, int destState) } } -QList CPluginManager::loadQueue() +QList PluginManager::loadQueue() { - QList queue; - Q_FOREACH(CPluginSpec *spec, m_pluginSpecs) + QList queue; + Q_FOREACH(PluginSpec *spec, m_pluginSpecs) { - QList circularityCheckQueue; + QList circularityCheckQueue; loadQueue(spec, queue, circularityCheckQueue); } return queue; } -bool CPluginManager::loadQueue(CPluginSpec *spec, QList &queue, - QList &circularityCheckQueue) +bool PluginManager::loadQueue(PluginSpec *spec, QList &queue, + QList &circularityCheckQueue) { if (queue.contains(spec)) return true; @@ -295,7 +291,7 @@ bool CPluginManager::loadQueue(CPluginSpec *spec, QList &queue, } // add dependencies - Q_FOREACH (CPluginSpec *depSpec, spec->dependencySpecs()) + Q_FOREACH (PluginSpec *depSpec, spec->dependencySpecs()) { if (!loadQueue(depSpec, queue, circularityCheckQueue)) { @@ -311,17 +307,17 @@ bool CPluginManager::loadQueue(CPluginSpec *spec, QList &queue, return true; } -void CPluginManager::stopAll() +void PluginManager::stopAll() { - QList queue = loadQueue(); - Q_FOREACH (CPluginSpec *spec, queue) + QList queue = loadQueue(); + Q_FOREACH (PluginSpec *spec, queue) setPluginState(spec, State::Stopped); } -void CPluginManager::deleteAll() +void PluginManager::deleteAll() { - QList queue = loadQueue(); - QListIterator it(queue); + QList queue = loadQueue(); + QListIterator it(queue); it.toBack(); while (it.hasPrevious()) { diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.h index 4ef3b2208..9ab1ae135 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_manager.h @@ -29,15 +29,15 @@ namespace ExtensionSystem { class IPlugin; -class CPluginSpec; +class PluginSpec; -class CPluginManager : public IPluginManager +class PluginManager : public IPluginManager { Q_OBJECT public: - CPluginManager(QObject *parent = 0); - ~CPluginManager(); + PluginManager(QObject *parent = 0); + ~PluginManager(); // Object pool operations virtual void addObject(QObject *obj); @@ -49,7 +49,7 @@ public: virtual QStringList getPluginPaths() const; virtual void setPluginPaths(const QStringList &paths); virtual QList plugins() const; - QList loadQueue(); + QList loadQueue(); // Settings virtual void setSettings(QSettings *settings); @@ -58,21 +58,22 @@ public: void writeSettings(); private: - void setPluginState(CPluginSpec *spec, int destState); + void setPluginState(PluginSpec *spec, int destState); void readPluginPaths(); - bool loadQueue(CPluginSpec *spec, QList &queue, QList &circularityCheckQueue); + bool loadQueue(PluginSpec *spec, QList &queue, QList &circularityCheckQueue); void stopAll(); void deleteAll(); mutable QReadWriteLock m_lock; QSettings *m_settings; - QList m_pluginSpecs; + QString m_extension; + QList m_pluginSpecs; QList m_ipluginSpecs; QStringList m_pluginPaths; QList m_allObjects; -}; // class CPluginManager +}; // class PluginManager } // namespace ExtensionSystem diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp index 6e15e1181..5c4e04ecb 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.cpp @@ -16,12 +16,15 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . +// Project includes #include "plugin_spec.h" #include "iplugin.h" #include "iplugin_manager.h" #include "nel/misc/app_context.h" +#include "nel/misc/debug.h" +// Qt includes #include #include #include @@ -30,8 +33,17 @@ namespace ExtensionSystem { +const char *const PLUGIN_SPEC_NAME = "name"; +const char *const PLUGIN_SPEC_VENDOR = "vendor"; +const char *const PLUGIN_SPEC_VERSION = "version"; +const char *const PLUGIN_SPEC_LIBRARY_NAME = "library-name"; +const char *const PLUGIN_SPEC_DESCRIPTION = "description"; +const char *const PLUGIN_SPEC_DEPENDENCIES = "dependencies"; +const char *const PLUGIN_SPEC_DEPENDENCY = "dependency"; +const char *const PLUGIN_SPEC_DEPENDENCY_NAME = "plugin-name"; +const char *const PLUGIN_SPEC_DEPENDENCY_VERSION = "version"; -CPluginSpec::CPluginSpec() +PluginSpec::PluginSpec() : m_location(""), m_filePath(""), m_fileName(""), @@ -39,6 +51,8 @@ CPluginSpec::CPluginSpec() m_version(""), m_vendor(""), m_description(""), + m_nameSpecFile(""), + m_suffix(""), m_state(State::Invalid), m_enabled(true), m_enabledStartup(true), @@ -47,104 +61,195 @@ CPluginSpec::CPluginSpec() m_plugin(0), m_pluginManager(0) { +#ifdef Q_OS_WIN +# ifdef DEBUG + m_suffix = "_d.dll"; +# else + m_suffix = "_r.dll"; +# endif +#else + m_suffix = ".so"; +#endif } -QString CPluginSpec::name() const +QString PluginSpec::name() const { return m_name; } -QString CPluginSpec::version() const +QString PluginSpec::version() const { return m_version; } -QString CPluginSpec::vendor() const +QString PluginSpec::vendor() const { return m_vendor; } -QString CPluginSpec::description() const +QString PluginSpec::description() const { return m_description; } -QString CPluginSpec::location() const +QString PluginSpec::location() const { return m_location; } -QString CPluginSpec::filePath() const +QString PluginSpec::filePath() const { return m_filePath; } -QString CPluginSpec::fileName() const +QString PluginSpec::fileName() const { return m_fileName; } -IPlugin *CPluginSpec::plugin() const +IPlugin *PluginSpec::plugin() const { return m_plugin; } -int CPluginSpec::state() const +int PluginSpec::state() const { return m_state; } -bool CPluginSpec::hasError() const +bool PluginSpec::hasError() const { return m_hasError; } -QString CPluginSpec::errorString() const +QString PluginSpec::errorString() const { return m_errorString; } -QList CPluginSpec::dependencySpecs() const +QList PluginSpec::dependencySpecs() const { return m_dependencySpecs; } -bool CPluginSpec::setFileName(const QString &fileName) +bool PluginSpec::setFileName(const QString &fileName) { - QFile file(fileName); + m_fileName = fileName + m_suffix; + m_filePath = m_location + "/" + m_fileName; + + nlinfo(m_filePath.toStdString().c_str()); + QFile file(m_filePath); if (!file.exists()) - return reportError(QCoreApplication::translate("CPluginSpec", "File does not exist: %1").arg(file.fileName())); + return reportError(QCoreApplication::translate("PluginSpec", "File does not exist: %1").arg(file.fileName())); if (!file.open(QIODevice::ReadOnly)) - return reportError(QCoreApplication::translate("CPluginSpec", "Could not open file for read: %1").arg(file.fileName())); + return reportError(QCoreApplication::translate("PluginSpec", "Could not open file for read: %1").arg(file.fileName())); + return true; +} + +bool PluginSpec::setSpecFileName(const QString &specFileName) +{ + m_nameSpecFile = specFileName; + + QFile file(specFileName); + if (!file.exists()) + return reportError(QCoreApplication::translate("PluginSpec", "Spec file does not exist: %1").arg(file.fileName())); QFileInfo fileInfo(file); m_location = fileInfo.absolutePath(); - m_filePath = fileInfo.absoluteFilePath(); - m_fileName = fileInfo.fileName(); + readSpec(); + return true; +} +bool PluginSpec::readSpec() +{ + QFile file(m_nameSpecFile); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + return reportError(QCoreApplication::translate("PluginSpec", "Could not open spec file for read: %1").arg(file.fileName())); + + QXmlStreamReader reader(&file); + while (!reader.atEnd()) + { + if (reader.isStartElement()) + parseSpec(reader); + reader.readNext(); + } + if (reader.hasError()) + return reportError(QCoreApplication::translate("PluginSpec", "Error parsing file %1: %2, at line %3, column %4") + .arg(file.fileName()) + .arg(reader.errorString()) + .arg(reader.lineNumber()) + .arg(reader.columnNumber())); m_state = State::Read; return true; } -void CPluginSpec::setEnabled(bool enabled) +void PluginSpec::parseSpec(QXmlStreamReader &reader) +{ + QString elemName = reader.name().toString(); + reader.readNext(); + if (reader.isCharacters()) + { + QString elemText = reader.text().toString(); + if (elemName == PLUGIN_SPEC_LIBRARY_NAME) + setFileName(elemText); + if (elemName == PLUGIN_SPEC_NAME) + m_name = elemText; + if (elemName == PLUGIN_SPEC_VERSION) + m_version = elemText; + if (elemName == PLUGIN_SPEC_VENDOR) + m_vendor = elemText; + if (elemName == PLUGIN_SPEC_DESCRIPTION) + m_description = elemText; + if (elemName == PLUGIN_SPEC_DEPENDENCIES) + parseDependency(reader); + } +} + +void PluginSpec::parseDependency(QXmlStreamReader &reader) +{ + QString elemName; + while (!reader.atEnd() && (elemName != PLUGIN_SPEC_DEPENDENCIES)) + { + reader.readNext(); + elemName = reader.name().toString(); + if (reader.isStartElement() && (elemName == PLUGIN_SPEC_DEPENDENCY)) + { + // Read name dependency plugin + QString dependencyName = reader.attributes().value(PLUGIN_SPEC_DEPENDENCY_NAME).toString(); + if (dependencyName.isEmpty()) + { + reader.raiseError(QCoreApplication::translate("CPluginSpec", "'%1' misses attribute '%2'") + .arg(PLUGIN_SPEC_DEPENDENCY) + .arg(PLUGIN_SPEC_DEPENDENCY_NAME)); + return; + } + // TODO: Read version dependency plugin + QString dependencyVersion = reader.attributes().value(PLUGIN_SPEC_DEPENDENCY_VERSION).toString(); + + m_dependencies.push_back(dependencyName); + } + } +} + +void PluginSpec::setEnabled(bool enabled) { m_enabled = enabled; } -bool CPluginSpec::isEnabled() const +bool PluginSpec::isEnabled() const { return m_enabled; } -bool CPluginSpec::loadLibrary() +bool PluginSpec::loadLibrary() { if (m_hasError) return false; - if (m_state != State::Read) + if (m_state != State::Resolved) { if (m_state == State::Loaded) return true; - return reportError(QCoreApplication::translate("CPluginSpec", "Loading the library failed because state != Resolved")); + return reportError(QCoreApplication::translate("PluginSpec", "Loading the library failed because state != Resolved")); } QPluginLoader loader(m_filePath); @@ -155,38 +260,32 @@ bool CPluginSpec::loadLibrary() if (!pluginObject) { loader.unload(); - return reportError(QCoreApplication::translate("CPluginSpec", "Plugin is not valid (does not derive from IPlugin)")); + return reportError(QCoreApplication::translate("PluginSpec", "Plugin is not valid (does not derive from IPlugin)")); } pluginObject->setNelContext(&NLMISC::INelContext::getInstance()); - m_name = pluginObject->name(); - m_version = pluginObject->version(); - m_vendor = pluginObject->vendor(); - m_description = pluginObject->description(); - m_state = State::Loaded; m_plugin = pluginObject; return true; } -bool CPluginSpec::resolveDependencies(const QList &specs) +bool PluginSpec::resolveDependencies(const QList &specs) { if (m_hasError) return false; - if (m_state != State::Loaded) + if (m_state != State::Read) { - m_errorString = QCoreApplication::translate("CPluginSpec", "Resolving dependencies failed because state != Read"); + m_errorString = QCoreApplication::translate("PluginSpec", "Resolving dependencies failed because state != Read"); m_hasError = true; return false; } - QList resolvedDependencies; - QStringList dependencies = m_plugin->dependencies(); - Q_FOREACH(const QString &dependency, dependencies) + QList resolvedDependencies; + Q_FOREACH(const QString &dependency, m_dependencies) { - CPluginSpec *found = 0; + PluginSpec *found = 0; - Q_FOREACH(CPluginSpec *spec, specs) + Q_FOREACH(PluginSpec *spec, specs) { if (QString::compare(dependency, spec->name(), Qt::CaseInsensitive) == 0) { @@ -199,7 +298,7 @@ bool CPluginSpec::resolveDependencies(const QList &specs) m_hasError = true; if (!m_errorString.isEmpty()) m_errorString.append(QLatin1Char('\n')); - m_errorString.append(QCoreApplication::translate("CPluginSpec", "Could not resolve dependency '%1'") + m_errorString.append(QCoreApplication::translate("PluginSpec", "Could not resolve dependency '%1'") .arg(dependency)); continue; } @@ -209,34 +308,32 @@ bool CPluginSpec::resolveDependencies(const QList &specs) return false; m_dependencySpecs = resolvedDependencies; - m_state = State::Resolved; - return true; } -bool CPluginSpec::initializePlugin() +bool PluginSpec::initializePlugin() { if (m_hasError) return false; - if (m_state != State::Resolved) + if (m_state != State::Loaded) { if (m_state == State::Initialized) return true; - return reportError(QCoreApplication::translate("CPluginSpec", "Initializing the plugin failed because state != Resolved)")); + return reportError(QCoreApplication::translate("PluginSpec", "Initializing the plugin failed because state != Loaded)")); } if (!m_plugin) - return reportError(QCoreApplication::translate("CPluginSpec", "Internal error: have no plugin instance to initialize")); + return reportError(QCoreApplication::translate("PluginSpec", "Internal error: have no plugin instance to initialize")); QString err; if (!m_plugin->initialize(m_pluginManager, &err)) - return reportError(QCoreApplication::translate("CPluginSpec", "Plugin initialization failed: %1").arg(err)); + return reportError(QCoreApplication::translate("PluginSpec", "Plugin initialization failed: %1").arg(err)); m_state = State::Initialized; return true; } -bool CPluginSpec::initializeExtensions() +bool PluginSpec::initializeExtensions() { if (m_hasError) return false; @@ -244,17 +341,17 @@ bool CPluginSpec::initializeExtensions() { if (m_state == State::Running) return true; - return reportError(QCoreApplication::translate("CPluginSpec", "Cannot perform extensionsInitialized because state != Initialized")); + return reportError(QCoreApplication::translate("PluginSpec", "Cannot perform extensionsInitialized because state != Initialized")); } if (!m_plugin) - return reportError(QCoreApplication::translate("CPluginSpec", "Internal error: have no plugin instance to perform extensionsInitialized")); + return reportError(QCoreApplication::translate("PluginSpec", "Internal error: have no plugin instance to perform extensionsInitialized")); m_plugin->extensionsInitialized(); m_state = State::Running; return true; } -void CPluginSpec::stop() +void PluginSpec::stop() { if (!m_plugin) return; @@ -262,7 +359,7 @@ void CPluginSpec::stop() m_state = State::Stopped; } -void CPluginSpec::kill() +void PluginSpec::kill() { if (!m_plugin) return; @@ -271,17 +368,17 @@ void CPluginSpec::kill() m_state = State::Deleted; } -void CPluginSpec::setEnabledStartup(bool enabled) +void PluginSpec::setEnabledStartup(bool enabled) { m_enabledStartup = enabled; } -bool CPluginSpec::isEnabledStartup() const +bool PluginSpec::isEnabledStartup() const { return m_enabledStartup; } -bool CPluginSpec::reportError(const QString &err) +bool PluginSpec::reportError(const QString &err) { m_errorString = err; m_hasError = true; diff --git a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h index 5d9605de7..c28980d69 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h +++ b/code/nel/tools/3d/object_viewer_qt/src/extension_system/plugin_spec.h @@ -21,12 +21,14 @@ #include "iplugin_spec.h" -#include "QtCore/QList" +#include +#include +#include namespace ExtensionSystem { -class CPluginSpec: public IPluginSpec +class PluginSpec: public IPluginSpec { public: virtual QString name() const; @@ -44,18 +46,22 @@ public: virtual int state() const; virtual bool hasError() const; virtual QString errorString() const; - QList dependencySpecs() const; + QList dependencySpecs() const; /// Enables/disables load this plugin after restart the program virtual void setEnabled(bool enabled); virtual bool isEnabled() const; private: - CPluginSpec(); + PluginSpec(); bool setFileName(const QString &fileName); + bool setSpecFileName(const QString &specFileName); + bool readSpec(); + void parseSpec(QXmlStreamReader &reader); + void parseDependency(QXmlStreamReader &reader); bool loadLibrary(); - bool resolveDependencies(const QList &specs); + bool resolveDependencies(const QList &specs); bool initializePlugin(); bool initializeExtensions(); void stop(); @@ -77,16 +83,19 @@ private: QString m_vendor; QString m_description; + QString m_nameSpecFile; + QString m_suffix; int m_state; bool m_enabled, m_enabledStartup; bool m_hasError; QString m_errorString; + QStringList m_dependencies; IPlugin *m_plugin; IPluginManager *m_pluginManager; - QList m_dependencySpecs; + QList m_dependencySpecs; - friend class CPluginManager; + friend class PluginManager; }; } // namespace ExtensionSystem diff --git a/code/nel/tools/3d/object_viewer_qt/src/main.cpp b/code/nel/tools/3d/object_viewer_qt/src/main.cpp index 1ddcc5565..4b904bdc6 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/main.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/main.cpp @@ -148,7 +148,7 @@ sint main(int argc, char **argv) NLMISC::CLibrary::addLibPath((qApp->applicationDirPath() + QString("/../PlugIns/nel")).toStdString()); #endif - ExtensionSystem::CPluginManager pluginManager; + ExtensionSystem::PluginManager pluginManager; pluginManager.setSettings(settings); QStringList pluginPaths; #if !defined(NL_OS_MAC) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.cpp index fa61b5700..b21d934c8 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.cpp @@ -17,7 +17,6 @@ // along with this program. If not, see . #include "core.h" -#include "imenu_manager.h" #include "context_manager.h" #include "main_window.h" #include "../../extension_system/iplugin_manager.h" @@ -50,7 +49,7 @@ bool CoreImpl::showOptionsDialog(const QString &group, return m_mainWindow->showOptionsDialog(group, page, parent); } -IMenuManager *CoreImpl::menuManager() const +MenuManager *CoreImpl::menuManager() const { return m_mainWindow->menuManager(); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.h index 2613a06a5..c62fac593 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core.h @@ -37,7 +37,7 @@ public: const QString &page = QString(), QWidget *parent = 0); - virtual IMenuManager *menuManager() const; + virtual MenuManager *menuManager() const; virtual ContextManager *contextManager() const; virtual QSettings *settings() const; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h index 65327ae38..d1b4e902d 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_constants.h @@ -23,97 +23,97 @@ namespace Core namespace Constants { -const char * const OVQT_VERSION_LONG = "0.1"; -const char * const OVQT_VENDOR = "Ryzom Core"; -const char * const OVQT_YEAR = "2010, 2011"; -const char * const OVQT_CORE_PLUGIN = "Core"; +const char *const OVQT_VERSION_LONG = "0.8"; +const char *const OVQT_VENDOR = "Ryzom Core"; +const char *const OVQT_YEAR = "2010, 2011"; +const char *const OVQT_CORE_PLUGIN = "Core"; //mainwindow -const char * const MAIN_WINDOW = "ObjectViewerQt.MainWindow"; +const char *const MAIN_WINDOW = "ObjectViewerQt.MainWindow"; //menubar -const char * const MENU_BAR = "ObjectViewerQt.MenuBar"; +const char *const MENU_BAR = "ObjectViewerQt.MenuBar"; //menus -const char * const M_FILE = "ObjectViewerQt.Menu.File"; -const char * const M_EDIT = "ObjectViewerQt.Menu.Edit"; -const char * const M_VIEW = "ObjectViewerQt.Menu.View"; -const char * const M_SCENE = "ObjectViewerQt.Menu.Scene"; -const char * const M_TOOLS = "ObjectViewerQt.Menu.Tools"; -const char * const M_WINDOW = "ObjectViewerQt.Menu.Window"; -const char * const M_HELP = "ObjectViewerQt.Menu.Help"; +const char *const M_FILE = "ObjectViewerQt.Menu.File"; +const char *const M_EDIT = "ObjectViewerQt.Menu.Edit"; +const char *const M_VIEW = "ObjectViewerQt.Menu.View"; +const char *const M_SCENE = "ObjectViewerQt.Menu.Scene"; +const char *const M_TOOLS = "ObjectViewerQt.Menu.Tools"; +const char *const M_WINDOW = "ObjectViewerQt.Menu.Window"; +const char *const M_HELP = "ObjectViewerQt.Menu.Help"; -const char * const M_FILE_RECENTFILES = "ObjectViewerQt.Menu.File.RecentFiles"; -const char * const M_SHEET = "ObjectViewerQt.Menu.Sheet"; +const char *const M_FILE_RECENTFILES = "ObjectViewerQt.Menu.File.RecentFiles"; +const char *const M_SHEET = "ObjectViewerQt.Menu.Sheet"; //actions -const char * const NEW = "ObjectViewerQt.New"; -const char * const OPEN = "ObjectViewerQt.Open"; -const char * const SAVE = "ObjectViewerQt.Save"; -const char * const SAVE_AS = "ObjectViewerQt.SaveAs"; -const char * const SAVE_ALL = "ObjectViewerQt.SaveAll"; -const char * const EXIT = "ObjectViewerQt.Exit"; +const char *const NEW = "ObjectViewerQt.New"; +const char *const OPEN = "ObjectViewerQt.Open"; +const char *const SAVE = "ObjectViewerQt.Save"; +const char *const SAVE_AS = "ObjectViewerQt.SaveAs"; +const char *const SAVE_ALL = "ObjectViewerQt.SaveAll"; +const char *const EXIT = "ObjectViewerQt.Exit"; -const char * const UNDO = "ObjectViewerQt.Undo"; -const char * const REDO = "ObjectViewerQt.Redo"; -const char * const CUT = "ObjectViewerQt.Cut"; -const char * const COPY = "ObjectViewerQt.Copy"; -const char * const PASTE = "ObjectViewerQt.Paste"; -const char * const DEL = "ObjectViewerQt.Del"; -const char * const FIND = "ObjectViewerQt.Find"; -const char * const SELECT_ALL = "ObjectViewerQt.SelectAll"; -const char * const GOTO_POS = "ObjectViewerQt.Goto"; +const char *const UNDO = "ObjectViewerQt.Undo"; +const char *const REDO = "ObjectViewerQt.Redo"; +const char *const CUT = "ObjectViewerQt.Cut"; +const char *const COPY = "ObjectViewerQt.Copy"; +const char *const PASTE = "ObjectViewerQt.Paste"; +const char *const DEL = "ObjectViewerQt.Del"; +const char *const FIND = "ObjectViewerQt.Find"; +const char *const SELECT_ALL = "ObjectViewerQt.SelectAll"; +const char *const GOTO_POS = "ObjectViewerQt.Goto"; -const char * const SETTINGS = "ObjectViewerQt.Settings"; -const char * const TOGGLE_FULLSCREEN = "ObjectViewerQt.ToggleFullScreen"; +const char *const SETTINGS = "ObjectViewerQt.Settings"; +const char *const TOGGLE_FULLSCREEN = "ObjectViewerQt.ToggleFullScreen"; -const char * const CLOSE = "ObjectViewerQt.Close"; -const char * const CLOSEALL = "ObjectViewerQt.CloseAll"; -const char * const CLOSEOTHERS = "ObjectViewerQt.CloseOthers"; -const char * const ABOUT = "ObjectViewerQt.About"; -const char * const ABOUT_PLUGINS = "ObjectViewerQt.AboutPlugins"; -const char * const ABOUT_QT = "ObjectViewerQt.AboutQt"; +const char *const CLOSE = "ObjectViewerQt.Close"; +const char *const CLOSEALL = "ObjectViewerQt.CloseAll"; +const char *const CLOSEOTHERS = "ObjectViewerQt.CloseOthers"; +const char *const ABOUT = "ObjectViewerQt.About"; +const char *const ABOUT_PLUGINS = "ObjectViewerQt.AboutPlugins"; +const char *const ABOUT_QT = "ObjectViewerQt.AboutQt"; //settings -const char * const SETTINGS_CATEGORY_GENERAL = "general"; -const char * const SETTINGS_CATEGORY_GENERAL_ICON = ":/icons/ic_nel_generic_settings.png"; -const char * const SETTINGS_TR_CATEGORY_GENERAL = QT_TR_NOOP("General"); +const char *const SETTINGS_CATEGORY_GENERAL = "general"; +const char *const SETTINGS_CATEGORY_GENERAL_ICON = ":/icons/ic_nel_generic_settings.png"; +const char *const SETTINGS_TR_CATEGORY_GENERAL = QT_TR_NOOP("General"); -const char * const MAIN_WINDOW_SECTION = "MainWindow"; -const char * const MAIN_WINDOW_STATE = "WindowState"; -const char * const MAIN_WINDOW_GEOMETRY = "WindowGeometry"; -const char * const QT_STYLE = "QtStyle"; -const char * const QT_PALETTE = "QtPalette"; +const char *const MAIN_WINDOW_SECTION = "MainWindow"; +const char *const MAIN_WINDOW_STATE = "WindowState"; +const char *const MAIN_WINDOW_GEOMETRY = "WindowGeometry"; +const char *const QT_STYLE = "QtStyle"; +const char *const QT_PALETTE = "QtPalette"; -const char * const LANGUAGE = "Language"; -const char * const PLUGINS_PATH = "PluginPath"; -const char * const DATA_PATH_SECTION = "DataPath"; -const char * const SEARCH_PATHS = "SearchPaths"; -const char * const RECURSIVE_SEARCH_PATHS = "RecursiveSearchPathes"; -const char * const LEVELDESIGN_PATH = "LevelDesignPath"; -const char * const ASSETS_PATH = "AssetsPath"; -const char * const PRIMITIVES_PATH = "PrimitivesPath"; -const char * const LIGOCONFIG_FILE = "LigoConfigFile"; -const char * const REMAP_EXTENSIONS = "RemapExtensions"; +const char *const LANGUAGE = "Language"; +const char *const PLUGINS_PATH = "PluginPath"; +const char *const DATA_PATH_SECTION = "DataPath"; +const char *const SEARCH_PATHS = "SearchPaths"; +const char *const RECURSIVE_SEARCH_PATHS = "RecursiveSearchPathes"; +const char *const LEVELDESIGN_PATH = "LevelDesignPath"; +const char *const ASSETS_PATH = "AssetsPath"; +const char *const PRIMITIVES_PATH = "PrimitivesPath"; +const char *const LIGOCONFIG_FILE = "LigoConfigFile"; +const char *const REMAP_EXTENSIONS = "RemapExtensions"; -const char * const LOG_SECTION = "LogSettings"; -const char * const LOG_ERROR = "LogError"; -const char * const LOG_WARNING = "LogWarning"; -const char * const LOG_DEBUG = "LogDebug"; -const char * const LOG_ASSERT = "LogAssert"; -const char * const LOG_INFO = "LogInfo"; +const char *const LOG_SECTION = "LogSettings"; +const char *const LOG_ERROR = "LogError"; +const char *const LOG_WARNING = "LogWarning"; +const char *const LOG_DEBUG = "LogDebug"; +const char *const LOG_ASSERT = "LogAssert"; +const char *const LOG_INFO = "LogInfo"; //resources -const char * const ICON_NEL = ":/core/images/nel.png"; -const char * const ICON_SETTINGS = ":/core/images/preferences.png"; -const char * const ICON_PILL = ":/core/icons/ic_nel_pill.png"; -const char * const ICON_OPEN = ":/core/icons/ic_nel_open.png"; -const char * const ICON_NEW = ":/core/icons/ic_nel_new.png"; -const char * const ICON_SAVE = ":/core/icons/ic_nel_save.png"; -const char * const ICON_SAVE_AS = ":/core/icons/ic_nel_save_as.png"; -const char * const ICON_CRASH = ":/core/icons/ic_nel_crash.png"; -const char * const ICON_UNDO = ":/core/icons/ic_nel_undo.png"; -const char * const ICON_REDO = ":/core/icons/ic_nel_redo.png"; +const char *const ICON_NEL = ":/core/images/nel.png"; +const char *const ICON_SETTINGS = ":/core/images/preferences.png"; +const char *const ICON_PILL = ":/core/icons/ic_nel_pill.png"; +const char *const ICON_OPEN = ":/core/icons/ic_nel_open.png"; +const char *const ICON_NEW = ":/core/icons/ic_nel_new.png"; +const char *const ICON_SAVE = ":/core/icons/ic_nel_save.png"; +const char *const ICON_SAVE_AS = ":/core/icons/ic_nel_save_as.png"; +const char *const ICON_CRASH = ":/core/icons/ic_nel_crash.png"; +const char *const ICON_UNDO = ":/core/icons/ic_nel_undo.png"; +const char *const ICON_REDO = ":/core/icons/ic_nel_redo.png"; } // namespace Constants } // namespace Core diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp index 8aef51f2a..55633feaf 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.cpp @@ -64,8 +64,8 @@ bool CorePlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QStr bool success = m_mainWindow->initialize(errorString); GeneralSettingsPage *generalSettings = new GeneralSettingsPage(this); - CSearchPathsSettingsPage *searchPathPage = new CSearchPathsSettingsPage(false, this); - CSearchPathsSettingsPage *recureseSearchPathPage = new CSearchPathsSettingsPage(true, this); + SearchPathsSettingsPage *searchPathPage = new SearchPathsSettingsPage(false, this); + SearchPathsSettingsPage *recureseSearchPathPage = new SearchPathsSettingsPage(true, this); generalSettings->applyGeneralSettings(); searchPathPage->applySearchPaths(); @@ -95,31 +95,6 @@ void CorePlugin::setNelContext(NLMISC::INelContext *nelContext) m_libContext = new NLMISC::CLibraryContext(*nelContext); } -QString CorePlugin::name() const -{ - return QLatin1String(Constants::OVQT_CORE_PLUGIN); -} - -QString CorePlugin::version() const -{ - return Constants::OVQT_VERSION_LONG; -} - -QString CorePlugin::vendor() const -{ - return Constants::OVQT_VENDOR; -} - -QString CorePlugin::description() const -{ - return "Core plugin."; -} - -QStringList CorePlugin::dependencies() const -{ - return QStringList(); -} - void CorePlugin::addAutoReleasedObject(QObject *obj) { m_plugMan->addObject(obj); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.h index 5c95d22c9..5062227e3 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/core_plugin.h @@ -53,12 +53,6 @@ public: void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - void addAutoReleasedObject(QObject *obj); ExtensionSystem::IPluginManager *pluginManager() const diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp index 88bd3a298..b1ef3b659 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.cpp @@ -148,25 +148,25 @@ void GeneralSettingsPage::setLevelDesignPath() } } -void GeneralSettingsPage::setPrimitivesPath() -{ +void GeneralSettingsPage::setPrimitivesPath() +{ QString newPath = QFileDialog::getExistingDirectory(0, tr("Set the primitives path"), m_ui.primitivesPathLineEdit->text()); if (!newPath.isEmpty()) { m_ui.primitivesPathLineEdit->setText(newPath); - } -} - -void GeneralSettingsPage::setLigoConfigFile() -{ - QString newFile = QFileDialog::getOpenFileName(0, tr("Set the ligo config file"), - m_ui.ligoConfigFileLineEdit->text()); + } +} + +void GeneralSettingsPage::setLigoConfigFile() +{ + QString newFile = QFileDialog::getOpenFileName(0, tr("Set the ligo config file"), + m_ui.ligoConfigFileLineEdit->text()); if (!newFile.isEmpty()) { m_ui.ligoConfigFileLineEdit->setText(newFile); - } -} + } +} void GeneralSettingsPage::setAssetsPath() diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/icore.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/icore.h index 13b22bfa5..4f1ee474f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/icore.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/icore.h @@ -35,7 +35,7 @@ class IPluginManager; namespace Core { -class IMenuManager; +class MenuManager; class ContextManager; class CORE_EXPORT ICore : public QObject @@ -52,7 +52,7 @@ public: const QString &page = QString(), QWidget *parent = 0) = 0; - virtual IMenuManager *menuManager() const = 0; + virtual MenuManager *menuManager() const = 0; virtual ContextManager *contextManager() const = 0; virtual QSettings *settings() const = 0; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/imenu_manager.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/imenu_manager.h deleted file mode 100644 index be80dbbc4..000000000 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/imenu_manager.h +++ /dev/null @@ -1,62 +0,0 @@ -// Object Viewer Qt - MMORPG Framework -// Copyright (C) 2010 Winch Gate Property Limited -// Copyright (C) 2011 Dzmitry Kamiahin -// -// This program 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. -// -// This program 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 this program. If not, see . - -#ifndef IMENU_MANAGER_H -#define IMENU_MANAGER_H - -#include "core_global.h" - -#include -#include - -QT_BEGIN_NAMESPACE -class QMenu; -class QAction; -class QString; -class QMenuBar; -QT_END_NAMESPACE - -namespace Core -{ -/* -@interface IMenuManager -@brief The IMenuManager is an interface for providing a registration of menus and menu item. -@details The IMenuManager provides centralized access to menus and menu items. -All menus and menu items should be registered in the IMenuManager. -*/ -class CORE_EXPORT IMenuManager : public QObject -{ - Q_OBJECT -public: - IMenuManager(QObject *parent = 0): QObject(parent) {} - virtual ~IMenuManager() {} - - virtual void registerMenu(QMenu *menu, const QString &id) = 0; - virtual void registerAction(QAction *action, const QString &id) = 0; - - virtual QMenu *menu(const QString &id) const = 0; - virtual QAction *action(const QString &id) const = 0; - - virtual void unregisterMenu(const QString &id) = 0; - virtual void unregisterAction(const QString &id) = 0; - - virtual QMenuBar *menuBar() const = 0; -}; - -} // namespace Core - -#endif // IMENU_MANAGER_H diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp index 2105b8b1b..f00075b21 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.cpp @@ -65,8 +65,7 @@ MainWindow::MainWindow(ExtensionSystem::IPluginManager *pluginManager, QWidget * setMenuBar(m_menuBar); #endif - m_menuManager = new MenuManager(this); - m_menuManager->setMenuBar(m_menuBar); + m_menuManager = new MenuManager(m_menuBar, this); m_tabWidget = new QTabWidget(this); m_tabWidget->setTabPosition(QTabWidget::South); @@ -114,7 +113,7 @@ void MainWindow::extensionsInitialized() show(); } -IMenuManager *MainWindow::menuManager() const +MenuManager *MainWindow::menuManager() const { return m_menuManager; } @@ -205,7 +204,7 @@ bool MainWindow::showOptionsDialog(const QString &group, { if (!parent) parent = this; - CSettingsDialog settingsDialog(m_pluginManager, group, page, parent); + SettingsDialog settingsDialog(m_pluginManager, group, page, parent); settingsDialog.show(); bool ok = settingsDialog.execDialog(); if (ok) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h index 48ce93a15..ae0d0522c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/main_window.h @@ -34,7 +34,6 @@ namespace Core class CSettingsDialog; class CorePlugin; class IContext; -class IMenuManager; class MenuManager; class ContextManager; class CoreImpl; @@ -50,7 +49,7 @@ public: bool initialize(QString *errorString); void extensionsInitialized(); - IMenuManager *menuManager() const; + MenuManager *menuManager() const; ContextManager *contextManager() const; QSettings *settings() const; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp index 4bd80a616..76a4d7d91 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.cpp @@ -21,74 +21,76 @@ // NeL includes #include -// Qt includes -#include -#include -#include - namespace Core { -MenuManager::MenuManager(QObject *parent) - : IMenuManager(parent), - _menuBar(0) +struct MenuManagerPrivate { + MenuManagerPrivate(): m_menuBar(0) {} + QMenuBar *m_menuBar; + typedef QHash IdMenuMap; + IdMenuMap m_menuMap; + typedef QHash IdActionMap; + IdActionMap m_actionMap; +}; + +MenuManager::MenuManager(QMenuBar *menuBar, QObject *parent) + : QObject(parent), + d(new MenuManagerPrivate()) +{ + d->m_menuBar = menuBar; } MenuManager::~MenuManager() { - _menuMap.clear(); + d->m_menuMap.clear(); + delete d; } void MenuManager::registerMenu(QMenu *menu, const QString &id) { menu->setObjectName(id); - _menuMap.insert(id, menu); + d->m_menuMap.insert(id, menu); } void MenuManager::registerAction(QAction *action, const QString &id) { action->setObjectName(id); - _actionMap.insert(id, action); + d->m_actionMap.insert(id, action); } QMenu *MenuManager::menu(const QString &id) const { QMenu *result = 0; - if (!_menuMap.contains(id)) + if (!d->m_menuMap.contains(id)) nlwarning("QMenu %s not found", id.toStdString().c_str()); else - result = _menuMap.value(id); + result = d->m_menuMap.value(id); return result; } QAction *MenuManager::action(const QString &id) const { QAction *result = 0; - if (!_actionMap.contains(id)) + if (!d->m_actionMap.contains(id)) nlwarning("QAction %s not found", id.toStdString().c_str()); else - result = _actionMap.value(id); + result = d->m_actionMap.value(id); return result; } void MenuManager::unregisterMenu(const QString &id) { - _menuMap.remove(id); + d->m_menuMap.remove(id); } void MenuManager::unregisterAction(const QString &id) { - _actionMap.remove(id); + d->m_actionMap.remove(id); } QMenuBar *MenuManager::menuBar() const { - return _menuBar; -} - -void MenuManager::setMenuBar(QMenuBar *menuBar) -{ - _menuBar = menuBar; + return d->m_menuBar; } } /* namespace Core */ \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.h index aab603355..3a5e2c710 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/menu_manager.h @@ -19,39 +19,47 @@ #define MENU_MANAGER_H // Project includes -#include "imenu_manager.h" +#include "core_global.h" // Qt includes #include +#include +#include +#include +#include +#include namespace Core { +struct MenuManagerPrivate; -class MenuManager : public IMenuManager +/* +@interface MenuManager +@brief The MenuManager provide the interface for registration of menus and menu item. +@details The MenuManager provides centralized access to menus and menu items. +All menus and menu items should be registered in the MenuManager. +*/ +class CORE_EXPORT MenuManager: public QObject { Q_OBJECT public: - MenuManager(QObject *parent = 0); + explicit MenuManager(QMenuBar *menuBar, QObject *parent = 0); virtual ~MenuManager(); - virtual void registerMenu(QMenu *menu, const QString &id); - virtual void registerAction(QAction *action, const QString &id); + void registerMenu(QMenu *menu, const QString &id); + void registerAction(QAction *action, const QString &id); - virtual QMenu *menu(const QString &id) const; - virtual QAction *action(const QString &id) const; + QMenu *menu(const QString &id) const; + QAction *action(const QString &id) const; - virtual void unregisterMenu(const QString &id); - virtual void unregisterAction(const QString &id); + void unregisterMenu(const QString &id); + void unregisterAction(const QString &id); - virtual QMenuBar *menuBar() const; - void setMenuBar(QMenuBar *menuBar); + QMenuBar *menuBar() const; private: - QMenuBar *_menuBar; - typedef QHash IdMenuMap; - IdMenuMap _menuMap; - typedef QHash IdActionMap; - IdActionMap _actionMap; + + MenuManagerPrivate *d; }; } // namespace Core diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/ovqt_plugin_core.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/ovqt_plugin_core.xml new file mode 100644 index 000000000..c0d38aa75 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/ovqt_plugin_core.xml @@ -0,0 +1,7 @@ + + ovqt_plugin_core + Core + 0.8 + Ryzom Core + Core plugin. + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/plugin_view_dialog.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/plugin_view_dialog.ui index 60a9b9c46..9d7d395be 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/plugin_view_dialog.ui +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/plugin_view_dialog.ui @@ -112,7 +112,7 @@ - + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/qtwin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/qtwin.cpp index dc0fb6cf0..2ebb69134 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/qtwin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/qtwin.cpp @@ -40,9 +40,9 @@ typedef struct _MARGINS int cyBottomHeight; } MARGINS, *PMARGINS; -typedef HRESULT (WINAPI *PtrDwmIsCompositionEnabled)(BOOL* pfEnabled); -typedef HRESULT (WINAPI *PtrDwmExtendFrameIntoClientArea)(HWND hWnd, const MARGINS* pMarInset); -typedef HRESULT (WINAPI *PtrDwmEnableBlurBehindWindow)(HWND hWnd, const DWM_BLURBEHIND* pBlurBehind); +typedef HRESULT (WINAPI *PtrDwmIsCompositionEnabled)(BOOL *pfEnabled); +typedef HRESULT (WINAPI *PtrDwmExtendFrameIntoClientArea)(HWND hWnd, const MARGINS *pMarInset); +typedef HRESULT (WINAPI *PtrDwmEnableBlurBehindWindow)(HWND hWnd, const DWM_BLURBEHIND *pBlurBehind); typedef HRESULT (WINAPI *PtrDwmGetColorizationColor)(DWORD *pcrColorization, BOOL *pfOpaqueBlend); static PtrDwmIsCompositionEnabled pDwmIsCompositionEnabled= 0; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp index 355a9c0e3..7fca0f252 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.cpp @@ -33,18 +33,18 @@ namespace Core QString lastDir = "."; -CSearchPathsSettingsPage::CSearchPathsSettingsPage(bool recurse, QObject *parent) +SearchPathsSettingsPage::SearchPathsSettingsPage(bool recurse, QObject *parent) : IOptionsPage(parent), m_recurse(recurse), m_page(0) { } -CSearchPathsSettingsPage::~CSearchPathsSettingsPage() +SearchPathsSettingsPage::~SearchPathsSettingsPage() { } -QString CSearchPathsSettingsPage::id() const +QString SearchPathsSettingsPage::id() const { if (m_recurse) return QLatin1String("search_recurse_paths"); @@ -52,7 +52,7 @@ QString CSearchPathsSettingsPage::id() const return QLatin1String("search_paths"); } -QString CSearchPathsSettingsPage::trName() const +QString SearchPathsSettingsPage::trName() const { if (m_recurse) return tr("Search Recurse Paths"); @@ -60,22 +60,22 @@ QString CSearchPathsSettingsPage::trName() const return tr("Search Paths"); } -QString CSearchPathsSettingsPage::category() const +QString SearchPathsSettingsPage::category() const { return QLatin1String(Constants::SETTINGS_CATEGORY_GENERAL); } -QString CSearchPathsSettingsPage::trCategory() const +QString SearchPathsSettingsPage::trCategory() const { return tr(Constants::SETTINGS_TR_CATEGORY_GENERAL); } -QIcon CSearchPathsSettingsPage::categoryIcon() const +QIcon SearchPathsSettingsPage::categoryIcon() const { return QIcon(); } -QWidget *CSearchPathsSettingsPage::createPage(QWidget *parent) +QWidget *SearchPathsSettingsPage::createPage(QWidget *parent) { m_page = new QWidget(parent); m_ui.setupUi(m_page); @@ -90,19 +90,19 @@ QWidget *CSearchPathsSettingsPage::createPage(QWidget *parent) return m_page; } -void CSearchPathsSettingsPage::apply() +void SearchPathsSettingsPage::apply() { writeSettings(); applySearchPaths(); } -void CSearchPathsSettingsPage::finish() +void SearchPathsSettingsPage::finish() { delete m_page; m_page = 0; } -void CSearchPathsSettingsPage::applySearchPaths() +void SearchPathsSettingsPage::applySearchPaths() { QStringList paths, remapExt; QSettings *settings = Core::ICore::instance()->settings(); @@ -124,7 +124,7 @@ void CSearchPathsSettingsPage::applySearchPaths() } } -void CSearchPathsSettingsPage::addPath() +void SearchPathsSettingsPage::addPath() { QString newPath = QFileDialog::getExistingDirectory(m_page, "", lastDir); if (!newPath.isEmpty()) @@ -139,7 +139,7 @@ void CSearchPathsSettingsPage::addPath() checkEnabledButton(); } -void CSearchPathsSettingsPage::delPath() +void SearchPathsSettingsPage::delPath() { QListWidgetItem *removeItem = m_ui.pathsListWidget->takeItem(m_ui.pathsListWidget->currentRow()); if (!removeItem) @@ -148,7 +148,7 @@ void CSearchPathsSettingsPage::delPath() checkEnabledButton(); } -void CSearchPathsSettingsPage::upPath() +void SearchPathsSettingsPage::upPath() { int currentRow = m_ui.pathsListWidget->currentRow(); if (!(currentRow == 0)) @@ -159,7 +159,7 @@ void CSearchPathsSettingsPage::upPath() } } -void CSearchPathsSettingsPage::downPath() +void SearchPathsSettingsPage::downPath() { int currentRow = m_ui.pathsListWidget->currentRow(); if (!(currentRow == m_ui.pathsListWidget->count()-1)) @@ -170,7 +170,7 @@ void CSearchPathsSettingsPage::downPath() } } -void CSearchPathsSettingsPage::readSettings() +void SearchPathsSettingsPage::readSettings() { QStringList paths; QSettings *settings = Core::ICore::instance()->settings(); @@ -189,7 +189,7 @@ void CSearchPathsSettingsPage::readSettings() } } -void CSearchPathsSettingsPage::writeSettings() +void SearchPathsSettingsPage::writeSettings() { QStringList paths; for (int i = 0; i < m_ui.pathsListWidget->count(); ++i) @@ -205,7 +205,7 @@ void CSearchPathsSettingsPage::writeSettings() settings->sync(); } -void CSearchPathsSettingsPage::checkEnabledButton() +void SearchPathsSettingsPage::checkEnabledButton() { bool bEnabled = true; if (m_ui.pathsListWidget->count() == 0) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.h index c7d4c9734..c45b29571 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.h @@ -30,15 +30,15 @@ class QWidget; namespace Core { /** -@class CSearchPathsSettingsPage +@class SearchPathsSettingsPage */ -class CSearchPathsSettingsPage : public Core::IOptionsPage +class SearchPathsSettingsPage : public Core::IOptionsPage { Q_OBJECT public: - explicit CSearchPathsSettingsPage(bool recurse, QObject *parent = 0); - ~CSearchPathsSettingsPage(); + explicit SearchPathsSettingsPage(bool recurse, QObject *parent = 0); + ~SearchPathsSettingsPage(); QString id() const; QString trName() const; @@ -66,7 +66,7 @@ private: bool m_recurse; QWidget *m_page; - Ui::CSearchPathsSettingsPage m_ui; + Ui::SearchPathsSettingsPage m_ui; }; } // namespace Core diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.ui index 79a6b2141..cf47314b8 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.ui +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/search_paths_settings_page.ui @@ -1,7 +1,7 @@ - CSearchPathsSettingsPage - + SearchPathsSettingsPage + 0 diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.cpp index 30fd7835e..960644599 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.cpp @@ -35,33 +35,33 @@ Q_DECLARE_METATYPE(PageData); namespace Core { -CSettingsDialog::CSettingsDialog(ExtensionSystem::IPluginManager *pluginManager, - const QString &categoryId, - const QString &pageId, - QWidget *parent) +SettingsDialog::SettingsDialog(ExtensionSystem::IPluginManager *pluginManager, + const QString &categoryId, + const QString &pageId, + QWidget *parent) : QDialog(parent), - _applied(false) + m_applied(false) { - _ui.setupUi(this); + m_ui.setupUi(this); - _plugMan = pluginManager; + m_plugMan = pluginManager; QString initialCategory = categoryId; QString initialPage = pageId; - _ui.buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); + m_ui.buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); - connect(_ui.buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply())); + connect(m_ui.buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(apply())); - _ui.splitter->setCollapsible(1, false); - _ui.pageTree->header()->setVisible(false); + m_ui.splitter->setCollapsible(1, false); + m_ui.pageTree->header()->setVisible(false); - connect(_ui.pageTree, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), + connect(m_ui.pageTree, SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(pageSelected())); QMap categories; - QList pages = _plugMan->getObjects(); + QList pages = m_plugMan->getObjects(); int index = 0; Q_FOREACH(IOptionsPage *page, pages) @@ -82,7 +82,7 @@ CSettingsDialog::CSettingsDialog(ExtensionSystem::IPluginManager *pluginManager, QTreeWidgetItem *treeitem; if (!categories.contains(currentCategory)) { - treeitem = new QTreeWidgetItem(_ui.pageTree); + treeitem = new QTreeWidgetItem(m_ui.pageTree); treeitem->setText(0, trCategories.at(0)); treeitem->setData(0, Qt::UserRole, qVariantFromValue(pageData)); categories.insert(currentCategory, treeitem); @@ -108,13 +108,13 @@ CSettingsDialog::CSettingsDialog(ExtensionSystem::IPluginManager *pluginManager, categories.value(currentCategory)->addChild(item); - _pages.append(page); - _ui.stackedPages->addWidget(page->createPage(_ui.stackedPages)); + m_pages.append(page); + m_ui.stackedPages->addWidget(page->createPage(m_ui.stackedPages)); if (page->id() == initialPage && currentCategory == initialCategory) { - _ui.stackedPages->setCurrentIndex(_ui.stackedPages->count()); - _ui.pageTree->setCurrentItem(item); + m_ui.stackedPages->setCurrentIndex(m_ui.stackedPages->count()); + m_ui.pageTree->setCurrentItem(item); } index++; @@ -122,30 +122,30 @@ CSettingsDialog::CSettingsDialog(ExtensionSystem::IPluginManager *pluginManager, QList sizes; sizes << 150 << 300; - _ui.splitter->setSizes(sizes); + m_ui.splitter->setSizes(sizes); - _ui.splitter->setStretchFactor(_ui.splitter->indexOf(_ui.pageTree), 0); - _ui.splitter->setStretchFactor(_ui.splitter->indexOf(_ui.layoutWidget), 1); + m_ui.splitter->setStretchFactor(m_ui.splitter->indexOf(m_ui.pageTree), 0); + m_ui.splitter->setStretchFactor(m_ui.splitter->indexOf(m_ui.layoutWidget), 1); } -CSettingsDialog::~CSettingsDialog() +SettingsDialog::~SettingsDialog() { } -void CSettingsDialog::pageSelected() +void SettingsDialog::pageSelected() { - QTreeWidgetItem *item = _ui.pageTree->currentItem(); + QTreeWidgetItem *item = m_ui.pageTree->currentItem(); PageData data = item->data(0, Qt::UserRole).value(); int index = data.index; - _currentCategory = data.category; - _currentPage = data.id; - _ui.stackedPages->setCurrentIndex(index); + m_currentCategory = data.category; + m_currentPage = data.id; + m_ui.stackedPages->setCurrentIndex(index); } -void CSettingsDialog::accept() +void SettingsDialog::accept() { - _applied = true; - Q_FOREACH(IOptionsPage *page, _pages) + m_applied = true; + Q_FOREACH(IOptionsPage *page, m_pages) { page->apply(); page->finish(); @@ -153,28 +153,28 @@ void CSettingsDialog::accept() done(QDialog::Accepted); } -void CSettingsDialog::reject() +void SettingsDialog::reject() { - Q_FOREACH(IOptionsPage *page, _pages) + Q_FOREACH(IOptionsPage *page, m_pages) page->finish(); done(QDialog::Rejected); } -void CSettingsDialog::apply() +void SettingsDialog::apply() { - Q_FOREACH(IOptionsPage *page, _pages) + Q_FOREACH(IOptionsPage *page, m_pages) page->apply(); - _applied = true; + m_applied = true; } -bool CSettingsDialog::execDialog() +bool SettingsDialog::execDialog() { - _applied = false; + m_applied = false; exec(); - return _applied; + return m_applied; } -void CSettingsDialog::done(int val) +void SettingsDialog::done(int val) { QDialog::done(val); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.h index 07adc7fee..9e1c86444 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.h @@ -35,17 +35,17 @@ class IOptionsPage; @class CSettingsDialog @brief Settings dialog */ -class CSettingsDialog: public QDialog +class SettingsDialog: public QDialog { Q_OBJECT public: - CSettingsDialog(ExtensionSystem::IPluginManager *pluginManager, - const QString &initialCategory = QString(), - const QString &initialPage = QString(), - QWidget *parent = 0); + SettingsDialog(ExtensionSystem::IPluginManager *pluginManager, + const QString &initialCategory = QString(), + const QString &initialPage = QString(), + QWidget *parent = 0); - ~CSettingsDialog(); + ~SettingsDialog(); /// Run the dialog and return true if 'Ok' was choosen or 'Apply' was invoked at least once bool execDialog(); @@ -60,14 +60,14 @@ private Q_SLOTS: void apply(); private: - QList _pages; - bool _applied; - QString _currentCategory; - QString _currentPage; + QList m_pages; + bool m_applied; + QString m_currentCategory; + QString m_currentPage; - ExtensionSystem::IPluginManager *_plugMan; + ExtensionSystem::IPluginManager *m_plugMan; - Ui::CSettingsDialog _ui; + Ui::SettingsDialog m_ui; }; /* class CSettingsDialog */ } /* namespace Core */ diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.ui index e536f0dc2..8e9780c9a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.ui +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/settings_dialog.ui @@ -1,7 +1,7 @@ - CSettingsDialog - + SettingsDialog + 0 @@ -93,7 +93,7 @@ buttonBox accepted() - CSettingsDialog + SettingsDialog accept() @@ -109,7 +109,7 @@ buttonBox rejected() - CSettingsDialog + SettingsDialog reject() diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt index 34c65c178..6152b8fdd 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/CMakeLists.txt @@ -28,7 +28,7 @@ SOURCE_GROUP("OVQT Extension System" FILES ${OVQT_EXT_SYS_SRC}) ADD_LIBRARY(ovqt_plugin_disp_sheet_id MODULE ${SRC} ${OVQT_DISP_SHEET_ID_PLUGIN_MOC_SRC} ${OVQT_EXT_SYS_SRC} ${OVQT_DISP_SHEET_ID_PLUGIN_UI_HDRS}) -TARGET_LINK_LIBRARIES(ovqt_plugin_disp_sheet_id ovqt_plugin_core nelmisc nel3d ${QT_LIBRARIES}) +TARGET_LINK_LIBRARIES(ovqt_plugin_disp_sheet_id ovqt_plugin_core nelmisc ${QT_LIBRARIES}) IF(WITH_STLPORT) TARGET_LINK_LIBRARIES(ovqt_plugin_disp_sheet_id ${CMAKE_THREAD_LIBS_INIT}) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.cpp index 54cba53a6..9e37b803b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.cpp @@ -18,7 +18,7 @@ #include "disp_sheet_id_plugin.h" #include "sheet_id_view.h" #include "../core/icore.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../core/core_constants.h" // Qt includes @@ -37,13 +37,13 @@ using namespace SheetIdViewPlugin; bool DispSheetIdPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString) { Q_UNUSED(errorString); - _plugMan = pluginManager; + m_plugMan = pluginManager; return true; } void DispSheetIdPlugin::extensionsInitialized() { - Core::IMenuManager *menuManager = Core::ICore::instance()->menuManager(); + Core::MenuManager *menuManager = Core::ICore::instance()->menuManager(); QMenu *sheetMenu = menuManager->menu(Core::Constants::M_SHEET); QAction *sheetIdViewAction = sheetMenu->addAction(tr("Sheet id view")); @@ -67,34 +67,7 @@ void DispSheetIdPlugin::setNelContext(NLMISC::INelContext *nelContext) // This only applies to platforms without PIC, e.g. Windows. nlassert(!NLMISC::INelContext::isContextInitialised()); #endif // NL_OS_WINDOWS - _LibContext = new NLMISC::CLibraryContext(*nelContext); -} - -QString DispSheetIdPlugin::name() const -{ - return "Display sheet id"; -} - -QString DispSheetIdPlugin::version() const -{ - return "1.0"; -} - -QString DispSheetIdPlugin::vendor() const -{ - return "pemeon"; -} - -QString DispSheetIdPlugin::description() const -{ - return "Display sheet id"; -} - -QStringList DispSheetIdPlugin::dependencies() const -{ - QStringList list; - list.append(Core::Constants::OVQT_CORE_PLUGIN); - return list; + m_LibContext = new NLMISC::CLibraryContext(*nelContext); } Q_EXPORT_PLUGIN(DispSheetIdPlugin) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.h index 75a25b724..8eaf3ead9 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/disp_sheet_id_plugin.h @@ -28,11 +28,6 @@ namespace NLMISC class CLibraryContext; } -namespace NLQT -{ -class IPluginSpec; -} - namespace SheetIdViewPlugin { @@ -44,23 +39,16 @@ public: bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString); void extensionsInitialized(); - void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - private Q_SLOTS: void execMessageBox(); protected: - NLMISC::CLibraryContext *_LibContext; + NLMISC::CLibraryContext *m_LibContext; private: - ExtensionSystem::IPluginManager *_plugMan; + ExtensionSystem::IPluginManager *m_plugMan; }; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/ovqt_plugin_disp_sheet_id.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/ovqt_plugin_disp_sheet_id.xml new file mode 100644 index 000000000..012029810 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/ovqt_plugin_disp_sheet_id.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_disp_sheet_id + DisplaySheetId + 1.0 + pemeon + Display sheet id. + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/sheet_id_view.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/sheet_id_view.cpp index 64fb05701..f05060a9c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/sheet_id_view.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/disp_sheet_id/sheet_id_view.cpp @@ -65,8 +65,8 @@ void SheetIdView::pushToTable() m_ui.table->setColumnCount(2); for (size_t i = 0; i < m_sheetList.size(); i++) { - QTableWidgetItem* item1 = new QTableWidgetItem(QString(m_sheetList[i].toString().c_str())); - QTableWidgetItem* item2 = new QTableWidgetItem(QString("%1").arg(m_sheetList[i].asInt())); + QTableWidgetItem *item1 = new QTableWidgetItem(QString(m_sheetList[i].toString().c_str())); + QTableWidgetItem *item2 = new QTableWidgetItem(QString("%1").arg(m_sheetList[i].asInt())); m_ui.table->setItem(i,1,item1); m_ui.table->setItem(i,2,item2); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt index 41d22804c..fbe617c43 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/CMakeLists.txt @@ -9,10 +9,10 @@ SET(OVQT_EXT_SYS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin. ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_manager.h ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin_spec.h) -SET(OVQT_PLUG_EXAMPLE_HDR plugin1.h - qnel_widget.h - simple_viewer.h - example_settings_page.h) +SET(OVQT_PLUG_EXAMPLE_HDR example_plugin.h + qnel_widget.h + simple_viewer.h + example_settings_page.h) SET(OVQT_PLUG_EXAMPLE_UIS example_settings_page.ui) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_plugin.cpp new file mode 100644 index 000000000..5e442a5ee --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_plugin.cpp @@ -0,0 +1,83 @@ +// Project includes +#include "example_plugin.h" +#include "example_settings_page.h" +#include "simple_viewer.h" + +#include "../core/icore.h" +#include "../core/core_constants.h" +#include "../core/menu_manager.h" + +#include "../../extension_system/iplugin_spec.h" + +// NeL includes +#include "nel/misc/debug.h" + +// Qt includes +#include +#include +#include +#include +#include +#include + +namespace Plugin +{ + +ExamplePlugin::ExamplePlugin() +{ +} + +ExamplePlugin::~ExamplePlugin() +{ + Q_FOREACH(QObject *obj, m_autoReleaseObjects) + { + m_plugMan->removeObject(obj); + } + qDeleteAll(m_autoReleaseObjects); + m_autoReleaseObjects.clear(); +} + +bool ExamplePlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString) +{ + Q_UNUSED(errorString); + m_plugMan = pluginManager; + + addAutoReleasedObject(new ExampleSettingsPage(this)); + addAutoReleasedObject(new ExampleContext(this)); + addAutoReleasedObject(new ExampleCoreListener(this)); + return true; +} + +void ExamplePlugin::extensionsInitialized() +{ + Core::ICore *core = Core::ICore::instance(); + Core::MenuManager *menuManager = core->menuManager(); + QAction *exampleAction1 = new QAction("Example1", this); + QAction *exampleAction2 = new QAction("Example2", this); + QAction *aboutQtAction = menuManager->action(Core::Constants::ABOUT_QT); + QMenu *helpMenu = menuManager->menu(Core::Constants::M_HELP); + helpMenu->insertAction(aboutQtAction, exampleAction1); + helpMenu->addSeparator(); + helpMenu->addAction(exampleAction2); + menuManager->menuBar()->addMenu("ExampleMenu"); +} + +void ExamplePlugin::setNelContext(NLMISC::INelContext *nelContext) +{ +#ifdef NL_OS_WINDOWS + // Ensure that a context doesn't exist yet. + // This only applies to platforms without PIC, e.g. Windows. + nlassert(!NLMISC::INelContext::isContextInitialised()); +#endif // NL_OS_WINDOWS + m_LibContext = new NLMISC::CLibraryContext(*nelContext); +} + +void ExamplePlugin::addAutoReleasedObject(QObject *obj) +{ + m_plugMan->addObject(obj); + m_autoReleaseObjects.prepend(obj); +} + +} + +Q_EXPORT_PLUGIN(Plugin::ExamplePlugin) \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/plugin1.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_plugin.h similarity index 59% rename from code/nel/tools/3d/object_viewer_qt/src/plugins/example/plugin1.h rename to code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_plugin.h index 5077ff59e..bfb400651 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/plugin1.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_plugin.h @@ -18,56 +18,41 @@ namespace NLMISC class CLibraryContext; } -namespace ExtensionSystem -{ -class IPluginSpec; -} - namespace Plugin { -class MyPlugin : public QObject, public ExtensionSystem::IPlugin +class ExamplePlugin : public QObject, public ExtensionSystem::IPlugin { Q_OBJECT Q_INTERFACES(ExtensionSystem::IPlugin) public: - - virtual ~MyPlugin(); + ExamplePlugin(); + virtual ~ExamplePlugin(); bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString); void extensionsInitialized(); - void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - void addAutoReleasedObject(QObject *obj); - QObject *objectByName(const QString &name) const; - ExtensionSystem::IPluginSpec *pluginByName(const QString &name) const; - protected: - NLMISC::CLibraryContext *_LibContext; + NLMISC::CLibraryContext *m_LibContext; private: - ExtensionSystem::IPluginManager *_plugMan; - QList _autoReleaseObjects; + ExtensionSystem::IPluginManager *m_plugMan; + QList m_autoReleaseObjects; }; -class CExampleContext: public Core::IContext +class ExampleContext: public Core::IContext { Q_OBJECT public: - CExampleContext(QObject *parent = 0): IContext(parent) + ExampleContext(QObject *parent = 0): IContext(parent) { - m_simpleViewer = new CSimpleViewer(); + m_simpleViewer = new SimpleViewer(); } - virtual ~CExampleContext() {} + virtual ~ExampleContext() {} virtual QString id() const { @@ -95,7 +80,7 @@ public: { } - CSimpleViewer *m_simpleViewer; + SimpleViewer *m_simpleViewer; }; } // namespace Plugin diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.cpp index 50e7c9db5..6cea967db 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.cpp @@ -27,45 +27,45 @@ namespace Plugin { -CExampleSettingsPage::CExampleSettingsPage(QObject *parent) +ExampleSettingsPage::ExampleSettingsPage(QObject *parent) : IOptionsPage(parent), - _currentPage(NULL) + m_currentPage(0) { } -QString CExampleSettingsPage::id() const +QString ExampleSettingsPage::id() const { return QLatin1String("ExamplePage"); } -QString CExampleSettingsPage::trName() const +QString ExampleSettingsPage::trName() const { return tr("Example page"); } -QString CExampleSettingsPage::category() const +QString ExampleSettingsPage::category() const { - return QLatin1String("General"); + return QLatin1String("Example"); } -QString CExampleSettingsPage::trCategory() const +QString ExampleSettingsPage::trCategory() const { - return tr("General"); + return tr("Example"); } -QIcon CExampleSettingsPage::categoryIcon() const +QIcon ExampleSettingsPage::categoryIcon() const { return QIcon(); } -QWidget *CExampleSettingsPage::createPage(QWidget *parent) +QWidget *ExampleSettingsPage::createPage(QWidget *parent) { - _currentPage = new QWidget(parent); - _ui.setupUi(_currentPage); - return _currentPage; + m_currentPage = new QWidget(parent); + m_ui.setupUi(m_currentPage); + return m_currentPage; } -void CExampleSettingsPage::apply() +void ExampleSettingsPage::apply() { } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.h index 3475f843f..8a1a7cef1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.h @@ -29,15 +29,13 @@ class QWidget; namespace Plugin { -/** -@class CExampleSettingsPage -*/ -class CExampleSettingsPage : public Core::IOptionsPage + +class ExampleSettingsPage : public Core::IOptionsPage { Q_OBJECT public: - CExampleSettingsPage(QObject *parent = 0); - virtual ~CExampleSettingsPage() {} + ExampleSettingsPage(QObject *parent = 0); + virtual ~ExampleSettingsPage() {} virtual QString id() const; virtual QString trName() const; @@ -50,8 +48,8 @@ public: virtual void finish() {} private: - QWidget *_currentPage; - Ui::CExampleSettingsPage _ui; + QWidget *m_currentPage; + Ui::ExampleSettingsPage m_ui; }; } // namespace Plugin diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.ui index b839d98ce..0d98ad6ab 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.ui +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/example_settings_page.ui @@ -1,7 +1,7 @@ - CExampleSettingsPage - + ExampleSettingsPage + 0 diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/ovqt_plugin_example.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/ovqt_plugin_example.xml new file mode 100644 index 000000000..43656a87b --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/ovqt_plugin_example.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_example + ExamplePlugin + 0.2 + dnk-88 + Example ovqt plugin. + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/plugin1.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/plugin1.cpp deleted file mode 100644 index f218c3230..000000000 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/plugin1.cpp +++ /dev/null @@ -1,120 +0,0 @@ -// Project includes -#include "plugin1.h" -#include "example_settings_page.h" -#include "simple_viewer.h" -#include "../core/icore.h" -#include "../core/core_constants.h" -#include "../core/imenu_manager.h" -#include "../../extension_system/iplugin_spec.h" - -// NeL includes -#include "nel/misc/debug.h" - -// Qt includes -#include -#include -#include -#include -#include -#include - -namespace Plugin -{ -MyPlugin::~MyPlugin() -{ - Q_FOREACH(QObject *obj, _autoReleaseObjects) - { - _plugMan->removeObject(obj); - } - qDeleteAll(_autoReleaseObjects); - _autoReleaseObjects.clear(); -} - -bool MyPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString) -{ - Q_UNUSED(errorString); - _plugMan = pluginManager; - - addAutoReleasedObject(new CExampleSettingsPage(this)); - addAutoReleasedObject(new CExampleContext(this)); - addAutoReleasedObject(new CCoreListener(this)); - return true; -} - -void MyPlugin::extensionsInitialized() -{ - Core::ICore *core = Core::ICore::instance(); - Core::IMenuManager *menuManager = core->menuManager(); - //menuManager = _plugMan->getObject(); - QAction *exampleAction1 = new QAction("Example1", this); - QAction *exampleAction2 = new QAction("Example2", this); - QAction *aboutQtAction = menuManager->action(Core::Constants::ABOUT_QT); - QMenu *helpMenu = menuManager->menu(Core::Constants::M_HELP); - helpMenu->insertAction(aboutQtAction, exampleAction1); - helpMenu->addSeparator(); - helpMenu->addAction(exampleAction2); - menuManager->menuBar()->addMenu("ExampleMenu"); -} - -void MyPlugin::setNelContext(NLMISC::INelContext *nelContext) -{ -#ifdef NL_OS_WINDOWS - // Ensure that a context doesn't exist yet. - // This only applies to platforms without PIC, e.g. Windows. - nlassert(!NLMISC::INelContext::isContextInitialised()); -#endif // NL_OS_WINDOWS - _LibContext = new NLMISC::CLibraryContext(*nelContext); -} - -QString MyPlugin::name() const -{ - return "ExamplePlugin"; -} - -QString MyPlugin::version() const -{ - return "0.2"; -} - -QString MyPlugin::vendor() const -{ - return "dnk-88"; -} - -QString MyPlugin::description() const -{ - return "Example ovqt plugin."; -} - -QStringList MyPlugin::dependencies() const -{ - QStringList list; - list.append(Core::Constants::OVQT_CORE_PLUGIN); - return list; -} - -void MyPlugin::addAutoReleasedObject(QObject *obj) -{ - _plugMan->addObject(obj); - _autoReleaseObjects.prepend(obj); -} - -QObject* MyPlugin::objectByName(const QString &name) const -{ - Q_FOREACH (QObject *qobj, _plugMan->allObjects()) - if (qobj->objectName() == name) - return qobj; - return 0; -} - -ExtensionSystem::IPluginSpec *MyPlugin::pluginByName(const QString &name) const -{ - Q_FOREACH (ExtensionSystem::IPluginSpec *spec, _plugMan->plugins()) - if (spec->name() == name) - return spec; - return 0; -} - -} - -Q_EXPORT_PLUGIN(Plugin::MyPlugin) \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.h index a54e6bb8a..59bb9ecda 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/qnel_widget.h @@ -82,7 +82,7 @@ public: return m_driver; } - virtual QPaintEngine* paintEngine() const + virtual QPaintEngine *paintEngine() const { return NULL; } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.cpp index 1f6df9117..601909047 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.cpp @@ -29,19 +29,19 @@ namespace Plugin { -CSimpleViewer::CSimpleViewer(QWidget *parent) +SimpleViewer::SimpleViewer(QWidget *parent) : QWidget(parent) { QGridLayout *gridLayout = new QGridLayout(this); gridLayout->setObjectName(QString::fromUtf8("gridLayoutSimpleViewer")); gridLayout->setContentsMargins(0, 0, 0, 0); - NLQT::QNLWidget *_nelWidget = new NLQT::QNLWidget(this); - gridLayout->addWidget(_nelWidget, 0, 0, 1, 1); + NLQT::QNLWidget *m_nelWidget = new NLQT::QNLWidget(this); + gridLayout->addWidget(m_nelWidget, 0, 0, 1, 1); m_undoStack = new QUndoStack(this); } -bool CCoreListener::closeMainWindow() const +bool ExampleCoreListener::closeMainWindow() const { int ret = QMessageBox::question(0, tr("Example close event hook"), tr("Do you want to close window?"), diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.h index 14b782c22..793b0745e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/example/simple_viewer.h @@ -31,22 +31,22 @@ class QWidget; namespace Plugin { -class CSimpleViewer : public QWidget +class SimpleViewer : public QWidget { Q_OBJECT public: - CSimpleViewer(QWidget *parent = 0); - virtual ~CSimpleViewer() {} + SimpleViewer(QWidget *parent = 0); + virtual ~SimpleViewer() {} QUndoStack *m_undoStack; }; -class CCoreListener : public Core::ICoreListener +class ExampleCoreListener : public Core::ICoreListener { Q_OBJECT public: - CCoreListener(QObject *parent = 0): ICoreListener(parent) {} - virtual ~CCoreListener() {} + ExampleCoreListener(QObject *parent = 0): ICoreListener(parent) {} + virtual ~ExampleCoreListener() {} virtual bool closeMainWindow() const; }; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp index f67be6471..252d7fd7e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_form.cpp @@ -21,7 +21,7 @@ #include "georges_treeview_dialog.h" #include "../core/icore.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../core/core_constants.h" // NeL includes @@ -63,7 +63,7 @@ namespace Plugin m_undoStack = new QUndoStack(this); - Core::IMenuManager *menuManager = Core::ICore::instance()->menuManager(); + Core::MenuManager *menuManager = Core::ICore::instance()->menuManager(); m_openAction = menuManager->action(Core::Constants::OPEN); m_newAction = new QAction(tr("&New..."), this); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.cpp index 425db7841..199bc20ca 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.cpp @@ -67,35 +67,6 @@ void GeorgesEditorPlugin::setNelContext(NLMISC::INelContext *nelContext) m_libContext = new NLMISC::CLibraryContext(*nelContext); } -QString GeorgesEditorPlugin::name() const -{ - return tr("Georges Editor"); -} - -QString GeorgesEditorPlugin::version() const -{ - return "0.4"; -} - -QString GeorgesEditorPlugin::vendor() const -{ - return "aquiles"; -} - -QString GeorgesEditorPlugin::description() const -{ - return tr("Tool to create & edit sheets or forms."); -} - -QStringList GeorgesEditorPlugin::dependencies() const -{ - QStringList list; - // TODO - //list.append(Core::Constants::OVQT_CORE_PLUGIN); - //list.append("ObjectViewer"); - return list; -} - void GeorgesEditorPlugin::addAutoReleasedObject(QObject *obj) { m_plugMan->addObject(obj); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.h index 7cc93dfb4..fabdd600c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/georges_editor_plugin.h @@ -52,15 +52,8 @@ public: bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString); void extensionsInitialized(); void shutdown(); - void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - void addAutoReleasedObject(QObject *obj); protected: diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/ovqt_plugin_georges_editor.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/ovqt_plugin_georges_editor.xml new file mode 100644 index 000000000..2b9b163da --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/georges_editor/ovqt_plugin_georges_editor.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_georges_editor + GeorgesEditor + 0.4 + aquiles + Tool to create and edit sheets or forms. + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/log/ovqt_plugin_log.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/log/ovqt_plugin_log.xml new file mode 100644 index 000000000..f1fbd7ad0 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/log/ovqt_plugin_log.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_log + LogPlugin + 1.1 + aquiles + DockWidget to display all log messages from NeL. + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp index bb4e783a7..f72c5fcea 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.cpp @@ -16,7 +16,7 @@ #include #include "../core/icore.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../core/core_constants.h" #include diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.cpp index 3b9eb3ead..9e92cb90c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.cpp @@ -2,7 +2,7 @@ #include "mission_compiler_plugin.h" #include "../core/icore.h" #include "../core/core_constants.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../../extension_system/iplugin_spec.h" // NeL includes @@ -24,18 +24,18 @@ namespace MissionCompiler MissionCompilerPlugin::~MissionCompilerPlugin() { - Q_FOREACH(QObject *obj, _autoReleaseObjects) + Q_FOREACH(QObject *obj, m_autoReleaseObjects) { - _plugMan->removeObject(obj); + m_plugMan->removeObject(obj); } - qDeleteAll(_autoReleaseObjects); - _autoReleaseObjects.clear(); + qDeleteAll(m_autoReleaseObjects); + m_autoReleaseObjects.clear(); } bool MissionCompilerPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString) { Q_UNUSED(errorString); - _plugMan = pluginManager; + m_plugMan = pluginManager; addAutoReleasedObject(new MissionCompilerSettingsPage(this)); addAutoReleasedObject(new CMissionCompilerContext(this)); @@ -47,18 +47,7 @@ void MissionCompilerPlugin::extensionsInitialized() { Core::ICore *core = Core::ICore::instance(); QSettings *settings = Core::ICore::instance()->settings(); - Core::IMenuManager *menuManager = core->menuManager(); - //menuManager = _plugMan->getObject(); - //QAction *exampleAction1 = new QAction("Zone1", this); - //QAction *exampleAction2 = new QAction("Zone2", this); - //QMenu *toolsMenu = menuManager->menu(Core::Constants::M_TOOLS); - //helpMenu->insertAction(aboutQtAction, exampleAction1); - //helpMenu->addSeparator(); - //helpMenu->addAction(exampleAction2); - //QMenu *zoneMenu = menuManager->menuBar()->addMenu("ZoneMenu"); - //zoneMenu->insertAction(aboutQtAction, exampleAction1); - //zoneMenu->addSeparator(); - //zoneMenu->addAction(exampleAction2); + Core::MenuManager *menuManager = core->menuManager(); // Initialize Ligo. //settings->beginGroup(Core::Constants::DATA_PATH_SECTION); @@ -73,57 +62,13 @@ void MissionCompilerPlugin::setNelContext(NLMISC::INelContext *nelContext) // This only applies to platforms without PIC, e.g. Windows. nlassert(!NLMISC::INelContext::isContextInitialised()); #endif // NL_OS_WINDOWS - _LibContext = new NLMISC::CLibraryContext(*nelContext); -} - -QString MissionCompilerPlugin::name() const -{ - return "MissionCompilerPlugin"; -} - -QString MissionCompilerPlugin::version() const -{ - return "0.1"; -} - -QString MissionCompilerPlugin::vendor() const -{ - return "Ryzom Core"; -} - -QString MissionCompilerPlugin::description() const -{ - return "Mission Compiler Plugin"; -} - -QStringList MissionCompilerPlugin::dependencies() const -{ - QStringList list; - list.append(Core::Constants::OVQT_CORE_PLUGIN); - //list.append("ObjectViewer"); - return list; + m_LibContext = new NLMISC::CLibraryContext(*nelContext); } void MissionCompilerPlugin::addAutoReleasedObject(QObject *obj) { - _plugMan->addObject(obj); - _autoReleaseObjects.prepend(obj); -} - -QObject* MissionCompilerPlugin::objectByName(const QString &name) const -{ - Q_FOREACH (QObject *qobj, _plugMan->allObjects()) - if (qobj->objectName() == name) - return qobj; - return 0; -} - -ExtensionSystem::IPluginSpec *MissionCompilerPlugin::pluginByName(const QString &name) const -{ - Q_FOREACH (ExtensionSystem::IPluginSpec *spec, _plugMan->plugins()) - if (spec->name() == name) - return spec; - return 0; + m_plugMan->addObject(obj); + m_autoReleaseObjects.prepend(obj); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.h index 7f64465e7..2ad92b40f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_plugin.h @@ -37,26 +37,16 @@ public: bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString); void extensionsInitialized(); - void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - void addAutoReleasedObject(QObject *obj); - QObject *objectByName(const QString &name) const; - ExtensionSystem::IPluginSpec *pluginByName(const QString &name) const; - protected: - NLMISC::CLibraryContext *_LibContext; + NLMISC::CLibraryContext *m_LibContext; private: - ExtensionSystem::IPluginManager *_plugMan; - QList _autoReleaseObjects; + ExtensionSystem::IPluginManager *m_plugMan; + QList m_autoReleaseObjects; }; class CMissionCompilerContext: public Core::IContext diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/ovqt_plugin_mission_compiler.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/ovqt_plugin_mission_compiler.xml new file mode 100644 index 000000000..f6ef5b5c6 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/ovqt_plugin_mission_compiler.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_mission_compiler + MissionCompiler + 0.1 + Ryzom Core + Mission Compiler Plugin + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp index e1962cf5b..a65f510c4 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/main_window.cpp @@ -52,7 +52,7 @@ #include "object_viewer_constants.h" #include "../core/icore.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../core/core_constants.h" using namespace std; @@ -259,7 +259,7 @@ void CMainWindow::createActions() void CMainWindow::createMenus() { - Core::IMenuManager *menuManager = Core::ICore::instance()->menuManager(); + Core::MenuManager *menuManager = Core::ICore::instance()->menuManager(); _openAction = menuManager->action(Core::Constants::OPEN); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_constants.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_constants.h index 30a9b4c45..deb0c84ce 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_constants.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_constants.h @@ -22,76 +22,76 @@ namespace NLQT { namespace Constants { -const char * const OBJECT_VIEWER_PLUGIN = "ObjectViewer"; +const char *const OBJECT_VIEWER_PLUGIN = "ObjectViewer"; //mainwindow -const char * const MAIN_WINDOW = "ObjectViewer.MainWindow"; +const char *const MAIN_WINDOW = "ObjectViewer.MainWindow"; //settings -const char * const OBJECT_VIEWER_SECTION = "ObjectViewer"; -const char * const GRAPHICS_DRIVER = "GraphicsDriver"; -const char * const ENABLE_BLOOM = "EnableBloom"; -const char * const ENABLE_SQUARE_BLOOM = "EnableSquareBloom"; -const char * const BLOOM_DENSITY = "BloomDensity"; -const char * const QT_STYLE = "QtStyle"; -const char * const QT_PALETTE = "QtPalette"; -const char * const FONT = "Font"; +const char *const OBJECT_VIEWER_SECTION = "ObjectViewer"; +const char *const GRAPHICS_DRIVER = "GraphicsDriver"; +const char *const ENABLE_BLOOM = "EnableBloom"; +const char *const ENABLE_SQUARE_BLOOM = "EnableSquareBloom"; +const char *const BLOOM_DENSITY = "BloomDensity"; +const char *const QT_STYLE = "QtStyle"; +const char *const QT_PALETTE = "QtPalette"; +const char *const FONT = "Font"; -const char * const SOUND_ENABLE = "SoundEnable"; -const char * const SOUND_DRIVER = "SoundDriver"; -const char * const SOUND_DEVICE = "SoundDevice"; -const char * const SOUND_AUTO_LOAD_SAMPLE = "SoundAutoLoadSample"; -const char * const SOUND_ENABLE_OCCLUDE_OBSTRUCT = "SoundEnableOccludeObstruct"; -const char * const SOUND_ENABLE_REVERB = "SoundEnableReverb"; -const char * const SOUND_MANUAL_ROLL_OFF = "SoundManualRolloff"; -const char * const SOUND_FORCE_SOFTWARE = "SoundForceSoftware"; -const char * const SOUND_USE_ADCPM = "SoundUseADPCM"; -const char * const SOUND_MAX_TRACK = "SoundMaxTrack"; -const char * const SOUND_PACKED_SHEET_PATH = "SoundPackedSheetPath"; -const char * const SOUND_SAMPLE_PATH = "SoundSamplePath"; +const char *const SOUND_ENABLE = "SoundEnable"; +const char *const SOUND_DRIVER = "SoundDriver"; +const char *const SOUND_DEVICE = "SoundDevice"; +const char *const SOUND_AUTO_LOAD_SAMPLE = "SoundAutoLoadSample"; +const char *const SOUND_ENABLE_OCCLUDE_OBSTRUCT = "SoundEnableOccludeObstruct"; +const char *const SOUND_ENABLE_REVERB = "SoundEnableReverb"; +const char *const SOUND_MANUAL_ROLL_OFF = "SoundManualRolloff"; +const char *const SOUND_FORCE_SOFTWARE = "SoundForceSoftware"; +const char *const SOUND_USE_ADCPM = "SoundUseADPCM"; +const char *const SOUND_MAX_TRACK = "SoundMaxTrack"; +const char *const SOUND_PACKED_SHEET_PATH = "SoundPackedSheetPath"; +const char *const SOUND_SAMPLE_PATH = "SoundSamplePath"; -const char * const VEGET_TILE_BANK = "VegetTileBank"; -const char * const VEGET_TILE_FAR_BANK = "VegetTileFarBank"; -const char * const VEGET_TEXTURE = "VegetTexture"; -const char * const VEGET_LANDSCAPE_ZONES = "VegetLandscapeZones"; -const char * const COARSE_MESH_TEXTURE = "CoarseMeshTexture"; +const char *const VEGET_TILE_BANK = "VegetTileBank"; +const char *const VEGET_TILE_FAR_BANK = "VegetTileFarBank"; +const char *const VEGET_TEXTURE = "VegetTexture"; +const char *const VEGET_LANDSCAPE_ZONES = "VegetLandscapeZones"; +const char *const COARSE_MESH_TEXTURE = "CoarseMeshTexture"; -const char * const ICON_ADD_ITEM = ":/icons/ic_nel_add_item.png"; -const char * const ICON_INSERT_ITEM = ":/icons/ic_nel_insert_item.png"; -const char * const ICON_DELETE_ITEM = ":/icons/ic_nel_delete_item.png"; -const char * const ICON_DOWN_ITEM = ":/icons/ic_nel_down_item.png"; -const char * const ICON_UP_ITEM = ":/icons/ic_nel_up_item.png"; -const char * const ICON_CAMERA_ADD = ":/icons/ic_nel_camera_add.png"; -const char * const ICON_CAMERA_DEL = ":/icons/ic_nel_camera_del.png"; -const char * const ICON_CAMERA_3DEDIT = ":/icons/ic_nel_camera_3dedit.png"; -const char * const ICON_CAMERA_FPS = ":/icons/ic_nel_camera_fps.png"; -const char * const ICON_RESET_CAMERA = ":/icons/ic_nel_reset_camera.png"; -const char * const ICON_ANIM = ":/icons/ic_nel_anim.png"; -const char * const ICON_ANIMSET = ":/icons/ic_nel_animset.png"; -const char * const ICON_BGCOLOR = ":/icons/ic_nel_bgcolor.png"; -const char * const ICON_DAYNIGHT = ":/icons/ic_nel_daynight.png"; -const char * const ICON_FRAMEDELAY = ":/icons/ic_nel_framedelay.png"; -const char * const ICON_MIXER = ":/icons/ic_nel_mixer.png"; -const char * const ICON_MRM_MESH = ":/icons/ic_nel_mrm_mesh.png"; -const char * const ICON_PARTICLES = ":/icons/ic_nel_particles.png"; -const char * const ICON_SKELSCALE = ":/icons/ic_nel_skelscale.png"; -const char * const ICON_VEGET = ":/icons/ic_nel_veget.png"; -const char * const ICON_VEGETSET = ":/icons/ic_nel_vegetset.png"; -const char * const ICON_WATER = ":/icons/ic_nel_water.png"; -const char * const ICON_WIND = ":/icons/ic_nel_wind.png"; +const char *const ICON_ADD_ITEM = ":/icons/ic_nel_add_item.png"; +const char *const ICON_INSERT_ITEM = ":/icons/ic_nel_insert_item.png"; +const char *const ICON_DELETE_ITEM = ":/icons/ic_nel_delete_item.png"; +const char *const ICON_DOWN_ITEM = ":/icons/ic_nel_down_item.png"; +const char *const ICON_UP_ITEM = ":/icons/ic_nel_up_item.png"; +const char *const ICON_CAMERA_ADD = ":/icons/ic_nel_camera_add.png"; +const char *const ICON_CAMERA_DEL = ":/icons/ic_nel_camera_del.png"; +const char *const ICON_CAMERA_3DEDIT = ":/icons/ic_nel_camera_3dedit.png"; +const char *const ICON_CAMERA_FPS = ":/icons/ic_nel_camera_fps.png"; +const char *const ICON_RESET_CAMERA = ":/icons/ic_nel_reset_camera.png"; +const char *const ICON_ANIM = ":/icons/ic_nel_anim.png"; +const char *const ICON_ANIMSET = ":/icons/ic_nel_animset.png"; +const char *const ICON_BGCOLOR = ":/icons/ic_nel_bgcolor.png"; +const char *const ICON_DAYNIGHT = ":/icons/ic_nel_daynight.png"; +const char *const ICON_FRAMEDELAY = ":/icons/ic_nel_framedelay.png"; +const char *const ICON_MIXER = ":/icons/ic_nel_mixer.png"; +const char *const ICON_MRM_MESH = ":/icons/ic_nel_mrm_mesh.png"; +const char *const ICON_PARTICLES = ":/icons/ic_nel_particles.png"; +const char *const ICON_SKELSCALE = ":/icons/ic_nel_skelscale.png"; +const char *const ICON_VEGET = ":/icons/ic_nel_veget.png"; +const char *const ICON_VEGETSET = ":/icons/ic_nel_vegetset.png"; +const char *const ICON_WATER = ":/icons/ic_nel_water.png"; +const char *const ICON_WIND = ":/icons/ic_nel_wind.png"; -const char * const ICON_COLLISION_ZONE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_collision_zone_item_24.png"; -const char * const ICON_EMITTER_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_emitter_item_24.png"; -const char * const ICON_FORCE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_force_item_24.png"; -const char * const ICON_INSTANCE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_instance_item_24.png"; -const char * const ICON_LIGHT_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_light_item_24.png"; -const char * const ICON_LOCATED_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_located_item_24.png"; -const char * const ICON_PARTICLE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_particle_item_24.png"; -const char * const ICON_PARTICLE_SYSTEM_SMALL = ":/icons/particles_system_24/ic_nel_particle_system_24.png"; -const char * const ICON_PARTICLE_SYSTEM_CLOSE_SMALL = ":/icons/particles_system_24/ic_nel_particle_system_close_24.png"; -const char * const ICON_PARTICLES_SMALL = ":/icons/particles_system_24/ic_nel_particles_24.png"; -const char * const ICON_SOUND_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_sound_item_24.png"; -const char * const ICON_WORKSPACE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_workspace_item_24.png"; +const char *const ICON_COLLISION_ZONE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_collision_zone_item_24.png"; +const char *const ICON_EMITTER_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_emitter_item_24.png"; +const char *const ICON_FORCE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_force_item_24.png"; +const char *const ICON_INSTANCE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_instance_item_24.png"; +const char *const ICON_LIGHT_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_light_item_24.png"; +const char *const ICON_LOCATED_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_located_item_24.png"; +const char *const ICON_PARTICLE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_particle_item_24.png"; +const char *const ICON_PARTICLE_SYSTEM_SMALL = ":/icons/particles_system_24/ic_nel_particle_system_24.png"; +const char *const ICON_PARTICLE_SYSTEM_CLOSE_SMALL = ":/icons/particles_system_24/ic_nel_particle_system_close_24.png"; +const char *const ICON_PARTICLES_SMALL = ":/icons/particles_system_24/ic_nel_particles_24.png"; +const char *const ICON_SOUND_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_sound_item_24.png"; +const char *const ICON_WORKSPACE_ITEM_SMALL = ":/icons/particles_system_24/ic_nel_workspace_item_24.png"; } // namespace Constants } // namespace NLQT diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp index 4bc976571..ec21cef33 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.cpp @@ -56,33 +56,6 @@ void ObjectViewerPlugin::setNelContext(NLMISC::INelContext *nelContext) _LibContext = new NLMISC::CLibraryContext(*nelContext); } -QString ObjectViewerPlugin::name() const -{ - return "ObjectViewer"; -} - -QString ObjectViewerPlugin::version() const -{ - return "0.8"; -} - -QString ObjectViewerPlugin::vendor() const -{ - return "GSoC2010_dnk-88"; -} - -QString ObjectViewerPlugin::description() const -{ - return "Object Viewer plugin."; -} - -QStringList ObjectViewerPlugin::dependencies() const -{ - QStringList list; - list.append(Core::Constants::OVQT_CORE_PLUGIN); - return list; -} - void ObjectViewerPlugin::addAutoReleasedObject(QObject *obj) { _plugMan->addObject(obj); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.h index f0f23d398..5018501bf 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/object_viewer_plugin.h @@ -36,15 +36,8 @@ public: bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString); void extensionsInitialized(); void shutdown(); - void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - void addAutoReleasedObject(QObject *obj); protected: diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/ovqt_plugin_object_viewer.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/ovqt_plugin_object_viewer.xml new file mode 100644 index 000000000..cc951cdcb --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/ovqt_plugin_object_viewer.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_object_viewer + ObjectViewer + 0.8 + Ryzom Core + Object Viewer plugin. + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.h index 1bc23224f..1518bdd63 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_force_page.h @@ -43,7 +43,7 @@ namespace NLQT class CLocatedItem: public QListWidgetItem { public: - CLocatedItem ( const QString & text, QListWidget *parent = 0, int type = UserType ): + CLocatedItem ( const QString &text, QListWidget *parent = 0, int type = UserType ): QListWidgetItem(text, parent, type), _loc(NULL) {} void setUserData(NL3D::CPSLocated *loc) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_node.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_node.h index acf7dfcd6..e9da65b5c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_node.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/particle_node.h @@ -332,7 +332,7 @@ public: /// Restick all objects, useful after loading void restickAllObjects(); - TNodeVect& getNodeList() + TNodeVect &getNodeList() { return _Nodes; } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/ps_mover_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/ps_mover_page.h index a548b789a..74caadc5c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/ps_mover_page.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/ps_mover_page.h @@ -44,7 +44,7 @@ namespace NLQT class CLocatedBindableItem: public QListWidgetItem { public: - CLocatedBindableItem ( const QString & text, QListWidget * parent = 0, int type = UserType ): + CLocatedBindableItem ( const QString &text, QListWidget *parent = 0, int type = UserType ): QListWidgetItem(text, parent, type), _lb(NULL) {} void setUserData(NL3D::CPSLocatedBindable *loc) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp index 07101aa85..a8a204c96 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/object_viewer/sound_system.cpp @@ -190,7 +190,7 @@ NLSOUND::USource *CSoundSystem::create(const std::string &soundName) return NULL; } -void CSoundSystem::playAnimation(std::string& name, float lastTime, float curTime, NLSOUND::CSoundContext &context) +void CSoundSystem::playAnimation(std::string &name, float lastTime, float curTime, NLSOUND::CSoundContext &context) { if (_AnimManager == NULL) { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_plugin_sheet_builder.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_plugin_sheet_builder.xml new file mode 100644 index 000000000..14965e86e --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_plugin_sheet_builder.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_sheet_builder + SheetBuilder + 1.0 + kharvd + make_sheet_id equivalent + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp index 18e77fbcc..4fd7dfb11 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.cpp @@ -19,7 +19,7 @@ #include "sheetbuilderdialog.h" #include "sheetbuilderconfgdialog.h" #include "../core/icore.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../core/core_constants.h" // NeL includes @@ -38,14 +38,14 @@ using namespace Plugin; bool SheetBuilderPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString) { Q_UNUSED(errorString); - _plugMan = pluginManager; + m_plugMan = pluginManager; return true; } void SheetBuilderPlugin::extensionsInitialized() { - Core::IMenuManager *menuManager = Core::ICore::instance()->menuManager(); + Core::MenuManager *menuManager = Core::ICore::instance()->menuManager(); QMenu *sheetMenu = menuManager->menu(Core::Constants::M_SHEET); QAction *sheetBuilderAction = sheetMenu->addAction(tr("Sheet builder")); @@ -69,34 +69,7 @@ void SheetBuilderPlugin::setNelContext(NLMISC::INelContext *nelContext) // This only applies to platforms without PIC, e.g. Windows. nlassert(!NLMISC::INelContext::isContextInitialised()); #endif // NL_OS_WINDOWS - _LibContext = new NLMISC::CLibraryContext(*nelContext); -} - -QString SheetBuilderPlugin::name() const -{ - return "Sheet builder"; -} - -QString SheetBuilderPlugin::version() const -{ - return "1.0"; -} - -QString SheetBuilderPlugin::vendor() const -{ - return "kharvd"; -} - -QString SheetBuilderPlugin::description() const -{ - return "make_sheet_id equivalent"; -} - -QStringList SheetBuilderPlugin::dependencies() const -{ - QStringList list; - list.append(Core::Constants::OVQT_CORE_PLUGIN); - return list; + m_LibContext = new NLMISC::CLibraryContext(*nelContext); } Q_EXPORT_PLUGIN(SheetBuilderPlugin) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h index f1299dfba..504d0914d 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/ovqt_sheet_builder.h @@ -28,11 +28,6 @@ namespace NLMISC class CLibraryContext; } -namespace ExtensionSystem -{ -class IPluginSpec; -} - namespace Plugin { @@ -43,25 +38,18 @@ class SheetBuilderPlugin : public QObject, public ExtensionSystem::IPlugin public: bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString); void extensionsInitialized(); - void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - void buildSheet(bool clean); private Q_SLOTS: void execBuilderDialog(); protected: - NLMISC::CLibraryContext *_LibContext; + NLMISC::CLibraryContext *m_LibContext; private: - ExtensionSystem::IPluginManager *_plugMan; + ExtensionSystem::IPluginManager *m_plugMan; }; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h index aac097c9b..eb9b3bc22 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/ovqt_sheet_builder/sheetbuilder.h @@ -54,7 +54,7 @@ union TFormId } }; -bool operator<(const TFormId& fid1, const TFormId& fid2) +bool operator<(const TFormId &fid1, const TFormId &fid2) { return fid1.Id(outputLine.data())),(uint)outputLine.size()); + output.serialBuffer((uint8 *)(const_cast(outputLine.data())),(uint)outputLine.size()); } displayInfo (tr("------------- results ----------------")); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/ovqt_plugin_zone_painter.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/ovqt_plugin_zone_painter.xml new file mode 100644 index 000000000..cf9e8afde --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/ovqt_plugin_zone_painter.xml @@ -0,0 +1,10 @@ + + ovqt_plugin_zone_painter + ZonePainter + 0.0 + Ryzom Core + Zone Painter Plugin + + + + \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_main_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_main_window.cpp index 01086f231..e0c2dab0c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_main_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_main_window.cpp @@ -11,7 +11,7 @@ #include "painter_dock_widget.h" #include "../core/icore.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../core/core_constants.h" ZonePainterMainWindow::ZonePainterMainWindow(QWidget *parent) : @@ -145,6 +145,7 @@ void ZonePainterMainWindow::loadConfig() { QColor color; color = settings->value("BackgroundColor", QColor(80, 80, 80)).value(); + settings->endGroup(); m_nelWidget->setBackgroundColor(NLMISC::CRGBA(color.red(), color.green(), color.blue(), color.alpha())); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.cpp index 9ccfb9053..ed7d601b9 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.cpp @@ -3,7 +3,7 @@ #include "zone_painter_settings_page.h" #include "../core/icore.h" #include "../core/core_constants.h" -#include "../core/imenu_manager.h" +#include "../core/menu_manager.h" #include "../../extension_system/iplugin_spec.h" // NeL includes @@ -19,22 +19,22 @@ namespace Plugin { - NLMISC_SAFE_SINGLETON_IMPL(CZoneManager) +// NLMISC_SAFE_SINGLETON_IMPL(CZoneManager) ZonePainterPlugin::~ZonePainterPlugin() { - Q_FOREACH(QObject *obj, _autoReleaseObjects) + Q_FOREACH(QObject *obj, m_autoReleaseObjects) { - _plugMan->removeObject(obj); + m_plugMan->removeObject(obj); } - qDeleteAll(_autoReleaseObjects); - _autoReleaseObjects.clear(); + qDeleteAll(m_autoReleaseObjects); + m_autoReleaseObjects.clear(); } bool ZonePainterPlugin::initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString) { Q_UNUSED(errorString); - _plugMan = pluginManager; + m_plugMan = pluginManager; addAutoReleasedObject(new CZonePainterSettingsPage(this)); addAutoReleasedObject(new CZonePainterContext(this)); @@ -45,19 +45,7 @@ bool ZonePainterPlugin::initialize(ExtensionSystem::IPluginManager *pluginManage void ZonePainterPlugin::extensionsInitialized() { Core::ICore *core = Core::ICore::instance(); - Core::IMenuManager *menuManager = core->menuManager(); - //menuManager = _plugMan->getObject(); - QAction *exampleAction1 = new QAction("Zone1", this); - QAction *exampleAction2 = new QAction("Zone2", this); - QAction *aboutQtAction = menuManager->action(Core::Constants::ABOUT_QT); - QMenu *helpMenu = menuManager->menu(Core::Constants::M_HELP); - helpMenu->insertAction(aboutQtAction, exampleAction1); - helpMenu->addSeparator(); - helpMenu->addAction(exampleAction2); - QMenu *zoneMenu = menuManager->menuBar()->addMenu("ZoneMenu"); - zoneMenu->insertAction(aboutQtAction, exampleAction1); - zoneMenu->addSeparator(); - zoneMenu->addAction(exampleAction2); + Core::MenuManager *menuManager = core->menuManager(); } void ZonePainterPlugin::setNelContext(NLMISC::INelContext *nelContext) @@ -67,57 +55,13 @@ void ZonePainterPlugin::setNelContext(NLMISC::INelContext *nelContext) // This only applies to platforms without PIC, e.g. Windows. nlassert(!NLMISC::INelContext::isContextInitialised()); #endif // NL_OS_WINDOWS - _LibContext = new NLMISC::CLibraryContext(*nelContext); -} - -QString ZonePainterPlugin::name() const -{ - return "ZonePainterPlugin"; -} - -QString ZonePainterPlugin::version() const -{ - return "0.2"; -} - -QString ZonePainterPlugin::vendor() const -{ - return "Ryzom Core"; -} - -QString ZonePainterPlugin::description() const -{ - return "Zone Painter Plugin"; -} - -QStringList ZonePainterPlugin::dependencies() const -{ - QStringList list; - list.append(Core::Constants::OVQT_CORE_PLUGIN); - //list.append("ObjectViewer"); - return list; + m_LibContext = new NLMISC::CLibraryContext(*nelContext); } void ZonePainterPlugin::addAutoReleasedObject(QObject *obj) { - _plugMan->addObject(obj); - _autoReleaseObjects.prepend(obj); -} - -QObject* ZonePainterPlugin::objectByName(const QString &name) const -{ - Q_FOREACH (QObject *qobj, _plugMan->allObjects()) - if (qobj->objectName() == name) - return qobj; - return 0; -} - -ExtensionSystem::IPluginSpec *ZonePainterPlugin::pluginByName(const QString &name) const -{ - Q_FOREACH (ExtensionSystem::IPluginSpec *spec, _plugMan->plugins()) - if (spec->name() == name) - return spec; - return 0; + m_plugMan->addObject(obj); + m_autoReleaseObjects.prepend(obj); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.h index 2c1dff53e..dee4f3124 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/zone_painter/zone_painter_plugin.h @@ -31,7 +31,7 @@ class IPluginSpec; namespace Plugin { - class CZoneManager +/* class CZoneManager { NLMISC_SAFE_SINGLETON_DECL(CZoneManager) public: @@ -41,7 +41,7 @@ namespace Plugin NL3D::CLandscapeModel *m_painterLandscape; NL3D::CZone *m_currentZone; }; - +*/ class ZonePainterPlugin : public QObject, public ExtensionSystem::IPlugin { Q_OBJECT @@ -52,28 +52,16 @@ public: bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString); void extensionsInitialized(); - void setNelContext(NLMISC::INelContext *nelContext); - QString name() const; - QString version() const; - QString vendor() const; - QString description() const; - QStringList dependencies() const; - void addAutoReleasedObject(QObject *obj); - QObject *objectByName(const QString &name) const; - ExtensionSystem::IPluginSpec *pluginByName(const QString &name) const; - - - protected: - NLMISC::CLibraryContext *_LibContext; + NLMISC::CLibraryContext *m_LibContext; private: - ExtensionSystem::IPluginManager *_plugMan; - QList _autoReleaseObjects; + ExtensionSystem::IPluginManager *m_plugMan; + QList m_autoReleaseObjects; }; class CZonePainterContext: public Core::IContext diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm.cpp index e65b4ea56..e4bc7006a 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/calc_lm.cpp @@ -281,13 +281,21 @@ void SLightBuild::convertFromMaxLight (INode *node,TimeValue tvTime) } #if (MAX_RELEASE < 4000) - // Convert exclusion list - NameTab& ntExclu = maxLight->GetExclusionList(); - for( sint i = 0; i < ntExclu.Count(); ++i ) - { - string tmp = *ntExclu.Addr(i); - this->setExclusion.insert( tmp ); - } + // Convert exclusion list + NameTab& ntExclu = maxLight->GetExclusionList(); + for (sint i = 0; i < ntExclu.Count(); ++i) + { + string tmp = *ntExclu.Addr(i); + this->setExclusion.insert(tmp); + } +#else // (MAX_RELEASE < 4000) + ExclList& exclusionList = maxLight->GetExclusionList(); + for (sint i = 0; i < exclusionList.Count(); ++i) + { + INode *exclNode = exclusionList[i]; + string tmp = exclNode->GetName(); + this->setExclusion.insert(tmp); + } #endif // (MAX_RELEASE < 4000) // Get Soft Shadow informations @@ -1999,11 +2007,12 @@ void CExportNel::deleteLM(INode& ZeNode) sprintf( tmp, "%d", i ); sSaveName += tmp; sSaveName += ".tga"; - FILE *file; - if( file = fopen(sSaveName.c_str(),"rb") ) + if (CFile::fileExists(sSaveName)) { - fclose( file ); - DeleteFile( sSaveName.c_str() ); + if (!CFile::deleteFile(sSaveName)) + { + nlwarning("Failed to delete file %s.", sSaveName.c_str()); + } } } } @@ -2576,11 +2585,13 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB for (i = 0; i < 256; ++i) { string sLMName = sBaseName + NLMISC::toString(i) + ".tga"; - CIFile ifi; - if (ifi.open(sLMName)) + if (CFile::fileExists(sLMName)) { - ifi.close (); - DeleteFile (sLMName.c_str()); + nlinfo("DELETE %s", sLMName.c_str()); + if (!CFile::deleteFile(sLMName)) + { + nlwarning("Failed to delete file %s", sLMName.c_str()); + } } } } @@ -2598,6 +2609,7 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB COFile f( sSaveName ); try { + nlinfo("SAVE %s", sSaveName.c_str()); if (lmcEnabled) { // In fact the output is 32 bits because we need the alpha channel diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_particle_system.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_particle_system.cpp index 4c6b6bc8b..e3504b324 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_particle_system.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_particle_system.cpp @@ -36,7 +36,7 @@ IShape* CExportNel::buildParticleSystem(INode& node, TimeValue time) // if not found, get from the APP_DATAS shapeName = CExportNel::getNelObjectName(node); if (shapeName.empty()) return NULL; - shapeName = NLMISC::CPath::lookup("shapeName", false); + shapeName = NLMISC::CPath::lookup(shapeName, false); if (shapeName.empty()) return NULL; } diff --git a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_scene.cpp b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_scene.cpp index 4e7edea8a..2d0268a74 100644 --- a/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_scene.cpp +++ b/code/nel/tools/3d/plugin_max/nel_mesh_lib/export_scene.cpp @@ -24,6 +24,7 @@ #include "../nel_patch_lib/rpo.h" #include "../../ig_lighter_lib/ig_lighter_lib.h" +#include "nel/misc/path.h" #include "nel/3d/scene_group.h" #include "nel/3d/scene.h" #include "nel/3d/shape_bank.h" @@ -418,12 +419,21 @@ CInstanceGroup* CExportNel::buildInstanceGroup(const vector& vectNode, v if (clid.PartA() == NEL_PARTICLE_SYSTEM_CLASS_ID) { // build the shape from the file name - std::string objName = CExportNel::getNelObjectName(*pNode); - if (!objName.empty()) + // std::string objName = CExportNel::getNelObjectName(*pNode); + std::string psFilePath; + // try to get the complete path + if (!CExportNel::getValueByNameUsingParamBlock2(*pNode, "ps_file_name", (ParamType2) TYPE_STRING, &psFilePath, 0)) + { + // if not found, get from the APP_DATAS + psFilePath = CExportNel::getNelObjectName(*pNode); + if (!psFilePath.empty()) + psFilePath = CPath::lookup(psFilePath, false); + } + if (!psFilePath.empty()) { NL3D::CShapeStream ss; NLMISC::CIFile iF; - if (iF.open(objName.c_str())) + if (iF.open(psFilePath.c_str())) { try { diff --git a/code/nel/tools/build_gamedata/0_setup.py b/code/nel/tools/build_gamedata/0_setup.py index d921d03f4..1fe084407 100644 --- a/code/nel/tools/build_gamedata/0_setup.py +++ b/code/nel/tools/build_gamedata/0_setup.py @@ -24,9 +24,27 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("configuration") +parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Setup') +parser.add_argument('--noconf', '-nc', action='store_true') +parser.add_argument('--noverify', '-nv', action='store_true') +# parser.add_argument('--haltonerror', '-eh', action='store_true') +parser.add_argument('--includeproject', '-ipj', nargs='+') +parser.add_argument('--excludeproject', '-epj', nargs='+') +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + +if not args.includeproject == None and not args.excludeproject == None: + print "ERROR --includeproject cannot be combined with --excludeproject, exit." + exit() + +if not args.includeprocess == None and not args.excludeprocess == None: + print "ERROR --includeprocess cannot be combined with --excludeprocess, exit." + exit() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -35,221 +53,225 @@ try: from buildsite import * except ImportError: printLog(log, "*** FIRST RUN ***") + if args.noconf: + printLog(log, "ERROR --noconf is invalid on first run, exit.") + exit() from tools import * -try: - BuildQuality -except NameError: - BuildQuality = 1 -try: - ToolDirectories -except NameError: - ToolDirectories = [ 'R:/code/nel', 'R:/code/ryzom/tools' ] -try: - ToolSuffix -except NameError: - ToolSuffix = "_r.exe" -try: - ScriptDirectory -except NameError: - ScriptDirectory = "R:/code/nel/tools/build_gamedata" -try: - WorkspaceDirectory -except NameError: - WorkspaceDirectory = "R:/code/ryzom/tools/build_gamedata/workspace" -try: - DatabaseDirectory -except NameError: - DatabaseDirectory = "W:/database" -try: - ExportBuildDirectory -except NameError: - ExportBuildDirectory = "W:/export" -try: - InstallDirectory -except NameError: - InstallDirectory = "W:/install" -try: - DataShardDirectory -except NameError: - DataShardDirectory = "R:/code/ryzom/server/data_shard" -try: - ClientDevDirectory -except NameError: - ClientDevDirectory = "W:/client_dev" -try: - ClientPatchDirectory -except NameError: - ClientPatchDirectory = "W:/client_patch" -try: - ClientInstallDirectory -except NameError: - ClientInstallDirectory = "W:/client_install" -try: - LeveldesignDirectory -except NameError: - LeveldesignDirectory = "L:/leveldesign" -try: - LeveldesignDfnDirectory -except NameError: - LeveldesignDfnDirectory = "L:/leveldesign/dfn" -try: - LeveldesignWorldDirectory -except NameError: - LeveldesignWorldDirectory = "L:/leveldesign/world" -try: - PrimitivesDirectory -except NameError: - PrimitivesDirectory = "L:/primitives" -try: - GamedevDirectory -except NameError: - GamedevDirectory = "R:/code/ryzom/client/data/gamedev" -try: - DataCommonDirectory -except NameError: - DataCommonDirectory = "R:/code/ryzom/common/data_common" -try: - WindowsExeDllCfgDirectories -except NameError: - WindowsExeDllCfgDirectories = [ 'C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/redist/x86', 'D:/source/external_local/bin/x86', 'D:/source/external_shared/bin/x86', 'R:/code/nel/lib', 'R:/code/ryzom/bin', 'R:/code/ryzom/client', 'R:/code/ryzom/tools/client/client_config/bin' ] -try: - MaxAvailable -except NameError: - MaxAvailable = 1 -try: - MaxDirectory -except NameError: - MaxDirectory = "C:/Program Files (x86)/Autodesk/3ds Max 2010" -try: - MaxUserDirectory -except NameError: - MaxUserDirectory = "C:/Users/Kaetemi/AppData/Local/Autodesk/3dsMax/2010 - 32bit/enu" -try: - MaxExecutable -except NameError: - MaxExecutable = "3dsmax.exe" +if not args.noconf: + try: + BuildQuality + except NameError: + BuildQuality = 1 + try: + ToolDirectories + except NameError: + ToolDirectories = [ 'R:/build/dev/bin/Release', 'D:/libraries/external/bin' ] + try: + ToolSuffix + except NameError: + ToolSuffix = ".exe" + try: + ScriptDirectory + except NameError: + ScriptDirectory = "R:/code/nel/tools/build_gamedata" + try: + WorkspaceDirectory + except NameError: + WorkspaceDirectory = "R:/code/ryzom/tools/build_gamedata/workspace" + try: + DatabaseDirectory + except NameError: + DatabaseDirectory = "W:/database" + try: + ExportBuildDirectory + except NameError: + ExportBuildDirectory = "W:/export" + try: + InstallDirectory + except NameError: + InstallDirectory = "W:/install" + try: + DataShardDirectory + except NameError: + DataShardDirectory = "R:/code/ryzom/server/data_shard" + try: + ClientDevDirectory + except NameError: + ClientDevDirectory = "W:/client_dev" + try: + ClientPatchDirectory + except NameError: + ClientPatchDirectory = "W:/client_patch" + try: + ClientInstallDirectory + except NameError: + ClientInstallDirectory = "W:/client_install" + try: + LeveldesignDirectory + except NameError: + LeveldesignDirectory = "L:/leveldesign" + try: + LeveldesignDfnDirectory + except NameError: + LeveldesignDfnDirectory = "L:/leveldesign/dfn" + try: + LeveldesignWorldDirectory + except NameError: + LeveldesignWorldDirectory = "L:/leveldesign/world" + try: + PrimitivesDirectory + except NameError: + PrimitivesDirectory = "L:/primitives" + try: + GamedevDirectory + except NameError: + GamedevDirectory = "R:/code/ryzom/client/data/gamedev" + try: + DataCommonDirectory + except NameError: + DataCommonDirectory = "R:/code/ryzom/common/data_common" + try: + WindowsExeDllCfgDirectories + except NameError: + WindowsExeDllCfgDirectories = [ 'C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/redist/x86', 'D:/libraries/external/bin', 'R:/build/dev/bin/Release', 'R:/code/ryzom/client', 'R:/code/nel/lib', 'R:/code/ryzom/bin', 'R:/code/ryzom/tools/client/client_config/bin' ] + try: + MaxAvailable + except NameError: + MaxAvailable = 1 + try: + MaxDirectory + except NameError: + MaxDirectory = "C:/Program Files (x86)/Autodesk/3ds Max 2010" + try: + MaxUserDirectory + except NameError: + MaxUserDirectory = "C:/Users/Kaetemi/AppData/Local/Autodesk/3dsMax/2010 - 32bit/enu" + try: + MaxExecutable + except NameError: + MaxExecutable = "3dsmax.exe" -printLog(log, "") -printLog(log, "-------") -printLog(log, "--- Setup build site") -printLog(log, "-------") -printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) -printLog(log, "") -printLog(log, "This script will set up the buildsite configuration, and create needed directories.") -printLog(log, "To use the defaults, simply hit ENTER, else type in the new value.") -printLog(log, "Use -- if you need to insert an empty value.") -printLog(log, "") -BuildQuality = int(askVar(log, "Build Quality", str(BuildQuality))) -ToolDirectories[0] = askVar(log, "Primary Tool Directory", ToolDirectories[0]).replace("\\", "/") -ToolDirectories[1] = askVar(log, "Secondary Tool Directory", ToolDirectories[1]).replace("\\", "/") -ToolSuffix = askVar(log, "Tool Suffix", ToolSuffix) -ScriptDirectory = askVar(log, "Script Directory", os.getcwd().replace("\\", "/")).replace("\\", "/") -WorkspaceDirectory = askVar(log, "Workspace Directory", WorkspaceDirectory).replace("\\", "/") -DatabaseDirectory = askVar(log, "Database Directory", DatabaseDirectory).replace("\\", "/") -ExportBuildDirectory = askVar(log, "Export Build Directory", ExportBuildDirectory).replace("\\", "/") -InstallDirectory = askVar(log, "Install Directory", InstallDirectory).replace("\\", "/") -DataShardDirectory = askVar(log, "Data Shard Directory", DataShardDirectory).replace("\\", "/") -ClientDevDirectory = askVar(log, "Client Dev Directory", ClientDevDirectory).replace("\\", "/") -ClientPatchDirectory = askVar(log, "Client Patch Directory", ClientPatchDirectory).replace("\\", "/") -ClientInstallDirectory = askVar(log, "Client Install Directory", ClientInstallDirectory).replace("\\", "/") -LeveldesignDirectory = askVar(log, "Leveldesign Directory", LeveldesignDirectory).replace("\\", "/") -LeveldesignDfnDirectory = askVar(log, "Leveldesign DFN Directory", LeveldesignDfnDirectory).replace("\\", "/") -LeveldesignWorldDirectory = askVar(log, "Leveldesign World Directory", LeveldesignWorldDirectory).replace("\\", "/") -PrimitivesDirectory = askVar(log, "Primitives Directory", PrimitivesDirectory).replace("\\", "/") -GamedevDirectory = askVar(log, "Gamedev Directory", GamedevDirectory).replace("\\", "/") -DataCommonDirectory = askVar(log, "Data Common Directory", DataCommonDirectory).replace("\\", "/") -WindowsExeDllCfgDirectories[0] = askVar(log, "Primary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[0]).replace("\\", "/") -WindowsExeDllCfgDirectories[1] = askVar(log, "Secondary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[1]).replace("\\", "/") -WindowsExeDllCfgDirectories[2] = askVar(log, "Tertiary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[2]).replace("\\", "/") -WindowsExeDllCfgDirectories[3] = askVar(log, "Quaternary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[3]).replace("\\", "/") -WindowsExeDllCfgDirectories[4] = askVar(log, "Quinary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[4]).replace("\\", "/") -WindowsExeDllCfgDirectories[5] = askVar(log, "Senary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[5]).replace("\\", "/") -WindowsExeDllCfgDirectories[6] = askVar(log, "Septenary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[6]).replace("\\", "/") -MaxAvailable = int(askVar(log, "3dsMax Available", str(MaxAvailable))) -if MaxAvailable: - MaxDirectory = askVar(log, "3dsMax Directory", MaxDirectory).replace("\\", "/") - MaxUserDirectory = askVar(log, "3dsMax User Directory", MaxUserDirectory).replace("\\", "/") - MaxExecutable = askVar(log, "3dsMax Executable", MaxExecutable) -if os.path.isfile("configuration/buildsite.py"): - os.remove("configuration/buildsite.py") -sf = open("configuration/buildsite.py", "w") -sf.write("#!/usr/bin/python\n") -sf.write("# \n") -sf.write("# \\file site.py\n") -sf.write("# \\brief Site configuration\n") -sf.write("# \\date " + time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "\n") -sf.write("# \\author Jan Boon (Kaetemi)\n") -sf.write("# Python port of game data build pipeline.\n") -sf.write("# Site configuration.\n") -sf.write("# \n") -sf.write("# NeL - MMORPG Framework \n") -sf.write("# Copyright (C) 2010 Winch Gate Property Limited\n") -sf.write("# \n") -sf.write("# This program is free software: you can redistribute it and/or modify\n") -sf.write("# it under the terms of the GNU Affero General Public License as\n") -sf.write("# published by the Free Software Foundation, either version 3 of the\n") -sf.write("# License, or (at your option) any later version.\n") -sf.write("# \n") -sf.write("# This program is distributed in the hope that it will be useful,\n") -sf.write("# but WITHOUT ANY WARRANTY; without even the implied warranty of\n") -sf.write("# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n") -sf.write("# GNU Affero General Public License for more details.\n") -sf.write("# \n") -sf.write("# You should have received a copy of the GNU Affero General Public License\n") -sf.write("# along with this program. If not, see .\n") -sf.write("# \n") -sf.write("\n") -sf.write("\n") -sf.write("# *** SITE INSTALLATION ***\n") -sf.write("\n") -sf.write("# Use '/' in path name, not '\'\n") -sf.write("# Don't put '/' at the end of a directory name\n") -sf.write("\n") -sf.write("\n") -sf.write("# Quality option for this site (1 for BEST, 0 for DRAFT)\n") -sf.write("BuildQuality = " + str(BuildQuality) + "\n") -sf.write("\n") -sf.write("ToolDirectories = " + str(ToolDirectories) + "\n") -sf.write("ToolSuffix = \"" + str(ToolSuffix) + "\"\n") -sf.write("\n") -sf.write("# Build script directory\n") -sf.write("ScriptDirectory = \"" + str(ScriptDirectory) + "\"\n") -sf.write("WorkspaceDirectory = \"" + str(WorkspaceDirectory) + "\"\n") -sf.write("\n") -sf.write("# Data build directories\n") -sf.write("DatabaseDirectory = \"" + str(DatabaseDirectory) + "\"\n") -sf.write("ExportBuildDirectory = \"" + str(ExportBuildDirectory) + "\"\n") -sf.write("\n") -sf.write("# Install directories\n") -sf.write("InstallDirectory = \"" + str(InstallDirectory) + "\"\n") -sf.write("DataShardDirectory = \"" + str(DataShardDirectory) + "\"\n") -sf.write("ClientDevDirectory = \"" + str(ClientDevDirectory) + "\"\n") -sf.write("ClientPatchDirectory = \"" + str(ClientPatchDirectory) + "\"\n") -sf.write("ClientInstallDirectory = \"" + str(ClientInstallDirectory) + "\"\n") -sf.write("\n") -sf.write("# TODO: NETWORK RECONNECT NOT IMPLEMENTED :)\n") -sf.write("\n") -sf.write("# Leveldesign directories\n") -sf.write("LeveldesignDirectory = \"" + str(LeveldesignDirectory) + "\"\n") -sf.write("LeveldesignDfnDirectory = \"" + str(LeveldesignDfnDirectory) + "\"\n") -sf.write("LeveldesignWorldDirectory = \"" + str(LeveldesignWorldDirectory) + "\"\n") -sf.write("PrimitivesDirectory = \"" + str(PrimitivesDirectory) + "\"\n") -sf.write("\n") -sf.write("# Misc data directories\n") -sf.write("GamedevDirectory = \"" + str(GamedevDirectory) + "\"\n") -sf.write("DataCommonDirectory = \"" + str(DataCommonDirectory) + "\"\n") -sf.write("WindowsExeDllCfgDirectories = " + str(WindowsExeDllCfgDirectories) + "\n") -sf.write("\n") -sf.write("# 3dsMax directives\n") -sf.write("MaxAvailable = " + str(MaxAvailable) + "\n") -sf.write("MaxDirectory = \"" + str(MaxDirectory) + "\"\n") -sf.write("MaxUserDirectory = \"" + str(MaxUserDirectory) + "\"\n") -sf.write("MaxExecutable = \"" + str(MaxExecutable) + "\"\n") -sf.write("\n") -sf.write("\n") -sf.write("# end of file\n") -sf.close() + printLog(log, "") + printLog(log, "-------") + printLog(log, "--- Setup build site") + printLog(log, "-------") + printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) + printLog(log, "") + printLog(log, "This script will set up the buildsite configuration, and create needed directories.") + printLog(log, "To use the defaults, simply hit ENTER, else type in the new value.") + printLog(log, "Use -- if you need to insert an empty value.") + printLog(log, "") + BuildQuality = int(askVar(log, "Build Quality", str(BuildQuality))) + ToolDirectories[0] = askVar(log, "Primary Tool Directory", ToolDirectories[0]).replace("\\", "/") + ToolDirectories[1] = askVar(log, "Secondary Tool Directory", ToolDirectories[1]).replace("\\", "/") + ToolSuffix = askVar(log, "Tool Suffix", ToolSuffix) + ScriptDirectory = askVar(log, "Script Directory", os.getcwd().replace("\\", "/")).replace("\\", "/") + WorkspaceDirectory = askVar(log, "Workspace Directory", WorkspaceDirectory).replace("\\", "/") + DatabaseDirectory = askVar(log, "Database Directory", DatabaseDirectory).replace("\\", "/") + ExportBuildDirectory = askVar(log, "Export Build Directory", ExportBuildDirectory).replace("\\", "/") + InstallDirectory = askVar(log, "Install Directory", InstallDirectory).replace("\\", "/") + DataShardDirectory = askVar(log, "Data Shard Directory", DataShardDirectory).replace("\\", "/") + ClientDevDirectory = askVar(log, "Client Dev Directory", ClientDevDirectory).replace("\\", "/") + ClientPatchDirectory = askVar(log, "Client Patch Directory", ClientPatchDirectory).replace("\\", "/") + ClientInstallDirectory = askVar(log, "Client Install Directory", ClientInstallDirectory).replace("\\", "/") + LeveldesignDirectory = askVar(log, "Leveldesign Directory", LeveldesignDirectory).replace("\\", "/") + LeveldesignDfnDirectory = askVar(log, "Leveldesign DFN Directory", LeveldesignDfnDirectory).replace("\\", "/") + LeveldesignWorldDirectory = askVar(log, "Leveldesign World Directory", LeveldesignWorldDirectory).replace("\\", "/") + PrimitivesDirectory = askVar(log, "Primitives Directory", PrimitivesDirectory).replace("\\", "/") + GamedevDirectory = askVar(log, "Gamedev Directory", GamedevDirectory).replace("\\", "/") + DataCommonDirectory = askVar(log, "Data Common Directory", DataCommonDirectory).replace("\\", "/") + WindowsExeDllCfgDirectories[0] = askVar(log, "Primary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[0]).replace("\\", "/") + WindowsExeDllCfgDirectories[1] = askVar(log, "Secondary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[1]).replace("\\", "/") + WindowsExeDllCfgDirectories[2] = askVar(log, "Tertiary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[2]).replace("\\", "/") + WindowsExeDllCfgDirectories[3] = askVar(log, "Quaternary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[3]).replace("\\", "/") + WindowsExeDllCfgDirectories[4] = askVar(log, "Quinary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[4]).replace("\\", "/") + WindowsExeDllCfgDirectories[5] = askVar(log, "Senary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[5]).replace("\\", "/") + WindowsExeDllCfgDirectories[6] = askVar(log, "Septenary Windows exe/dll/cfg Directory", WindowsExeDllCfgDirectories[6]).replace("\\", "/") + MaxAvailable = int(askVar(log, "3dsMax Available", str(MaxAvailable))) + if MaxAvailable: + MaxDirectory = askVar(log, "3dsMax Directory", MaxDirectory).replace("\\", "/") + MaxUserDirectory = askVar(log, "3dsMax User Directory", MaxUserDirectory).replace("\\", "/") + MaxExecutable = askVar(log, "3dsMax Executable", MaxExecutable) + if os.path.isfile("configuration/buildsite.py"): + os.remove("configuration/buildsite.py") + sf = open("configuration/buildsite.py", "w") + sf.write("#!/usr/bin/python\n") + sf.write("# \n") + sf.write("# \\file site.py\n") + sf.write("# \\brief Site configuration\n") + sf.write("# \\date " + time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "\n") + sf.write("# \\author Jan Boon (Kaetemi)\n") + sf.write("# Python port of game data build pipeline.\n") + sf.write("# Site configuration.\n") + sf.write("# \n") + sf.write("# NeL - MMORPG Framework \n") + sf.write("# Copyright (C) 2010 Winch Gate Property Limited\n") + sf.write("# \n") + sf.write("# This program is free software: you can redistribute it and/or modify\n") + sf.write("# it under the terms of the GNU Affero General Public License as\n") + sf.write("# published by the Free Software Foundation, either version 3 of the\n") + sf.write("# License, or (at your option) any later version.\n") + sf.write("# \n") + sf.write("# This program is distributed in the hope that it will be useful,\n") + sf.write("# but WITHOUT ANY WARRANTY; without even the implied warranty of\n") + sf.write("# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n") + sf.write("# GNU Affero General Public License for more details.\n") + sf.write("# \n") + sf.write("# You should have received a copy of the GNU Affero General Public License\n") + sf.write("# along with this program. If not, see .\n") + sf.write("# \n") + sf.write("\n") + sf.write("\n") + sf.write("# *** SITE INSTALLATION ***\n") + sf.write("\n") + sf.write("# Use '/' in path name, not '\'\n") + sf.write("# Don't put '/' at the end of a directory name\n") + sf.write("\n") + sf.write("\n") + sf.write("# Quality option for this site (1 for BEST, 0 for DRAFT)\n") + sf.write("BuildQuality = " + str(BuildQuality) + "\n") + sf.write("\n") + sf.write("ToolDirectories = " + str(ToolDirectories) + "\n") + sf.write("ToolSuffix = \"" + str(ToolSuffix) + "\"\n") + sf.write("\n") + sf.write("# Build script directory\n") + sf.write("ScriptDirectory = \"" + str(ScriptDirectory) + "\"\n") + sf.write("WorkspaceDirectory = \"" + str(WorkspaceDirectory) + "\"\n") + sf.write("\n") + sf.write("# Data build directories\n") + sf.write("DatabaseDirectory = \"" + str(DatabaseDirectory) + "\"\n") + sf.write("ExportBuildDirectory = \"" + str(ExportBuildDirectory) + "\"\n") + sf.write("\n") + sf.write("# Install directories\n") + sf.write("InstallDirectory = \"" + str(InstallDirectory) + "\"\n") + sf.write("DataShardDirectory = \"" + str(DataShardDirectory) + "\"\n") + sf.write("ClientDevDirectory = \"" + str(ClientDevDirectory) + "\"\n") + sf.write("ClientPatchDirectory = \"" + str(ClientPatchDirectory) + "\"\n") + sf.write("ClientInstallDirectory = \"" + str(ClientInstallDirectory) + "\"\n") + sf.write("\n") + sf.write("# TODO: NETWORK RECONNECT NOT IMPLEMENTED :)\n") + sf.write("\n") + sf.write("# Leveldesign directories\n") + sf.write("LeveldesignDirectory = \"" + str(LeveldesignDirectory) + "\"\n") + sf.write("LeveldesignDfnDirectory = \"" + str(LeveldesignDfnDirectory) + "\"\n") + sf.write("LeveldesignWorldDirectory = \"" + str(LeveldesignWorldDirectory) + "\"\n") + sf.write("PrimitivesDirectory = \"" + str(PrimitivesDirectory) + "\"\n") + sf.write("\n") + sf.write("# Misc data directories\n") + sf.write("GamedevDirectory = \"" + str(GamedevDirectory) + "\"\n") + sf.write("DataCommonDirectory = \"" + str(DataCommonDirectory) + "\"\n") + sf.write("WindowsExeDllCfgDirectories = " + str(WindowsExeDllCfgDirectories) + "\n") + sf.write("\n") + sf.write("# 3dsMax directives\n") + sf.write("MaxAvailable = " + str(MaxAvailable) + "\n") + sf.write("MaxDirectory = \"" + str(MaxDirectory) + "\"\n") + sf.write("MaxUserDirectory = \"" + str(MaxUserDirectory) + "\"\n") + sf.write("MaxExecutable = \"" + str(MaxExecutable) + "\"\n") + sf.write("\n") + sf.write("\n") + sf.write("# end of file\n") + sf.close() sys.path.append(WorkspaceDirectory) from projects import * @@ -262,22 +284,83 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each project for projectName in ProjectsToProcess: - os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) - os.chdir("processes") - try: - subprocess.call([ "python", "0_setup.py" ]) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) - os.chdir("..") - try: - projectLog = open("processes/log.log", "r") - projectLogData = projectLog.read() - projectLog.close() - log.write(projectLogData) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) + if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)): + printLog(log, "PROJECT " + projectName) + os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) + os.chdir("processes") + try: + if not args.includeprocess == None: + subprocess.call([ "python", "0_setup.py", "--includeprocess" ] + args.includeprocess) + elif not args.excludeprocess == None: + subprocess.call([ "python", "0_setup.py", "--excludeprocess" ] + args.excludeprocess) + else: + subprocess.call([ "python", "0_setup.py" ]) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + os.chdir("..") + try: + projectLog = open("processes/log.log", "r") + projectLogData = projectLog.read() + projectLog.close() + log.write(projectLogData) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + else: + printLog(log, "IGNORE PROJECT " + projectName) printLog(log, "") +# Additional directories +printLog(log, ">>> Setup additional directories <<<") +mkPath(log, ClientDevDirectory) +mkPath(log, ClientPatchDirectory) +mkPath(log, ClientInstallDirectory) + +if not args.noverify: + printLog(log, "") + printLog(log, "-------") + printLog(log, "--- Verify tool paths") + printLog(log, "-------") + printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) + printLog(log, "") + if MaxAvailable: + findMax(log, MaxDirectory, MaxExecutable) + findTool(log, ToolDirectories, TgaToDdsTool, ToolSuffix) + findTool(log, ToolDirectories, BuildInterfaceTool, ToolSuffix) + findTool(log, ToolDirectories, ExecTimeoutTool, ToolSuffix) + findTool(log, ToolDirectories, BuildSmallbankTool, ToolSuffix) + findTool(log, ToolDirectories, BuildFarbankTool, ToolSuffix) + findTool(log, ToolDirectories, ZoneDependenciesTool, ToolSuffix) + findTool(log, ToolDirectories, ZoneWelderTool, ToolSuffix) + findTool(log, ToolDirectories, BuildRbankTool, ToolSuffix) + findTool(log, ToolDirectories, BuildIndoorRbankTool, ToolSuffix) + findTool(log, ToolDirectories, BuildIgBoxesTool, ToolSuffix) + findTool(log, ToolDirectories, GetNeighborsTool, ToolSuffix) + findTool(log, ToolDirectories, ZoneLighterTool, ToolSuffix) + findTool(log, ToolDirectories, ZoneIgLighterTool, ToolSuffix) + findTool(log, ToolDirectories, IgLighterTool, ToolSuffix) + findTool(log, ToolDirectories, AnimBuilderTool, ToolSuffix) + findTool(log, ToolDirectories, TileEditTool, ToolSuffix) + # findTool(log, ToolDirectories, BuildImagesetTool, ToolSuffix) # kaetemi stuff, ignore this + findTool(log, ToolDirectories, MakeSheetIdTool, ToolSuffix) + # findTool(log, ToolDirectories, BuildSheetsTool, ToolSuffix) # kaetemi stuff, ignore this + # findTool(log, ToolDirectories, BuildSoundTool, ToolSuffix) # kaetemi stuff, ignore this + findTool(log, ToolDirectories, BuildCoarseMeshTool, ToolSuffix) + findTool(log, ToolDirectories, LightmapOptimizerTool, ToolSuffix) + findTool(log, ToolDirectories, BuildClodtexTool, ToolSuffix) + findTool(log, ToolDirectories, BuildShadowSkinTool, ToolSuffix) + findTool(log, ToolDirectories, PanoplyMakerTool, ToolSuffix) + findTool(log, ToolDirectories, HlsBankMakerTool, ToolSuffix) + findTool(log, ToolDirectories, LandExportTool, ToolSuffix) + findTool(log, ToolDirectories, PrimExportTool, ToolSuffix) + findTool(log, ToolDirectories, IgElevationTool, ToolSuffix) + findTool(log, ToolDirectories, IgAddTool, ToolSuffix) + findTool(log, ToolDirectories, BuildClodBankTool, ToolSuffix) + findTool(log, ToolDirectories, SheetsPackerTool, ToolSuffix) + findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix) + findTool(log, ToolDirectories, AiBuildWmapTool, ToolSuffix) + findTool(log, ToolDirectories, TgaCutTool, ToolSuffix) + findTool(log, ToolDirectories, PatchGenTool, ToolSuffix) + log.close() if os.path.isfile("0_setup.log"): os.remove("0_setup.log") diff --git a/code/nel/tools/build_gamedata/1_export.py b/code/nel/tools/build_gamedata/1_export.py index 0fb684592..6abe0a3a5 100644 --- a/code/nel/tools/build_gamedata/1_export.py +++ b/code/nel/tools/build_gamedata/1_export.py @@ -24,9 +24,25 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("configuration") +parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Export') +# parser.add_argument('--haltonerror', '-eh', action='store_true') +parser.add_argument('--includeproject', '-ipj', nargs='+') +parser.add_argument('--excludeproject', '-epj', nargs='+') +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + +if not args.includeproject == None and not args.excludeproject == None: + print "ERROR --includeproject cannot be combined with --excludeproject, exit." + exit() + +if not args.includeprocess == None and not args.excludeprocess == None: + print "ERROR --includeprocess cannot be combined with --excludeprocess, exit." + exit() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -46,20 +62,29 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each project for projectName in ProjectsToProcess: - os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) - os.chdir("processes") - try: - subprocess.call([ "python", "1_export.py" ]) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) - os.chdir("..") - try: - projectLog = open("processes/log.log", "r") - projectLogData = projectLog.read() - projectLog.close() - log.write(projectLogData) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) + if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)): + printLog(log, "PROJECT " + projectName) + os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) + os.chdir("processes") + try: + if not args.includeprocess == None: + subprocess.call([ "python", "1_export.py", "--includeprocess" ] + args.includeprocess) + elif not args.excludeprocess == None: + subprocess.call([ "python", "1_export.py", "--excludeprocess" ] + args.excludeprocess) + else: + subprocess.call([ "python", "1_export.py" ]) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + os.chdir("..") + try: + projectLog = open("processes/log.log", "r") + projectLogData = projectLog.read() + projectLog.close() + log.write(projectLogData) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + else: + printLog(log, "IGNORE PROJECT " + projectName) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/2_build.py b/code/nel/tools/build_gamedata/2_build.py index a6229c29c..36a171161 100644 --- a/code/nel/tools/build_gamedata/2_build.py +++ b/code/nel/tools/build_gamedata/2_build.py @@ -24,9 +24,25 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("configuration") +parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Build') +# parser.add_argument('--haltonerror', '-eh', action='store_true') +parser.add_argument('--includeproject', '-ipj', nargs='+') +parser.add_argument('--excludeproject', '-epj', nargs='+') +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + +if not args.includeproject == None and not args.excludeproject == None: + print "ERROR --includeproject cannot be combined with --excludeproject, exit." + exit() + +if not args.includeprocess == None and not args.excludeprocess == None: + print "ERROR --includeprocess cannot be combined with --excludeprocess, exit." + exit() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -46,20 +62,29 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each project for projectName in ProjectsToProcess: - os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) - os.chdir("processes") - try: - subprocess.call([ "python", "2_build.py" ]) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) - os.chdir("..") - try: - projectLog = open("processes/log.log", "r") - projectLogData = projectLog.read() - projectLog.close() - log.write(projectLogData) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) + if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)): + printLog(log, "PROJECT " + projectName) + os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) + os.chdir("processes") + try: + if not args.includeprocess == None: + subprocess.call([ "python", "2_build.py", "--includeprocess" ] + args.includeprocess) + elif not args.excludeprocess == None: + subprocess.call([ "python", "2_build.py", "--excludeprocess" ] + args.excludeprocess) + else: + subprocess.call([ "python", "2_build.py" ]) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + os.chdir("..") + try: + projectLog = open("processes/log.log", "r") + projectLogData = projectLog.read() + projectLog.close() + log.write(projectLogData) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + else: + printLog(log, "IGNORE PROJECT " + projectName) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/3_install.py b/code/nel/tools/build_gamedata/3_install.py index 70ece522b..39a19dea3 100644 --- a/code/nel/tools/build_gamedata/3_install.py +++ b/code/nel/tools/build_gamedata/3_install.py @@ -24,9 +24,25 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("configuration") +parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Install') +# parser.add_argument('--haltonerror', '-eh', action='store_true') +parser.add_argument('--includeproject', '-ipj', nargs='+') +parser.add_argument('--excludeproject', '-epj', nargs='+') +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + +if not args.includeproject == None and not args.excludeproject == None: + print "ERROR --includeproject cannot be combined with --excludeproject, exit." + exit() + +if not args.includeprocess == None and not args.excludeprocess == None: + print "ERROR --includeprocess cannot be combined with --excludeprocess, exit." + exit() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -46,20 +62,29 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each project for projectName in ProjectsToProcess: - os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) - os.chdir("processes") - try: - subprocess.call([ "python", "3_install.py" ]) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) - os.chdir("..") - try: - projectLog = open("processes/log.log", "r") - projectLogData = projectLog.read() - projectLog.close() - log.write(projectLogData) - except Exception, e: - printLog(log, "<" + projectName + "> " + str(e)) + if ((args.includeproject == None or projectName in args.includeproject) and (args.excludeproject == None or not projectName in args.excludeproject)): + printLog(log, "PROJECT " + projectName) + os.putenv("NELBUILDACTIVEPROJECT", os.path.abspath(WorkspaceDirectory + "/" + projectName)) + os.chdir("processes") + try: + if not args.includeprocess == None: + subprocess.call([ "python", "3_install.py", "--includeprocess" ] + args.includeprocess) + elif not args.excludeprocess == None: + subprocess.call([ "python", "3_install.py", "--excludeprocess" ] + args.excludeprocess) + else: + subprocess.call([ "python", "3_install.py" ]) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + os.chdir("..") + try: + projectLog = open("processes/log.log", "r") + projectLogData = projectLog.read() + projectLog.close() + log.write(projectLogData) + except Exception, e: + printLog(log, "<" + projectName + "> " + str(e)) + else: + printLog(log, "IGNORE PROJECT " + projectName) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/6_client_patch.py b/code/nel/tools/build_gamedata/6_client_patch.py index 7689cc404..c41312df3 100644 --- a/code/nel/tools/build_gamedata/6_client_patch.py +++ b/code/nel/tools/build_gamedata/6_client_patch.py @@ -24,9 +24,13 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("configuration") +parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Client Patch') +parser.add_argument('--bnponly', '-bo', action='store_true') +args = parser.parse_args() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -59,56 +63,57 @@ printLog(log, "") if BnpMake == "": toolLogFail(log, BnpMakeTool, ToolSuffix) -elif PatchGen == "": +elif PatchGen == "" and not args.bnponly: toolLogFail(log, PatchGenTool, ToolSuffix) -elif Lzma == "": +elif Lzma == "" and not args.bnponly: toolLogFail(log, "LZMA", ToolSuffix) -elif XDelta == "": +elif XDelta == "" and not args.bnponly: toolLogFail(log, "XDELTA", ToolSuffix) elif os.path.dirname(Lzma) != os.path.dirname(XDelta): printLog(log, "FAIL lzma.exe and xdelta.exe must be in the same directory") else: mkPath(log, ClientPatchDirectory) - productXml = ClientPatchDirectory + "/" + ProductName + ".xml" - if not os.path.isfile(productXml): - printLog(log, ">>> Create new product <<<") - subprocess.call([ PatchGen, "createNewProduct", productXml ]) - printLog(log, "") - printLog(log, ">>> Rewrite " + ProductName + ".xml <<<") # because we know better. - shutil.move(productXml, productXml + ".old") - oldCfg = open(productXml + ".old", "r") - cfg = open(productXml, "w") - inCategories = 0 - for line in oldCfg: - if not inCategories: - if line.strip() == "<_Categories>": - inCategories = 1 - cfg.write("\t<_Categories>\n") - for category in InstallClientData: - cfg.write("\t\t<_Category>\n") - cfg.write("\t\t\t<_Name type=\"STRING\" value=\"" + category["Name"] + "\"/>\n") - if category["UnpackTo"] != None: - if category["UnpackTo"] != "": - cfg.write("\t\t\t<_UnpackTo type=\"STRING\" value=\"./" + category["UnpackTo"] + "/\"/>\n") - else: - cfg.write("\t\t\t<_UnpackTo type=\"SINT32\" value=\"./\"/>\n") - cfg.write("\t\t\t<_IsOptional type=\"SINT32\" value=\"" + str(category["IsOptional"]) + "\"/>\n") - cfg.write("\t\t\t<_IsIncremental type=\"SINT32\" value=\"" + str(category["IsIncremental"]) + "\"/>\n") - for package in category["Packages"]: - if (len(package[1]) > 0): - cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[1][0] + "\"/>\n") - else: - cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[0] + ".bnp\"/>\n") - cfg.write("\t\t\n") - cfg.write("\t\n") + if not args.bnponly: + productXml = ClientPatchDirectory + "/" + ProductName + ".xml" + if not os.path.isfile(productXml): + printLog(log, ">>> Create new product <<<") + subprocess.call([ PatchGen, "createNewProduct", productXml ]) + printLog(log, "") + printLog(log, ">>> Rewrite " + ProductName + ".xml <<<") # because we know better. + shutil.move(productXml, productXml + ".old") + oldCfg = open(productXml + ".old", "r") + cfg = open(productXml, "w") + inCategories = 0 + for line in oldCfg: + if not inCategories: + if line.strip() == "<_Categories>": + inCategories = 1 + cfg.write("\t<_Categories>\n") + for category in InstallClientData: + cfg.write("\t\t<_Category>\n") + cfg.write("\t\t\t<_Name type=\"STRING\" value=\"" + category["Name"] + "\"/>\n") + if category["UnpackTo"] != None: + if category["UnpackTo"] != "": + cfg.write("\t\t\t<_UnpackTo type=\"STRING\" value=\"./" + category["UnpackTo"] + "/\"/>\n") + else: + cfg.write("\t\t\t<_UnpackTo type=\"SINT32\" value=\"./\"/>\n") + cfg.write("\t\t\t<_IsOptional type=\"SINT32\" value=\"" + str(category["IsOptional"]) + "\"/>\n") + cfg.write("\t\t\t<_IsIncremental type=\"SINT32\" value=\"" + str(category["IsIncremental"]) + "\"/>\n") + for package in category["Packages"]: + if (len(package[1]) > 0): + cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[1][0] + "\"/>\n") + else: + cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[0] + ".bnp\"/>\n") + cfg.write("\t\t\n") + cfg.write("\t\n") + else: + cfg.write(line) else: - cfg.write(line) - else: - if line.strip() == "": - inCategories = 0 - oldCfg.close() - cfg.close() - os.remove(productXml + ".old") + if line.strip() == "": + inCategories = 0 + oldCfg.close() + cfg.close() + os.remove(productXml + ".old") printLog(log, "") printLog(log, ">>> Make bnp <<<") targetPath = ClientPatchDirectory + "/bnp" @@ -133,13 +138,14 @@ else: else: printLog(log, "SKIP " + targetBnp) printLog(log, "") - printLog(log, ">>> Update product <<<") - cwDir = os.getcwd().replace("\\", "/") - toolDir = os.path.dirname(Lzma).replace("\\", "/") - os.chdir(toolDir) - subprocess.call([ PatchGen, "updateProduct", productXml ]) - os.chdir(cwDir) - printLog(log, "") + if not args.bnponly: + printLog(log, ">>> Update product <<<") + cwDir = os.getcwd().replace("\\", "/") + toolDir = os.path.dirname(Lzma).replace("\\", "/") + os.chdir(toolDir) + subprocess.call([ PatchGen, "updateProduct", productXml ]) + os.chdir(cwDir) + printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/7_client_install.py b/code/nel/tools/build_gamedata/7_client_install.py index b5a5bab1f..c4c1ab03c 100644 --- a/code/nel/tools/build_gamedata/7_client_install.py +++ b/code/nel/tools/build_gamedata/7_client_install.py @@ -45,45 +45,30 @@ printLog(log, "-------") printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") -# Find tools -BnpMake = findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix) -printLog(log, "") - -if BnpMake == "": - toolLogFail(log, BnpMakeTool, ToolSuffix) -else: - for category in InstallClientData: - printLog(log, "CATEGORY " + category["Name"]) - if (category["UnpackTo"] != None): - targetPath = ClientInstallDirectory - if (category["UnpackTo"] != ""): - targetPath += "/" + category["UnpackTo"] - mkPath(log, targetPath) - for package in category["Packages"]: - printLog(log, "PACKAGE " + package[0]) - mkPath(log, InstallDirectory + "/" + package[0]) - copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath) - else: - targetPath = ClientInstallDirectory + "/data" - mkPath(log, targetPath) - for package in category["Packages"]: - printLog(log, "PACKAGE " + package[0]) - sourcePath = InstallDirectory + "/" + package[0] - mkPath(log, sourcePath) - targetBnp = targetPath + "/" + package[0] + ".bnp" - if (len(package[1]) > 0): - targetBnp = targetPath + "/" + package[1][0] - printLog(log, "TARGET " + package[1][0]) - needUpdateBnp = 1 - if (len(package) > 2): - needUpdateBnp = needUpdate(log, sourcePath + "/" + package[2], targetBnp) - else: - needUpdateBnp = needUpdateDirNoSubdirFile(log, sourcePath, targetBnp) - if (needUpdateBnp): - printLog(log, "BNP " + targetBnp) - subprocess.call([ BnpMake, "/p", sourcePath, targetPath ] + package[1]) - else: - printLog(log, "SKIP " + targetBnp) +for category in InstallClientData: + printLog(log, "CATEGORY " + category["Name"]) + if (category["UnpackTo"] != None): + targetPath = ClientInstallDirectory + if (category["UnpackTo"] != ""): + targetPath += "/" + category["UnpackTo"] + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + mkPath(log, InstallDirectory + "/" + package[0]) + copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath) + else: + sourcePath = ClientPatchDirectory + "/bnp" + targetPath = ClientInstallDirectory + "/data" + mkPath(log, targetPath) + for package in category["Packages"]: + printLog(log, "PACKAGE " + package[0]) + sourceBnp = sourcePath + "/" + package[0] + ".bnp" + targetBnp = targetPath + "/" + package[0] + ".bnp" + if (len(package[1]) > 0): + sourceBnp = sourcePath + "/" + package[1][0] + targetBnp = targetPath + "/" + package[1][0] + printLog(log, "TARGET " + package[1][0]) + copyFileIfNeeded(log, sourceBnp, targetBnp) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/configuration/tools.py b/code/nel/tools/build_gamedata/configuration/tools.py index e533270c1..5eff45977 100644 --- a/code/nel/tools/build_gamedata/configuration/tools.py +++ b/code/nel/tools/build_gamedata/configuration/tools.py @@ -69,10 +69,10 @@ ZoneIgLighterTool = "zone_ig_lighter" IgLighterTool = "ig_lighter" AnimBuilderTool = "anim_builder" TileEditTool = "tile_edit" -BuildImagesetTool = "th_build_imageset" +# BuildImagesetTool = "th_build_imageset" # kaetemi stuff, ignore this MakeSheetIdTool = "make_sheet_id" -BuildSheetsTool = "th_build_sheets" -BuildSoundTool = "th_build_sound" +# BuildSheetsTool = "th_build_sheets" # kaetemi stuff, ignore this +# BuildSoundTool = "th_build_sound" # kaetemi stuff, ignore this BuildCoarseMeshTool = "build_coarse_mesh" LightmapOptimizerTool = "lightmap_optimizer" BuildClodtexTool = "build_clodtex" diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/shape.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/shape.ms index 0f8af5276..c1f4761ff 100644 --- a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/shape.ms +++ b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/shape.ms @@ -187,7 +187,7 @@ fn haveCoarseMesh node = return false ) -fn runNelMaxExport inputMaxFile = +fn runNelMaxExportSub inputMaxFile retryCount = ( tagThisFile = false @@ -354,8 +354,39 @@ fn runNelMaxExport inputMaxFile = ( -- Error nlerror("WARNING no shape exported from the file " + inputMaxFile) + if tagThisFile then + ( + if retryCount < 2 then + ( + nlerror("INFO retry this file") + + -- Free memory and file handles + gc() + heapfree + + -- Reset 3dsmax + resetMAXFile #noprompt + + if (loadMaxFile inputMaxFile quiet:true) == true then + ( + tagThisFile = runNelMaxExportSub inputMaxFile (retryCount + 1) + ) + else + ( + -- Error + nlerror("ERROR exporting '%PreGenFileExtension%': can't open the file " + inputMaxFile) + nlerror("FAIL Mysterious error occured") + NelForceQuitRightNow() + ) + ) + ) ) return tagThisFile ) +fn runNelMaxExport inputMaxFile = +( + return runNelMaxExportSub inputMaxFile 0 +) + diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_footer.ms b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_footer.ms index 5facf07e7..2db696b7f 100644 --- a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_footer.ms +++ b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_footer.ms @@ -90,7 +90,9 @@ try catch ( -- Error - nlerror("ERROR fatal error exporting '%PreGenFileExtension%' in folder %MaxSourceDirectory%") + nlerror("ERROR Fatal error exporting '%PreGenFileExtension%' in folder %MaxSourceDirectory%") + nlerror("FAIL Fatal error occured") + NelForceQuitRightNow() removeRunningTag = false ) diff --git a/code/nel/tools/build_gamedata/processes/0_setup.py b/code/nel/tools/build_gamedata/processes/0_setup.py index cb6de2abb..213158c92 100644 --- a/code/nel/tools/build_gamedata/processes/0_setup.py +++ b/code/nel/tools/build_gamedata/processes/0_setup.py @@ -24,8 +24,14 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("../configuration") + +parser = argparse.ArgumentParser() +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -60,20 +66,24 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each process for processName in ProcessToComplete: - os.chdir(processName) - try: - subprocess.call([ "python", "0_setup.py" ]) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - os.chdir("..") - try: - processLog = open(processName + "/log.log", "r") - processLogData = processLog.read() - processLog.close() - log.write(processLogData) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - # subprocess.call("idle.bat") + if ((args.includeprocess == None or processName in args.includeprocess) and (args.excludeprocess == None or not processName in args.excludeprocess)): + printLog(log, "PROCESS " + processName) + os.chdir(processName) + try: + subprocess.call([ "python", "0_setup.py" ]) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + os.chdir("..") + try: + processLog = open(processName + "/log.log", "r") + processLogData = processLog.read() + processLog.close() + log.write(processLogData) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + # subprocess.call("idle.bat") + else: + printLog(log, "IGNORE PROCESS " + processName) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/1_export.py b/code/nel/tools/build_gamedata/processes/1_export.py index fdd497720..766639f17 100644 --- a/code/nel/tools/build_gamedata/processes/1_export.py +++ b/code/nel/tools/build_gamedata/processes/1_export.py @@ -24,9 +24,14 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("../configuration") +parser = argparse.ArgumentParser() +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -45,20 +50,24 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each process for processName in ProcessToComplete: - os.chdir(processName) - try: - subprocess.call([ "python", "1_export.py" ]) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - os.chdir("..") - try: - processLog = open(processName + "/log.log", "r") - processLogData = processLog.read() - processLog.close() - log.write(processLogData) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - # subprocess.call("idle.bat") + if ((args.includeprocess == None or processName in args.includeprocess) and (args.excludeprocess == None or not processName in args.excludeprocess)): + printLog(log, "PROCESS " + processName) + os.chdir(processName) + try: + subprocess.call([ "python", "1_export.py" ]) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + os.chdir("..") + try: + processLog = open(processName + "/log.log", "r") + processLogData = processLog.read() + processLog.close() + log.write(processLogData) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + # subprocess.call("idle.bat") + else: + printLog(log, "IGNORE PROCESS " + processName) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/2_build.py b/code/nel/tools/build_gamedata/processes/2_build.py index 28ee3147c..4ad70b2f4 100644 --- a/code/nel/tools/build_gamedata/processes/2_build.py +++ b/code/nel/tools/build_gamedata/processes/2_build.py @@ -24,9 +24,14 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("../configuration") +parser = argparse.ArgumentParser() +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -45,20 +50,24 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each process for processName in ProcessToComplete: - os.chdir(processName) - try: - subprocess.call([ "python", "2_build.py" ]) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - os.chdir("..") - try: - processLog = open(processName + "/log.log", "r") - processLogData = processLog.read() - processLog.close() - log.write(processLogData) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - # subprocess.call("idle.bat") + if ((args.includeprocess == None or processName in args.includeprocess) and (args.excludeprocess == None or not processName in args.excludeprocess)): + printLog(log, "PROCESS " + processName) + os.chdir(processName) + try: + subprocess.call([ "python", "2_build.py" ]) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + os.chdir("..") + try: + processLog = open(processName + "/log.log", "r") + processLogData = processLog.read() + processLog.close() + log.write(processLogData) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + # subprocess.call("idle.bat") + else: + printLog(log, "IGNORE PROCESS " + processName) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/3_install.py b/code/nel/tools/build_gamedata/processes/3_install.py index fe51c0772..89bf53660 100644 --- a/code/nel/tools/build_gamedata/processes/3_install.py +++ b/code/nel/tools/build_gamedata/processes/3_install.py @@ -24,9 +24,14 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util +import time, sys, os, shutil, subprocess, distutils.dir_util, argparse sys.path.append("../configuration") +parser = argparse.ArgumentParser() +parser.add_argument('--includeprocess', '-ipc', nargs='+') +parser.add_argument('--excludeprocess', '-epc', nargs='+') +args = parser.parse_args() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -44,20 +49,24 @@ printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) printLog(log, "") # For each process for processName in ProcessToComplete: - os.chdir(processName) - try: - subprocess.call([ "python", "3_install.py" ]) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - os.chdir("..") - try: - processLog = open(processName + "/log.log", "r") - processLogData = processLog.read() - processLog.close() - log.write(processLogData) - except Exception, e: - printLog(log, "<" + processName + "> " + str(e)) - # subprocess.call("idle.bat") + if ((args.includeprocess == None or processName in args.includeprocess) and (args.excludeprocess == None or not processName in args.excludeprocess)): + printLog(log, "PROCESS " + processName) + os.chdir(processName) + try: + subprocess.call([ "python", "3_install.py" ]) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + os.chdir("..") + try: + processLog = open(processName + "/log.log", "r") + processLogData = processLog.read() + processLog.close() + log.write(processLogData) + except Exception, e: + printLog(log, "<" + processName + "> " + str(e)) + # subprocess.call("idle.bat") + else: + printLog(log, "IGNORE PROCESS " + processName) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/anim/1_export.py b/code/nel/tools/build_gamedata/processes/anim/1_export.py index 3bdd5e028..5d5fe4b84 100644 --- a/code/nel/tools/build_gamedata/processes/anim/1_export.py +++ b/code/nel/tools/build_gamedata/processes/anim/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export anim -# \date 2010-09-26-08-38-GMT +# \date 2011-09-21-20-51-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export anim diff --git a/code/nel/tools/build_gamedata/processes/anim/maxscript/anim_export.ms b/code/nel/tools/build_gamedata/processes/anim/maxscript/anim_export.ms index 86d02fd15..7121e16d5 100644 --- a/code/nel/tools/build_gamedata/processes/anim/maxscript/anim_export.ms +++ b/code/nel/tools/build_gamedata/processes/anim/maxscript/anim_export.ms @@ -224,7 +224,9 @@ try catch ( -- Error - nlerror("ERROR fatal error exporting 'anim' in folder %MaxSourceDirectory%") + nlerror("ERROR Fatal error exporting 'anim' in folder %MaxSourceDirectory%") + nlerror("FAIL Fatal error occured") + NelForceQuitRightNow() removeRunningTag = false ) diff --git a/code/nel/tools/build_gamedata/processes/clodbank/1_export.py b/code/nel/tools/build_gamedata/processes/clodbank/1_export.py index a9f6cf7c1..183307e30 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/1_export.py +++ b/code/nel/tools/build_gamedata/processes/clodbank/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export clodbank -# \date 2010-09-26-08-38-GMT +# \date 2011-09-21-20-51-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export clodbank diff --git a/code/nel/tools/build_gamedata/processes/clodbank/maxscript/clod_export.ms b/code/nel/tools/build_gamedata/processes/clodbank/maxscript/clod_export.ms index 1ab3ce7e2..f01a973e4 100644 --- a/code/nel/tools/build_gamedata/processes/clodbank/maxscript/clod_export.ms +++ b/code/nel/tools/build_gamedata/processes/clodbank/maxscript/clod_export.ms @@ -279,7 +279,9 @@ try catch ( -- Error - nlerror("ERROR fatal error exporting 'clod' in folder %MaxSourceDirectory%") + nlerror("ERROR Fatal error exporting 'clod' in folder %MaxSourceDirectory%") + nlerror("FAIL Fatal error occured") + NelForceQuitRightNow() removeRunningTag = false ) diff --git a/code/nel/tools/build_gamedata/processes/ig/maxscript/ig_export.ms b/code/nel/tools/build_gamedata/processes/ig/maxscript/ig_export.ms index 5618a68d9..526d06dc8 100644 --- a/code/nel/tools/build_gamedata/processes/ig/maxscript/ig_export.ms +++ b/code/nel/tools/build_gamedata/processes/ig/maxscript/ig_export.ms @@ -328,7 +328,9 @@ try catch ( -- Error - nlerror("ERROR fatal error exporting 'ig' in folder %MaxSourceDirectory%") + nlerror("ERROR Fatal error exporting 'ig' in folder %MaxSourceDirectory%") + nlerror("FAIL Fatal error occured") + NelForceQuitRightNow() removeRunningTag = false ) diff --git a/code/nel/tools/build_gamedata/processes/rbank/1_export.py b/code/nel/tools/build_gamedata/processes/rbank/1_export.py index de32ae841..20c7aa54d 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/1_export.py +++ b/code/nel/tools/build_gamedata/processes/rbank/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export rbank -# \date 2010-09-26-08-38-GMT +# \date 2011-09-21-20-51-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export rbank diff --git a/code/nel/tools/build_gamedata/processes/rbank/maxscript/cmb_export.ms b/code/nel/tools/build_gamedata/processes/rbank/maxscript/cmb_export.ms index c60a675d0..74cf3a8dd 100644 --- a/code/nel/tools/build_gamedata/processes/rbank/maxscript/cmb_export.ms +++ b/code/nel/tools/build_gamedata/processes/rbank/maxscript/cmb_export.ms @@ -215,7 +215,9 @@ try catch ( -- Error - nlerror("ERROR fatal error exporting 'cmb' in folder %MaxSourceDirectory%") + nlerror("ERROR Fatal error exporting 'cmb' in folder %MaxSourceDirectory%") + nlerror("FAIL Fatal error occured") + NelForceQuitRightNow() removeRunningTag = false ) diff --git a/code/nel/tools/build_gamedata/processes/shape/maxscript/shape_export.ms b/code/nel/tools/build_gamedata/processes/shape/maxscript/shape_export.ms index 06a02bcbb..e979f6b0d 100644 --- a/code/nel/tools/build_gamedata/processes/shape/maxscript/shape_export.ms +++ b/code/nel/tools/build_gamedata/processes/shape/maxscript/shape_export.ms @@ -253,7 +253,7 @@ fn haveCoarseMesh node = return false ) -fn runNelMaxExport inputMaxFile = +fn runNelMaxExportSub inputMaxFile retryCount = ( tagThisFile = false @@ -420,11 +420,42 @@ fn runNelMaxExport inputMaxFile = ( -- Error nlerror("WARNING no shape exported from the file " + inputMaxFile) + if tagThisFile then + ( + if retryCount < 2 then + ( + nlerror("INFO retry this file") + + -- Free memory and file handles + gc() + heapfree + + -- Reset 3dsmax + resetMAXFile #noprompt + + if (loadMaxFile inputMaxFile quiet:true) == true then + ( + tagThisFile = runNelMaxExportSub inputMaxFile (retryCount + 1) + ) + else + ( + -- Error + nlerror("ERROR exporting 'shape': can't open the file " + inputMaxFile) + nlerror("FAIL Mysterious error occured") + NelForceQuitRightNow() + ) + ) + ) ) return tagThisFile ) +fn runNelMaxExport inputMaxFile = +( + return runNelMaxExportSub inputMaxFile 0 +) + removeRunningTag = true @@ -517,7 +548,9 @@ try catch ( -- Error - nlerror("ERROR fatal error exporting 'shape' in folder %MaxSourceDirectory%") + nlerror("ERROR Fatal error exporting 'shape' in folder %MaxSourceDirectory%") + nlerror("FAIL Fatal error occured") + NelForceQuitRightNow() removeRunningTag = false ) diff --git a/code/nel/tools/build_gamedata/processes/sheets/3_install.py b/code/nel/tools/build_gamedata/processes/sheets/3_install.py index 98b5cb825..f4093b12e 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/3_install.py +++ b/code/nel/tools/build_gamedata/processes/sheets/3_install.py @@ -49,6 +49,7 @@ mkPath(log, installPath) printLog(log, ">>> Install sheets <<<") mkPath(log, ExportBuildDirectory + "/" + SheetsBuildDirectory) copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetsBuildDirectory, installPath, ".packed_sheets") +copyFilesExtNoTreeIfNeeded(log, ExportBuildDirectory + "/" + SheetsBuildDirectory, installPath, ".packed") printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/veget/1_export.py b/code/nel/tools/build_gamedata/processes/veget/1_export.py index 61e33ea74..e6d2c53cc 100644 --- a/code/nel/tools/build_gamedata/processes/veget/1_export.py +++ b/code/nel/tools/build_gamedata/processes/veget/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export veget -# \date 2010-09-26-08-38-GMT +# \date 2011-09-21-20-51-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export veget diff --git a/code/nel/tools/build_gamedata/processes/veget/maxscript/veget_export.ms b/code/nel/tools/build_gamedata/processes/veget/maxscript/veget_export.ms index 4390e5cca..828a78d42 100644 --- a/code/nel/tools/build_gamedata/processes/veget/maxscript/veget_export.ms +++ b/code/nel/tools/build_gamedata/processes/veget/maxscript/veget_export.ms @@ -269,7 +269,9 @@ try catch ( -- Error - nlerror("ERROR fatal error exporting 'veget' in folder %MaxSourceDirectory%") + nlerror("ERROR Fatal error exporting 'veget' in folder %MaxSourceDirectory%") + nlerror("FAIL Fatal error occured") + NelForceQuitRightNow() removeRunningTag = false ) diff --git a/code/ryzom/client/src/interface_v3/ctrl_base.h b/code/ryzom/client/src/interface_v3/ctrl_base.h index 0033dce6b..bf0f5f10c 100644 --- a/code/ryzom/client/src/interface_v3/ctrl_base.h +++ b/code/ryzom/client/src/interface_v3/ctrl_base.h @@ -68,6 +68,8 @@ public: /// Get the ContextHelp for this control. Default is to return _ContextHelp virtual void getContextHelp(ucstring &help) const {help= _ContextHelp;} + /// Get the ContextHelp for this control, with tooltip specific code. Default behaviour is identical to getContextHelp. + virtual void getContextHelpToolTip(ucstring &help) const { getContextHelp(help); } // Get the name of the context help window. Default to "context_help" virtual std::string getContextHelpWindowName() const; /// Get the ContextHelp ActionHandler. If "", noop diff --git a/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp index 42f438202..ce551a0b7 100644 --- a/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp +++ b/code/ryzom/client/src/interface_v3/dbctrl_sheet.cpp @@ -2975,32 +2975,9 @@ void CDBCtrlSheet::getContextHelp(ucstring &help) const } else if(getType() == CCtrlSheetInfo::SheetType_Item) { - const CItemSheet *item= asItemSheet(); - if(item) - { - if (item->Family == ITEMFAMILY::CRYSTALLIZED_SPELL || item->Family == ITEMFAMILY::JEWELRY || item->Family == ITEMFAMILY::ARMOR) - { - string luaMethodName = ( (item->Family == ITEMFAMILY::CRYSTALLIZED_SPELL) ? "updateCrystallizedSpellTooltip" : "updateBuffItemTooltip"); - CDBCtrlSheet *ctrlSheet = const_cast(this); - if ( ! getInventory().isItemInfoUpToDate(getInventory().getItemSlotId(ctrlSheet))) - { - // Prepare the waiter - ControlSheetTooltipUpdater.ItemSheet= ctrlSheet->getSheetId(); - ControlSheetTooltipUpdater.LuaMethodName = luaMethodName; - ControlSheetTooltipUpdater.ItemSlotId= getInventory().getItemSlotId(ctrlSheet); - ControlSheetTooltipUpdater.CtrlSheet = ctrlSheet; - - // Add the waiter - getInventory().addItemInfoWaiter(&ControlSheetTooltipUpdater); - } - - help = ControlSheetTooltipUpdater.infoValidated(ctrlSheet, luaMethodName); - - } - else - help= getItemActualName(); - - } + const CItemSheet *item = asItemSheet(); + if (item) + help = getItemActualName(); else help= _ContextHelp; } @@ -3106,6 +3083,42 @@ void CDBCtrlSheet::getContextHelp(ucstring &help) const } } +// *************************************************************************** +void CDBCtrlSheet::getContextHelpToolTip(ucstring &help) const +{ + // Special case for buff items and spell crystals, only for tooltips + if (getType() == CCtrlSheetInfo::SheetType_Item) + { + const CItemSheet *item = asItemSheet(); + if (item) + { + if (item->Family == ITEMFAMILY::CRYSTALLIZED_SPELL + || item->Family == ITEMFAMILY::JEWELRY || item->Family == ITEMFAMILY::ARMOR) + { + string luaMethodName = (item->Family == ITEMFAMILY::CRYSTALLIZED_SPELL) ? "updateCrystallizedSpellTooltip" : "updateBuffItemTooltip"; + CDBCtrlSheet *ctrlSheet = const_cast(this); + if ( ! getInventory().isItemInfoUpToDate(getInventory().getItemSlotId(ctrlSheet))) + { + // Prepare the waiter + ControlSheetTooltipUpdater.ItemSheet= ctrlSheet->getSheetId(); + ControlSheetTooltipUpdater.LuaMethodName = luaMethodName; + ControlSheetTooltipUpdater.ItemSlotId= getInventory().getItemSlotId(ctrlSheet); + ControlSheetTooltipUpdater.CtrlSheet = ctrlSheet; + + // Add the waiter + getInventory().addItemInfoWaiter(&ControlSheetTooltipUpdater); + } + + help = ControlSheetTooltipUpdater.infoValidated(ctrlSheet, luaMethodName); + return; + } + } + } + + // Default + getContextHelp(help); +} + // *************************************************************************** bool CDBCtrlSheet::canDropItem(CDBCtrlSheet *src) const { diff --git a/code/ryzom/client/src/interface_v3/dbctrl_sheet.h b/code/ryzom/client/src/interface_v3/dbctrl_sheet.h index 5f4425419..2cf34e722 100644 --- a/code/ryzom/client/src/interface_v3/dbctrl_sheet.h +++ b/code/ryzom/client/src/interface_v3/dbctrl_sheet.h @@ -355,6 +355,9 @@ public: /// Special ContextHelp for ctrl sheet. virtual void getContextHelp(ucstring &help) const; + /// Special ContextHelp for ctrl sheet. + virtual void getContextHelpToolTip(ucstring &help) const; + /** true if an item of another ctrlSheet can be dropped on this slot. * also return true if src is 0, or if _ItemSlot==UNDEFINED */ diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index 9762193d9..180a25763 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -2372,7 +2372,7 @@ void CInterfaceManager::drawContextHelp () if(newCtrl) { // get the text - newCtrl->getContextHelp(_ContextHelpText); + newCtrl->getContextHelpToolTip(_ContextHelpText); // UserDefined context help if( !newCtrl->getContextHelpActionHandler().empty() ) { diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Building/guard_tower.building b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Building/guard_tower.building new file mode 100644 index 000000000..5e7652f13 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Building/guard_tower.building @@ -0,0 +1,12 @@ + +
+ + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Pacts/pacts.death_impact b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Pacts/pacts.death_impact new file mode 100644 index 000000000..f1639ce18 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Pacts/pacts.death_impact @@ -0,0 +1,9 @@ + +
+ + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/forest/FO_type_01_b.flora b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/forest/FO_type_01_b.flora new file mode 100644 index 000000000..ef3785f84 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/forest/FO_type_01_b.flora @@ -0,0 +1,136 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[0] = verdant_heights-forest-001 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[1] = verdant_heights-forest-002 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[2] = verdant_heights-forest-003 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[3] = verdant_heights-forest-004 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[4] = verdant_heights-forest-005 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[5] = verdant_heights-forest-006 +Wed Oct 23 14:44:00 2002 (Schnittger) Form Parents = +Wed Oct 23 14:44:00 2002 (Schnittger) formName Resized = 6 +Wed Oct 23 14:44:51 2002 (Schnittger) .Jitter_Pos = 1 +Wed Oct 23 15:41:42 2002 (Schnittger) Form Parents = +Wed Oct 23 17:47:20 2002 (Schnittger) .Include_patats[0] = verdant_heights-bush-001 +Wed Oct 23 17:47:20 2002 (Schnittger) formName Resized = 1 +Wed Oct 23 17:47:40 2002 (Schnittger) Form Parents = +Wed Oct 23 18:02:27 2002 (Schnittger) .Include_patats[0] = verdant_heights-forest_edge-001 +Wed Oct 23 18:10:50 2002 (Schnittger) .Include_patats[0] = verdant_heights-bush-001 +Thu Oct 31 16:59:51 2002 (Schnittger) .Include_patats[0] = flora_test-forest-002 +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[0].File name = Fo_s3_buissonaepine.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[1].Density = Rare +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[1].File name = fo_S3_champignou_A.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[2].Density = Rare +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[2].File name = fo_S3_champignou_B.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[3].Density = Normal +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[3].File name = FO_S3_fougere.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Scale_Max = 1.5 +Thu Oct 31 16:59:51 2002 (Schnittger) .Scale_Min = 0.5 +Thu Oct 31 16:59:51 2002 (Schnittger) Form Parents = +Thu Oct 31 16:59:51 2002 (Schnittger) formName Resized = 4 +Thu Oct 31 17:32:24 2002 (Schnittger) .Plants[1].Density = VeryRare +Thu Oct 31 17:32:24 2002 (Schnittger) .Plants[2].Density = VeryRare +Tue Nov 05 12:03:12 2002 (Schnittger) .Include_patats[0] = flora_test-forest-007 +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[0].File name = Fo_s1_giant_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[10].File name = fo_S3_champignou_A.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[11].File name = fo_S3_champignou_B.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[12].File name = fo_S3_dead_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[13].File name = FO_S3_fougere.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[14].File name = fo_s3_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[15].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[15].File name = FX_Fo-bugsA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[16].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[16].File name = FX_Fo-bugsB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[17].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[17].File name = FX_Fo-bugsC.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[18].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[18].File name = FX_Fo-Ju-ColibrisB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[19].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[19].File name = FX_Fo-SolBirthA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[1].File name = Fo_S1_giant_trunk.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[20].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[20].File name = FX_Fo-treefallA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[21].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[21].File name = FX_Fo-treefallB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[22].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[22].File name = FX_Fo-treefallC.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[23].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[23].File name = FX_Fo-treefallD.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[24].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[24].File name = FX_Fo-treefallE.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[2].File name = fo_s2_arbragrelot.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[3].File name = Fo_s2_big_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[4].File name = FO_S2_bigroot_A.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[5].File name = FO_S2_bigroot_B.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[6].File name = FO_S2_bigroot_C.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[7].File name = FO_S2_birch.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[8].File name = FO_S2_spiketree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[9].File name = Fo_s3_buissonaepine.plant +Tue Nov 05 12:03:12 2002 (Schnittger) formName Resized = 25 +Tue Nov 05 12:13:16 2002 (Schnittger) .Include_patats[0] = flora_test-forest-002 +Tue Nov 05 12:13:16 2002 (Schnittger) formName Deleted = +Tue Nov 05 12:29:21 2002 (Schnittger) .Plants[2].Density = VeryRare +Tue Nov 05 12:29:21 2002 (Schnittger) .Plants[3].Density = VeryRare +Tue Nov 05 13:10:58 2002 (Schnittger) formName Deleted = +Tue Nov 05 13:27:23 2002 (Schnittger) .Plants[0].Density = VeryRare +Tue Nov 05 13:27:23 2002 (Schnittger) .Plants[8].File name = fo_s2_arbragrelot.plant +Tue Nov 05 13:27:23 2002 (Schnittger) formName Resized = 9 +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[10].Density = Rare +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[10].File name = FO_S2_bigroot_B.plant +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[11].Density = Rare +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[11].File name = FO_S2_bigroot_C.plant +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[9].Density = Rare +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[9].File name = FO_S2_bigroot_A.plant +Tue Nov 05 13:39:03 2002 (Schnittger) formName Resized = 12 +Tue Nov 05 13:39:33 2002 (Schnittger) formName Deleted = +Tue Nov 05 13:52:17 2002 (Schnittger) .Plants[1].Density = 0.005 +Tue Nov 05 13:52:17 2002 (Schnittger) .Plants[2].Density = 0.005 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/forest/FO_type_04_b.flora b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/forest/FO_type_04_b.flora new file mode 100644 index 000000000..4cebcca24 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/forest/FO_type_04_b.flora @@ -0,0 +1,147 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[0] = verdant_heights-forest-001 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[1] = verdant_heights-forest-002 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[2] = verdant_heights-forest-003 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[3] = verdant_heights-forest-004 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[4] = verdant_heights-forest-005 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[5] = verdant_heights-forest-006 +Wed Oct 23 14:44:00 2002 (Schnittger) Form Parents = +Wed Oct 23 14:44:00 2002 (Schnittger) formName Resized = 6 +Wed Oct 23 14:44:51 2002 (Schnittger) .Jitter_Pos = 1 +Wed Oct 23 15:41:42 2002 (Schnittger) Form Parents = +Wed Oct 23 17:47:20 2002 (Schnittger) .Include_patats[0] = verdant_heights-bush-001 +Wed Oct 23 17:47:20 2002 (Schnittger) formName Resized = 1 +Wed Oct 23 17:47:40 2002 (Schnittger) Form Parents = +Wed Oct 23 18:02:27 2002 (Schnittger) .Include_patats[0] = verdant_heights-forest_edge-001 +Wed Oct 23 18:10:50 2002 (Schnittger) .Include_patats[0] = verdant_heights-bush-001 +Thu Oct 31 16:59:51 2002 (Schnittger) .Include_patats[0] = flora_test-zone-002 +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[0].File name = Fo_s3_buissonaepine.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[1].Density = Rare +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[1].File name = fo_S3_champignou_A.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[2].Density = Rare +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[2].File name = fo_S3_champignou_B.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[3].Density = Normal +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[3].File name = FO_S3_fougere.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Scale_Max = 1.5 +Thu Oct 31 16:59:51 2002 (Schnittger) .Scale_Min = 0.5 +Thu Oct 31 16:59:51 2002 (Schnittger) Form Parents = +Thu Oct 31 16:59:51 2002 (Schnittger) formName Resized = 4 +Thu Oct 31 17:32:24 2002 (Schnittger) .Plants[1].Density = VeryRare +Thu Oct 31 17:32:24 2002 (Schnittger) .Plants[2].Density = VeryRare +Tue Nov 05 12:03:12 2002 (Schnittger) .Include_patats[0] = flora_test-zone-007 +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[0].File name = Fo_s1_giant_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[10].File name = fo_S3_champignou_A.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[11].File name = fo_S3_champignou_B.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[12].File name = fo_S3_dead_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[13].File name = FO_S3_fougere.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[14].File name = fo_s3_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[15].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[15].File name = FX_Fo-bugsA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[16].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[16].File name = FX_Fo-bugsB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[17].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[17].File name = FX_Fo-bugsC.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[18].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[18].File name = FX_Fo-Ju-ColibrisB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[19].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[19].File name = FX_Fo-SolBirthA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[1].File name = Fo_S1_giant_trunk.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[20].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[20].File name = FX_Fo-treefallA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[21].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[21].File name = FX_Fo-treefallB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[22].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[22].File name = FX_Fo-treefallC.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[23].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[23].File name = FX_Fo-treefallD.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[24].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[24].File name = FX_Fo-treefallE.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[2].File name = fo_s2_arbragrelot.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[3].File name = Fo_s2_big_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[4].File name = FO_S2_bigroot_A.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[5].File name = FO_S2_bigroot_B.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[6].File name = FO_S2_bigroot_C.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[7].File name = FO_S2_birch.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[8].File name = FO_S2_spiketree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[9].File name = Fo_s3_buissonaepine.plant +Tue Nov 05 12:03:12 2002 (Schnittger) formName Resized = 25 +Tue Nov 05 12:13:16 2002 (Schnittger) .Include_patats[0] = flora_test-zone-002 +Tue Nov 05 12:13:16 2002 (Schnittger) formName Deleted = +Tue Nov 05 12:29:21 2002 (Schnittger) .Plants[2].Density = VeryRare +Tue Nov 05 12:29:21 2002 (Schnittger) .Plants[3].Density = VeryRare +Tue Nov 05 13:10:58 2002 (Schnittger) formName Deleted = +Tue Nov 05 13:27:23 2002 (Schnittger) .Plants[0].Density = VeryRare +Tue Nov 05 13:27:23 2002 (Schnittger) .Plants[8].File name = fo_s2_arbragrelot.plant +Tue Nov 05 13:27:23 2002 (Schnittger) formName Resized = 9 +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[10].Density = Rare +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[10].File name = FO_S2_bigroot_B.plant +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[11].Density = Rare +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[11].File name = FO_S2_bigroot_C.plant +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[9].Density = Rare +Tue Nov 05 13:39:03 2002 (Schnittger) .Plants[9].File name = FO_S2_bigroot_A.plant +Tue Nov 05 13:39:03 2002 (Schnittger) formName Resized = 12 +Tue Nov 05 13:40:13 2002 (Schnittger) .Include_patats[0] = flora_test-zone-003 +Tue Nov 05 13:52:07 2002 (Schnittger) .Plants[10].Density = VeryRare +Tue Nov 05 13:52:07 2002 (Schnittger) .Plants[11].Density = VeryRare +Tue Nov 05 13:52:07 2002 (Schnittger) .Plants[1].Density = 0.005 +Tue Nov 05 13:52:07 2002 (Schnittger) .Plants[2].Density = 0.005 +Tue Nov 05 13:52:07 2002 (Schnittger) .Plants[9].Density = VeryRare +Tue Nov 05 13:56:09 2002 (Schnittger) .Include_patats[0] = flora_test-zone-004 +Tue Nov 05 13:56:09 2002 (Schnittger) .Plants[8].File name = Fo_s3_buissonaepine.plant +Tue Nov 05 13:56:09 2002 (Schnittger) formName Deleted = +Tue Nov 05 13:56:09 2002 (Schnittger) formName Resized = 9 +Tue Nov 05 14:16:57 2002 (Schnittger) .Plants[8].Density = 0.005 +Tue Nov 05 14:16:57 2002 (Schnittger) .Plants[8].File name = fo_S3_champignou_A.plant +Tue Nov 05 14:16:57 2002 (Schnittger) .Plants[9].Density = 0.005 +Tue Nov 05 14:16:57 2002 (Schnittger) .Plants[9].File name = fo_S3_champignou_B.plant +Tue Nov 05 14:16:57 2002 (Schnittger) formName Resized = 10 +Tue Nov 05 14:17:05 2002 (Schnittger) .Include_patats[0] = flora_test-zone-005 +Tue Nov 05 14:37:05 2002 (Schnittger) .Plants[8].Density = Normal +Tue Nov 05 14:37:05 2002 (Schnittger) .Plants[8].File name = fo_s2_arbragrelot.plant +Tue Nov 05 14:37:05 2002 (Schnittger) formName Deleted = +Tue Nov 05 14:37:17 2002 (Schnittger) .Include_patats[0] = flora_test-zone-006 +Tue Nov 05 16:43:23 2002 (Schnittger) .Plants[5].Density = Rare +Tue Nov 05 16:43:23 2002 (Schnittger) .Plants[5].File name = FO_S2_spiketree.plant +Tue Nov 05 16:43:23 2002 (Schnittger) .Plants[6].Density = Rare +Tue Nov 05 16:43:23 2002 (Schnittger) .Plants[6].File name = Ju_S3_bamboo.plant +Tue Nov 05 16:43:23 2002 (Schnittger) .Plants[7].Density = Rare +Tue Nov 05 16:43:23 2002 (Schnittger) .Plants[7].File name = Ju_S1_bamboo.plant +Tue Nov 05 16:43:23 2002 (Schnittger) formName Deleted = +Tue Nov 05 16:43:23 2002 (Schnittger) formName Resized = 8 +Tue Nov 05 17:18:13 2002 (Schnittger) .Plants[5].Density = VeryRare +Tue Nov 05 17:18:13 2002 (Schnittger) .Plants[6].Density = VeryRare +Wed Nov 06 17:40:11 2002 (Schnittger) .Scale_Max = 0.75 +Wed Dec 18 14:40:49 2002 (Schnittger) formName Deleted = +Wed Dec 18 14:40:49 2002 (Schnittger) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/lacustre/tr_palmtree.flora b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/lacustre/tr_palmtree.flora new file mode 100644 index 000000000..7ffa744b4 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/Flora_template/lacustre/tr_palmtree.flora @@ -0,0 +1,148 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[0] = verdant_heights-forest-001 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[1] = verdant_heights-forest-002 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[2] = verdant_heights-forest-003 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[3] = verdant_heights-forest-004 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[4] = verdant_heights-forest-005 +Wed Oct 23 14:44:00 2002 (Schnittger) .Include_patats[5] = verdant_heights-forest-006 +Wed Oct 23 14:44:00 2002 (Schnittger) Form Parents = +Wed Oct 23 14:44:00 2002 (Schnittger) formName Resized = 6 +Wed Oct 23 14:44:51 2002 (Schnittger) .Jitter_Pos = 1 +Wed Oct 23 15:41:42 2002 (Schnittger) Form Parents = +Wed Oct 23 17:47:20 2002 (Schnittger) .Include_patats[0] = verdant_heights-bush-001 +Wed Oct 23 17:47:20 2002 (Schnittger) formName Resized = 1 +Wed Oct 23 17:47:40 2002 (Schnittger) Form Parents = +Wed Oct 23 18:02:27 2002 (Schnittger) .Include_patats[0] = verdant_heights-forest_edge-001 +Wed Oct 23 18:10:50 2002 (Schnittger) .Include_patats[0] = verdant_heights-bush-001 +Thu Oct 31 16:59:51 2002 (Schnittger) .Include_patats[0] = flora_test-forest-002 +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[0].File name = Fo_s3_buissonaepine.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[1].Density = Rare +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[1].File name = fo_S3_champignou_A.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[2].Density = Rare +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[2].File name = fo_S3_champignou_B.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[3].Density = Normal +Thu Oct 31 16:59:51 2002 (Schnittger) .Plants[3].File name = FO_S3_fougere.plant +Thu Oct 31 16:59:51 2002 (Schnittger) .Scale_Max = 1.5 +Thu Oct 31 16:59:51 2002 (Schnittger) .Scale_Min = 0.5 +Thu Oct 31 16:59:51 2002 (Schnittger) Form Parents = +Thu Oct 31 16:59:51 2002 (Schnittger) formName Resized = 4 +Thu Oct 31 17:32:24 2002 (Schnittger) .Plants[1].Density = VeryRare +Thu Oct 31 17:32:24 2002 (Schnittger) .Plants[2].Density = VeryRare +Tue Nov 05 12:03:12 2002 (Schnittger) .Include_patats[0] = flora_test-forest-007 +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[0].File name = Fo_s1_giant_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[10].File name = fo_S3_champignou_A.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[11].File name = fo_S3_champignou_B.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[12].File name = fo_S3_dead_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[13].File name = FO_S3_fougere.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[14].File name = fo_s3_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[15].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[15].File name = FX_Fo-bugsA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[16].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[16].File name = FX_Fo-bugsB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[17].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[17].File name = FX_Fo-bugsC.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[18].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[18].File name = FX_Fo-Ju-ColibrisB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[19].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[19].File name = FX_Fo-SolBirthA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[1].File name = Fo_S1_giant_trunk.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[20].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[20].File name = FX_Fo-treefallA.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[21].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[21].File name = FX_Fo-treefallB.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[22].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[22].File name = FX_Fo-treefallC.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[23].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[23].File name = FX_Fo-treefallD.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[24].Density = FX +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[24].File name = FX_Fo-treefallE.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[2].File name = fo_s2_arbragrelot.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[3].File name = Fo_s2_big_tree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[4].File name = FO_S2_bigroot_A.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[5].File name = FO_S2_bigroot_B.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[6].File name = FO_S2_bigroot_C.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[7].File name = FO_S2_birch.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[8].File name = FO_S2_spiketree.plant +Tue Nov 05 12:03:12 2002 (Schnittger) .Plants[9].File name = Fo_s3_buissonaepine.plant +Tue Nov 05 12:03:12 2002 (Schnittger) formName Resized = 25 +Tue Nov 05 12:14:30 2002 (Schnittger) .Include_patats[0] = flora_test-forest-001 +Tue Nov 05 12:14:30 2002 (Schnittger) formName Deleted = +Fri Jan 10 16:30:17 2003 (mauduit) .Plants[0].File name = FY_S2_palmtree_A.plant +Fri Jan 10 16:30:17 2003 (mauduit) .Plants[1].File name = FY_S2_palmtree_B.plant + +Fri Jan 10 16:30:17 2003 (mauduit) .Plants[2].File name = FY_S2_palmtree_C.plant +Fri Jan 10 16:30:17 2003 (mauduit) .Plants[3].File name = FY_S2_palmtree_D.plant +Fri Jan 10 16:30:17 2003 (mauduit) .Plants[4].File name = FY_S2_palmtree_E.plant +Fri Jan 10 16:30:17 2003 (mauduit) formName Resized = 5 +Fri Jan 10 16:34:55 2003 (mauduit) .Plants[0].Density = 0.2 +Fri Jan 10 16:34:55 2003 (mauduit) .Plants[1].Density = 0.2 +Fri Jan 10 16:34:55 2003 (mauduit) .Plants[2].Density = 0.2 +Fri Jan 10 16:34:55 2003 (mauduit) .Plants[3].Density = 0.2 +Fri Jan 10 16:34:55 2003 (mauduit) .Plants[4].Density = 0.2 +Wed Jan 15 16:55:00 2003 (mauduit) .Plants[0].Density = 0.01 +Wed Jan 15 16:55:00 2003 (mauduit) .Plants[0].File name = FY_S1_baobab_C.plant +Wed Jan 15 16:55:00 2003 (mauduit) formName Deleted = +Thu Jan 16 15:10:15 2003 (mauduit) .Plants[1].File name = FY_S1_baobab_B.plant +Thu Jan 16 15:10:15 2003 (mauduit) .Plants[2].File name = FY_S1_baobab_A.plant +Thu Jan 16 15:10:15 2003 (mauduit) formName Pasted = + +Thu Jan 16 15:10:15 2003 (mauduit) formName Resized = 3 +Thu Jan 16 15:11:12 2003 (mauduit) .Plants[0].Density = 0.1 +Thu Jan 16 15:11:12 2003 (mauduit) .Plants[1].Density = 0.1 +Thu Jan 16 15:11:12 2003 (mauduit) .Plants[2].Density = 0.1 +Mon Mar 03 10:41:45 2003 (mauduit) .Plants[0].Density = 0.001 +Mon Mar 03 10:41:45 2003 (mauduit) .Plants[1].Density = 0.001 +Mon Mar 03 10:41:45 2003 (mauduit) .Plants[2].Density = 0.001 +Mon Mar 03 10:41:45 2003 (mauduit) .Scale_Max = 1.2 +Mon Jun 30 11:14:59 2003 (mauduit) .Plants[0].File name = tr_s2_palmtree_a.plant +Mon Jun 30 11:14:59 2003 (mauduit) .Plants[1].File name = tr_s2_palmtree_b.plant +Mon Jun 30 11:14:59 2003 (mauduit) .Plants[2].File name = tr_s2_palmtree_c.plant +Mon Jun 30 11:14:59 2003 (mauduit) .Plants[3] Renamed = +Mon Jun 30 11:14:59 2003 (mauduit) .Plants[3].File name = tr_s2_palmtree_d.plant +Mon Jun 30 11:14:59 2003 (mauduit) .Plants[4].File name = tr_s2_palmtree_e.plant +Mon Jun 30 11:14:59 2003 (mauduit) formName Deleted = +Mon Jun 30 11:14:59 2003 (mauduit) formName Pasted = +Mon Jun 30 11:14:59 2003 (mauduit) formName Resized = 5 +Mon Jun 30 16:39:08 2003 (mauduit) .Plants[5].File name = tr_s2_palmtree_f.plant +Mon Jun 30 16:39:08 2003 (mauduit) formName Pasted = +Mon Jun 30 16:39:08 2003 (mauduit) formName Resized = 6 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-Ju-ColibrisB.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-Ju-ColibrisB.plant new file mode 100644 index 000000000..20cf4d719 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-Ju-ColibrisB.plant @@ -0,0 +1,64 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Wed Aug 06 10:25:21 2003 (firroloni) .3D.Shape = +Wed Aug 06 10:25:21 2003 (firroloni) .3D.SummerFX.EndHourMax = 20 +Wed Aug 06 10:25:21 2003 (firroloni) .3D.SummerFX.EndHourMin = 18 +Wed Aug 06 10:25:21 2003 (firroloni) .3D.SummerFX.FXName = Fo-Ju-ColibrisB.ps +Wed Aug 06 10:25:21 2003 (firroloni) .3D.SummerFX.Mode = UseEndHour +Wed Aug 06 10:25:21 2003 (firroloni) .3D.SummerFX.StartHourMax = 10 +Wed Aug 06 10:25:21 2003 (firroloni) .3D.SummerFX.StartHourMin = 8 +Wed Aug 06 10:26:12 2003 (firroloni) .3D.WinterFX.EndHourMax = 14 +Wed Aug 06 10:26:12 2003 (firroloni) .3D.WinterFX.EndHourMin = 13.5 +Wed Aug 06 10:26:12 2003 (firroloni) .3D.WinterFX.FXName = +Wed Aug 06 10:26:12 2003 (firroloni) .3D.WinterFX.StartHourMax = 12.5 +Wed Aug 06 10:26:12 2003 (firroloni) .3D.WinterFX.StartHourMin = 12 +Wed Aug 06 10:26:12 2003 (firroloni) formName Pasted = +Thu Mar 04 16:28:02 2004 (millas) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-SolBirthA.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-SolBirthA.plant new file mode 100644 index 000000000..6ecbac5d9 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-SolBirthA.plant @@ -0,0 +1,87 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:46 2002 (corvazier) File converted from old format +Wed Aug 06 10:29:31 2003 (firroloni) .3D.AutomnFX.FXName = Fo-SolBirthA.ps +Wed Aug 06 10:29:31 2003 (firroloni) .3D.Shape = +Wed Aug 06 10:29:31 2003 (firroloni) .3D.SpringFX.FXName = Fo-SolBirthA.ps +Wed Aug 06 10:29:31 2003 (firroloni) .3D.SummerFX.FXName = Fo-SolBirthA.ps +Wed Aug 06 10:29:31 2003 (firroloni) .3D.WinterFX.FXName = Fo-SolBirthA.ps +Wed Aug 06 10:37:39 2003 (firroloni) .3D.SpringFX.EndHourMax = 17 +Wed Aug 06 10:37:39 2003 (firroloni) .3D.SpringFX.EndHourMin = 16 +Wed Aug 06 10:37:39 2003 (firroloni) .3D.SpringFX.StartHourMax = 7 +Wed Aug 06 10:37:39 2003 (firroloni) .3D.SpringFX.StartHourMin = 5 +Wed Aug 06 10:37:39 2003 (firroloni) formName Pasted = +Wed Aug 06 10:44:39 2003 (firroloni) .3D.AutomnFX.Mode = UseEndHour +Wed Aug 06 10:44:39 2003 (firroloni) .3D.SpringFX.Mode = UseEndHour +Wed Aug 06 10:44:39 2003 (firroloni) .3D.SummerFX.Mode = UseEndHour +Wed Aug 06 10:44:39 2003 (firroloni) .3D.WinterFX.Mode = UseEndHour +Tue Mar 02 16:47:39 2004 (millas) .3D.SpringFX.EndHourMax = 20 +Tue Mar 02 16:47:39 2004 (millas) .3D.SpringFX.EndHourMin = 19 +Tue Mar 02 16:47:39 2004 (millas) .3D.WinterFX.StartHourMin = 6 +Tue Mar 02 16:47:39 2004 (millas) formName Pasted = +Tue Mar 02 18:15:48 2004 (millas) .3D.SpringFX.EndHourMax = 20.1 +Tue Mar 02 18:15:48 2004 (millas) .3D.SpringFX.EndHourMin = 20 +Tue Mar 02 18:15:48 2004 (millas) .3D.SpringFX.StartHourMax = 19.1 +Tue Mar 02 18:15:48 2004 (millas) .3D.SpringFX.StartHourMin = 19 +Tue Mar 02 18:15:48 2004 (millas) .3D.WinterFX.FXName = Fo-SolBirthA.ps +Tue Mar 02 18:15:48 2004 (millas) formName Pasted = +Tue Mar 02 19:03:49 2004 (millas) .3D.SpringFX.Mode = UseEndHour +Tue Mar 02 19:03:49 2004 (millas) .3D.WinterFX.EndHourMax = 19.1 +Tue Mar 02 19:03:49 2004 (millas) .3D.WinterFX.EndHourMin = 19 +Tue Mar 02 19:03:49 2004 (millas) .3D.WinterFX.StartHourMax = 18.1 +Tue Mar 02 19:03:49 2004 (millas) .3D.WinterFX.StartHourMin = 18 +Tue Mar 02 19:06:00 2004 (millas) formName Pasted = +Wed Mar 03 14:58:10 2004 (millas) .3D.SpringFX.EndHourMin = 19.0 +Wed Mar 03 14:58:10 2004 (millas) .3D.SpringFX.StartHourMax = 17.1 +Wed Mar 03 14:58:10 2004 (millas) .3D.SpringFX.StartHourMin = 17.0 +Wed Mar 03 15:01:14 2004 (millas) .3D.SpringFX.EndHourMax = 19.9 +Wed Mar 03 15:01:14 2004 (millas) .3D.WinterFX.EndHourMin = 19 +Wed Mar 03 15:01:14 2004 (millas) .3D.WinterFX.StartHourMin = 17 +Wed Mar 03 15:01:14 2004 (millas) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsA.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsA.plant new file mode 100644 index 000000000..b584804a7 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsA.plant @@ -0,0 +1,61 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Aug 05 16:50:05 2003 (firroloni) .3D.AutomnFX.FXName = Fo-BugsA.ps +Tue Aug 05 16:50:05 2003 (firroloni) .3D.Shape = +Tue Aug 05 16:50:05 2003 (firroloni) .3D.SpringFX.FXName = Fo-BugsA.ps +Tue Aug 05 16:50:05 2003 (firroloni) .3D.SummerFX.FXName = Fo-BugsA.ps +Tue Aug 05 16:50:05 2003 (firroloni) .3D.WinterFX.FXName = Fo-BugsA.ps +Wed Aug 06 10:22:14 2003 (firroloni) .3D.SpringFX.EndHourMax = 20 +Wed Aug 06 10:22:14 2003 (firroloni) .3D.SpringFX.EndHourMin = 18 +Wed Aug 06 10:22:14 2003 (firroloni) .3D.SpringFX.Mode = UseEndHour +Wed Aug 06 10:22:14 2003 (firroloni) .3D.SpringFX.StartHourMax = 10 +Wed Aug 06 10:22:14 2003 (firroloni) .3D.SpringFX.StartHourMin = 8 +Wed Aug 06 10:22:14 2003 (firroloni) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsB.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsB.plant new file mode 100644 index 000000000..fadff666d --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsB.plant @@ -0,0 +1,61 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Wed Aug 06 10:23:00 2003 (firroloni) .3D.SpringFX.EndHourMax = 22 +Wed Aug 06 10:23:00 2003 (firroloni) .3D.SpringFX.EndHourMin = 20 +Wed Aug 06 10:23:00 2003 (firroloni) .3D.SpringFX.StartHourMax = 8 +Wed Aug 06 10:23:00 2003 (firroloni) .3D.SpringFX.StartHourMin = 5 +Wed Aug 06 10:23:00 2003 (firroloni) formName Pasted = +Wed Aug 06 10:23:48 2003 (firroloni) .3D.AutomnFX.FXName = Fo-BugsB.ps +Wed Aug 06 10:23:48 2003 (firroloni) .3D.Shape = +Wed Aug 06 10:23:48 2003 (firroloni) .3D.SpringFX.FXName = Fo-BugsB.ps +Wed Aug 06 10:23:48 2003 (firroloni) .3D.SpringFX.Mode = UseEndHour +Wed Aug 06 10:23:48 2003 (firroloni) .3D.SummerFX.FXName = Fo-BugsB.ps +Wed Aug 06 10:23:48 2003 (firroloni) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsC.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsC.plant new file mode 100644 index 000000000..9067d216a --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo-bugsC.plant @@ -0,0 +1,61 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Wed Aug 06 10:24:21 2003 (firroloni) .3D.SpringFX.EndHourMax = 13 +Wed Aug 06 10:24:21 2003 (firroloni) .3D.SpringFX.EndHourMin = 12 +Wed Aug 06 10:24:21 2003 (firroloni) .3D.SpringFX.FXName = Fo-BugsC.ps +Wed Aug 06 10:24:21 2003 (firroloni) .3D.SpringFX.Mode = UseEndHour +Wed Aug 06 10:24:21 2003 (firroloni) .3D.SpringFX.StartHourMax = 5 +Wed Aug 06 10:24:21 2003 (firroloni) .3D.SpringFX.StartHourMin = 3 +Wed Aug 06 10:24:21 2003 (firroloni) formName Pasted = +Thu Mar 04 16:24:45 2004 (millas) .3D.SpringFX.StartHourMax = 7 +Thu Mar 04 16:24:45 2004 (millas) .3D.SpringFX.StartHourMin = 6 +Thu Mar 04 16:25:22 2004 (millas) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo_Fishes.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo_Fishes.plant new file mode 100644 index 000000000..5093dedb0 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/FX/FX_Fo_Fishes.plant @@ -0,0 +1,159 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:51 2002 (corvazier) File converted from old format +Tue Jul 29 11:20:04 2003 (firroloni) .3D.Shape = Desert-SandBlast.ps +Tue Jul 29 11:22:34 2003 (firroloni) .3D.Shape = Desert-SandBlastB.ps +Tue Jul 29 11:23:34 2003 (firroloni) .3D.Shape = Fy-SandBlastADesert.ps +Tue Jul 29 11:23:51 2003 (firroloni) .3D.Shape = Fy-SandBlastDesert.ps +Wed Aug 06 11:53:50 2003 (firroloni) .3D.Shape = +Wed Aug 06 11:53:50 2003 (firroloni) .3D.SpringFX.FXName = Fy-SandBlastDesert.ps +Wed Aug 06 11:53:50 2003 (firroloni) .3D.SpringFX.Mode = Spawn +Wed Aug 06 11:53:50 2003 (firroloni) .3D.SpringFX.StartHourMax = 23.9 +Wed Aug 06 15:08:24 2003 (firroloni) .3D.SpringFX.CycleDuration = 1 +Wed Aug 06 15:08:24 2003 (firroloni) .3D.SpringFX.StartHourMax = .99 +Tue Aug 12 10:21:56 2003 (firroloni) .3D.SpringFX.CycleDuration = 24 +Tue Aug 12 10:21:56 2003 (firroloni) .3D.SpringFX.FXName = De_Scorpion2.ps +Tue Aug 12 10:21:56 2003 (firroloni) .3D.SpringFX.StartHourMax = 20 +Tue Aug 12 10:21:56 2003 (firroloni) .3D.SpringFX.StartHourMin = 12 +Tue Aug 12 10:21:56 2003 (firroloni) formName Pasted = +Tue Aug 12 12:23:01 2003 (firroloni) .3D.Shape = FY_S1_baobab_A.shape +Fri Oct 17 17:36:11 2003 (firroloni) .3D.Shape = +Mon Dec 01 15:07:38 2003 (firroloni) .3D.SpringFX.FXName = fy_geyser_feu.ps +Mon Dec 01 15:07:38 2003 (firroloni) formName Pasted = +Mon Dec 01 15:12:52 2003 (firroloni) .3D.WinterFX.CycleDuration = 1 +Mon Dec 01 15:12:52 2003 (firroloni) .3D.WinterFX.StartHourMax = .9 +Mon Dec 01 15:12:52 2003 (firroloni) .3D.WinterFX.StartHourMin = 0 +Mon Dec 01 15:12:52 2003 (firroloni) formName Pasted = +Mon Dec 01 15:51:41 2003 (firroloni) .3D.SpringFX.CycleDuration = .1 +Mon Dec 01 15:51:41 2003 (firroloni) .3D.SpringFX.StartHourMax = .09 +Mon Dec 01 16:30:44 2003 (firroloni) .3D.SpringFX.CycleDuration = .5 +Mon Dec 01 16:30:44 2003 (firroloni) .3D.SpringFX.StartHourMax = .49 +Mon Dec 01 16:30:49 2003 (firroloni) formName Pasted = +Mon Dec 01 16:44:57 2003 (firroloni) .3D.SpringFX.FXName = fy_geyser_fumee.ps +Mon Dec 01 16:44:57 2003 (firroloni) formName Pasted = +Mon Dec 01 17:16:20 2003 (firroloni) .3D.SpringFX.CycleDuration = 1.5 +Mon Dec 01 17:16:20 2003 (firroloni) .3D.SpringFX.StartHourMax = 1.49 +Mon Dec 01 17:16:20 2003 (firroloni) formName Pasted = +Mon Dec 01 17:52:48 2003 (firroloni) .3D.AutomnFX.EndHourMax = 15 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.AutomnFX.EndHourMin = 14 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.AutomnFX.StartHourMax = 2 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.AutomnFX.StartHourMin = 1 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SpringFX.CycleDuration = 24 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SpringFX.EndHourMax = 9 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SpringFX.EndHourMin = 8 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SpringFX.FXName = fy_vapeurs.ps +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SpringFX.Mode = UseEndHour +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SpringFX.StartHourMax = 4 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SpringFX.StartHourMin = 3 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SummerFX.EndHourMax = 13 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.SummerFX.EndHourMin = 12 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.WinterFX.EndHourMax = 18 +Mon Dec 01 17:52:48 2003 (firroloni) .3D.WinterFX.EndHourMin = 17 +Mon Dec 01 17:52:48 2003 (firroloni) formName Pasted = +Thu Dec 04 18:08:26 2003 (firroloni) .3D.AutomnFX.EndHourMax = 20 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.AutomnFX.EndHourMin = 18 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.AutomnFX.FXName = Fy-BirdA.ps +Thu Dec 04 18:08:26 2003 (firroloni) .3D.AutomnFX.StartHourMax = 14 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.AutomnFX.StartHourMin = 12 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SpringFX.EndHourMax = 14 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SpringFX.EndHourMin = 12 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SpringFX.FXName = Fy-BirdA.ps +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SpringFX.StartHourMax = 9 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SpringFX.StartHourMin = 8 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SummerFX.EndHourMax = 16 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SummerFX.EndHourMin = 15 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SummerFX.FXName = Fy-BirdA.ps +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SummerFX.StartHourMax = 11 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.SummerFX.StartHourMin = 10 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.WinterFX.EndHourMax = 20 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.WinterFX.EndHourMin = 19 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.WinterFX.FXName = Fy-BirdA.ps +Thu Dec 04 18:08:26 2003 (firroloni) .3D.WinterFX.StartHourMax = 11 +Thu Dec 04 18:08:26 2003 (firroloni) .3D.WinterFX.StartHourMin = 10 +Fri Dec 05 15:57:49 2003 (firroloni) .3D.AutomnFX.UserParam0Max = 1 +Fri Dec 05 15:57:49 2003 (firroloni) .3D.SpringFX.UserParam0Max = 1 +Fri Dec 05 15:57:49 2003 (firroloni) .3D.SummerFX.UserParam0Max = 1 +Fri Dec 05 15:57:49 2003 (firroloni) .3D.WinterFX.UserParam0Max = 1 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.AutomnFX.StartHourMax = 4 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.AutomnFX.StartHourMin = 2 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.SpringFX.EndHourMax = 16 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.SpringFX.EndHourMin = 15 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.SummerFX.EndHourMax = 19 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.SummerFX.EndHourMin = 18 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.SummerFX.StartHourMax = 6 +Mon Dec 08 19:14:03 2003 (firroloni) .3D.SummerFX.StartHourMin = 5 +Thu Feb 19 10:49:53 2004 (gatto) .3D.SpringFX.CycleDuration = 24 +Thu Feb 19 10:49:53 2004 (gatto) .3D.SpringFX.EndHourMax = 24 +Thu Feb 19 10:49:53 2004 (gatto) .3D.SpringFX.EndHourMin = 24 +Thu Feb 19 10:49:53 2004 (gatto) .3D.SpringFX.FXName = tr-fishesb.ps +Thu Feb 19 10:49:53 2004 (gatto) .3D.SpringFX.StartHourMax = 24 +Thu Feb 19 10:49:53 2004 (gatto) .3D.SpringFX.StartHourMin = 0.01 +Thu Feb 19 10:50:02 2004 (gatto) .3D.SpringFX.AngleMax = 80 +Thu Feb 19 10:52:18 2004 (gatto) formName Pasted = +Thu Feb 19 10:53:42 2004 (gatto) .3D.SpringFX.FXName = tr-fishes.ps +Thu Feb 19 10:53:42 2004 (gatto) formName Pasted = +Tue Mar 02 14:51:52 2004 (rang) .3D.SpringFX.FXName = Ju_Fo_Fishes.ps +Tue Mar 02 14:51:52 2004 (rang) formName Pasted = +Tue Mar 02 15:18:18 2004 (rang) .3D.SpringFX.AngleMax = 60 +Tue Mar 02 15:18:18 2004 (rang) formName Pasted = +Fri Mar 05 15:58:50 2004 (rang) .3D.SpringFX.Mode = AlwaysStarted +Fri Mar 05 15:58:50 2004 (rang) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_A.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_A.plant new file mode 100644 index 000000000..16a904391 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_A.plant @@ -0,0 +1,39 @@ + +
+ + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Bounding Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Collision Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .Plant Name = S2 tree +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Bounding Radius = 1.1 +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Collision Radius = 1.1 +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .Plant Name = S3 mushroom +Wed Oct 16 12:24:28 2002 (Schnittger) .3D.Bounding Radius = 1.4 +Wed Oct 16 12:24:28 2002 (Schnittger) .3D.Collision Radius = 1.4 +Wed Oct 23 16:07:19 2002 (Schnittger) .3D.Shadow Shape = FO_S2_bigroot_A.shape +Wed Oct 23 16:07:19 2002 (Schnittger) .3D.Shape = FO_S2_bigroot_A.shape +Wed Oct 23 16:07:19 2002 (Schnittger) .Plant Name = S3 big root +Wed Oct 23 16:08:09 2002 (Schnittger) .3D.Bounding Radius = 6 +Wed Oct 23 16:08:09 2002 (Schnittger) .3D.Collision Radius = 6 +Wed Oct 23 16:09:21 2002 (Schnittger) .3D.Bounding Radius = 6.0 +Wed Oct 23 16:09:21 2002 (Schnittger) .3D.Collision Radius = 6.0 +Wed Oct 23 16:12:53 2002 (Schnittger) .Plant Name = S2 big root + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_B.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_B.plant new file mode 100644 index 000000000..117908ea4 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_B.plant @@ -0,0 +1,38 @@ + +
+ + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Bounding Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Collision Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .Plant Name = S2 tree +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Bounding Radius = 1.1 +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Collision Radius = 1.1 +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .Plant Name = S3 mushroom +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Bounding Radius = 1.4 +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Collision Radius = 1.4 +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_02.shape +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Shape = FO_S3_champignou_02.shape +Wed Oct 23 16:07:52 2002 (Schnittger) .3D.Shadow Shape = FO_S2_bigroot_B.shape +Wed Oct 23 16:07:52 2002 (Schnittger) .3D.Shape = FO_S2_bigroot_B.shape +Wed Oct 23 16:09:13 2002 (Schnittger) .3D.Bounding Radius = 3.5 +Wed Oct 23 16:09:13 2002 (Schnittger) .3D.Collision Radius = 3.5 +Wed Oct 23 16:12:35 2002 (Schnittger) .Plant Name = s2 root + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_C.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_C.plant new file mode 100644 index 000000000..d531fe87d --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_bigroot_C.plant @@ -0,0 +1,40 @@ + +
+ + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Bounding Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Collision Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .Plant Name = S2 tree +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Bounding Radius = 1.1 +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Collision Radius = 1.1 +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .Plant Name = S3 mushroom +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Bounding Radius = 1.4 +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Collision Radius = 1.4 +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_02.shape +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Shape = FO_S3_champignou_02.shape +Wed Oct 23 16:07:52 2002 (Schnittger) .3D.Shadow Shape = FO_S2_bigroot_B.shape +Wed Oct 23 16:07:52 2002 (Schnittger) .3D.Shape = FO_S2_bigroot_B.shape +Wed Oct 23 16:09:13 2002 (Schnittger) .3D.Bounding Radius = 3.5 +Wed Oct 23 16:09:13 2002 (Schnittger) .3D.Collision Radius = 3.5 +Wed Oct 23 16:12:35 2002 (Schnittger) .Plant Name = s2 root +Fri Oct 25 15:17:22 2002 (Schnittger) .3D.Shadow Shape = FO_S2_bigroot_C.shape +Fri Oct 25 15:17:22 2002 (Schnittger) .3D.Shape = FO_S2_bigroot_C.shape + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_birch.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_birch.plant new file mode 100644 index 000000000..75b7191fa --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_birch.plant @@ -0,0 +1,40 @@ + +
+ + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Bounding Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Collision Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .Plant Name = S2 tree +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Bounding Radius = 1.1 +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Collision Radius = 1.1 +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .Plant Name = S3 mushroom +Wed Oct 16 12:24:28 2002 (Schnittger) .3D.Bounding Radius = 1.4 +Wed Oct 16 12:24:28 2002 (Schnittger) .3D.Collision Radius = 1.4 +Tue Oct 29 11:45:31 2002 (Schnittger) .3D.Bounding Radius = 4 +Tue Oct 29 11:45:31 2002 (Schnittger) .3D.Collision Radius = 4 +Tue Oct 29 11:45:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_bouleau.shape +Tue Oct 29 11:45:31 2002 (Schnittger) .3D.Shape = FO_S2_bouleau.shape +Tue Oct 29 11:45:31 2002 (Schnittger) .Plant Name = s2 birch +Tue Oct 29 12:12:07 2002 (Schnittger) .3D.Bounding Radius = 2.0 +Tue Oct 29 12:12:07 2002 (Schnittger) .3D.Collision Radius = 0.25 +Thu Nov 07 15:56:02 2002 (Schnittger) .3D.Shadow Shape = FO_S2_birch.shape +Thu Nov 07 15:56:02 2002 (Schnittger) .3D.Shape = FO_S2_birch.shape + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_spiketree.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_spiketree.plant new file mode 100644 index 000000000..145a7e3b7 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/FO_S2_spiketree.plant @@ -0,0 +1,26 @@ + +
+ + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Bounding Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Collision Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .Plant Name = S2 tree +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Bounding Radius = 1.1 +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Collision Radius = 1.1 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/Fo_s1_giant_tree.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/Fo_s1_giant_tree.plant new file mode 100644 index 000000000..c2e4bd2a9 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/Fo_s1_giant_tree.plant @@ -0,0 +1,69 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:43 2002 (corvazier) File converted from old format +Wed Oct 23 18:14:04 2002 (Schnittger) .3D.Bounding Radius = 5 +Wed Oct 23 18:22:39 2002 (Schnittger) .3D.Collision Radius = 1 +Wed Oct 23 18:41:25 2002 (Schnittger) .3D.Bounding Radius = 1 +Wed Oct 23 18:41:25 2002 (Schnittger) .3D.Collision Radius = 5 +Wed Oct 23 18:56:15 2002 (Schnittger) .3D.Bounding Radius = 6 +Wed Oct 23 18:56:15 2002 (Schnittger) .3D.Collision Radius = 2 +Tue Nov 05 11:11:44 2002 (Schnittger) .3D.Collision Radius = 4 +Wed Nov 19 14:21:47 2003 (firroloni) .3D.SpringFX.CycleDuration = 12 +Wed Nov 19 14:21:47 2003 (firroloni) .3D.SpringFX.FXName = Ju_Fo_Birds.ps +Wed Nov 19 14:21:47 2003 (firroloni) .3D.SpringFX.Mode = Spawn +Wed Nov 19 14:21:47 2003 (firroloni) .3D.SpringFX.StartHourMax = 11.9 +Wed Nov 19 14:21:47 2003 (firroloni) .3D.SpringFX.UserParam0Max = 1 +Wed Nov 19 14:21:47 2003 (firroloni) .3D.SpringFX.UserParam0Min = .5 +Wed Nov 19 14:21:47 2003 (firroloni) formName Pasted = +Wed Nov 19 14:23:27 2003 (firroloni) .3D.WinterFX.CycleDuration = 24 +Wed Nov 19 14:23:27 2003 (firroloni) .3D.WinterFX.StartHourMax = 23.9 +Wed Nov 19 14:23:27 2003 (firroloni) .3D.WinterFX.UserParam0Max = .5 +Wed Nov 19 14:23:27 2003 (firroloni) .3D.WinterFX.UserParam0Min = 0 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_S3_champignou_A.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_S3_champignou_A.plant new file mode 100644 index 000000000..c126a8a2a --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_S3_champignou_A.plant @@ -0,0 +1,33 @@ + +
+ + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Bounding Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Collision Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .Plant Name = S2 tree +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Bounding Radius = 1.1 +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Collision Radius = 1.1 +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .Plant Name = S3 mushroom +Wed Oct 16 12:24:28 2002 (Schnittger) .3D.Bounding Radius = 1.4 +Wed Oct 16 12:24:28 2002 (Schnittger) .3D.Collision Radius = 1.4 +Wed Nov 27 10:13:21 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_A.shape +Wed Nov 27 10:13:21 2002 (Schnittger) .3D.Shape = FO_S3_champignou_A.shape + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_S3_champignou_B.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_S3_champignou_B.plant new file mode 100644 index 000000000..9bb4e1fd2 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_S3_champignou_B.plant @@ -0,0 +1,35 @@ + +
+ + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:45 2002 (corvazier) File converted from old format +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Bounding Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Collision Radius = 3 +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shadow Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .3D.Shape = FO_S2_spiketree.shape +Tue Oct 08 16:16:31 2002 (Schnittger) .Plant Name = S2 tree +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Bounding Radius = 1.1 +Wed Oct 09 17:28:56 2002 (Schnittger) .3D.Collision Radius = 1.1 +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .3D.Shape = FO_S3_champignou_01.shape +Wed Oct 16 12:23:19 2002 (Schnittger) .Plant Name = S3 mushroom +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Bounding Radius = 1.4 +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Collision Radius = 1.4 +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_02.shape +Wed Oct 16 12:24:10 2002 (Schnittger) .3D.Shape = FO_S3_champignou_02.shape +Wed Nov 27 10:13:04 2002 (Schnittger) .3D.Shadow Shape = FO_S3_champignou_B.shape +Wed Nov 27 10:13:04 2002 (Schnittger) .3D.Shape = FO_S3_champignou_B.shape + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_s1_arbreagrelot.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_s1_arbreagrelot.plant new file mode 100644 index 000000000..0d433b8b7 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_s1_arbreagrelot.plant @@ -0,0 +1,55 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Thu Aug 28 14:33:11 2003 (delord) .3D.Shadow Shape = fo_S1_arbreagrelot +Thu Aug 28 14:33:11 2003 (delord) .3D.Shape = fo_s1_arbreagrelot +Thu Aug 28 15:26:21 2003 (delord) .3D.Bounding Radius = 5 +Thu Aug 28 16:50:35 2003 (delord) .3D.Bounding Radius = 10 +Thu Aug 28 16:50:35 2003 (delord) .3D.Collision Radius = 5 +Thu Aug 28 16:50:46 2003 (delord) .3D.Shadow Shape = fo_S1_arbreagrelot.shape +Thu Aug 28 16:50:46 2003 (delord) .3D.Shape = fo_s1_arbreagrelot.shape +Mon Sep 08 10:22:30 2003 (mauduit) .3D.Shadow Shape = fo_S1_arbragrelot.shape +Mon Sep 08 10:22:30 2003 (mauduit) .3D.Shape = fo_s1_arbragrelot.shape +Wed Nov 19 14:18:06 2003 (firroloni) .3D.AutomnFX.CycleDuration = 10 +Wed Nov 19 14:18:06 2003 (firroloni) .3D.AutomnFX.StartHourMax = 9.9 +Wed Nov 19 14:18:06 2003 (firroloni) .3D.WinterFX.CycleDuration = 24 +Wed Nov 19 14:18:06 2003 (firroloni) .3D.WinterFX.StartHourMax = 20 +Wed Nov 19 14:18:06 2003 (firroloni) .3D.WinterFX.StartHourMin = 5 +Wed Nov 19 14:18:06 2003 (firroloni) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_s2_arbragrelot.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_s2_arbragrelot.plant new file mode 100644 index 000000000..210ab664e --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/forest/common/fo_s2_arbragrelot.plant @@ -0,0 +1,53 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Converted from old format + Fri May 17 15:17:44 2002 (corvazier) File converted from old format +Wed Nov 19 14:18:56 2003 (firroloni) .3D.AutomnFX.CycleDuration = 10 +Wed Nov 19 14:18:56 2003 (firroloni) .3D.AutomnFX.StartHourMax = 9.9 +Wed Nov 19 14:18:56 2003 (firroloni) .3D.WinterFX.CycleDuration = 24 +Wed Nov 19 14:18:56 2003 (firroloni) .3D.WinterFX.StartHourMax = 22 +Wed Nov 19 14:18:56 2003 (firroloni) .3D.WinterFX.StartHourMin = 2 +Wed Nov 19 14:18:56 2003 (firroloni) formName Pasted = + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_bamboo_a.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_bamboo_a.plant new file mode 100644 index 000000000..d82d18211 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_bamboo_a.plant @@ -0,0 +1,21 @@ + +
+ + + + + + + + + + + + Converted from old format + Fri May 17 15:17:35 2002 (corvazier) File converted from old format +Mon Jun 30 10:46:13 2003 (mauduit) .3D.Shape = tr_s2_bamboo_a.shape +Mon Jun 30 10:54:00 2003 (mauduit) .3D.Bounding Radius = 2.5 +Mon Jun 30 10:54:00 2003 (mauduit) .3D.Collision Radius = 1.5 +Mon Jun 30 16:38:25 2003 (mauduit) .3D.Bounding Radius = 5 +Mon Jun 30 16:38:25 2003 (mauduit) .3D.Collision Radius = 3 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_a.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_a.plant new file mode 100644 index 000000000..9a6ebf7bb --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_a.plant @@ -0,0 +1,21 @@ + +
+ + + + + + + + + + + + Converted from old format + Fri May 17 15:17:35 2002 (corvazier) File converted from old format +Mon Jun 30 10:44:58 2003 (mauduit) .3D.Shape = tr_s2_palmtree_a.shape +Mon Jun 30 10:51:52 2003 (mauduit) .3D.Bounding Radius = 2.0 +Mon Jun 30 10:51:52 2003 (mauduit) .3D.Collision Radius = 0.25 +Mon Jun 30 16:33:25 2003 (mauduit) .3D.Bounding Radius = 4 +Mon Jun 30 16:33:25 2003 (mauduit) .3D.Collision Radius = 0.5 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_b.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_b.plant new file mode 100644 index 000000000..c6723b02a --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_b.plant @@ -0,0 +1,21 @@ + +
+ + + + + + + + + + + + Converted from old format + Fri May 17 15:17:35 2002 (corvazier) File converted from old format +Mon Jun 30 10:45:09 2003 (mauduit) .3D.Shape = tr_s2_palmtree_b.shape +Mon Jun 30 10:52:08 2003 (mauduit) .3D.Bounding Radius = 3.0 +Mon Jun 30 10:52:08 2003 (mauduit) .3D.Collision Radius = 0.25 +Mon Jun 30 16:33:12 2003 (mauduit) .3D.Bounding Radius = 6.0 +Mon Jun 30 16:33:12 2003 (mauduit) .3D.Collision Radius = 0.5 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_c.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_c.plant new file mode 100644 index 000000000..8b2d89062 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_c.plant @@ -0,0 +1,21 @@ + +
+ + + + + + + + + + + + Converted from old format + Fri May 17 15:17:35 2002 (corvazier) File converted from old format +Mon Jun 30 10:45:20 2003 (mauduit) .3D.Shape = tr_s2_palmtree_c.shape +Mon Jun 30 10:52:28 2003 (mauduit) .3D.Bounding Radius = 3.0 +Mon Jun 30 10:52:28 2003 (mauduit) .3D.Collision Radius = 0.25 +Mon Jun 30 16:33:05 2003 (mauduit) .3D.Bounding Radius = 6 +Mon Jun 30 16:33:05 2003 (mauduit) .3D.Collision Radius = 0.5 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_d.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_d.plant new file mode 100644 index 000000000..b05685470 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_d.plant @@ -0,0 +1,22 @@ + +
+ + + + + + + + + + + + Converted from old format + Fri May 17 15:17:35 2002 (corvazier) File converted from old format +Mon Jun 30 10:45:28 2003 (mauduit) .3D.Shape = tr_s2_palmtree_c.shape +Mon Jun 30 10:45:37 2003 (mauduit) .3D.Shape = tr_s2_palmtree_d.shape +Mon Jun 30 10:52:47 2003 (mauduit) .3D.Bounding Radius = 3.0 +Mon Jun 30 10:52:47 2003 (mauduit) .3D.Collision Radius = 0.25 +Mon Jun 30 16:32:59 2003 (mauduit) .3D.Bounding Radius = 6 +Mon Jun 30 16:32:59 2003 (mauduit) .3D.Collision Radius = 0.5 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_e.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_e.plant new file mode 100644 index 000000000..3a78b30e8 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_e.plant @@ -0,0 +1,23 @@ + +
+ + + + + + + + + + + + Converted from old format + Fri May 17 15:17:35 2002 (corvazier) File converted from old format +Mon Jun 30 10:45:50 2003 (mauduit) .3D.Shape = tr_s2_palmtree_e.shape +Mon Jun 30 10:53:01 2003 (mauduit) .3D.Bounding Radius = 5.0 +Mon Jun 30 10:53:01 2003 (mauduit) .3D.Collision Radius = 0.5 +Mon Jun 30 16:32:50 2003 (mauduit) .3D.Bounding Radius = 10 +Mon Jun 30 16:32:50 2003 (mauduit) .3D.Collision Radius = 1 +Mon Jun 30 16:35:01 2003 (mauduit) .3D.Bounding Radius = 6 +Mon Jun 30 16:35:01 2003 (mauduit) .3D.Collision Radius = 0.5 + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_f.plant b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_f.plant new file mode 100644 index 000000000..7e9c16adc --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/Game_elem/Plant/ecosystem/lacustre/common/tr_s2_palmtree_f.plant @@ -0,0 +1,22 @@ + +
+ + + + + + + + + + + + Converted from old format + Fri May 17 15:17:35 2002 (corvazier) File converted from old format +Mon Jun 30 10:45:50 2003 (mauduit) .3D.Shape = tr_s2_palmtree_e.shape +Mon Jun 30 10:53:01 2003 (mauduit) .3D.Bounding Radius = 5.0 +Mon Jun 30 10:53:01 2003 (mauduit) .3D.Collision Radius = 0.5 +Mon Jun 30 16:32:14 2003 (mauduit) .3D.Bounding Radius = 10.0 +Mon Jun 30 16:32:14 2003 (mauduit) .3D.Collision Radius = 1.0 +Mon Jun 30 16:38:45 2003 (mauduit) .3D.Shape = tr_s2_palmtree_f.shape + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/auras.id_to_string_array b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/auras.id_to_string_array new file mode 100644 index 000000000..f1639ce18 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/auras.id_to_string_array @@ -0,0 +1,9 @@ + +
+ + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/auras/_aura.animation_fx b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/auras/_aura.animation_fx new file mode 100644 index 000000000..a509e1207 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/auras/_aura.animation_fx @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_damage_shield/damage_shield.attack_list b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_damage_shield/damage_shield.attack_list new file mode 100644 index 000000000..ab547e781 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_damage_shield/damage_shield.attack_list @@ -0,0 +1,12 @@ + +
+ + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_magic/homin/magic_cur_homin.attack_list b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_magic/homin/magic_cur_homin.attack_list new file mode 100644 index 000000000..e12e37af7 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_magic/homin/magic_cur_homin.attack_list @@ -0,0 +1,34 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_magic/homin/magic_off_homin.attack_list b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_magic/homin/magic_off_homin.attack_list new file mode 100644 index 000000000..0d328d7eb --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_magic/homin/magic_off_homin.attack_list @@ -0,0 +1,33 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_melee/melee.attack_list b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_melee/melee.attack_list new file mode 100644 index 000000000..0e1bca9e9 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_melee/melee.attack_list @@ -0,0 +1,41 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_range/range.attack_list b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_range/range.attack_list new file mode 100644 index 000000000..303af5eaa --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/attack_range/range.attack_list @@ -0,0 +1,12 @@ + +
+ + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/_cast_base.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/_cast_base.animation_fx_set new file mode 100644 index 000000000..9cfb9cb44 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/_cast_base.animation_fx_set @@ -0,0 +1,9 @@ + +
+ + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_begin.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_begin.animation_fx_set new file mode 100644 index 000000000..714ff935e --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_begin.animation_fx_set @@ -0,0 +1,33 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:24:15 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:45:42 2004 (gatto) .FX0.ScaleFX = true +Wed Jul 21 10:45:42 2004 (gatto) .FX1.RepeatMode = Respawn +Wed Jul 21 10:45:42 2004 (gatto) .FX1.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_end.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_end.animation_fx_set new file mode 100644 index 000000000..b032a83e5 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_end.animation_fx_set @@ -0,0 +1,22 @@ + +
+ + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:24:23 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:45:31 2004 (gatto) .FX0.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_fail.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_fail.animation_fx_set new file mode 100644 index 000000000..d72c0a0ba --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_fail.animation_fx_set @@ -0,0 +1,22 @@ + +
+ + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:24:07 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:45:20 2004 (gatto) .FX0.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_loop.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_loop.animation_fx_set new file mode 100644 index 000000000..aecddc3f3 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_cur_healhp_loop.animation_fx_set @@ -0,0 +1,26 @@ + +
+ + + + + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:23:47 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:45:12 2004 (gatto) .FX0.ScaleFX = true +Wed Jul 21 10:45:12 2004 (gatto) .FX1.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_begin.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_begin.animation_fx_set new file mode 100644 index 000000000..c8323d2ba --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_begin.animation_fx_set @@ -0,0 +1,33 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:25:38 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:43:23 2004 (gatto) .FX0.ScaleFX = true +Wed Jul 21 10:43:23 2004 (gatto) .FX1.RepeatMode = Respawn +Wed Jul 21 10:43:23 2004 (gatto) .FX1.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_end.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_end.animation_fx_set new file mode 100644 index 000000000..c07d41023 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_end.animation_fx_set @@ -0,0 +1,22 @@ + +
+ + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:32:01 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:43:10 2004 (gatto) .FX0.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_fail.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_fail.animation_fx_set new file mode 100644 index 000000000..19d8e8e1d --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_fail.animation_fx_set @@ -0,0 +1,22 @@ + +
+ + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:31:50 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:43:03 2004 (gatto) .FX0.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_loop.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_loop.animation_fx_set new file mode 100644 index 000000000..af4ac7c13 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_cast/homin/new_casts/cast_off_acid_loop.animation_fx_set @@ -0,0 +1,26 @@ + +
+ + + + + + + + + + + + + + + + + + + + Thu Feb 05 19:15:32 2004 (vizerie) .FX0.PSName = fdsfdsf +Wed Jul 21 10:30:11 2004 (gatto) .FX0.RepeatMode = Respawn +Wed Jul 21 10:42:56 2004 (gatto) .FX0.ScaleFX = true +Wed Jul 21 10:42:56 2004 (gatto) .FX1.ScaleFX = true + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_impact/acid_impact.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_impact/acid_impact.animation_fx_set new file mode 100644 index 000000000..041374f16 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_impact/acid_impact.animation_fx_set @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_impact/healhp_impact.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_impact/healhp_impact.animation_fx_set new file mode 100644 index 000000000..2dad4d39f --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_impact/healhp_impact.animation_fx_set @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base/_magic_projectile_cur_chain.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base/_magic_projectile_cur_chain.animation_fx_set new file mode 100644 index 000000000..2d6e50e37 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base/_magic_projectile_cur_chain.animation_fx_set @@ -0,0 +1,17 @@ + +
+ + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base/_magic_projectile_off_chain.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base/_magic_projectile_off_chain.animation_fx_set new file mode 100644 index 000000000..0a1bf25e2 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base/_magic_projectile_off_chain.animation_fx_set @@ -0,0 +1,24 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base_per_spell/_magic_projectile_acid.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base_per_spell/_magic_projectile_acid.animation_fx_set new file mode 100644 index 000000000..0b2dbd524 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base_per_spell/_magic_projectile_acid.animation_fx_set @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base_per_spell/_magic_projectile_healhp.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base_per_spell/_magic_projectile_healhp.animation_fx_set new file mode 100644 index 000000000..126a0afb0 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/base_per_spell/_magic_projectile_healhp.animation_fx_set @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/magic_projectile_acid_chain.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/magic_projectile_acid_chain.animation_fx_set new file mode 100644 index 000000000..d50382993 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/magic_projectile_acid_chain.animation_fx_set @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/magic_projectile_healhp_chain.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/magic_projectile_healhp_chain.animation_fx_set new file mode 100644 index 000000000..40bb6c5f0 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_magic_projectile/magic_projectile_healhp_chain.animation_fx_set @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_range_impact/range_impact_generic.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_range_impact/range_impact_generic.animation_fx_set new file mode 100644 index 000000000..45de25fc5 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_range_impact/range_impact_generic.animation_fx_set @@ -0,0 +1,18 @@ + +
+ + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_range_projectile/range_projectile_missile.animation_fx_set b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_range_projectile/range_projectile_missile.animation_fx_set new file mode 100644 index 000000000..4a54c42fa --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/combat/fx_range_projectile/range_projectile_missile.animation_fx_set @@ -0,0 +1,17 @@ + +
+ + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/links.id_to_string_array b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/links.id_to_string_array new file mode 100644 index 000000000..f1639ce18 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/links.id_to_string_array @@ -0,0 +1,9 @@ + +
+ + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/links/_link.animation_fx b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/links/_link.animation_fx new file mode 100644 index 000000000..d47ad132f --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/links/_link.animation_fx @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/misc/_range_impact_generic_base.animation_fx b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/misc/_range_impact_generic_base.animation_fx new file mode 100644 index 000000000..068b23f78 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/misc/_range_impact_generic_base.animation_fx @@ -0,0 +1,12 @@ + +
+ + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/misc/anim_fx_misc.id_to_string_array b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/misc/anim_fx_misc.id_to_string_array new file mode 100644 index 000000000..f1639ce18 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/misc/anim_fx_misc.id_to_string_array @@ -0,0 +1,9 @@ + +
+ + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/static/object_street_lamp.animation_fx b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/static/object_street_lamp.animation_fx new file mode 100644 index 000000000..30b916944 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/fx/static/object_street_lamp.animation_fx @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/mode2animset.string_array b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/mode2animset.string_array new file mode 100644 index 000000000..b4600ce12 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/anim/mode2animset.string_array @@ -0,0 +1,26 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/forage_source/0_0.forage_source b/code/ryzom/common/data_leveldesign/leveldesign/game_element/forage_source/0_0.forage_source new file mode 100644 index 000000000..7f17235b8 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/forage_source/0_0.forage_source @@ -0,0 +1,6 @@ + +
+ + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/forage_source/_fx0.forage_source b/code/ryzom/common/data_leveldesign/leveldesign/game_element/forage_source/_fx0.forage_source new file mode 100644 index 000000000..43393bcf0 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/forage_source/_fx0.forage_source @@ -0,0 +1,11 @@ + +
+ + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_0.fx b/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_0.fx new file mode 100644 index 000000000..c5917c2cc --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_0.fx @@ -0,0 +1,19 @@ + +
+ + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_1.fx b/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_1.fx new file mode 100644 index 000000000..bb84bf339 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_1.fx @@ -0,0 +1,19 @@ + +
+ + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_2.fx b/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_2.fx new file mode 100644 index 000000000..d506fb5ec --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/fx/toxic_cloud_2.fx @@ -0,0 +1,19 @@ + +
+ + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/building/empty.outpost_building b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/building/empty.outpost_building new file mode 100644 index 000000000..59acb953d --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/building/empty.outpost_building @@ -0,0 +1,14 @@ + +
+ + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/outpost/_outpost.outpost b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/outpost/_outpost.outpost new file mode 100644 index 000000000..297c4c418 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/outpost/_outpost.outpost @@ -0,0 +1,13 @@ + +
+ + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/outpost/example_outpost_01.outpost b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/outpost/example_outpost_01.outpost new file mode 100644 index 000000000..674a882d5 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/outpost/example_outpost_01.outpost @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/_free_squad_parent.outpost_squad b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/_free_squad_parent.outpost_squad new file mode 100644 index 000000000..391d5da75 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/_free_squad_parent.outpost_squad @@ -0,0 +1,12 @@ + +
+ + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_b.outpost_squad b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_b.outpost_squad new file mode 100644 index 000000000..14fa58ac6 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_b.outpost_squad @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_c.outpost_squad b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_c.outpost_squad new file mode 100644 index 000000000..14fa58ac6 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_c.outpost_squad @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_d.outpost_squad b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_d.outpost_squad new file mode 100644 index 000000000..14fa58ac6 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_d.outpost_squad @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_e.outpost_squad b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_e.outpost_squad new file mode 100644 index 000000000..14fa58ac6 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_e.outpost_squad @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_f.outpost_squad b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_f.outpost_squad new file mode 100644 index 000000000..14fa58ac6 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/outpost/squad/free_squad_light_melee_fighter_f.outpost_squad @@ -0,0 +1,10 @@ + +
+ + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_au.sky b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_au.sky new file mode 100644 index 000000000..83e981b17 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_au.sky @@ -0,0 +1,343 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_sp.sky b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_sp.sky new file mode 100644 index 000000000..25576a4d0 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_sp.sky @@ -0,0 +1,334 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_su.sky b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_su.sky new file mode 100644 index 000000000..7ff9ca703 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_su.sky @@ -0,0 +1,335 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_wi.sky b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_wi.sky new file mode 100644 index 000000000..704dec27b --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/test_sky/fo_mainland_wi.sky @@ -0,0 +1,335 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/common/data_leveldesign/leveldesign/game_element/xp_table/unblock.titles b/code/ryzom/common/data_leveldesign/leveldesign/game_element/xp_table/unblock.titles new file mode 100644 index 000000000..eeccae7d7 --- /dev/null +++ b/code/ryzom/common/data_leveldesign/leveldesign/game_element/xp_table/unblock.titles @@ -0,0 +1,52 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py index cd97ef675..c5db38fd3 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters/directories.py @@ -91,6 +91,7 @@ ShapeSourceDirectories += [ "stuff/caravan/agents/actors/visages" ] ShapeSourceDirectories += [ "stuff/caravan/agents/actors/ship" ] ShapeSourceDirectories += [ "stuff/generique/agents/actors/female" ] ShapeSourceDirectories += [ "stuff/generique/agents/actors/male" ] +ShapeSourceDirectories += [ "stuff/generique/agents/actors/visages" ] # Animation directories AnimSourceDirectories = [ ] diff --git a/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_generique.cfg b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_generique.cfg new file mode 100644 index 000000000..41bd8a2ef --- /dev/null +++ b/code/ryzom/tools/build_gamedata/workspace/common/characters_maps_hr/panoply_generique.cfg @@ -0,0 +1,7 @@ + +// the extension for the masks of the texture +// If "mask1" is a extension, and that there's a bitmap name "tex_mask1", it is a "mask1" mask for tex +// Each mask has its own set of colors +mask_extensions = { "skin" , "user" }; + +///////////////////////////////////////////// diff --git a/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py index 967111b05..dddf60ec8 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/exedll/directories.py @@ -76,6 +76,7 @@ CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_opengl_win_r.dll" ] CopyWindowsExeDllCfgSourceFiles += [ "nel_drv_xaudio2_win_r.dll" ] CopyWindowsExeDllCfgSourceFiles += [ "client_ryzom_r.exe" ] +CopyWindowsExeDllCfgSourceFiles += [ "ryzom_client_r.exe" ] # i blame sfb CopyWindowsExeDllCfgSourceFiles += [ "ryzom_configuration_r.exe" ] diff --git a/code/ryzom/tools/translation_tools/extract_bot_names.cpp b/code/ryzom/tools/translation_tools/extract_bot_names.cpp index 1b8e69d94..01f50d6cd 100644 --- a/code/ryzom/tools/translation_tools/extract_bot_names.cpp +++ b/code/ryzom/tools/translation_tools/extract_bot_names.cpp @@ -737,7 +737,7 @@ int extractBotNames(int argc, char *argv[]) } } - // display resumé + // display summary nlinfo("Adding %u new simple name", nbAddSimpleName); nlinfo("Adding %u new generic name", nbAddGenericName); nlinfo("Adding %u new function name", nbAddFunction);