diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp index 6501d70c4..6ebcff4c7 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp @@ -188,6 +188,9 @@ bool GlWndProc(CDriverGL *driver, const void* e) static Atom XA_WM_STATE = 0; static Atom XA_WM_STATE_FULLSCREEN = 0; static Atom XA_WM_ICON = 0; +static Atom XA_WM_WINDOW_TYPE = 0; +static Atom XA_WM_WINDOW_TYPE_NORMAL = 0; +static Atom XA_FRAME_EXTENTS = 0; sint nelXErrorsHandler(Display *dpy, XErrorEvent *e) { @@ -233,7 +236,7 @@ bool GlWndProc(CDriverGL *driver, XEvent &e) break; case Expose: - nlwarning("Expose event"); +// nlwarning("Expose event"); break; case ConfigureNotify: @@ -243,20 +246,36 @@ bool GlWndProc(CDriverGL *driver, XEvent &e) // first time setting decoration sizes if ((driver->_DecorationWidth == -1) || (driver->_DecorationWidth == 0)) { - driver->_DecorationWidth = e.xconfigure.x - driver->_WindowX; - driver->_DecorationHeight = e.xconfigure.y - driver->_WindowY; + Atom type_return = 0; + int format_return = 0; + unsigned long nitems_return = 0; + unsigned long bytes_after_return = 0; + long *data = NULL; + + int status = XGetWindowProperty(driver->_dpy, driver->_win, XA_FRAME_EXTENTS, 0, 4, False, XA_CARDINAL, &type_return, &format_return, &nitems_return, &bytes_after_return, (unsigned char**)&data); - nlwarning("Decoration size x = %d, y = %d", driver->_DecorationWidth, driver->_DecorationHeight); + // succeeded to retrieve decoration size + if (status == Success && type_return == XA_CARDINAL && format_return == 32 && nitems_return == 4 && data) + { + driver->_DecorationWidth = data[0]; + driver->_DecorationHeight = data[2]; + } + else + { + // use difference between current position and previous one (set by application) + driver->_DecorationWidth = e.xconfigure.x - driver->_WindowX; + driver->_DecorationHeight = e.xconfigure.y - driver->_WindowY; + } + + // don't allow negative decoration sizes + if (driver->_DecorationWidth < 0) driver->_DecorationWidth = 0; + if (driver->_DecorationHeight < 0) driver->_DecorationHeight = 0; } driver->_CurrentMode.Width = e.xconfigure.width; driver->_CurrentMode.Height = e.xconfigure.height; driver->_WindowX = e.xconfigure.x - driver->_DecorationWidth; driver->_WindowY = e.xconfigure.y - driver->_DecorationHeight; - - XConfigureEvent event = e.xconfigure; - - nlwarning("Configure x = %d, y = %d, width = %d, height = %d, send event = %d", event.x, event.y, event.width, event.height, event.send_event); } break; @@ -401,6 +420,9 @@ bool CDriverGL::init (uint windowIcon, emptyProc exitFunc) XA_WM_STATE = XInternAtom(_dpy, "_NET_WM_STATE", False); XA_WM_STATE_FULLSCREEN = XInternAtom(_dpy, "_NET_WM_STATE_FULLSCREEN", False); XA_WM_ICON = XInternAtom(_dpy, "_NET_WM_ICON", False); + XA_WM_WINDOW_TYPE = XInternAtom(_dpy, "_NET_WM_WINDOW_TYPE", False); + XA_WM_WINDOW_TYPE_NORMAL = XInternAtom(_dpy, "_NET_WM_WINDOW_TYPE_NORMAL", False); + XA_FRAME_EXTENTS = XInternAtom(_dpy, "_NET_FRAME_EXTENTS", False); #endif @@ -1528,6 +1550,42 @@ bool CDriverGL::createWindow(const GfxMode &mode) return false; } + // normal window type + XChangeProperty(_dpy, window, XA_WM_WINDOW_TYPE, XA_ATOM, 32, PropModeReplace, (const unsigned char*)&XA_WM_WINDOW_TYPE_NORMAL, 1); + + // set WM hints + XWMHints *wm_hints = XAllocWMHints(); + + if (wm_hints) + { + wm_hints->flags = StateHint | InputHint; + wm_hints->initial_state = NormalState; + wm_hints->input = True; + + XSetWMHints(_dpy, window, wm_hints); + XFree(wm_hints); + } + else + { + nlwarning("3D: Couldn't allocate XWMHints"); + } + + // set class hints + XClassHint *class_hints = XAllocClassHint(); + + if (class_hints) + { + class_hints->res_name = (char*)"NeL"; + class_hints->res_class = (char*)"nel"; + + XSetClassHint(_dpy, window, class_hints); + XFree(class_hints); + } + else + { + nlwarning("3D: Couldn't allocate XClassHint"); + } + #endif // NL_OS_UNIX _win = window; @@ -2201,11 +2259,19 @@ void CDriverGL::setWindowTitle(const ucstring &title) #elif defined (NL_OS_UNIX) #ifdef X_HAVE_UTF8_STRING + // UTF8 properties Xutf8SetWMProperties (_dpy, _win, (char*)title.toUtf8().c_str(), (char*)title.toUtf8().c_str(), NULL, 0, NULL, NULL, NULL); #else + // standard properties XTextProperty text_property; - XStringListToTextProperty((char**)&title.toUtf8().c_str(), 1, &text_property); - XSetWMProperties (_dpy, _win, &text_property, &text_property, 0, 0, NULL, 0, 0); + if (XStringListToTextProperty((char**)&title.toUtf8().c_str(), 1, &text_property) != 0) + { + XSetWMProperties (_dpy, _win, &text_property, &text_property, NULL, 0, NULL, NULL, NULL); + } + else + { + nlwarning("3D: Can't convert title to TextProperty"); + } #endif #endif // NL_OS_WINDOWS 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..8be6fcd93 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; @@ -218,9 +214,6 @@ void CPluginManager::setPluginState(CPluginSpec *spec, int destState) switch (destState) { - case State::Loaded: - spec->loadLibrary(); - return; case State::Resolved: spec->resolveDependencies(m_pluginSpecs); return; @@ -233,18 +226,21 @@ 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) { spec->m_hasError = true; - spec->m_errorString = tr("Cannot initializing plugin because dependency failed to load: %1\nReason: %2") - .arg(depSpec->name()).arg(depSpec->errorString()); + spec->m_errorString = tr("Cannot load plugin because dependency failed to load: %1") + .arg(depSpec->name()); return; } } switch (destState) { + case State::Loaded: + spec->loadLibrary(); + return; case State::Initialized: spec->initializePlugin(); break; @@ -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/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/CMakeLists.txt index 3140f02fb..927e35eaa 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/CMakeLists.txt @@ -11,7 +11,6 @@ SET(OVQT_EXT_SYS_SRC ${CMAKE_CURRENT_SOURCE_DIR}/../../extension_system/iplugin. SET(OVQT_CORE_PLUGIN_HDR icore.h icontext.h - imenu_manager.h icore_listener.h ioptions_page.h core_plugin.h 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..f34dd6ae6 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 @@ -30,14 +30,14 @@ class CoreImpl : public ICore Q_OBJECT public: - CoreImpl(MainWindow *mainWindow); + explicit CoreImpl(MainWindow *mainWindow); virtual ~CoreImpl(); virtual bool showOptionsDialog(const QString &group = QString(), 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 cfe6b7e80..6eb7d41f4 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 PRIMITIVES_PATH = "PrimitivesPath"; +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 PRIMITIVES_PATH = "PrimitivesPath"; const char * const ASSETS_PATH = "AssetsPath"; -const char * const LIGOCONFIG_FILE = "LigoConfigFile"; -const char * const REMAP_EXTENSIONS = "RemapExtensions"; +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/general_settings_page.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.h index 22ab30e45..66eacd189 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/core/general_settings_page.h @@ -37,7 +37,7 @@ class GeneralSettingsPage : public Core::IOptionsPage Q_OBJECT public: - GeneralSettingsPage(QObject *parent = 0); + explicit GeneralSettingsPage(QObject *parent = 0); ~GeneralSettingsPage(); QString id() const; 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..fd6af8f3a 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); + 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/landscape_editor/landscape_editor_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/landscape_editor/landscape_editor_window.cpp index 4b075adfc..0bb482c72 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/landscape_editor/landscape_editor_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/landscape_editor/landscape_editor_window.cpp @@ -20,7 +20,6 @@ #include "landscape_editor_constants.h" #include "../core/icore.h" -#include "../core/imenu_manager.h" #include "../core/core_constants.h" // NeL includes @@ -72,7 +71,6 @@ void LandscapeEditorWindow::open() void LandscapeEditorWindow::createMenus() { - Core::IMenuManager *menuManager = Core::ICore::instance()->menuManager(); } void LandscapeEditorWindow::readSettings() diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/log/log_plugin.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/log/log_plugin.cpp index 4eb02bd31..5a8c64f93 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/log/log_plugin.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/log/log_plugin.cpp @@ -21,7 +21,7 @@ #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" // Qt includes @@ -78,7 +78,7 @@ namespace Plugin setDisplayers(); Core::ICore *core = Core::ICore::instance(); - Core::IMenuManager *menuManager = core->menuManager(); + Core::MenuManager *menuManager = core->menuManager(); QMenu *viewMenu = menuManager->menu(Core::Constants::M_VIEW); QMainWindow *wnd = Core::ICore::instance()->mainWindow(); 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..769c09e40 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 @@ -379,7 +379,7 @@ bool MissionCompilerMainWindow::parsePrimForMissions(NLLIGO::IPrimitive const *p { std::string value; // if the node is a mission parse it - if (prim->getPropertyByName("class",value) && !stricmp(value.c_str(),"mission") ) + if (prim->getPropertyByName("class",value) && !NLMISC::stricmp(value.c_str(),"mission") ) { std::string name; prim->getPropertyByName("name",name); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.ui index d68b1a76d..dace315ab 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.ui +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/mission_compiler/mission_compiler_main_window.ui @@ -234,9 +234,10 @@ + 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 f82789e66..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 Core::Constants::OVQT_VENDOR; -} - -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 03326cf44..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 @@ -2587,9 +2587,10 @@ bool CExportNel::calculateLM( CMesh::CMeshBuild *pZeMeshBuild, CMeshBase::CMeshB string sLMName = sBaseName + NLMISC::toString(i) + ".tga"; if (CFile::fileExists(sLMName)) { + nlinfo("DELETE %s", sLMName.c_str()); if (!CFile::deleteFile(sLMName)) { - nlwarning("Failed to delete file %s.", sLMName.c_str()); + nlwarning("Failed to delete file %s", sLMName.c_str()); } } } @@ -2608,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/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/8_upload.py b/code/nel/tools/build_gamedata/8_upload.py new file mode 100644 index 000000000..3cfbd77ef --- /dev/null +++ b/code/nel/tools/build_gamedata/8_upload.py @@ -0,0 +1,177 @@ +#!/usr/bin/python +# +# \file 8_upload.py +# \brief Upload data to servers +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Game data build pipeline. +# Upload data to servers +# +# NeL - MMORPG Framework +# Copyright (C) 2011 Kaetemi +# +# 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 . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from tools import * + +try: + from upload import * +except ImportError: + # Not documenting this. Because we can. + printLog(log, "ERROR Upload not configured, bye.") + exit() + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Upload data to servers") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Find tools +# Not documenting this. Because we can. +Psftp = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, UploadPsftpTool) +printLog(log, "PSFTP " + Psftp) + +def downloadVersionTag(server, user, dir): + if os.path.isfile("upload.tag"): + os.remove("upload.tag") + if os.path.isfile("upload.batch"): + os.remove("upload.batch") + ub = open("upload.batch", "w") + ub.write("cd " + dir + "\n") + ub.write("get upload.tag upload.tag\n") + ub.write("quit\n") + ub.close() + subprocess.call([ Psftp, "-b", "upload.batch", user + "@" + server ]) + os.remove("upload.batch") + if os.path.isfile("upload.tag"): + ft = open("upload.tag") + result = float(ft.read()) # float, really + ft.close() + os.remove("upload.tag") + printLog(log, "INFO Upload tag is " + str(result)) + return result + else: + printLog(log, "WARNING Upload tag not found, uploading everything") + return 0 + +def isDirectoryNeeded(ft, dir): + files = os.listdir(dir) + for fileName in files: + if isLegalFileName(fileName): + fileFull = dir + "/" + fileName + if os.path.isfile(fileFull): + nftf = os.stat(fileFull).st_mtime + if nftf > ft: + return True + elif os.path.isdir(fileFull): + if isDirectoryNeeded(ft, fileFull): + return True + elif not os.path.isdir(fileFull): + printLog(log, "isDirectoryNeeded: file not dir or file?!" + fileFull) + return False + +def listDirectoryUpload(ft, ub, udb, dir): + nft = 0 + files = os.listdir(dir) + for fileName in files: + if isLegalFileName(fileName): + fileFull = dir + "/" + fileName + if os.path.isfile(fileFull): + nftf = os.stat(fileFull).st_mtime + if nftf > ft: + ub.write("put " + fileFull + " " + fileName + "\n") + if nftf > nft: + nft = nftf + elif os.path.isdir(fileFull): + if isDirectoryNeeded(ft, fileFull): + udb.write("mkdir " + fileName + "\n") + ub.write("cd " + fileName + "\n") + udb.write("cd " + fileName + "\n") + nft2 = listDirectoryUpload(ft, ub, udb, fileFull) + if (nft2 > nft): + nft = nft2 + ub.write("cd ..\n") + udb.write("cd ..\n") + elif not os.path.isdir(fileFull): + printLog(log, "listDirectoryUpload: file not dir or file?!" + fileFull) + return nft + +def uploadSftp(server, user, dir_to, dir_from, addcmd): + ft = downloadVersionTag(server, user, dir_to) + if isDirectoryNeeded(ft, dir_from): + if os.path.isfile("upload_dir.batch"): + os.remove("upload_dir.batch") + if os.path.isfile("upload.batch"): + os.remove("upload.batch") + udb = open("upload_dir.batch", "w") + udb.write("cd " + dir_to + "\n") + ub = open("upload.batch", "w") + ub.write("cd " + dir_to + "\n") + for ac in addcmd: + ub.write(ac + "\n") + ftn = listDirectoryUpload(ft, ub, udb, dir_from) + if (ft > ftn): + ftn = ft + nft = open("upload.tag", "w") + nft.write(str(ftn)) + nft.close() + ub.write("put upload.tag upload.tag\n") + ub.write("quit\n") + ub.close() + udb.write("quit\n") + udb.close() + subprocess.call([ Psftp, "-be", "-b", "upload_dir.batch", user + "@" + server ]) + subprocess.call([ Psftp, "-b", "upload.batch", user + "@" + server ]) + os.remove("upload_dir.batch") + os.remove("upload.batch") + os.remove("upload.tag") + else: + printLog(log, "SKIP " + dir_to) + +printLog(log, ">>> Upload patch <<<") +for target in UploadPatch: + uploadSftp(target[0], target[1], target[3], ClientPatchDirectory + "/patch", [ ]) + +printLog(log, ">>> Upload data_shard <<<") +for target in UploadShard: + uploadSftp(target[0], target[1], target[3], DataShardDirectory, [ "rm *.packed_sheets", "rm primitive_cache/*.binprim" ]) + +printLog(log, ">>> Upload data_common <<<") +for target in UploadCommon: + uploadSftp(target[0], target[1], target[3], DataCommonDirectory, [ ]) + +printLog(log, ">>> Upload data_leveldesign <<<") +for target in UploadLeveldesign: + uploadSftp(target[0], target[1], target[3], LeveldesignDirectory, [ ]) + +log.close() +if os.path.isfile("8_upload.log"): + os.remove("8_upload.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_upload.log") +shutil.move("log.log", "8_upload.log") diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.py index b1c3e5966..2e3f07ec9 100644 --- a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.py +++ b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.py @@ -1,16 +1,7 @@ -printLog(log, ">>> List %PreGenFileExtension% <<<") -outDirPacsPrim = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% -mkPath(log, outDirPacsPrim) +# Remove bad file from previous script version listPath = ExportBuildDirectory + "/" + %PreGenExportDirectoryVariable% + "/landscape_col_prim_pacs_list.txt" if os.path.isfile(listPath): os.remove(listPath) -if WantLandscapeColPrimPacsList: - exportedPacsPrims = findFiles(log, outDirPacsPrim, "", ".%PreGenFileExtension%") - printLog(log, "WRITE " + listPath) - listFile = open(listPath, "w") - for exported in exportedPacsPrims: - listFile.write(exported + "\n") - listFile.close() 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/interface_dev.bat b/code/nel/tools/build_gamedata/interface_dev.bat new file mode 100644 index 000000000..1c5fa04eb --- /dev/null +++ b/code/nel/tools/build_gamedata/interface_dev.bat @@ -0,0 +1,4 @@ +1_export.py -ipj common/gamedev common/data_common common/exedll common/cfg common/interface common/sfx common/fonts common/outgame +2_build.py -ipj common/gamedev common/data_common common/exedll common/cfg common/interface common/sfx common/fonts common/outgame +3_install.py -ipj common/gamedev common/data_common common/exedll common/cfg common/interface common/sfx common/fonts common/outgame +5_client_dev.py diff --git a/code/nel/tools/build_gamedata/leveldesign_dev.bat b/code/nel/tools/build_gamedata/leveldesign_dev.bat new file mode 100644 index 000000000..fca3c1561 --- /dev/null +++ b/code/nel/tools/build_gamedata/leveldesign_dev.bat @@ -0,0 +1,4 @@ +1_export.py -ipj common/gamedev common/data_common common/leveldesign common/exedll common/cfg +2_build.py -ipj common/gamedev common/data_common common/leveldesign common/exedll common/cfg +3_install.py -ipj common/gamedev common/data_common common/leveldesign common/exedll common/cfg +5_client_dev.py 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/pacs_prim/1_export.py b/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py index 5779a8cd7..e21fb4fde 100644 --- a/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py +++ b/code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export pacs_prim -# \date 2010-09-19-14-19-GMT +# \date 2011-09-28-07-42-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export pacs_prim @@ -92,19 +92,10 @@ if MaxAvailable: -printLog(log, ">>> List pacs_prim <<<") -outDirPacsPrim = ExportBuildDirectory + "/" + PacsPrimExportDirectory -mkPath(log, outDirPacsPrim) +# Remove bad file from previous script version listPath = ExportBuildDirectory + "/" + PacsPrimExportDirectory + "/landscape_col_prim_pacs_list.txt" if os.path.isfile(listPath): os.remove(listPath) -if WantLandscapeColPrimPacsList: - exportedPacsPrims = findFiles(log, outDirPacsPrim, "", ".pacs_prim") - printLog(log, "WRITE " + listPath) - listFile = open(listPath, "w") - for exported in exportedPacsPrims: - listFile.write(exported + "\n") - listFile.close() diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim_list/0_setup.py b/code/nel/tools/build_gamedata/processes/pacs_prim_list/0_setup.py new file mode 100644 index 000000000..0fad037bb --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/pacs_prim_list/0_setup.py @@ -0,0 +1,58 @@ +#!/usr/bin/python +# +# \file 0_setup.py +# \brief setup pacs_prim_list +# \date 2011-09-28 7:22GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Setup pacs_prim_list +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# 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 . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Setup pacs_prim_list") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +# Setup source directories +printLog(log, ">>> Setup source directories <<<") +for dir in PacsPrimExportSourceDirectories: + mkPath(log, ExportBuildDirectory + "/" + dir) + +# Setup build directories +printLog(log, ">>> Setup build directories <<<") +mkPath(log, DataCommonDirectory) # no choice + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim_list/1_export.py b/code/nel/tools/build_gamedata/processes/pacs_prim_list/1_export.py new file mode 100644 index 000000000..1126f23a1 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/pacs_prim_list/1_export.py @@ -0,0 +1,53 @@ +#!/usr/bin/python +# +# \file 1_export.py +# \brief Export pacs_prim_list +# \date 2011-09-28 7:22GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Export pacs_prim_list +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# 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 . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Export pacs_prim_list") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +printLog(log, ">>> Nothing to do! <<<") + +printLog(log, "") + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim_list/2_build.py b/code/nel/tools/build_gamedata/processes/pacs_prim_list/2_build.py new file mode 100644 index 000000000..9b5d52541 --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/pacs_prim_list/2_build.py @@ -0,0 +1,63 @@ +#!/usr/bin/python +# +# \file 2_build.py +# \brief Build pacs_prim_list +# \date 2011-09-28 7:22GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Build pacs_prim_list +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# 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 . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Build pacs_prim_list") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +printLog(log, ">>> List pacs_prim <<<") +listPath = DataCommonDirectory + "/landscape_col_prim_pacs_list.txt" +if os.path.isfile(listPath): + os.remove(listPath) +listFile = open(listPath, "w") +printLog(log, "WRITE " + listPath) +for dir in PacsPrimExportSourceDirectories: + outDirPacsPrim = ExportBuildDirectory + "/" + dir + mkPath(log, outDirPacsPrim) + exportedPacsPrims = findFiles(log, outDirPacsPrim, "", ".pacs_prim") + for exported in exportedPacsPrims: + listFile.write(exported + "\n") +listFile.close() + +log.close() + + +# end of file diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim_list/3_install.py b/code/nel/tools/build_gamedata/processes/pacs_prim_list/3_install.py new file mode 100644 index 000000000..076f92efa --- /dev/null +++ b/code/nel/tools/build_gamedata/processes/pacs_prim_list/3_install.py @@ -0,0 +1,52 @@ +#!/usr/bin/python +# +# \file 3_install.py +# \brief Install pacs_prim_list +# \date 2011-09-28 7:22GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install pacs_prim_list +# +# NeL - MMORPG Framework +# Copyright (C) 2010 Winch Gate Property Limited +# +# 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 . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("../../configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite import * +from process import * +from tools import * +from directories import * + +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install pacs_prim_list") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +printLog(log, ">>> Nothing to do! <<<") + +printLog(log, "") +log.close() + + +# end of file 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/sheet_id/2_build.py b/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py index f935a4500..64b46c91f 100644 --- a/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py +++ b/code/nel/tools/build_gamedata/processes/sheet_id/2_build.py @@ -54,7 +54,7 @@ if MakeSheetId == "": else: mkPath(log, LeveldesignDirectory) mkPath(log, LeveldesignWorldDirectory) - subprocess.call([ MakeSheetId, "-o" + LeveldesignDirectory + "/game_elem/sheet_id.bin", LeveldesignDirectory + "/game_elem", LeveldesignDirectory + "/game_element", LeveldesignWorldDirectory ]) + subprocess.call([ MakeSheetId, "-o" + LeveldesignDirectory + "/game_elem/sheet_id.bin", LeveldesignDirectory + "/game_elem", LeveldesignDirectory + "/game_element", LeveldesignWorldDirectory, DataShardDirectory + "mirror_sheets" ]) printLog(log, "") log.close() diff --git a/code/nel/tools/build_gamedata/processes/sheets/2_build.py b/code/nel/tools/build_gamedata/processes/sheets/2_build.py index 511b05004..40d7774c3 100644 --- a/code/nel/tools/build_gamedata/processes/sheets/2_build.py +++ b/code/nel/tools/build_gamedata/processes/sheets/2_build.py @@ -77,6 +77,8 @@ else: cf.write("\n") cf.close() subprocess.call([ SheetsPacker ]) + copyFileIfNeeded(log, "visual_slot.tab", DataCommonDirectory + "/visual_slot.tab") + os.remove("visual_slot.tab") printLog(log, "") log.close() 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/skel/1_export.py b/code/nel/tools/build_gamedata/processes/skel/1_export.py index af73024c5..84e9ce931 100644 --- a/code/nel/tools/build_gamedata/processes/skel/1_export.py +++ b/code/nel/tools/build_gamedata/processes/skel/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export skel -# \date 2010-09-19-14-19-GMT +# \date 2011-09-28-07-42-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export skel diff --git a/code/nel/tools/build_gamedata/processes/swt/1_export.py b/code/nel/tools/build_gamedata/processes/swt/1_export.py index 3b8da1d0f..6ad3c8f13 100644 --- a/code/nel/tools/build_gamedata/processes/swt/1_export.py +++ b/code/nel/tools/build_gamedata/processes/swt/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export swt -# \date 2010-09-19-14-19-GMT +# \date 2011-09-28-07-42-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export swt 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/nel/tools/build_gamedata/processes/zone/1_export.py b/code/nel/tools/build_gamedata/processes/zone/1_export.py index 8b34753c9..d464e3f31 100644 --- a/code/nel/tools/build_gamedata/processes/zone/1_export.py +++ b/code/nel/tools/build_gamedata/processes/zone/1_export.py @@ -6,7 +6,7 @@ # # \file 1_export.py # \brief Export zone -# \date 2010-09-19-14-19-GMT +# \date 2011-09-28-07-42-GMT # \author Jan Boon (Kaetemi) # Python port of game data build pipeline. # Export zone diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index 55d09c69e..a43dd97c0 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -921,20 +921,32 @@ void prelogInit() Driver->setWindowTitle(CI18N::get("TheSagaOfRyzom")); #if defined(NL_OS_UNIX) && !defined(NL_OS_MAC) - vector bitmaps; - - string fileName = "/usr/share/pixmaps/ryzom.png"; + // add all existing icons + vector filenames; + filenames.push_back("/usr/share/icons/hicolor/128x128/apps/ryzom.png"); + filenames.push_back("/usr/share/icons/hicolor/48x48/apps/ryzom.png"); + filenames.push_back("/usr/share/icons/hicolor/32x32/apps/ryzom.png"); + filenames.push_back("/usr/share/icons/hicolor/24x24/apps/ryzom.png"); + filenames.push_back("/usr/share/icons/hicolor/22x22/apps/ryzom.png"); + filenames.push_back("/usr/share/icons/hicolor/16x16/apps/ryzom.png"); + filenames.push_back("/usr/share/pixmaps/ryzom.png"); + // check if an icon is present in registered paths if(CPath::exists("ryzom.png")) - fileName = CPath::lookup("ryzom.png"); + filenames.push_back(CPath::lookup("ryzom.png")); - CIFile file; - - if (file.open(fileName)) + vector bitmaps; + + for(size_t i = 0; i < filenames.size(); ++i) { - CBitmap bitmap; - if (bitmap.load(file)) - bitmaps.push_back(bitmap); + CIFile file; + + if (CFile::fileExists(filenames[i]) && file.open(filenames[i])) + { + CBitmap bitmap; + if (bitmap.load(file)) + bitmaps.push_back(bitmap); + } } Driver->setWindowIcon(bitmaps); 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_common/visual_slot.tab b/code/ryzom/common/data_common/visual_slot.tab deleted file mode 100644 index 0bedd735d..000000000 Binary files a/code/ryzom/common/data_common/visual_slot.tab and /dev/null differ 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/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/data_common/directories.py b/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py index 4cf2384e9..c2399a190 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/data_common/directories.py @@ -57,7 +57,17 @@ CopyDatabaseSourceDirectories = [ ] CopyDatabaseSourceFiles = [ ] +# *** SOURCE DIRECTORIES IN THE EXPORT/BUILD *** + +# Pacs prim list source directories +PacsPrimExportSourceDirectories = [ ] +PacsPrimExportSourceDirectories += [ "ecosystems/desert/pacs_prim" ] +PacsPrimExportSourceDirectories += [ "ecosystems/jungle/pacs_prim" ] +PacsPrimExportSourceDirectories += [ "ecosystems/lacustre/pacs_prim" ] +PacsPrimExportSourceDirectories += [ "ecosystems/primes_racines/pacs_prim" ] + + # *** INSTALL DIRECTORIES IN THE CLIENT DATA *** -# Particule system directory +# Common data install directory CopyInstallDirectory = CommonName diff --git a/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py b/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py index f868e1f94..d00d44e8a 100644 --- a/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py +++ b/code/ryzom/tools/build_gamedata/workspace/common/data_common/process.py @@ -28,6 +28,7 @@ # *** PROCESS CONFIG *** ProcessToComplete = [ ] +ProcessToComplete += [ "pacs_prim_list" ] ProcessToComplete += [ "copy" ] @@ -36,6 +37,9 @@ CommonName = "data_common" CommonPath = "common/" + CommonName +# *** PACS PRIM LIST OPTIONS *** + + # *** COPY DIR OPTIONS *** diff --git a/code/ryzom/tools/build_gamedata/workspace/projects.py b/code/ryzom/tools/build_gamedata/workspace/projects.py index b1f93eabd..d5c000732 100644 --- a/code/ryzom/tools/build_gamedata/workspace/projects.py +++ b/code/ryzom/tools/build_gamedata/workspace/projects.py @@ -44,8 +44,8 @@ ProjectsToProcess += [ "common/characters_maps_hr" ] # Common client data and leveldesign projects ProjectsToProcess += [ "common/fonts" ] ProjectsToProcess += [ "common/gamedev" ] -ProjectsToProcess += [ "common/data_common" ] ProjectsToProcess += [ "common/leveldesign" ] +ProjectsToProcess += [ "common/data_common" ] ProjectsToProcess += [ "common/exedll" ] ProjectsToProcess += [ "common/cfg" ] diff --git a/code/ryzom/tools/pdr_util/pdr_util.cpp b/code/ryzom/tools/pdr_util/pdr_util.cpp index 771a0c5eb..96a6653a1 100644 --- a/code/ryzom/tools/pdr_util/pdr_util.cpp +++ b/code/ryzom/tools/pdr_util/pdr_util.cpp @@ -86,6 +86,7 @@ int main(int argc, char *argv[]) break; case 'o': outputFileName = paramValue; + break; default: fprintf(stderr, "Unknown parameter '%s'", args[i].c_str()); return -1; 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);