From 3a7f25bc79b88db857ead6e7deecdbebfe419d93 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 23 Feb 2013 00:13:44 +0100 Subject: [PATCH 001/152] MODIFIED: Views can now be selected too from the central widget. --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/ctrl_base.h | 4 +-- code/nel/include/nel/gui/interface_element.h | 1 + code/nel/include/nel/gui/view_base.h | 4 +++ code/nel/include/nel/gui/view_text.h | 2 ++ code/nel/include/nel/gui/widget_manager.h | 3 ++ code/nel/src/gui/ctrl_base.cpp | 3 ++ code/nel/src/gui/ctrl_base_button.cpp | 6 ---- code/nel/src/gui/view_base.cpp | 18 ++++++++++ code/nel/src/gui/view_text.cpp | 5 +++ code/nel/src/gui/widget_manager.cpp | 37 ++++++++++++++++++-- 10 files changed, 72 insertions(+), 11 deletions(-) diff --git a/code/nel/include/nel/gui/ctrl_base.h b/code/nel/include/nel/gui/ctrl_base.h index fe8d5ea60..28eeb2cd0 100644 --- a/code/nel/include/nel/gui/ctrl_base.h +++ b/code/nel/include/nel/gui/ctrl_base.h @@ -68,9 +68,7 @@ namespace NLGUI // special parse virtual bool parse(xmlNodePtr cur, CInterfaceGroup *parentGroup); - - /// Handle all events (implemented by derived classes) (return true to signal event handled) - virtual bool handleEvent (const NLGUI::CEventDescriptor &event); + bool handleEvent (const NLGUI::CEventDescriptor &event); virtual CCtrlBase *getSubCtrl (sint32 /* x */, sint32 /* y */) { return this; } diff --git a/code/nel/include/nel/gui/interface_element.h b/code/nel/include/nel/gui/interface_element.h index 210c24b2e..570dbf689 100644 --- a/code/nel/include/nel/gui/interface_element.h +++ b/code/nel/include/nel/gui/interface_element.h @@ -473,6 +473,7 @@ namespace NLGUI bool isInGroup( CInterfaceGroup *group ); static void setEditorMode( bool b ){ editorMode = b; } + static bool getEditorMode(){ return editorMode; } void setEditorSelected( bool b ){ editorSelected = b; } bool isEditorSelected() const{ return editorSelected; } diff --git a/code/nel/include/nel/gui/view_base.h b/code/nel/include/nel/gui/view_base.h index b7d2aceab..f64803720 100644 --- a/code/nel/include/nel/gui/view_base.h +++ b/code/nel/include/nel/gui/view_base.h @@ -25,6 +25,7 @@ namespace NLGUI { + class CEventDescriptor; class CViewBase : public CInterfaceElement { @@ -76,6 +77,9 @@ namespace NLGUI // special for mouse over : return true and fill the name of the cursor to display virtual bool getMouseOverShape(std::string &/* texName */, uint8 &/* rot */, NLMISC::CRGBA &/* col */) { return false; } + + /// Handle all events (implemented by derived classes) (return true to signal event handled) + virtual bool handleEvent (const NLGUI::CEventDescriptor &evnt); }; diff --git a/code/nel/include/nel/gui/view_text.h b/code/nel/include/nel/gui/view_text.h index df3cf27e3..fa9e184b7 100644 --- a/code/nel/include/nel/gui/view_text.h +++ b/code/nel/include/nel/gui/view_text.h @@ -188,6 +188,8 @@ namespace NLGUI int luaSetLineMaxW(CLuaState &ls); + bool handleEvent( const NLGUI::CEventDescriptor &evnt ); + REFLECT_EXPORT_START(CViewText, CViewBase) REFLECT_STRING("hardtext", getHardText, setHardText); REFLECT_UCSTRING("uc_hardtext", getText, setText); diff --git a/code/nel/include/nel/gui/widget_manager.h b/code/nel/include/nel/gui/widget_manager.h index 7fedc6240..5700a52e6 100644 --- a/code/nel/include/nel/gui/widget_manager.h +++ b/code/nel/include/nel/gui/widget_manager.h @@ -341,6 +341,7 @@ namespace NLGUI /** * Capture */ + CViewBase *getCapturedView(){ return _CapturedView; } CCtrlBase *getCapturePointerLeft() { return _CapturePointerLeft; } CCtrlBase *getCapturePointerRight() { return _CapturePointerRight; } CCtrlBase *getCaptureKeyboard() { return _CaptureKeyboard; } @@ -510,6 +511,8 @@ namespace NLGUI NLMISC::CRefPtr _CapturePointerLeft; NLMISC::CRefPtr _CapturePointerRight; + NLMISC::CRefPtr< CViewBase > _CapturedView; + // What is under pointer std::vector< CViewBase* > _ViewsUnderPointer; std::vector< CCtrlBase* > _CtrlsUnderPointer; diff --git a/code/nel/src/gui/ctrl_base.cpp b/code/nel/src/gui/ctrl_base.cpp index 8cd51f026..c2f467736 100644 --- a/code/nel/src/gui/ctrl_base.cpp +++ b/code/nel/src/gui/ctrl_base.cpp @@ -37,6 +37,9 @@ namespace NLGUI // *************************************************************************** bool CCtrlBase::handleEvent(const NLGUI::CEventDescriptor &event) { + if( CViewBase::handleEvent( event ) ) + return true; + if (event.getType() == NLGUI::CEventDescriptor::system) { NLGUI::CEventDescriptorSystem &eds = (NLGUI::CEventDescriptorSystem&)event; diff --git a/code/nel/src/gui/ctrl_base_button.cpp b/code/nel/src/gui/ctrl_base_button.cpp index 4c892ecc7..16b2a3ad4 100644 --- a/code/nel/src/gui/ctrl_base_button.cpp +++ b/code/nel/src/gui/ctrl_base_button.cpp @@ -668,12 +668,6 @@ namespace NLGUI if (CWidgetManager::getInstance()->getCapturePointerLeft() != this) return false; - if( editorMode ) - { - CWidgetManager::getInstance()->setCurrentEditorSelection( getId() ); - return true; - } - if (_LeftDblClickHandled) // no effect on mouse up after double click has been handled { _LeftDblClickHandled = false; diff --git a/code/nel/src/gui/view_base.cpp b/code/nel/src/gui/view_base.cpp index cf1e01ede..ebe18b979 100644 --- a/code/nel/src/gui/view_base.cpp +++ b/code/nel/src/gui/view_base.cpp @@ -45,5 +45,23 @@ namespace NLGUI CInterfaceElement::visit(visitor); } + + bool CViewBase::handleEvent( const NLGUI::CEventDescriptor &evnt ) + { + if( evnt.getType() == NLGUI::CEventDescriptor::mouse ) + { + const NLGUI::CEventDescriptorMouse &eventDesc = ( const NLGUI::CEventDescriptorMouse& )evnt; + if( eventDesc.getEventTypeExtended() == NLGUI::CEventDescriptorMouse::mouseleftdown ) + { + if( editorMode ) + { + CWidgetManager::getInstance()->setCurrentEditorSelection( getId() ); + return true; + } + } + } + return false; + } + } diff --git a/code/nel/src/gui/view_text.cpp b/code/nel/src/gui/view_text.cpp index 85e76a09c..b9d58ae45 100644 --- a/code/nel/src/gui/view_text.cpp +++ b/code/nel/src/gui/view_text.cpp @@ -2945,6 +2945,11 @@ namespace NLGUI } } + bool CViewText::handleEvent( const NLGUI::CEventDescriptor &evnt ) + { + return false; + } + // *************************************************************************** void CViewText::serial(NLMISC::IStream &f) { diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index b12ddff3c..c923c40fe 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -1031,6 +1031,7 @@ namespace NLGUI _OldCaptureKeyboard = NULL; setCapturePointerLeft(NULL); setCapturePointerRight(NULL); + _CapturedView = NULL; resetColorProps(); @@ -2086,6 +2087,12 @@ namespace NLGUI getCapturePointerRight()->handleEvent( evnt ); setCapturePointerRight( NULL ); } + + if( _CapturedView != NULL ) + { + _CapturedView->handleEvent( evnt ); + _CapturedView = NULL; + } } } @@ -2249,6 +2256,9 @@ namespace NLGUI getCapturePointerLeft() != getCapturePointerRight() ) handled|= getCapturePointerRight()->handleEvent(evnt); + if( _CapturedView != NULL ) + _CapturedView->handleEvent( evnt ); + CInterfaceGroup *ptr = getWindowUnder (eventDesc.getX(), eventDesc.getY()); setCurrentWindowUnder( ptr ); @@ -2326,6 +2336,8 @@ namespace NLGUI } } + bool captured = false; + // must not capture a new element if a sheet is currentlty being dragged. // This may happen when alt-tab has been used => the sheet is dragged but the left button is up if (!CCtrlDraggable::getDraggedSheet()) @@ -2343,9 +2355,25 @@ namespace NLGUI { nMaxDepth = d; setCapturePointerLeft( ctrl ); + captured = true; } } } + + if( CInterfaceElement::getEditorMode() && !captured ) + { + for( sint32 i = _ViewsUnderPointer.size()-1; i >= 0; i-- ) + { + CViewBase *v = _ViewsUnderPointer[i]; + if( ( v != NULL ) && v->isInGroup( pNewCurrentWnd ) ) + { + _CapturedView = v; + captured = true; + break; + } + } + } + notifyElementCaptured( getCapturePointerLeft() ); if (clickedOutModalWindow && !clickedOutModalWindow->OnPostClickOut.empty()) { @@ -2353,13 +2381,16 @@ namespace NLGUI } } //if found - if ( getCapturePointerLeft() != NULL) + if ( captured ) { // consider clicking on a control implies handling of the event. handled= true; // handle the capture - getCapturePointerLeft()->handleEvent(evnt); + if( getCapturePointerLeft() != NULL ) + getCapturePointerLeft()->handleEvent(evnt); + else + _CapturedView->handleEvent( evnt ); } } @@ -2588,6 +2619,8 @@ namespace NLGUI // *************************************************************************** void CWidgetManager::setCapturePointerLeft(CCtrlBase *c) { + _CapturedView = NULL; + // additionally, abort any dragging if( CCtrlDraggable::getDraggedSheet() != NULL ) CCtrlDraggable::getDraggedSheet()->abortDragging(); From 365ef61ec94faec0ad388672ffaadd29b0b6f476 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 23 Feb 2013 06:55:19 +0100 Subject: [PATCH 002/152] MODIFIED: Update property browser when selecting in the central widget. --HG-- branch : gsoc2012-gui-editor --- .../nel/gui/editor_selection_watcher.h | 30 ++++++++++++++++ code/nel/include/nel/gui/widget_manager.h | 6 ++++ code/nel/src/gui/widget_manager.cpp | 36 +++++++++++++++++++ .../src/plugins/gui_editor/CMakeLists.txt | 1 + .../gui_editor/editor_selection_watcher.cpp | 26 ++++++++++++++ .../gui_editor/editor_selection_watcher.h | 36 +++++++++++++++++++ .../plugins/gui_editor/gui_editor_window.cpp | 22 +++++++++--- .../plugins/gui_editor/gui_editor_window.h | 1 + .../src/plugins/gui_editor/nelgui_widget.cpp | 7 ++++ .../src/plugins/gui_editor/nelgui_widget.h | 4 +++ .../plugins/gui_editor/widget_hierarchy.cpp | 16 ++++++--- .../src/plugins/gui_editor/widget_hierarchy.h | 4 +-- 12 files changed, 177 insertions(+), 12 deletions(-) create mode 100644 code/nel/include/nel/gui/editor_selection_watcher.h create mode 100644 code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.cpp create mode 100644 code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.h diff --git a/code/nel/include/nel/gui/editor_selection_watcher.h b/code/nel/include/nel/gui/editor_selection_watcher.h new file mode 100644 index 000000000..415f4f9db --- /dev/null +++ b/code/nel/include/nel/gui/editor_selection_watcher.h @@ -0,0 +1,30 @@ +// Ryzom - 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 . + +#include + +namespace NLGUI +{ + /// Watches the currently selected GUI widget + class IEditorSelectionWatcher + { + public: + + /// Notifies the watcher about the change + virtual void selectionChanged( std::string &newSelection ) = 0; + }; +} + diff --git a/code/nel/include/nel/gui/widget_manager.h b/code/nel/include/nel/gui/widget_manager.h index 5700a52e6..12f4a065b 100644 --- a/code/nel/include/nel/gui/widget_manager.h +++ b/code/nel/include/nel/gui/widget_manager.h @@ -47,6 +47,7 @@ namespace NLGUI class CInterfaceOptions; class CInterfaceAnim; class CProcedure; + class IEditorSelectionWatcher; /** GUI Widget Manager @@ -485,6 +486,9 @@ namespace NLGUI IParser* getParser() const{ return parser; } void setCurrentEditorSelection( const std::string &name ); + void notifySelectionWatchers(); + void registerSelectionWatcher( IEditorSelectionWatcher *watcher ); + void unregisterSelectionWatcher( IEditorSelectionWatcher *watcher ); private: CWidgetManager(); @@ -564,6 +568,8 @@ namespace NLGUI std::vector< INewScreenSizeHandler* > newScreenSizeHandlers; std::vector< IOnWidgetsDrawnHandler* > onWidgetsDrawnHandlers; + std::vector< IEditorSelectionWatcher* > selectionWatchers; + std::string currentEditorSelection; }; diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index c923c40fe..4640931f5 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -31,6 +31,7 @@ #include "nel/gui/proc.h" #include "nel/gui/interface_expr.h" #include "nel/gui/reflect_register.h" +#include "nel/gui/editor_selection_watcher.h" #include "nel/misc/events.h" namespace NLGUI @@ -3181,9 +3182,44 @@ namespace NLGUI } e->setEditorSelected( true ); currentEditorSelection = name; + notifySelectionWatchers(); } } + void CWidgetManager::notifySelectionWatchers() + { + std::vector< IEditorSelectionWatcher* >::iterator itr = selectionWatchers.begin(); + while( itr != selectionWatchers.end() ) + { + (*itr)->selectionChanged( currentEditorSelection ); + ++itr; + } + } + + void CWidgetManager::registerSelectionWatcher( IEditorSelectionWatcher *watcher ) + { + std::vector< IEditorSelectionWatcher* >::iterator itr = + std::find( selectionWatchers.begin(), selectionWatchers.end(), watcher ); + + // We already have this watcher + if( itr != selectionWatchers.end() ) + return; + + selectionWatchers.push_back( watcher ); + } + + void CWidgetManager::unregisterSelectionWatcher( IEditorSelectionWatcher *watcher ) + { + std::vector< IEditorSelectionWatcher* >::iterator itr = + std::find( selectionWatchers.begin(), selectionWatchers.end(), watcher ); + + // We don't have this watcher + if( itr == selectionWatchers.end() ) + return; + + selectionWatchers.erase( itr ); + } + CWidgetManager::CWidgetManager() { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt index 0a5d8533d..c08157373 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt @@ -60,6 +60,7 @@ SET(OVQT_PLUGIN_GUI_EDITOR_HDR nelgui_widget.h new_property_widget.h new_widget_widget.h + editor_selection_watcher.h ) SET(OVQT_PLUGIN_GUI_EDITOR_UIS diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.cpp new file mode 100644 index 000000000..ee3a079ad --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.cpp @@ -0,0 +1,26 @@ +// Ryzom - 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 . + +#include "editor_selection_watcher.h" + +namespace GUIEditor +{ + void CEditorSelectionWatcher::selectionChanged( std::string &newSelection ) + { + Q_EMIT sgnSelectionChanged( newSelection ); + } +} + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.h new file mode 100644 index 000000000..61218c0cd --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_selection_watcher.h @@ -0,0 +1,36 @@ +// Ryzom - 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 . + +#include "nel/gui/editor_selection_watcher.h" +#include + +namespace GUIEditor +{ + /// Watches the Editor selection, and emits a signal when it changes + class CEditorSelectionWatcher : public QObject, public NLGUI::IEditorSelectionWatcher + { + Q_OBJECT + + public: + CEditorSelectionWatcher() : QObject( NULL ){} + + void selectionChanged( std::string &newSelection ); + + Q_SIGNALS: + void sgnSelectionChanged( std::string &id ); + }; +} + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp index 5a0aff4de..66945b562 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp @@ -41,6 +41,7 @@ #include "project_file_serializer.h" #include "project_window.h" #include "nelgui_widget.h" +#include "editor_selection_watcher.h" namespace GUIEditor { @@ -91,11 +92,7 @@ namespace GUIEditor viewPort->init(); - connect( viewPort, SIGNAL( guiLoadComplete() ), hierarchyView, SLOT( onGUILoaded() ) ); - connect( viewPort, SIGNAL( guiLoadComplete() ), procList, SLOT( onGUILoaded() ) ); - connect( viewPort, SIGNAL( guiLoadComplete() ), linkList, SLOT( onGUILoaded() ) ); - connect( hierarchyView, SIGNAL( selectionChanged( std::string& ) ), - &browserCtrl, SLOT( onSelectionChanged( std::string& ) ) ); + connect( viewPort, SIGNAL( guiLoadComplete() ), this, SLOT( onGUILoaded() ) ); } GUIEditorWindow::~GUIEditorWindow() @@ -262,6 +259,11 @@ namespace GUIEditor if( reply != QMessageBox::Yes ) return false; + + CEditorSelectionWatcher *w = viewPort->getWatcher(); + disconnect( w, SIGNAL( sgnSelectionChanged( std::string& ) ), hierarchyView, SLOT( onSelectionChanged( std::string& ) ) ); + disconnect( w, SIGNAL( sgnSelectionChanged( std::string& ) ), &browserCtrl, SLOT( onSelectionChanged( std::string& ) ) ); + projectFiles.clearAll(); projectWindow->clear(); hierarchyView->clearHierarchy(); @@ -291,6 +293,16 @@ namespace GUIEditor setCursor( Qt::ArrowCursor ); } + void GUIEditorWindow::onGUILoaded() + { + hierarchyView->onGUILoaded(); + procList->onGUILoaded(); + linkList->onGUILoaded(); + + CEditorSelectionWatcher *w = viewPort->getWatcher(); + connect( w, SIGNAL( sgnSelectionChanged( std::string& ) ), hierarchyView, SLOT( onSelectionChanged( std::string& ) ) ); + connect( w, SIGNAL( sgnSelectionChanged( std::string& ) ), &browserCtrl, SLOT( onSelectionChanged( std::string& ) ) ); + } void GUIEditorWindow::createMenus() { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h index d4327d3d9..41cd30e9a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h @@ -58,6 +58,7 @@ public Q_SLOTS: private Q_SLOTS: void onProjectFilesChanged(); + void onGUILoaded(); private: void createMenus(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.cpp index 85525e428..d86d31269 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.cpp @@ -27,6 +27,7 @@ #include #include #include +#include "editor_selection_watcher.h" namespace GUIEditor { @@ -37,6 +38,7 @@ namespace GUIEditor { timerID = 0; guiLoaded = false; + watcher = NULL; } NelGUIWidget::~NelGUIWidget() @@ -70,6 +72,8 @@ namespace GUIEditor NLGUI::CViewRenderer::getInstance()->init(); CWidgetManager::getInstance()->getParser()->setEditorMode( true ); + + watcher = new CEditorSelectionWatcher(); } bool NelGUIWidget::parse( SProjectFiles &files ) @@ -106,6 +110,8 @@ namespace GUIEditor guiLoaded = true; Q_EMIT guiLoadComplete(); + CWidgetManager::getInstance()->registerSelectionWatcher( watcher ); + return true; } @@ -115,6 +121,7 @@ namespace GUIEditor if( timerID != 0 ) killTimer( timerID ); timerID = 0; + CWidgetManager::getInstance()->unregisterSelectionWatcher( watcher ); CWidgetManager::getInstance()->reset(); CWidgetManager::getInstance()->getParser()->removeAll(); CViewRenderer::getInstance()->reset(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.h index 5a45cc351..34c510507 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/nelgui_widget.h @@ -23,6 +23,8 @@ namespace GUIEditor { + class CEditorSelectionWatcher; + /// Qt viewport for the Nel GUI library class NelGUIWidget : public Nel3DWidget { @@ -35,6 +37,7 @@ namespace GUIEditor bool parse( SProjectFiles &files ); void draw(); void reset(); + CEditorSelectionWatcher* getWatcher(){ return watcher; } Q_SIGNALS: void guiLoadComplete(); @@ -49,6 +52,7 @@ Q_SIGNALS: private: int timerID; bool guiLoaded; + CEditorSelectionWatcher *watcher; }; } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp index f510d6fb1..a238c1f03 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp @@ -130,6 +130,16 @@ namespace GUIEditor if( masterGroup.empty() ) return; buildHierarchy( masterGroup ); + currentSelection.clear(); + } + + void WidgetHierarchy::onSelectionChanged( std::string &newSelection ) + { + if( newSelection == currentSelection ) + return; + + + // Update the tree } void WidgetHierarchy::onItemDblClicked( QTreeWidgetItem *item ) @@ -138,9 +148,7 @@ namespace GUIEditor return; std::string n = item->text( 0 ).toUtf8().constData(); - std::string selection = makeFullName( item, n ); - CWidgetManager::getInstance()->setCurrentEditorSelection( selection ); - - Q_EMIT selectionChanged( selection ); + currentSelection = makeFullName( item, n ); + CWidgetManager::getInstance()->setCurrentEditorSelection( currentSelection ); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h index 493fd2a08..4c138d226 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h @@ -45,6 +45,7 @@ namespace GUIEditor public Q_SLOTS: void onGUILoaded(); + void onSelectionChanged( std::string &newSelection ); private Q_SLOTS: void onItemDblClicked( QTreeWidgetItem *item ); @@ -52,9 +53,6 @@ namespace GUIEditor private: std::string currentSelection; std::string masterGroup; - - Q_SIGNALS: - void selectionChanged( std::string &id ); }; } From 29ef7af61af0e306dcec99c1895e475d48c192aa Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 2 Mar 2013 03:24:22 +0100 Subject: [PATCH 003/152] MODIFIED: When selecting a widget in the central widget, the hierarchy tree should now be updated as well. --HG-- branch : gsoc2012-gui-editor --- .../plugins/gui_editor/widget_hierarchy.cpp | 24 ++++++++++++++++++- .../src/plugins/gui_editor/widget_hierarchy.h | 3 +++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp index a238c1f03..b7485baa4 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp @@ -75,6 +75,7 @@ namespace GUIEditor void WidgetHierarchy::clearHierarchy() { widgetHT->clear(); + widgetHierarchyMap.clear(); } void WidgetHierarchy::buildHierarchy( std::string &masterGroup ) @@ -87,6 +88,7 @@ namespace GUIEditor QTreeWidgetItem *item = new QTreeWidgetItem( NULL ); item->setText( 0, "ui" ); widgetHT->addTopLevelItem( item ); + widgetHierarchyMap[ "ui" ] = item; buildHierarchy( item, mg ); } @@ -96,7 +98,9 @@ namespace GUIEditor { // First add ourselves QTreeWidgetItem *item = new QTreeWidgetItem( parent ); + item->setText( 0, makeNodeName( group->getId() ).c_str() ); + widgetHierarchyMap[ group->getId() ] = item; // Then add recursively our subgroups const std::vector< CInterfaceGroup* > &groups = group->getGroups(); @@ -113,6 +117,7 @@ namespace GUIEditor { QTreeWidgetItem *subItem = new QTreeWidgetItem( item ); subItem->setText( 0, makeNodeName( (*citr)->getId() ).c_str() ); + widgetHierarchyMap[ (*citr)->getId() ] = subItem; } // Add our views @@ -122,6 +127,7 @@ namespace GUIEditor { QTreeWidgetItem *subItem = new QTreeWidgetItem( item ); subItem->setText( 0, makeNodeName( (*vitr)->getId() ).c_str() ); + widgetHierarchyMap[ (*vitr)->getId() ] = subItem; } } @@ -138,8 +144,24 @@ namespace GUIEditor if( newSelection == currentSelection ) return; + std::map< std::string, QTreeWidgetItem* >::iterator itr = + widgetHierarchyMap.find( newSelection ); + if( itr == widgetHierarchyMap.end() ) + return; - // Update the tree + if( widgetHT->currentItem() != NULL ) + widgetHT->currentItem()->setSelected( false ); + + QTreeWidgetItem *item = itr->second; + QTreeWidgetItem *currItem = item; + while( currItem != NULL ) + { + currItem->setExpanded( true ); + currItem = currItem->parent(); + } + + item->setSelected( true ); + widgetHT->setCurrentItem( item ); } void WidgetHierarchy::onItemDblClicked( QTreeWidgetItem *item ) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h index 4c138d226..58e66212e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h @@ -18,6 +18,8 @@ #define WIDGET_HA_H #include "ui_widget_hierarchy.h" +#include +#include namespace NLGUI { @@ -53,6 +55,7 @@ namespace GUIEditor private: std::string currentSelection; std::string masterGroup; + std::map< std::string, QTreeWidgetItem* > widgetHierarchyMap; }; } From 026ccfcd1307ccc252b131687067a16981fc92cb Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 2 Mar 2013 06:57:40 +0100 Subject: [PATCH 004/152] MODIFIED: GUI Editor can now delete widgets. --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/widget_manager.h | 1 + .../src/plugins/gui_editor/CMakeLists.txt | 1 + .../gui_editor/editor_message_processor.cpp | 56 +++++++++++++++++++ .../gui_editor/editor_message_processor.h | 33 +++++++++++ .../plugins/gui_editor/gui_editor_window.cpp | 11 ++++ .../plugins/gui_editor/gui_editor_window.h | 3 +- 6 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp create mode 100644 code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h diff --git a/code/nel/include/nel/gui/widget_manager.h b/code/nel/include/nel/gui/widget_manager.h index 12f4a065b..498139ecf 100644 --- a/code/nel/include/nel/gui/widget_manager.h +++ b/code/nel/include/nel/gui/widget_manager.h @@ -485,6 +485,7 @@ namespace NLGUI IParser* getParser() const{ return parser; } + std::string& getCurrentEditorSelection(){ return currentEditorSelection; } void setCurrentEditorSelection( const std::string &name ); void notifySelectionWatchers(); void registerSelectionWatcher( IEditorSelectionWatcher *watcher ); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt index c08157373..63a7d00cc 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt @@ -61,6 +61,7 @@ SET(OVQT_PLUGIN_GUI_EDITOR_HDR new_property_widget.h new_widget_widget.h editor_selection_watcher.h + editor_message_processor.h ) SET(OVQT_PLUGIN_GUI_EDITOR_UIS diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp new file mode 100644 index 000000000..944ce945a --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -0,0 +1,56 @@ +// Object Viewer Qt GUI Editor plugin +// 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 . + +#include +#include "editor_message_processor.h" + +#include "nel/gui/interface_group.h" +#include "nel/gui/widget_manager.h" + +namespace GUIEditor +{ + void CEditorMessageProcessor::onDelete() + { + std::string selection = CWidgetManager::getInstance()->getCurrentEditorSelection(); + if( selection.empty() ) + return; + + QMessageBox::StandardButton r = + QMessageBox::question( NULL, + tr( "Deleting widget" ), + tr( "Are you sure you want to delete %1?" ).arg( selection.c_str() ), + QMessageBox::Yes | QMessageBox::No ); + if( r != QMessageBox::Yes ) + return; + + CInterfaceElement *e = + CWidgetManager::getInstance()->getElementFromId( selection ); + if( e == NULL ) + return; + + CInterfaceElement *p = e; + while( ( p != NULL ) && !p->isGroup() ) + p = p->getParent(); + + CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( p ); + if( g == NULL ) + return; + + if( g->delElement( e ) ) + CWidgetManager::getInstance()->setCurrentEditorSelection( "" ); + } +} + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h new file mode 100644 index 000000000..17cac7683 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h @@ -0,0 +1,33 @@ +// Object Viewer Qt GUI Editor plugin +// 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 . + +#include + +namespace GUIEditor +{ + /// Processes the GUI Editor's editor messages like delete, new, etc... + class CEditorMessageProcessor : public QObject + { + Q_OBJECT + public: + CEditorMessageProcessor( QObject *parent = NULL ) : QObject( parent ){} + ~CEditorMessageProcessor(){} + + public Q_SLOTS: + void onDelete(); + }; +} + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp index 66945b562..f84b555d1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp @@ -42,6 +42,7 @@ #include "project_window.h" #include "nelgui_widget.h" #include "editor_selection_watcher.h" +#include "editor_message_processor.h" namespace GUIEditor { @@ -54,6 +55,7 @@ namespace GUIEditor QMainWindow(parent) { m_ui.setupUi(this); + messageProcessor = new CEditorMessageProcessor; m_undoStack = new QUndoStack(this); widgetProps = new CWidgetProperties; linkList = new LinkList; @@ -99,6 +101,9 @@ namespace GUIEditor { writeSettings(); + delete messageProcessor; + messageProcessor = NULL; + delete widgetProps; widgetProps = NULL; @@ -311,6 +316,7 @@ namespace GUIEditor QAction *saveAction = mm->action( Core::Constants::SAVE ); QAction *saveAsAction = mm->action( Core::Constants::SAVE_AS ); QAction *closeAction = mm->action( Core::Constants::CLOSE ); + QAction *delAction = mm->action( Core::Constants::DEL ); //if( newAction != NULL ) // newAction->setEnabled( true ); @@ -320,6 +326,11 @@ namespace GUIEditor saveAsAction->setEnabled( true ); if( closeAction != NULL ) closeAction->setEnabled( true ); + if( delAction != NULL ) + { + delAction->setEnabled( true ); + connect( delAction, SIGNAL( triggered( bool ) ), messageProcessor, SLOT( onDelete() ) ); + } QMenu *menu = mm->menu( Core::Constants::M_TOOLS ); if( menu != NULL ) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h index 41cd30e9a..37f33e91c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h @@ -36,6 +36,7 @@ namespace GUIEditor class ProjectWindow; class NelGUIWidget; class CWidgetInfoTree; + class CEditorMessageProcessor; class GUIEditorWindow: public QMainWindow { @@ -77,8 +78,8 @@ private: ProcList *procList; ProjectWindow *projectWindow; NelGUIWidget *viewPort; - CWidgetInfoTree *widgetInfoTree; + CEditorMessageProcessor *messageProcessor; CPropBrowserCtrl browserCtrl; QString currentProject; From 48d50cb4091f84342b021de7a1889c285bddfa9c Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 2 Mar 2013 23:27:17 +0100 Subject: [PATCH 005/152] MODIFIED: Text buttons will now delete their text too when being deleted. --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/ctrl_text_button.h | 1 + code/nel/src/gui/ctrl_text_button.cpp | 10 ++++++++++ code/nel/src/gui/interface_group.cpp | 6 +++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/code/nel/include/nel/gui/ctrl_text_button.h b/code/nel/include/nel/gui/ctrl_text_button.h index 2df1dee5d..5837a0fbf 100644 --- a/code/nel/include/nel/gui/ctrl_text_button.h +++ b/code/nel/include/nel/gui/ctrl_text_button.h @@ -42,6 +42,7 @@ namespace NLGUI /// Constructor CCtrlTextButton(const TCtorParam ¶m); + ~CCtrlTextButton(); std::string getProperty( const std::string &name ) const; void setProperty( const std::string &name, const std::string &value ); diff --git a/code/nel/src/gui/ctrl_text_button.cpp b/code/nel/src/gui/ctrl_text_button.cpp index fd118cfcb..332358b15 100644 --- a/code/nel/src/gui/ctrl_text_button.cpp +++ b/code/nel/src/gui/ctrl_text_button.cpp @@ -60,6 +60,16 @@ namespace NLGUI _ForceTextOver = false; } + CCtrlTextButton::~CCtrlTextButton() + { + if( _ViewText != NULL ) + { + if( getParent() != NULL ) + getParent()->delElement( _ViewText ); + _ViewText = NULL; + } + } + std::string CCtrlTextButton::getProperty( const std::string &name ) const { std::string prop; diff --git a/code/nel/src/gui/interface_group.cpp b/code/nel/src/gui/interface_group.cpp index c4ba1e950..bb643769a 100644 --- a/code/nel/src/gui/interface_group.cpp +++ b/code/nel/src/gui/interface_group.cpp @@ -141,12 +141,12 @@ namespace NLGUI // initStart = ryzomGetLocalTime (); clearGroups(); // nlinfo ("%d seconds for clearGroups '%s'", (uint32)(ryzomGetLocalTime ()-initStart)/1000, _Id.c_str()); - // initStart = ryzomGetLocalTime (); - clearViews(); - // nlinfo ("%d seconds for clearViews '%s'", (uint32)(ryzomGetLocalTime ()-initStart)/1000, _Id.c_str()); // initStart = ryzomGetLocalTime (); clearControls(); // nlinfo ("%d seconds for clearControls '%s'", (uint32)(ryzomGetLocalTime ()-initStart)/1000, _Id.c_str()); + // initStart = ryzomGetLocalTime (); + clearViews(); + // nlinfo ("%d seconds for clearViews '%s'", (uint32)(ryzomGetLocalTime ()-initStart)/1000, _Id.c_str()); CWidgetManager::getInstance()->removeRefOnGroup (this); #ifdef AJM_DEBUG_TRACK_INTERFACE_GROUPS From b80c47cc106308f8ac006fcb501f7f7f54e6b6ef Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sun, 3 Mar 2013 00:54:22 +0100 Subject: [PATCH 006/152] MODIFIED: Somehow I left this here, and it prevented viewtexts from being selected. --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/view_text.h | 2 -- code/nel/src/gui/view_text.cpp | 5 ----- 2 files changed, 7 deletions(-) diff --git a/code/nel/include/nel/gui/view_text.h b/code/nel/include/nel/gui/view_text.h index fa9e184b7..df3cf27e3 100644 --- a/code/nel/include/nel/gui/view_text.h +++ b/code/nel/include/nel/gui/view_text.h @@ -188,8 +188,6 @@ namespace NLGUI int luaSetLineMaxW(CLuaState &ls); - bool handleEvent( const NLGUI::CEventDescriptor &evnt ); - REFLECT_EXPORT_START(CViewText, CViewBase) REFLECT_STRING("hardtext", getHardText, setHardText); REFLECT_UCSTRING("uc_hardtext", getText, setText); diff --git a/code/nel/src/gui/view_text.cpp b/code/nel/src/gui/view_text.cpp index b9d58ae45..85e76a09c 100644 --- a/code/nel/src/gui/view_text.cpp +++ b/code/nel/src/gui/view_text.cpp @@ -2945,11 +2945,6 @@ namespace NLGUI } } - bool CViewText::handleEvent( const NLGUI::CEventDescriptor &evnt ) - { - return false; - } - // *************************************************************************** void CViewText::serial(NLMISC::IStream &f) { From 532a3ef7d3ca7e36405e4d9e7ec470d7c71f7703 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sun, 3 Mar 2013 03:49:56 +0100 Subject: [PATCH 007/152] MODIFIED: collapse the widget hierarchy tree and remove the widget from it when it's deleted. Also clear the widget properties panel. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/widget_manager.cpp | 8 +++-- .../gui_editor/editor_message_processor.cpp | 2 ++ .../gui_editor/property_browser_ctrl.cpp | 5 +++ .../plugins/gui_editor/widget_hierarchy.cpp | 35 +++++++++++++++++++ 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index 4640931f5..8cc43cc9d 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -3181,9 +3181,13 @@ namespace NLGUI prev->setEditorSelected( false ); } e->setEditorSelected( true ); - currentEditorSelection = name; - notifySelectionWatchers(); } + else + if( !name.empty() ) + return; + + currentEditorSelection = name; + notifySelectionWatchers(); } void CWidgetManager::notifySelectionWatchers() diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index 944ce945a..36e3481e0 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -50,7 +50,9 @@ namespace GUIEditor return; if( g->delElement( e ) ) + { CWidgetManager::getInstance()->setCurrentEditorSelection( "" ); + } } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp index 1612ea803..3c5fa9177 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp @@ -78,7 +78,12 @@ namespace GUIEditor CInterfaceElement *e = CWidgetManager::getInstance()->getElementFromId( id ); if( e == NULL ) + { + connect( propertyMgr, SIGNAL( propertyChanged( QtProperty* ) ), + this, SLOT( onPropertyChanged( QtProperty* ) ) ); + return; + } currentElement = id; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp index b7485baa4..96ae10aa3 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp @@ -144,14 +144,47 @@ namespace GUIEditor if( newSelection == currentSelection ) return; + if( newSelection.empty() ) + { + if( widgetHT->currentItem() != NULL ) + { + QTreeWidgetItem *item = widgetHT->currentItem(); + QTreeWidgetItem *p = item; + + // Deselect item + item->setSelected( false ); + widgetHT->setCurrentItem( NULL ); + + // Collapse the tree + while( p != NULL ) + { + p->setExpanded( false ); + p = p->parent(); + } + + // Finally remove the item! + delete item; + item = NULL; + + std::map< std::string, QTreeWidgetItem* >::iterator itr = + widgetHierarchyMap.find( currentSelection ); + if( itr != widgetHierarchyMap.end() ) + widgetHierarchyMap.erase( itr ); + currentSelection = ""; + } + return; + } + std::map< std::string, QTreeWidgetItem* >::iterator itr = widgetHierarchyMap.find( newSelection ); if( itr == widgetHierarchyMap.end() ) return; + // deselect current item if( widgetHT->currentItem() != NULL ) widgetHT->currentItem()->setSelected( false ); + // expand the tree items, so that we can see the selected item QTreeWidgetItem *item = itr->second; QTreeWidgetItem *currItem = item; while( currItem != NULL ) @@ -160,8 +193,10 @@ namespace GUIEditor currItem = currItem->parent(); } + // select the current item item->setSelected( true ); widgetHT->setCurrentItem( item ); + currentSelection = newSelection; } void WidgetHierarchy::onItemDblClicked( QTreeWidgetItem *item ) From aa2affa158f27bcbc84adfd2290b1e69b52f519d Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Thu, 7 Mar 2013 06:01:33 +0100 Subject: [PATCH 008/152] MODIFIED: Draw the highlight of the currently selected widget in editor mode. --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/interface_element.h | 2 ++ code/nel/src/gui/ctrl_button.cpp | 2 +- code/nel/src/gui/ctrl_text_button.cpp | 3 +-- code/nel/src/gui/interface_element.cpp | 5 +++++ code/nel/src/gui/widget_manager.cpp | 10 ++++++++++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/code/nel/include/nel/gui/interface_element.h b/code/nel/include/nel/gui/interface_element.h index 570dbf689..2b1fa32c0 100644 --- a/code/nel/include/nel/gui/interface_element.h +++ b/code/nel/include/nel/gui/interface_element.h @@ -424,6 +424,8 @@ namespace NLGUI void drawHotSpot(THotSpot hs, NLMISC::CRGBA col); + void drawHighlight(); + // Returns 'true' if that element can be downcasted to a view virtual bool isView() const { return false; } diff --git a/code/nel/src/gui/ctrl_button.cpp b/code/nel/src/gui/ctrl_button.cpp index e4ad08074..c680ee973 100644 --- a/code/nel/src/gui/ctrl_button.cpp +++ b/code/nel/src/gui/ctrl_button.cpp @@ -357,7 +357,7 @@ namespace NLGUI - if ( ( _Over && !editorMode ) || editorSelected ) + if ( ( _Over && !editorMode ) ) { if( !editorMode && (lastOver == false) && (_AHOnOver != NULL)) diff --git a/code/nel/src/gui/ctrl_text_button.cpp b/code/nel/src/gui/ctrl_text_button.cpp index 332358b15..a527bb06f 100644 --- a/code/nel/src/gui/ctrl_text_button.cpp +++ b/code/nel/src/gui/ctrl_text_button.cpp @@ -774,8 +774,7 @@ namespace NLGUI CCtrlBase *capturePointerLeft = CWidgetManager::getInstance()->getCapturePointerLeft(); // *** Draw Over - if( editorSelected || - ( !editorMode && _Over && (_OverWhenPushed || !(_Pushed || capturePointerLeft == this ) ) ) + if( ( !editorMode && _Over && (_OverWhenPushed || !(_Pushed || capturePointerLeft == this ) ) ) ) { if( !editorMode && (lastOver == false) && (_AHOnOver != NULL) ) diff --git a/code/nel/src/gui/interface_element.cpp b/code/nel/src/gui/interface_element.cpp index b369b96d1..dc51735ff 100644 --- a/code/nel/src/gui/interface_element.cpp +++ b/code/nel/src/gui/interface_element.cpp @@ -1300,6 +1300,11 @@ namespace NLGUI } + void CInterfaceElement::drawHighlight() + { + CViewRenderer::getInstance()->drawWiredQuad( _XReal, _YReal, _WReal, _HReal ); + } + // *************************************************************************** void CInterfaceElement::invalidateContent() { diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index 8cc43cc9d..90103840c 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -2056,6 +2056,16 @@ namespace NLGUI getPointer()->draw (); } + if( CInterfaceElement::getEditorMode() ) + { + if( !currentEditorSelection.empty() ) + { + CInterfaceElement *e = getElementFromId( currentEditorSelection ); + if( e != NULL ) + e->drawHighlight(); + } + } + // flush layers CViewRenderer::getInstance()->flush(); From 660fb008953e75c70ae25d53a1dcf9771e006dc9 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Fri, 8 Mar 2013 06:07:21 +0100 Subject: [PATCH 009/152] MODIFIED: Widgets derived from CInterfaceGroup should now be deleted too properly. --HG-- branch : gsoc2012-gui-editor --- .../src/plugins/gui_editor/editor_message_processor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index 36e3481e0..28cc7d75b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -41,9 +41,9 @@ namespace GUIEditor if( e == NULL ) return; - CInterfaceElement *p = e; - while( ( p != NULL ) && !p->isGroup() ) - p = p->getParent(); + CInterfaceElement *p = e->getParent(); + if( p == NULL ) + return; CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( p ); if( g == NULL ) From 363154e24156bbc7625a7dd662054db8b2d8452b Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Fri, 8 Mar 2013 06:28:52 +0100 Subject: [PATCH 010/152] MODIFIED: Preliminary support for a little cleanup when removing a widget from it's parent group ( for example when moving the widget ). --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/ctrl_text_button.h | 2 ++ code/nel/include/nel/gui/interface_element.h | 3 +++ code/nel/src/gui/ctrl_text_button.cpp | 13 ++++++++++--- code/nel/src/gui/interface_group.cpp | 15 ++++++++++++--- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/code/nel/include/nel/gui/ctrl_text_button.h b/code/nel/include/nel/gui/ctrl_text_button.h index 5837a0fbf..eb9968505 100644 --- a/code/nel/include/nel/gui/ctrl_text_button.h +++ b/code/nel/include/nel/gui/ctrl_text_button.h @@ -124,6 +124,8 @@ namespace NLGUI REFLECT_LUA_METHOD("getViewText", luaGetViewText) REFLECT_EXPORT_END + void onRemoved(); + protected: enum {NumTexture= 3}; diff --git a/code/nel/include/nel/gui/interface_element.h b/code/nel/include/nel/gui/interface_element.h index 2b1fa32c0..739f1b95e 100644 --- a/code/nel/include/nel/gui/interface_element.h +++ b/code/nel/include/nel/gui/interface_element.h @@ -486,6 +486,9 @@ namespace NLGUI void setSerializable( bool b ){ serializable = b; } bool IsSerializable() const{ return serializable; } + /// Called when the widget is removed from it's parent group + virtual void onRemoved(){} + protected: bool editorSelected; diff --git a/code/nel/src/gui/ctrl_text_button.cpp b/code/nel/src/gui/ctrl_text_button.cpp index a527bb06f..744086c38 100644 --- a/code/nel/src/gui/ctrl_text_button.cpp +++ b/code/nel/src/gui/ctrl_text_button.cpp @@ -64,8 +64,8 @@ namespace NLGUI { if( _ViewText != NULL ) { - if( getParent() != NULL ) - getParent()->delElement( _ViewText ); + if( _Parent != NULL ) + _Parent->delView( _ViewText ); _ViewText = NULL; } } @@ -967,6 +967,13 @@ namespace NLGUI } // *************************************************************************** - + void CCtrlTextButton::onRemoved() + { + if( _ViewText != NULL ) + { + if( _Parent != NULL ) + _Parent->delView( _ViewText, true ); + } + } } diff --git a/code/nel/src/gui/interface_group.cpp b/code/nel/src/gui/interface_group.cpp index bb643769a..6804df955 100644 --- a/code/nel/src/gui/interface_group.cpp +++ b/code/nel/src/gui/interface_group.cpp @@ -1084,9 +1084,12 @@ namespace NLGUI { if (_Views[i] == child) { - if (!dontDelete) delete _Views[i]; + CViewBase *v = _Views[i]; _Views.erase(_Views.begin()+i); delEltOrder (child); + child->onRemoved(); + child->setParent( NULL ); + if (!dontDelete) delete v; return true; } } @@ -1100,9 +1103,12 @@ namespace NLGUI { if (_Controls[i] == child) { - if (!dontDelete) delete _Controls[i]; + CCtrlBase *c = _Controls[i]; _Controls.erase(_Controls.begin()+i); delEltOrder (child); + child->onRemoved(); + child->setParent( NULL ); + if (!dontDelete) delete c; return true; } } @@ -1116,9 +1122,12 @@ namespace NLGUI { if (_ChildrenGroups[i] == child) { - if (!dontDelete) delete _ChildrenGroups[i]; + CInterfaceGroup *g = _ChildrenGroups[i]; _ChildrenGroups.erase(_ChildrenGroups.begin()+i); delEltOrder (child); + child->onRemoved(); + child->setParent( NULL ); + if (!dontDelete) delete g; return true; } } From 20820697a3f6702cd6243698013b09a82220691b Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 9 Mar 2013 20:58:53 +0100 Subject: [PATCH 011/152] FIXED: It's not nice to leak memory. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/ctrl_text_button.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/nel/src/gui/ctrl_text_button.cpp b/code/nel/src/gui/ctrl_text_button.cpp index 744086c38..76fa3e02d 100644 --- a/code/nel/src/gui/ctrl_text_button.cpp +++ b/code/nel/src/gui/ctrl_text_button.cpp @@ -66,6 +66,9 @@ namespace NLGUI { if( _Parent != NULL ) _Parent->delView( _ViewText ); + else + delete _ViewText; + _ViewText = NULL; } } From df834e058424bde80b00618c19320f94fe33ba45 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 9 Mar 2013 22:02:31 +0100 Subject: [PATCH 012/152] FIXED: Widgets will no longer get stuck in the widget hierarchy tree, when deleting their parent. --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/interface_element.h | 19 +++++ code/nel/src/gui/interface_element.cpp | 32 +++++++ .../plugins/gui_editor/widget_hierarchy.cpp | 84 ++++++++++++------- .../src/plugins/gui_editor/widget_hierarchy.h | 2 + 4 files changed, 109 insertions(+), 28 deletions(-) diff --git a/code/nel/include/nel/gui/interface_element.h b/code/nel/include/nel/gui/interface_element.h index 739f1b95e..83bda2c84 100644 --- a/code/nel/include/nel/gui/interface_element.h +++ b/code/nel/include/nel/gui/interface_element.h @@ -70,6 +70,14 @@ namespace NLGUI { public: + /// Watches CInterfaceElement deletions + class IDeletionWatcher + { + public: + IDeletionWatcher(){} + virtual ~IDeletionWatcher(){} + virtual void onDeleted( const std::string &name ){} + }; enum EStrech { @@ -489,6 +497,12 @@ namespace NLGUI /// Called when the widget is removed from it's parent group virtual void onRemoved(){} + /// Registers a deletion watcher + static void registerDeletionWatcher( IDeletionWatcher *watcher ); + + /// Unregisters a deletion watcher + static void unregisterDeletionWatcher( IDeletionWatcher *watcher ); + protected: bool editorSelected; @@ -549,6 +563,11 @@ namespace NLGUI void parseSizeRef(const char *sizeRefStr, sint32 &sizeref, sint32 &sizeDivW, sint32 &sizeDivH); private: + /// Notifies the deletion watchers that this interface element is being deleted + void notifyDeletionWatchers(); + + static std::vector< IDeletionWatcher* > deletionWatchers; + //void snapSize(); bool serializable; diff --git a/code/nel/src/gui/interface_element.cpp b/code/nel/src/gui/interface_element.cpp index dc51735ff..9385887a4 100644 --- a/code/nel/src/gui/interface_element.cpp +++ b/code/nel/src/gui/interface_element.cpp @@ -32,6 +32,7 @@ using namespace NLMISC; namespace NLGUI { bool CInterfaceElement::editorMode = false; + std::vector< CInterfaceElement::IDeletionWatcher* > CInterfaceElement::deletionWatchers; // ------------------------------------------------------------------------------------------------ CInterfaceElement::~CInterfaceElement() @@ -44,6 +45,7 @@ namespace NLGUI } delete _Links; } + notifyDeletionWatchers(); } // ------------------------------------------------------------------------------------------------ @@ -1551,6 +1553,36 @@ namespace NLGUI } } + void CInterfaceElement::registerDeletionWatcher( IDeletionWatcher *watcher ) + { + std::vector< IDeletionWatcher* >::iterator itr + = std::find( deletionWatchers.begin(), deletionWatchers.end(), watcher ); + // Already registered + if( itr != deletionWatchers.end() ) + return; + deletionWatchers.push_back( watcher ); + } + + void CInterfaceElement::unregisterDeletionWatcher( IDeletionWatcher *watcher ) + { + std::vector< IDeletionWatcher* >::iterator itr + = std::find( deletionWatchers.begin(), deletionWatchers.end(), watcher ); + // Not registered + if( itr == deletionWatchers.end() ) + return; + deletionWatchers.erase( itr ); + } + + void CInterfaceElement::notifyDeletionWatchers() + { + std::vector< IDeletionWatcher* >::iterator itr = deletionWatchers.begin(); + while( itr != deletionWatchers.end() ) + { + (*itr)->onDeleted( _Id ); + ++itr; + } + } + CStringMapper* CStringShared::_UIStringMapper = NULL; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp index 96ae10aa3..2bab73c1e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp @@ -56,6 +56,26 @@ namespace name = s.toUtf8().constData(); return name; } + + class CWidgetDeletionWatcher : public CInterfaceElement::IDeletionWatcher + { + public: + CWidgetDeletionWatcher(){ h = NULL; } + + ~CWidgetDeletionWatcher(){} + + void onDeleted( const std::string &id ){ + if( h != NULL ) + h->onWidgetDeleted( id ); + } + + void setWidgetHierarchy( GUIEditor::WidgetHierarchy *h ){ this->h = h; } + + private: + GUIEditor::WidgetHierarchy *h; + }; + + CWidgetDeletionWatcher deletionWatcher; } namespace GUIEditor @@ -66,6 +86,7 @@ namespace GUIEditor setupUi( this ); connect( widgetHT, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int ) ), this, SLOT( onItemDblClicked( QTreeWidgetItem* ) ) ); + deletionWatcher.setWidgetHierarchy( this ); } WidgetHierarchy::~WidgetHierarchy() @@ -74,6 +95,7 @@ namespace GUIEditor void WidgetHierarchy::clearHierarchy() { + CInterfaceElement::unregisterDeletionWatcher( &deletionWatcher ); widgetHT->clear(); widgetHierarchyMap.clear(); } @@ -81,6 +103,7 @@ namespace GUIEditor void WidgetHierarchy::buildHierarchy( std::string &masterGroup ) { clearHierarchy(); + CInterfaceElement::registerDeletionWatcher( &deletionWatcher ); CInterfaceGroup *mg = CWidgetManager::getInstance()->getMasterGroupFromId( masterGroup ); if( mg != NULL ) @@ -131,6 +154,39 @@ namespace GUIEditor } } + void WidgetHierarchy::onWidgetDeleted( const std::string &id ) + { + std::map< std::string, QTreeWidgetItem* >::iterator itr + = widgetHierarchyMap.find( id ); + if( itr == widgetHierarchyMap.end() ) + return; + + if( widgetHT->currentItem() == itr->second ) + { + QTreeWidgetItem *item = itr->second; + QTreeWidgetItem *p = item; + + // Deselect item + item->setSelected( false ); + widgetHT->setCurrentItem( NULL ); + + // Collapse the tree + while( p != NULL ) + { + p->setExpanded( false ); + p = p->parent(); + } + + currentSelection = ""; + } + + itr->second->setSelected( false ); + + delete itr->second; + itr->second = NULL; + widgetHierarchyMap.erase( itr ); + } + void WidgetHierarchy::onGUILoaded() { if( masterGroup.empty() ) @@ -145,35 +201,7 @@ namespace GUIEditor return; if( newSelection.empty() ) - { - if( widgetHT->currentItem() != NULL ) - { - QTreeWidgetItem *item = widgetHT->currentItem(); - QTreeWidgetItem *p = item; - - // Deselect item - item->setSelected( false ); - widgetHT->setCurrentItem( NULL ); - - // Collapse the tree - while( p != NULL ) - { - p->setExpanded( false ); - p = p->parent(); - } - - // Finally remove the item! - delete item; - item = NULL; - - std::map< std::string, QTreeWidgetItem* >::iterator itr = - widgetHierarchyMap.find( currentSelection ); - if( itr != widgetHierarchyMap.end() ) - widgetHierarchyMap.erase( itr ); - currentSelection = ""; - } return; - } std::map< std::string, QTreeWidgetItem* >::iterator itr = widgetHierarchyMap.find( newSelection ); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h index 58e66212e..6de6b1366 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h @@ -42,6 +42,8 @@ namespace GUIEditor void clearHierarchy(); void buildHierarchy( std::string &masterGroup ); + void onWidgetDeleted( const std::string &id ); + private: void buildHierarchy( QTreeWidgetItem *parent, NLGUI::CInterfaceGroup *group ); From b6970c54aec902c28b7ed35138a3fea81e8f4515 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 9 Mar 2013 22:31:51 +0100 Subject: [PATCH 013/152] MODIFIED: Ups, missed this. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/interface_element.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/nel/src/gui/interface_element.cpp b/code/nel/src/gui/interface_element.cpp index 9385887a4..acc3197d7 100644 --- a/code/nel/src/gui/interface_element.cpp +++ b/code/nel/src/gui/interface_element.cpp @@ -45,7 +45,9 @@ namespace NLGUI } delete _Links; } - notifyDeletionWatchers(); + + if( editorMode ) + notifyDeletionWatchers(); } // ------------------------------------------------------------------------------------------------ From 7aee088634f57be5efbffd413fe8006049f36ee5 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sun, 10 Mar 2013 00:56:27 +0100 Subject: [PATCH 014/152] FIXED: Deleting the CViewText of CCtrlTextButton should no longer lead to crashes. --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/ctrl_text_button.h | 1 + code/nel/include/nel/gui/interface_element.h | 4 + code/nel/include/nel/gui/interface_group.h | 2 + code/nel/src/gui/ctrl_text_button.cpp | 82 ++++++++++++-------- code/nel/src/gui/interface_element.cpp | 4 + code/nel/src/gui/interface_group.cpp | 17 +++- 6 files changed, 73 insertions(+), 37 deletions(-) diff --git a/code/nel/include/nel/gui/ctrl_text_button.h b/code/nel/include/nel/gui/ctrl_text_button.h index eb9968505..183b6a65e 100644 --- a/code/nel/include/nel/gui/ctrl_text_button.h +++ b/code/nel/include/nel/gui/ctrl_text_button.h @@ -125,6 +125,7 @@ namespace NLGUI REFLECT_EXPORT_END void onRemoved(); + void onWidgetDeleted( CInterfaceElement *e ); protected: diff --git a/code/nel/include/nel/gui/interface_element.h b/code/nel/include/nel/gui/interface_element.h index 83bda2c84..764d165ef 100644 --- a/code/nel/include/nel/gui/interface_element.h +++ b/code/nel/include/nel/gui/interface_element.h @@ -503,6 +503,10 @@ namespace NLGUI /// Unregisters a deletion watcher static void unregisterDeletionWatcher( IDeletionWatcher *watcher ); + /// Called when the widget is deleted, + /// so other widgets in the group can check if it belongs to them + virtual void onWidgetDeleted( CInterfaceElement *e ){} + protected: bool editorSelected; diff --git a/code/nel/include/nel/gui/interface_group.h b/code/nel/include/nel/gui/interface_group.h index 61cdc2c9b..f72bc6f1f 100644 --- a/code/nel/include/nel/gui/interface_group.h +++ b/code/nel/include/nel/gui/interface_group.h @@ -322,6 +322,8 @@ namespace NLGUI // Return the current Depth, with no ZBias applied. float getDepthForZSort() const { return _DepthForZSort; } + void onWidgetDeleted( CInterfaceElement *e ); + protected: void makeNewClip (sint32 &oldClipX, sint32 &oldClipY, sint32 &oldClipW, sint32 &oldClipH); diff --git a/code/nel/src/gui/ctrl_text_button.cpp b/code/nel/src/gui/ctrl_text_button.cpp index 76fa3e02d..c878ee82a 100644 --- a/code/nel/src/gui/ctrl_text_button.cpp +++ b/code/nel/src/gui/ctrl_text_button.cpp @@ -65,10 +65,8 @@ namespace NLGUI if( _ViewText != NULL ) { if( _Parent != NULL ) - _Parent->delView( _ViewText ); - else - delete _ViewText; - + _Parent->delView( _ViewText, true ); + delete _ViewText; _ViewText = NULL; } } @@ -124,7 +122,10 @@ namespace NLGUI else if( name == "hardtext" ) { - return _ViewText->getText().toString(); + if( _ViewText != NULL ) + return _ViewText->getText().toString(); + else + return std::string( "" ); } else if( name == "text_y" ) @@ -139,7 +140,10 @@ namespace NLGUI else if( name == "text_underlined" ) { - return toString( _ViewText->getUnderlined() ); + if( _ViewText != NULL ) + return toString( _ViewText->getUnderlined() ); + else + return std::string( "" ); } else if( name == "text_posref" ) @@ -280,7 +284,8 @@ namespace NLGUI else if( name == "hardtext" ) { - _ViewText->setText( value ); + if( _ViewText != NULL ) + _ViewText->setText( value ); return; } else @@ -303,8 +308,10 @@ namespace NLGUI if( name == "text_underlined" ) { bool b; - if( fromString( value, b ) ) - _ViewText->setUnderlined( b ); + if( _ViewText != NULL ) + if( fromString( value, b ) ) + _ViewText->setUnderlined( b ); + return; } else @@ -813,32 +820,35 @@ namespace NLGUI } } // Setup ViewText color - if ( pTxId==_TextureIdNormal || editorMode ) + if( _ViewText != NULL ) { - if(_TextHeaderColor) viewTextColor.A= _TextColorNormal.A; - else viewTextColor= _TextColorNormal; - _ViewText->setColor(viewTextColor); - _ViewText->setShadowColor(_TextShadowColorNormal); - _ViewText->setModulateGlobalColor(_TextModulateGlobalColorNormal); + if ( pTxId==_TextureIdNormal || editorMode ) + { + if(_TextHeaderColor) viewTextColor.A= _TextColorNormal.A; + else viewTextColor= _TextColorNormal; + _ViewText->setColor(viewTextColor); + _ViewText->setShadowColor(_TextShadowColorNormal); + _ViewText->setModulateGlobalColor(_TextModulateGlobalColorNormal); + } + else if ( pTxId==_TextureIdPushed ) + { + if(_TextHeaderColor) viewTextColor.A= _TextColorPushed.A; + else viewTextColor= _TextColorPushed; + _ViewText->setColor(viewTextColor); + _ViewText->setShadowColor(_TextShadowColorPushed); + _ViewText->setModulateGlobalColor(_TextModulateGlobalColorPushed); + } + else if ( pTxId==_TextureIdOver ) + { + if(_TextHeaderColor) viewTextColor.A= _TextColorOver.A; + else viewTextColor= _TextColorOver; + _ViewText->setColor(viewTextColor); + _ViewText->setShadowColor(_TextShadowColorOver); + _ViewText->setModulateGlobalColor(_TextModulateGlobalColorOver); + } + if(getFrozen() && getFrozenHalfTone()) + _ViewText->setAlpha(_ViewText->getAlpha()>>2); } - else if ( pTxId==_TextureIdPushed ) - { - if(_TextHeaderColor) viewTextColor.A= _TextColorPushed.A; - else viewTextColor= _TextColorPushed; - _ViewText->setColor(viewTextColor); - _ViewText->setShadowColor(_TextShadowColorPushed); - _ViewText->setModulateGlobalColor(_TextModulateGlobalColorPushed); - } - else if ( pTxId==_TextureIdOver ) - { - if(_TextHeaderColor) viewTextColor.A= _TextColorOver.A; - else viewTextColor= _TextColorOver; - _ViewText->setColor(viewTextColor); - _ViewText->setShadowColor(_TextShadowColorOver); - _ViewText->setModulateGlobalColor(_TextModulateGlobalColorOver); - } - if(getFrozen() && getFrozenHalfTone()) - _ViewText->setAlpha(_ViewText->getAlpha()>>2); } @@ -978,5 +988,11 @@ namespace NLGUI _Parent->delView( _ViewText, true ); } } + + void CCtrlTextButton::onWidgetDeleted( CInterfaceElement *e ) + { + if( e == _ViewText ) + _ViewText = NULL; + } } diff --git a/code/nel/src/gui/interface_element.cpp b/code/nel/src/gui/interface_element.cpp index acc3197d7..786ac7967 100644 --- a/code/nel/src/gui/interface_element.cpp +++ b/code/nel/src/gui/interface_element.cpp @@ -47,7 +47,11 @@ namespace NLGUI } if( editorMode ) + { notifyDeletionWatchers(); + if( _Parent != NULL ) + _Parent->onWidgetDeleted( this ); + } } // ------------------------------------------------------------------------------------------------ diff --git a/code/nel/src/gui/interface_group.cpp b/code/nel/src/gui/interface_group.cpp index 6804df955..a39a901c7 100644 --- a/code/nel/src/gui/interface_group.cpp +++ b/code/nel/src/gui/interface_group.cpp @@ -1088,7 +1088,6 @@ namespace NLGUI _Views.erase(_Views.begin()+i); delEltOrder (child); child->onRemoved(); - child->setParent( NULL ); if (!dontDelete) delete v; return true; } @@ -1107,7 +1106,6 @@ namespace NLGUI _Controls.erase(_Controls.begin()+i); delEltOrder (child); child->onRemoved(); - child->setParent( NULL ); if (!dontDelete) delete c; return true; } @@ -1126,7 +1124,6 @@ namespace NLGUI _ChildrenGroups.erase(_ChildrenGroups.begin()+i); delEltOrder (child); child->onRemoved(); - child->setParent( NULL ); if (!dontDelete) delete g; return true; } @@ -2477,4 +2474,16 @@ namespace NLGUI return "IMPLEMENT ME!"; } -} \ No newline at end of file + void CInterfaceGroup::onWidgetDeleted( CInterfaceElement *e ) + { + for( std::vector< CViewBase* >::iterator itr = _Views.begin(); itr != _Views.end(); ++itr ) + (*itr)->onWidgetDeleted( e ); + + for( std::vector< CCtrlBase* >::iterator itr = _Controls.begin(); itr != _Controls.end(); ++itr ) + (*itr)->onWidgetDeleted( e ); + + for( std::vector< CInterfaceGroup* >::iterator itr = _ChildrenGroups.begin(); itr != _ChildrenGroups.end(); ++itr ) + (*itr)->onWidgetDeleted( e ); + } +} + From c91e7492bba9a23698b6b7736f3301726789df9e Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sun, 5 May 2013 04:58:15 +0200 Subject: [PATCH 015/152] Added GUI for widget adding. --HG-- branch : gsoc2012-gui-editor --- .../src/plugins/gui_editor/CMakeLists.txt | 2 + .../plugins/gui_editor/add_widget_widget.cpp | 64 ++++++++++++++++ .../plugins/gui_editor/add_widget_widget.h | 29 +++++++ .../plugins/gui_editor/add_widget_widget.ui | 76 +++++++++++++++++++ .../plugins/gui_editor/gui_editor_window.cpp | 25 ++++++ .../plugins/gui_editor/gui_editor_window.h | 4 + .../plugins/gui_editor/widget_hierarchy.cpp | 32 ++++++++ .../src/plugins/gui_editor/widget_hierarchy.h | 2 + .../src/plugins/gui_editor/widget_info_tree.h | 4 +- .../gui_editor/widget_info_tree_node.h | 8 +- .../plugins/gui_editor/widget_properties.cpp | 2 + .../plugins/gui_editor/widget_properties.h | 3 + 12 files changed, 246 insertions(+), 5 deletions(-) create mode 100644 code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp create mode 100644 code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h create mode 100644 code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt index 63a7d00cc..893ec263e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/CMakeLists.txt @@ -60,6 +60,7 @@ SET(OVQT_PLUGIN_GUI_EDITOR_HDR nelgui_widget.h new_property_widget.h new_widget_widget.h + add_widget_widget.h editor_selection_watcher.h editor_message_processor.h ) @@ -76,6 +77,7 @@ SET(OVQT_PLUGIN_GUI_EDITOR_UIS project_window.ui new_property_widget.ui new_widget_widget.ui + add_widget_widget.ui ) SET(QT_USE_QTGUI TRUE) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp new file mode 100644 index 000000000..24bd70f63 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp @@ -0,0 +1,64 @@ +#include "add_widget_widget.h" +#include "widget_info_tree.h" +#include +#include +#include + +namespace GUIEditor +{ + + AddWidgetWidget::AddWidgetWidget( QWidget *parent ) : + QWidget( parent ) + { + setupUi( this ); + setupConnections(); + } + + AddWidgetWidget::~AddWidgetWidget() + { + } + + void AddWidgetWidget::setCurrentGroup( const QString &g ) + { + groupEdit->setText( g ); + } + + void AddWidgetWidget::setupWidgetInfo( const CWidgetInfoTree *tree ) + { + std::vector< std::string > names; + tree->getNames( names, false ); + + widgetCB->clear(); + + std::sort( names.begin(), names.end() ); + + std::vector< std::string >::const_iterator itr = names.begin(); + while( itr != names.end() ) + { + widgetCB->addItem( QString( itr->c_str() ) ); + ++itr; + } + + } + + void AddWidgetWidget::setupConnections() + { + connect( cancelButton, SIGNAL( clicked( bool ) ), this, SLOT( close() ) ); + connect( addButton, SIGNAL( clicked( bool ) ), this, SLOT( onAddClicked() ) ); + } + + void AddWidgetWidget::onAddClicked() + { + if( nameEdit->text().isEmpty() ) + { + QMessageBox::warning( NULL, + tr( "WARNING" ), + tr( "You need to specify a name for your new widget!" ), + QMessageBox::Ok ); + + return; + } + + close(); + } +} \ No newline at end of file diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h new file mode 100644 index 000000000..fa5045ac2 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h @@ -0,0 +1,29 @@ +#ifndef ADD_WIDGET_WIDGET_H +#define ADD_WIDGET_WIDGET_H + +#include "ui_add_widget_widget.h" + +namespace GUIEditor +{ + class CWidgetInfoTree; + + class AddWidgetWidget : public QWidget, public Ui::AddWidgetWidget + { + Q_OBJECT + public: + AddWidgetWidget( QWidget *parent = NULL ); + ~AddWidgetWidget(); + + void setCurrentGroup( const QString &g ); + void setupWidgetInfo( const CWidgetInfoTree *tree ); + + private: + void setupConnections(); + + private Q_SLOTS: + void onAddClicked(); + }; + +} + +#endif diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui new file mode 100644 index 000000000..dd7e14e48 --- /dev/null +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui @@ -0,0 +1,76 @@ + + + AddWidgetWidget + + + Qt::ApplicationModal + + + + 0 + 0 + 318 + 132 + + + + Add new widget + + + + + + + + Group + + + + + + + + + + + + + + Widget + + + + + + + + + + Name + + + + + + + + + + + + Add + + + + + + + Cancel + + + + + + + + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp index f84b555d1..33cb5e647 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp @@ -43,6 +43,7 @@ #include "nelgui_widget.h" #include "editor_selection_watcher.h" #include "editor_message_processor.h" +#include "add_widget_widget.h" namespace GUIEditor { @@ -61,6 +62,7 @@ namespace GUIEditor linkList = new LinkList; procList = new ProcList; projectWindow = new ProjectWindow; + addWidgetWidget = new AddWidgetWidget; connect( projectWindow, SIGNAL( projectFilesChanged() ), this, SLOT( onProjectFilesChanged() ) ); viewPort = new NelGUIWidget; setCentralWidget( viewPort ); @@ -76,6 +78,7 @@ namespace GUIEditor parser.setWidgetInfoTree( widgetInfoTree ); parser.parseGUIWidgets(); widgetProps->setupWidgetInfo( widgetInfoTree ); + addWidgetWidget->setupWidgetInfo( widgetInfoTree ); QDockWidget *dock = new QDockWidget( "Widget Hierarchy", this ); dock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea ); @@ -95,6 +98,7 @@ namespace GUIEditor viewPort->init(); connect( viewPort, SIGNAL( guiLoadComplete() ), this, SLOT( onGUILoaded() ) ); + connect( widgetProps, SIGNAL( treeChanged() ), this, SLOT( onTreeChanged() ) ); } GUIEditorWindow::~GUIEditorWindow() @@ -119,6 +123,9 @@ namespace GUIEditor delete viewPort; viewPort = NULL; + delete addWidgetWidget; + addWidgetWidget = NULL; + // no deletion needed for these, since dockwidget owns them hierarchyView = NULL; propBrowser = NULL; @@ -309,6 +316,20 @@ namespace GUIEditor connect( w, SIGNAL( sgnSelectionChanged( std::string& ) ), &browserCtrl, SLOT( onSelectionChanged( std::string& ) ) ); } + void GUIEditorWindow::onAddWidgetClicked() + { + QString g; + hierarchyView->getCurrentGroup( g ); + + addWidgetWidget->setCurrentGroup( g ); + addWidgetWidget->show(); + } + + void GUIEditorWindow::onTreeChanged() + { + addWidgetWidget->setupWidgetInfo( widgetInfoTree ); + } + void GUIEditorWindow::createMenus() { Core::MenuManager *mm = Core::ICore::instance()->menuManager(); @@ -352,6 +373,10 @@ namespace GUIEditor a = new QAction( "Project Window", this ); connect( a, SIGNAL( triggered( bool ) ), projectWindow, SLOT( show() ) ); m->addAction( a ); + + a = new QAction( "Add Widget", this ); + connect( a, SIGNAL( triggered( bool ) ), this, SLOT( onAddWidgetClicked() ) ); + m->addAction( a ); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h index 37f33e91c..e1a8b8b2d 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.h @@ -37,6 +37,7 @@ namespace GUIEditor class NelGUIWidget; class CWidgetInfoTree; class CEditorMessageProcessor; + class AddWidgetWidget; class GUIEditorWindow: public QMainWindow { @@ -60,6 +61,8 @@ public Q_SLOTS: private Q_SLOTS: void onProjectFilesChanged(); void onGUILoaded(); + void onAddWidgetClicked(); + void onTreeChanged(); private: void createMenus(); @@ -80,6 +83,7 @@ private: NelGUIWidget *viewPort; CWidgetInfoTree *widgetInfoTree; CEditorMessageProcessor *messageProcessor; + AddWidgetWidget *addWidgetWidget; CPropBrowserCtrl browserCtrl; QString currentProject; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp index 85b662628..f48c35e93 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp @@ -187,6 +187,38 @@ namespace GUIEditor widgetHierarchyMap.erase( itr ); } + void WidgetHierarchy::getCurrentGroup( QString &g ) + { + std::string s = CWidgetManager::getInstance()->getCurrentEditorSelection(); + if( s.empty() ) + { + g = ""; + return; + } + + NLGUI::CInterfaceElement *e = CWidgetManager::getInstance()->getElementFromId( s ); + if( e == NULL ) + { + g = ""; + return; + } + + if( e->isGroup() ) + { + g = e->getId().c_str(); + return; + } + + NLGUI::CInterfaceGroup *p = e->getParent(); + if( p == NULL ) + { + g = ""; + return; + } + + g = p->getId().c_str(); + } + void WidgetHierarchy::onGUILoaded() { if( masterGroup.empty() ) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h index 6de6b1366..bfc68ea4f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h @@ -44,6 +44,8 @@ namespace GUIEditor void onWidgetDeleted( const std::string &id ); + void getCurrentGroup( QString &g ); + private: void buildHierarchy( QTreeWidgetItem *parent, NLGUI::CInterfaceGroup *group ); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree.h index 25ad7bb40..5e717923c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree.h @@ -93,11 +93,11 @@ namespace GUIEditor } /// Get the node names and put them into the vector - void getNames( std::vector< std::string > &v ) const + void getNames( std::vector< std::string > &v, bool includeAbstract = true ) const { if( root == NULL ) return; - root->getNames( v ); + root->getNames( v, includeAbstract ); } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree_node.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree_node.h index 81adfe06c..0de9e6977 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree_node.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_tree_node.h @@ -215,11 +215,13 @@ namespace GUIEditor } /// Get the node names and put them into the vector - void getNames( std::vector< std::string > &v ) const + void getNames( std::vector< std::string > &v, bool includeAbstract = true ) const { - v.push_back( info.name ); + if( !info.isAbstract || ( info.isAbstract && includeAbstract ) ) + v.push_back( info.name ); + for( std::vector< CWidgetInfoTreeNode* >::const_iterator itr = children.begin(); itr != children.end(); ++itr ) - ( *itr )->getNames( v ); + ( *itr )->getNames( v, includeAbstract ); } /// Accepts a visitor to itself and to the children nodes diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.cpp index 0a9337e6c..69d556975 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.cpp @@ -84,6 +84,7 @@ namespace GUIEditor{ return; tree->removeNode( widgetName.toUtf8().constData() ); + Q_EMIT treeChanged(); widgetPropTree->clear(); buildWidgetList(); } @@ -156,6 +157,7 @@ namespace GUIEditor{ void CWidgetProperties::onWidgetAdded() { buildWidgetList(); + Q_EMIT treeChanged(); } void CWidgetProperties::buildWidgetList() diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.h index b14bf2f72..44e535b0f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties.h @@ -74,6 +74,9 @@ namespace GUIEditor CWidgetInfoTree *tree; NewPropertyWidget *newPropertyWidget; NewWidgetWidget *newWidgetWidget; + + Q_SIGNALS: + void treeChanged(); }; } From 45f5d6cc0d4e225a2b5c9c54d5994c7abb6be531 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sun, 5 May 2013 05:49:35 +0200 Subject: [PATCH 016/152] Added some more checks, signal and slots related to widget adding. --HG-- branch : gsoc2012-gui-editor --- .../plugins/gui_editor/add_widget_widget.cpp | 15 ++++++++++++++- .../plugins/gui_editor/add_widget_widget.h | 3 +++ .../plugins/gui_editor/add_widget_widget.ui | 3 +++ .../gui_editor/editor_message_processor.cpp | 19 +++++++++++++++++++ .../gui_editor/editor_message_processor.h | 1 + .../plugins/gui_editor/gui_editor_window.cpp | 6 ++++++ 6 files changed, 46 insertions(+), 1 deletion(-) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp index 24bd70f63..3f32586b6 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp @@ -49,6 +49,16 @@ namespace GUIEditor void AddWidgetWidget::onAddClicked() { + if( groupEdit->text().isEmpty() ) + { + QMessageBox::warning( NULL, + tr( "WARNING" ), + tr( "You need to be adding the new widget into a group!" ), + QMessageBox::Ok ); + + return; + } + if( nameEdit->text().isEmpty() ) { QMessageBox::warning( NULL, @@ -60,5 +70,8 @@ namespace GUIEditor } close(); + + Q_EMIT adding( groupEdit->text(), widgetCB->currentText(), nameEdit->text() ); } -} \ No newline at end of file +} + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h index fa5045ac2..8f9f6a0be 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h @@ -22,6 +22,9 @@ namespace GUIEditor private Q_SLOTS: void onAddClicked(); + + Q_SIGNALS: + void adding( const QString &parentGroup, const QString &widgetType, const QString &name ); }; } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui index dd7e14e48..58a1890f4 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.ui @@ -31,6 +31,9 @@ + + true + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index 28cc7d75b..25924a804 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -54,5 +54,24 @@ namespace GUIEditor CWidgetManager::getInstance()->setCurrentEditorSelection( "" ); } } + + void CEditorMessageProcessor::onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ) + { + // Check if this group exists + CInterfaceElement *e = CWidgetManager::getInstance()->getElementFromId( std::string( parentGroup.toAscii() ) ); + if( e == NULL ) + return; + CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( e ); + if( g == NULL ) + return; + + // Check if an element already exists with that name + if( g->getElement( std::string( name.toAscii() ) ) != NULL ) + return; + + // Create and add the new widget + //CViewBase *v = NULL; + //g->addView( v ); + } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h index 17cac7683..1d41e87a6 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h @@ -28,6 +28,7 @@ namespace GUIEditor public Q_SLOTS: void onDelete(); + void onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ); }; } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp index 33cb5e647..8ccd510ef 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp @@ -99,6 +99,12 @@ namespace GUIEditor connect( viewPort, SIGNAL( guiLoadComplete() ), this, SLOT( onGUILoaded() ) ); connect( widgetProps, SIGNAL( treeChanged() ), this, SLOT( onTreeChanged() ) ); + connect( + addWidgetWidget, + SIGNAL( adding( const QString&, const QString&, const QString& ) ), + messageProcessor, + SLOT( onAdd( const QString&, const QString&, const QString& ) ) + ); } GUIEditorWindow::~GUIEditorWindow() From 142bc623c9067ea089f6c263678e519baae49101 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Thu, 9 May 2013 05:53:14 +0200 Subject: [PATCH 017/152] Some more work for widget adding support. Basically the system works, just need to make sure the proper widget is instantiated, and the defaults are loaded ( so it shows up ). --HG-- branch : gsoc2012-gui-editor --- code/nel/include/nel/gui/interface_parser.h | 1 + code/nel/include/nel/gui/parser.h | 2 + .../include/nel/gui/widget_addition_watcher.h | 16 ++++ code/nel/include/nel/gui/widget_manager.h | 8 ++ code/nel/src/gui/interface_parser.cpp | 5 ++ code/nel/src/gui/widget_manager.cpp | 73 +++++++++++++++++++ .../gui_editor/editor_message_processor.cpp | 29 ++++---- .../plugins/gui_editor/widget_hierarchy.cpp | 44 +++++++++++ .../src/plugins/gui_editor/widget_hierarchy.h | 1 + 9 files changed, 165 insertions(+), 14 deletions(-) create mode 100644 code/nel/include/nel/gui/widget_addition_watcher.h diff --git a/code/nel/include/nel/gui/interface_parser.h b/code/nel/include/nel/gui/interface_parser.h index eb602b8ca..2bf1df9a8 100644 --- a/code/nel/include/nel/gui/interface_parser.h +++ b/code/nel/include/nel/gui/interface_parser.h @@ -382,6 +382,7 @@ namespace NLGUI bool serializeProcs( xmlNodePtr parentNode ) const; bool serializePointerSettings( xmlNodePtr parentNode ) const; bool serializeKeySettings( xmlNodePtr parentNode ) const; + CViewBase* createClass( const std::string &name ); }; } diff --git a/code/nel/include/nel/gui/parser.h b/code/nel/include/nel/gui/parser.h index dc6d00767..db868f70d 100644 --- a/code/nel/include/nel/gui/parser.h +++ b/code/nel/include/nel/gui/parser.h @@ -27,6 +27,7 @@ namespace NLGUI { class CInterfaceElement; + class CViewBase; class CInterfaceGroup; class CInterfaceAnim; class CCtrlSheetSelection; @@ -86,6 +87,7 @@ namespace NLGUI virtual bool serializeProcs( xmlNodePtr parentNode ) const = 0; virtual bool serializePointerSettings( xmlNodePtr parentNode ) const = 0; virtual bool serializeKeySettings( xmlNodePtr parentNode ) const = 0; + virtual CViewBase* createClass( const std::string &name ) = 0; }; } diff --git a/code/nel/include/nel/gui/widget_addition_watcher.h b/code/nel/include/nel/gui/widget_addition_watcher.h new file mode 100644 index 000000000..555c1ff3c --- /dev/null +++ b/code/nel/include/nel/gui/widget_addition_watcher.h @@ -0,0 +1,16 @@ +#ifndef WIDGET_ADD_WATCHER +#define WIDGET_ADD_WATCHER + +#include + +namespace NLGUI +{ + class IWidgetAdditionWatcher + { + public: + virtual void widgetAdded( const std::string &name ) = 0; + }; +} + +#endif + diff --git a/code/nel/include/nel/gui/widget_manager.h b/code/nel/include/nel/gui/widget_manager.h index 498139ecf..7ec4908a0 100644 --- a/code/nel/include/nel/gui/widget_manager.h +++ b/code/nel/include/nel/gui/widget_manager.h @@ -48,6 +48,7 @@ namespace NLGUI class CInterfaceAnim; class CProcedure; class IEditorSelectionWatcher; + class IWidgetAdditionWatcher; /** GUI Widget Manager @@ -490,6 +491,12 @@ namespace NLGUI void notifySelectionWatchers(); void registerSelectionWatcher( IEditorSelectionWatcher *watcher ); void unregisterSelectionWatcher( IEditorSelectionWatcher *watcher ); + + void notifyAdditionWatchers( const std::string &widgetName ); + void registerAdditionWatcher( IWidgetAdditionWatcher *watcher ); + void unregisterAdditionWatcher( IWidgetAdditionWatcher *watcher ); + + CInterfaceElement* addWidgetToGroup( std::string &group, std::string &widgetClass, std::string &widgetName ); private: CWidgetManager(); @@ -570,6 +577,7 @@ namespace NLGUI std::vector< INewScreenSizeHandler* > newScreenSizeHandlers; std::vector< IOnWidgetsDrawnHandler* > onWidgetsDrawnHandlers; std::vector< IEditorSelectionWatcher* > selectionWatchers; + std::vector< IWidgetAdditionWatcher* > additionWatchers; std::string currentEditorSelection; diff --git a/code/nel/src/gui/interface_parser.cpp b/code/nel/src/gui/interface_parser.cpp index 76f5df1ed..03cce1449 100644 --- a/code/nel/src/gui/interface_parser.cpp +++ b/code/nel/src/gui/interface_parser.cpp @@ -3148,5 +3148,10 @@ namespace NLGUI return true; } + + CViewBase* CInterfaceParser::createClass( const std::string &name ) + { + return NLMISC_GET_FACTORY( CViewBase, std::string ).createObject( std::string( name ) , CViewBase::TCtorParam() ); + } } diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index 0612d54b1..ecac9335c 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -34,6 +34,7 @@ #include "nel/gui/interface_expr.h" #include "nel/gui/reflect_register.h" #include "nel/gui/editor_selection_watcher.h" +#include "nel/gui/widget_addition_watcher.h" #include "nel/misc/events.h" namespace NLGUI @@ -3236,6 +3237,78 @@ namespace NLGUI selectionWatchers.erase( itr ); } + void CWidgetManager::notifyAdditionWatchers( const std::string &widgetName ) + { + std::vector< IWidgetAdditionWatcher* >::const_iterator itr = additionWatchers.begin(); + while( itr != additionWatchers.end() ) + { + (*itr)->widgetAdded( widgetName ); + ++itr; + } + } + + void CWidgetManager::registerAdditionWatcher( IWidgetAdditionWatcher *watcher ) + { + std::vector< IWidgetAdditionWatcher* >::const_iterator itr + = std::find( additionWatchers.begin(), additionWatchers.end(), watcher ); + // already exists + if( itr != additionWatchers.end() ) + return; + + additionWatchers.push_back( watcher ); + } + + void CWidgetManager::unregisterAdditionWatcher( IWidgetAdditionWatcher *watcher ) + { + std::vector< IWidgetAdditionWatcher* >::iterator itr + = std::find( additionWatchers.begin(), additionWatchers.end(), watcher ); + // doesn't exist + if( itr == additionWatchers.end() ) + return; + + additionWatchers.erase( itr ); + } + + CInterfaceElement* CWidgetManager::addWidgetToGroup( std::string &group, std::string &widgetClass, std::string &widgetName ) + { + // Check if this group exists + CInterfaceElement *e = getElementFromId( group ); + if( e == NULL ) + return NULL; + CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( e ); + if( g == NULL ) + return NULL; + + // Check if an element already exists with that name + if( g->getElement( widgetName ) != NULL ) + return NULL; + + // Create and add the new widget + CViewBase *v = getParser()->createClass( "button" ); + if( v == NULL ) + return NULL; + + v->setId( std::string( g->getId() + ":" + widgetName ) ); + + v->setParentPosRef( Hotspot_TL ); + v->setPosRef( Hotspot_TL ); + + if( v->isGroup() ) + g->addGroup( dynamic_cast< CInterfaceGroup* >( v ) ); + else + if( v->isCtrl() ) + g->addCtrl( dynamic_cast< CCtrlBase* >( v ) ); + else + g->addView( v ); + + // Invalidate so it shows up! + v->invalidateCoords(); + + notifyAdditionWatchers( v->getId() ); + + return v; + } + CWidgetManager::CWidgetManager() { diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index 25924a804..c91381fb7 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -57,21 +57,22 @@ namespace GUIEditor void CEditorMessageProcessor::onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ) { - // Check if this group exists - CInterfaceElement *e = CWidgetManager::getInstance()->getElementFromId( std::string( parentGroup.toAscii() ) ); + CInterfaceElement *e = + CWidgetManager::getInstance()->addWidgetToGroup( + std::string( parentGroup.toUtf8() ), + std::string( widgetType.toUtf8() ), + std::string( name.toUtf8() ) + ); + if( e == NULL ) - return; - CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( e ); - if( g == NULL ) - return; - - // Check if an element already exists with that name - if( g->getElement( std::string( name.toAscii() ) ) != NULL ) - return; - - // Create and add the new widget - //CViewBase *v = NULL; - //g->addView( v ); + { + QMessageBox::critical( + NULL, + tr( "Error" ), + tr( "Error adding the new widget!" ), + QMessageBox::Ok + ); + } } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp index f48c35e93..24208f4a3 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.cpp @@ -18,6 +18,7 @@ #include "widget_hierarchy.h" #include "nel/gui/interface_group.h" #include "nel/gui/widget_manager.h" +#include "nel/gui/widget_addition_watcher.h" namespace { @@ -75,7 +76,26 @@ namespace GUIEditor::WidgetHierarchy *h; }; + class CWidgetAdditionWatcher : public IWidgetAdditionWatcher + { + public: + CWidgetAdditionWatcher(){ h = NULL; } + ~CWidgetAdditionWatcher(){} + + void widgetAdded( const std::string &name ) + { + if( h != NULL ) + h->onWidgetAdded( name ); + } + + void setWidgetHierarchy( GUIEditor::WidgetHierarchy *h ){ this->h = h; } + + private: + GUIEditor::WidgetHierarchy *h; + }; + CWidgetDeletionWatcher deletionWatcher; + CWidgetAdditionWatcher additionWatcher; } namespace GUIEditor @@ -87,6 +107,7 @@ namespace GUIEditor connect( widgetHT, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int ) ), this, SLOT( onItemDblClicked( QTreeWidgetItem* ) ) ); deletionWatcher.setWidgetHierarchy( this ); + additionWatcher.setWidgetHierarchy( this ); } WidgetHierarchy::~WidgetHierarchy() @@ -96,6 +117,7 @@ namespace GUIEditor void WidgetHierarchy::clearHierarchy() { CInterfaceElement::unregisterDeletionWatcher( &deletionWatcher ); + CWidgetManager::getInstance()->unregisterAdditionWatcher( &additionWatcher ); widgetHT->clear(); widgetHierarchyMap.clear(); } @@ -104,6 +126,7 @@ namespace GUIEditor { clearHierarchy(); CInterfaceElement::registerDeletionWatcher( &deletionWatcher ); + CWidgetManager::getInstance()->registerAdditionWatcher( &additionWatcher ); CInterfaceGroup *mg = CWidgetManager::getInstance()->getMasterGroupFromId( masterGroup ); if( mg != NULL ) @@ -187,6 +210,27 @@ namespace GUIEditor widgetHierarchyMap.erase( itr ); } + void WidgetHierarchy::onWidgetAdded( const std::string &id ) + { + // Get the parent's name + std::string::size_type p = id.find_last_of( ':' ); + if( p == std::string::npos ) + return; + std::string parentId = id.substr( 0, p ); + + // Do we have the parent in the hierarchy? + std::map< std::string, QTreeWidgetItem* >::iterator itr + = widgetHierarchyMap.find( parentId ); + if( itr == widgetHierarchyMap.end() ) + return; + + // Add the new widget to the hierarchy + QTreeWidgetItem *parent = itr->second; + QTreeWidgetItem *item = new QTreeWidgetItem( parent ); + item->setText( 0, makeNodeName( id ).c_str() ); + widgetHierarchyMap[ id ] = item; + } + void WidgetHierarchy::getCurrentGroup( QString &g ) { std::string s = CWidgetManager::getInstance()->getCurrentEditorSelection(); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h index bfc68ea4f..4641c8ce8 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_hierarchy.h @@ -43,6 +43,7 @@ namespace GUIEditor void buildHierarchy( std::string &masterGroup ); void onWidgetDeleted( const std::string &id ); + void onWidgetAdded( const std::string &id ); void getCurrentGroup( QString &g ); From 337f93a233a88dfe7a660512aa7dd4a9e040acfa Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Thu, 9 May 2013 23:57:48 +0200 Subject: [PATCH 018/152] When adding a new widget, the correct widget is now instantiated. Also added some checks. --HG-- branch : gsoc2012-gui-editor --- .../include/nel/gui/widget_addition_watcher.h | 16 +++++ code/nel/src/gui/widget_manager.cpp | 59 +++++++++---------- .../gui_editor/editor_message_processor.cpp | 54 ++++++++++++++++- .../gui_editor/editor_message_processor.h | 14 ++++- .../plugins/gui_editor/gui_editor_window.cpp | 1 + .../src/plugins/gui_editor/widget_info.h | 1 + .../gui_editor/widget_info_serializer.cpp | 1 + .../gui_editor/widget_properties_parser.cpp | 3 + .../plugins/gui_editor/widgets/CtrlButton.xml | 1 + .../gui_editor/widgets/CtrlColPick.xml | 1 + .../plugins/gui_editor/widgets/CtrlScroll.xml | 1 + .../gui_editor/widgets/CtrlTextButton.xml | 1 + .../widgets/DBGroupSelectNumber.xml | 1 + .../plugins/gui_editor/widgets/DBViewBar.xml | 1 + .../plugins/gui_editor/widgets/DBViewBar3.xml | 1 + .../gui_editor/widgets/DBViewDigit.xml | 3 +- .../gui_editor/widgets/DBViewNumber.xml | 3 +- .../gui_editor/widgets/DBViewQuantity.xml | 7 ++- .../gui_editor/widgets/GroupContainer.xml | 1 + .../gui_editor/widgets/GroupEditBox.xml | 1 + .../plugins/gui_editor/widgets/GroupHTML.xml | 1 + .../gui_editor/widgets/GroupHeader.xml | 1 + .../plugins/gui_editor/widgets/GroupList.xml | 1 + .../plugins/gui_editor/widgets/GroupMenu.xml | 1 + .../plugins/gui_editor/widgets/GroupModal.xml | 1 + .../gui_editor/widgets/GroupScrollText.xml | 1 + .../plugins/gui_editor/widgets/GroupTab.xml | 1 + .../plugins/gui_editor/widgets/GroupTable.xml | 1 + .../plugins/gui_editor/widgets/GroupTree.xml | 1 + .../gui_editor/widgets/InterfaceGroup.xml | 1 + .../widgets/InterfaceGroupWheel.xml | 1 + .../plugins/gui_editor/widgets/ViewBitmap.xml | 1 + .../gui_editor/widgets/ViewBitmapCombo.xml | 1 + .../plugins/gui_editor/widgets/ViewText.xml | 3 +- .../gui_editor/widgets/ViewTextFormated.xml | 1 + .../plugins/gui_editor/widgets/ViewTextID.xml | 1 + .../gui_editor/widgets/ViewTextIDFormated.xml | 1 + 37 files changed, 151 insertions(+), 39 deletions(-) diff --git a/code/nel/include/nel/gui/widget_addition_watcher.h b/code/nel/include/nel/gui/widget_addition_watcher.h index 555c1ff3c..f4371ed5b 100644 --- a/code/nel/include/nel/gui/widget_addition_watcher.h +++ b/code/nel/include/nel/gui/widget_addition_watcher.h @@ -1,3 +1,19 @@ +// Ryzom - 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 . + #ifndef WIDGET_ADD_WATCHER #define WIDGET_ADD_WATCHER diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index ecac9335c..9ed12988e 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -3271,37 +3271,34 @@ namespace NLGUI CInterfaceElement* CWidgetManager::addWidgetToGroup( std::string &group, std::string &widgetClass, std::string &widgetName ) { - // Check if this group exists - CInterfaceElement *e = getElementFromId( group ); - if( e == NULL ) - return NULL; - CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( e ); - if( g == NULL ) - return NULL; - - // Check if an element already exists with that name - if( g->getElement( widgetName ) != NULL ) - return NULL; - - // Create and add the new widget - CViewBase *v = getParser()->createClass( "button" ); - if( v == NULL ) - return NULL; - - v->setId( std::string( g->getId() + ":" + widgetName ) ); - - v->setParentPosRef( Hotspot_TL ); - v->setPosRef( Hotspot_TL ); - - if( v->isGroup() ) - g->addGroup( dynamic_cast< CInterfaceGroup* >( v ) ); - else - if( v->isCtrl() ) - g->addCtrl( dynamic_cast< CCtrlBase* >( v ) ); - else - g->addView( v ); - - // Invalidate so it shows up! + // Check if this group exists + CInterfaceElement *e = getElementFromId( group ); + if( e == NULL ) + return NULL; + CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( e ); + if( g == NULL ) + return NULL; + + // Check if an element already exists with that name + if( g->getElement( widgetName ) != NULL ) + return NULL; + + // Create and add the new widget + CViewBase *v = getParser()->createClass( widgetClass ); + if( v == NULL ) + return NULL; + + v->setId( std::string( g->getId() + ":" + widgetName ) ); + + if( v->isGroup() ) + g->addGroup( dynamic_cast< CInterfaceGroup* >( v ) ); + else + if( v->isCtrl() ) + g->addCtrl( dynamic_cast< CCtrlBase* >( v ) ); + else + g->addView( v ); + + // Invalidate so it shows up! v->invalidateCoords(); notifyAdditionWatchers( v->getId() ); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index c91381fb7..44d0ad562 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -19,6 +19,7 @@ #include "nel/gui/interface_group.h" #include "nel/gui/widget_manager.h" +#include "widget_info_tree.h" namespace GUIEditor { @@ -57,13 +58,42 @@ namespace GUIEditor void CEditorMessageProcessor::onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ) { + CWidgetInfoTreeNode *node = tree->findNodeByName( std::string( widgetType.toUtf8() ) ); + // No such widget + if( node == NULL ) + { + QMessageBox::critical( + NULL, + tr( "Error" ), + tr( "Error adding the new widget! No such widget type!" ), + QMessageBox::Ok + ); + + return; + } + + // No class name defined + std::string className = node->getInfo().className; + if( className.empty() ) + { + QMessageBox::critical( + NULL, + tr( "Error" ), + tr( "Error adding the new widget! Missing classname!" ), + QMessageBox::Ok + ); + + return; + } + CInterfaceElement *e = CWidgetManager::getInstance()->addWidgetToGroup( std::string( parentGroup.toUtf8() ), - std::string( widgetType.toUtf8() ), + className, std::string( name.toUtf8() ) ); + // Failed to add widget if( e == NULL ) { QMessageBox::critical( @@ -72,7 +102,29 @@ namespace GUIEditor tr( "Error adding the new widget!" ), QMessageBox::Ok ); + + return; } + + // Setting the defaults will override the Id too + std::string id = e->getId(); + + // Set up the defaults + std::vector< SPropEntry >::const_iterator itr = node->getInfo().props.begin(); + while( itr != node->getInfo().props.end() ) + { + e->setProperty( itr->propName, itr->propDefault ); + ++itr; + } + + // Restore the Id + e->setId( id ); + // Make the widget aligned to the top left corner + e->setParentPosRef( Hotspot_TL ); + e->setPosRef( Hotspot_TL ); + + // Apply the new settings + e->invalidateCoords(); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h index 1d41e87a6..ffeedd7f1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h @@ -18,17 +18,29 @@ namespace GUIEditor { + class CWidgetInfoTree; + /// Processes the GUI Editor's editor messages like delete, new, etc... class CEditorMessageProcessor : public QObject { Q_OBJECT public: - CEditorMessageProcessor( QObject *parent = NULL ) : QObject( parent ){} + CEditorMessageProcessor( QObject *parent = NULL ) : + QObject( parent ) + { + tree = NULL; + } + ~CEditorMessageProcessor(){} + + void setTree( CWidgetInfoTree *tree ){ this->tree = tree; } public Q_SLOTS: void onDelete(); void onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ); + + private: + CWidgetInfoTree *tree; }; } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp index 8ccd510ef..341338d8d 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/gui_editor_window.cpp @@ -79,6 +79,7 @@ namespace GUIEditor parser.parseGUIWidgets(); widgetProps->setupWidgetInfo( widgetInfoTree ); addWidgetWidget->setupWidgetInfo( widgetInfoTree ); + messageProcessor->setTree( widgetInfoTree ); QDockWidget *dock = new QDockWidget( "Widget Hierarchy", this ); dock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea ); diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info.h index 7a33ef056..2f7396071 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info.h @@ -53,6 +53,7 @@ namespace GUIEditor { std::string name; std::string GUIName; + std::string className; std::string ancestor; std::string description; bool isAbstract; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_serializer.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_serializer.cpp index 4c2339c40..cf7acca1a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_serializer.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_info_serializer.cpp @@ -63,6 +63,7 @@ namespace GUIEditor f << "\t
" << std::endl; f << "\t\t" << info.name << "" << std::endl; f << "\t\t" << info.GUIName << "" << std::endl; + f << "\t\t" << info.className << "" << std::endl; f << "\t\t" << info.ancestor << "" << std::endl; f << "\t\t" << info.description << "" << std::endl; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties_parser.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties_parser.cpp index fe7ee6d54..d4d708db4 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties_parser.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widget_properties_parser.cpp @@ -131,6 +131,9 @@ namespace GUIEditor if( key == "guiname" ) info.GUIName = value.toUtf8().constData(); else + if( key == "classname" ) + info.className = value.toUtf8().constData(); + else if( key == "ancestor" ) info.ancestor = value.toUtf8().constData(); else diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml index 12b82e7f6..cb6f6c099 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml @@ -2,6 +2,7 @@
CtrlButton CCtrlButton + button CtrlBaseButton false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlColPick.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlColPick.xml index ea2ba6171..6ac05fbcc 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlColPick.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlColPick.xml @@ -2,6 +2,7 @@
CtrlColPick CCtrlColPick + colpick CtrlBase false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlScroll.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlScroll.xml index 1ad970f31..a5c8dae1e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlScroll.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlScroll.xml @@ -2,6 +2,7 @@
CtrlScroll CCtrlScroll + scroll CtrlBase false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml index 1195432d1..8826cd5db 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml @@ -2,6 +2,7 @@
CtrlTextButton CCtrlTextButton + text_button CtrlBaseButton false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBGroupSelectNumber.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBGroupSelectNumber.xml index 624ded887..63be51b5e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBGroupSelectNumber.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBGroupSelectNumber.xml @@ -2,6 +2,7 @@
DBGroupSelectNumber CDBGroupSelectNumber + select_number InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar.xml index 33250a27c..c7f2e488c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar.xml @@ -2,6 +2,7 @@
DBViewBar CDBViewBar + bar ViewBitmap false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar3.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar3.xml index fbb74ad3b..9b12a637a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar3.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewBar3.xml @@ -2,6 +2,7 @@
DBViewBar3 CDBViewBar3 + bar3 ViewBitmap false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewDigit.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewDigit.xml index 0d9aca44a..8a2a28831 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewDigit.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewDigit.xml @@ -2,6 +2,7 @@
DBViewDigit CDBViewDigit + digit CtrlBase false @@ -11,7 +12,7 @@ value string - + 0 numdigit diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewNumber.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewNumber.xml index c1861df61..95a43025e 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewNumber.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewNumber.xml @@ -2,6 +2,7 @@
DBViewNumber CDBViewNumber + text_number ViewText false @@ -11,7 +12,7 @@ value string - + 0 positive diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewQuantity.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewQuantity.xml index c24379c96..1b812bccf 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewQuantity.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/DBViewQuantity.xml @@ -2,6 +2,7 @@
DBViewQuantity CDBViewQuantity + text_quantity ViewText false @@ -11,17 +12,17 @@ value string - + 0 valuemax string - + 100 emptytext string - + empty text diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupContainer.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupContainer.xml index ad167520d..bdbf9931a 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupContainer.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupContainer.xml @@ -2,6 +2,7 @@
GroupContainer CGroupContainer + container InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupEditBox.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupEditBox.xml index 31ca205c7..603af6c04 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupEditBox.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupEditBox.xml @@ -2,6 +2,7 @@
GroupEditBox CGroupEditBox + edit_box InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHTML.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHTML.xml index fe2235c04..b76fe4cd4 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHTML.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHTML.xml @@ -2,6 +2,7 @@
GroupHTML CGroupHTML + html GroupScrollText false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHeader.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHeader.xml index cc96fd742..bcb517c66 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHeader.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupHeader.xml @@ -2,6 +2,7 @@
GroupHeader CGroupHeader + header GroupList false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupList.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupList.xml index e7db36de6..1858cd5b3 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupList.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupList.xml @@ -2,6 +2,7 @@
GroupList CGroupList + list InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupMenu.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupMenu.xml index ac57b5c4d..4739f0352 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupMenu.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupMenu.xml @@ -2,6 +2,7 @@
GroupMenu CGroupMenu + menu GroupModal false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupModal.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupModal.xml index 034e3025e..afc5005c8 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupModal.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupModal.xml @@ -2,6 +2,7 @@
GroupModal CGroupModal + modal GroupFrame false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupScrollText.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupScrollText.xml index 95719398d..8cefb8df2 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupScrollText.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupScrollText.xml @@ -2,6 +2,7 @@
GroupScrollText CGroupScrollText + scroll_text InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTab.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTab.xml index df148a0a3..69db79466 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTab.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTab.xml @@ -2,6 +2,7 @@
GroupTab CGroupTab + tab InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTable.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTable.xml index 8e9b8cffe..9c2240adc 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTable.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTable.xml @@ -2,6 +2,7 @@
GroupTable CGroupTable + table InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTree.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTree.xml index 8e075ac53..6bd10ad9f 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTree.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/GroupTree.xml @@ -2,6 +2,7 @@
GroupTree CGroupTree + tree InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroup.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroup.xml index b9e99d336..c9a8c1546 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroup.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroup.xml @@ -2,6 +2,7 @@
InterfaceGroup CInterfaceGroup + interface_group CtrlBase false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroupWheel.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroupWheel.xml index 62d67cc0a..51590ee33 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroupWheel.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/InterfaceGroupWheel.xml @@ -2,6 +2,7 @@
InterfaceGroupWheel CInterfaceGroupWheel + group_wheel InterfaceGroup false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmap.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmap.xml index 9da967b5a..8b931f78b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmap.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmap.xml @@ -2,6 +2,7 @@
ViewBitmap CViewBitmap + bitmap CtrlBase false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmapCombo.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmapCombo.xml index 0b55f6932..190143be5 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmapCombo.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewBitmapCombo.xml @@ -2,6 +2,7 @@
ViewBitmapCombo CViewBitmapCombo + bitmap_combo CtrlBase false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml index 378854df5..f2a0b28df 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml @@ -2,6 +2,7 @@
ViewText CViewText + text InterfaceElement false @@ -101,7 +102,7 @@ hardtext string - + some text hardtext_format diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextFormated.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextFormated.xml index cabd081f0..c5749ca9c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextFormated.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextFormated.xml @@ -2,6 +2,7 @@
ViewTextFormated CViewTextFormated + text_formated ViewText false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextID.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextID.xml index 52e010ec6..b3edc86ab 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextID.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextID.xml @@ -2,6 +2,7 @@
ViewTextID CViewTextID + text_id ViewText false diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextIDFormated.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextIDFormated.xml index af8dd54eb..3ac6c7962 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextIDFormated.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewTextIDFormated.xml @@ -2,6 +2,7 @@
ViewTextIDFormated CViewTextIDFormated + text_id_formated ViewTextID false From 057960d0567bf288c927e1961f9c7804dcaac001 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Fri, 10 May 2013 00:28:29 +0200 Subject: [PATCH 019/152] Forgot to set the parent. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/widget_manager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index 9ed12988e..f718f63a7 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -3298,6 +3298,8 @@ namespace NLGUI else g->addView( v ); + v->setParent( g ); + // Invalidate so it shows up! v->invalidateCoords(); From 9042de4ab2eee826d8c19f724a26834a8a3bdb31 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Fri, 10 May 2013 00:55:23 +0200 Subject: [PATCH 020/152] Make sure to apply the changes, when changing properties. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/widget_manager.cpp | 3 --- .../src/plugins/gui_editor/editor_message_processor.cpp | 5 +++-- .../src/plugins/gui_editor/property_browser_ctrl.cpp | 6 ++++++ .../src/plugins/gui_editor/widgets/ViewText.xml | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index f718f63a7..bad93687b 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -3300,9 +3300,6 @@ namespace NLGUI v->setParent( g ); - // Invalidate so it shows up! - v->invalidateCoords(); - notifyAdditionWatchers( v->getId() ); return v; diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index 44d0ad562..c784fa527 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -123,8 +123,9 @@ namespace GUIEditor e->setParentPosRef( Hotspot_TL ); e->setPosRef( Hotspot_TL ); - // Apply the new settings - e->invalidateCoords(); + // Apply the new settings + e->setActive( false ); + e->setActive( true ); } } diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp index 3c5fa9177..82330bfaf 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/property_browser_ctrl.cpp @@ -111,6 +111,12 @@ namespace GUIEditor if( e == NULL ) return; e->setProperty( propName.toUtf8().constData(), propValue.toUtf8().constData() ); + + + // Make sure the changes are applied + bool active = e->getActive(); + e->setActive( !active ); + e->setActive( active ); } void CPropBrowserCtrl::setupProperties( const std::string &type, const CInterfaceElement *element ) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml index f2a0b28df..9490a1eee 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/ViewText.xml @@ -47,7 +47,7 @@ line_maxw int - 0 + 100 multi_line_space From 25195fce4ca75da989408ddeac93f31776d46ad7 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Fri, 10 May 2013 02:10:18 +0200 Subject: [PATCH 021/152] The editor probably shouldn't crash when adding textbutton widget. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/ctrl_text_button.cpp | 8 ++++++++ code/nel/src/gui/widget_manager.cpp | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/code/nel/src/gui/ctrl_text_button.cpp b/code/nel/src/gui/ctrl_text_button.cpp index a977902b7..8dbe9b912 100644 --- a/code/nel/src/gui/ctrl_text_button.cpp +++ b/code/nel/src/gui/ctrl_text_button.cpp @@ -886,6 +886,14 @@ namespace NLGUI { _Setuped= true; + if( _ViewText == NULL ) + { + CViewBase *v = CWidgetManager::getInstance()->getParser()->createClass( "text" ); + nlassert( v != NULL ); + _ViewText = dynamic_cast< CViewText* >( v ); + _ViewText->setText( ucstring( "text" ) ); + } + // setup the viewText and add to parent _ViewText->setParent (getParent()); _ViewText->setParentPos (this); diff --git a/code/nel/src/gui/widget_manager.cpp b/code/nel/src/gui/widget_manager.cpp index bad93687b..6e7431b70 100644 --- a/code/nel/src/gui/widget_manager.cpp +++ b/code/nel/src/gui/widget_manager.cpp @@ -3289,6 +3289,7 @@ namespace NLGUI return NULL; v->setId( std::string( g->getId() + ":" + widgetName ) ); + v->setParent( g ); if( v->isGroup() ) g->addGroup( dynamic_cast< CInterfaceGroup* >( v ) ); @@ -3298,8 +3299,6 @@ namespace NLGUI else g->addView( v ); - v->setParent( g ); - notifyAdditionWatchers( v->getId() ); return v; From b49a6ca04da264f96e17f357f072c482f2c47063 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Fri, 10 May 2013 22:29:47 +0200 Subject: [PATCH 022/152] Added some defaults. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/ctrl_text_button.cpp | 7 +++++++ .../plugins/gui_editor/widgets/CtrlBaseButton.xml | 2 +- .../src/plugins/gui_editor/widgets/CtrlButton.xml | 6 +++--- .../plugins/gui_editor/widgets/CtrlTextButton.xml | 12 ++++++------ 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/code/nel/src/gui/ctrl_text_button.cpp b/code/nel/src/gui/ctrl_text_button.cpp index 8dbe9b912..cdf006a51 100644 --- a/code/nel/src/gui/ctrl_text_button.cpp +++ b/code/nel/src/gui/ctrl_text_button.cpp @@ -237,6 +237,11 @@ namespace NLGUI _TextureIdNormal[ 0 ].setTexture( std::string( value + "_l.tga" ).c_str() ); _TextureIdNormal[ 1 ].setTexture( std::string( value + "_m.tga" ).c_str() ); _TextureIdNormal[ 2 ].setTexture( std::string( value + "_r.tga" ).c_str() ); + + CViewRenderer &rVR = *CViewRenderer::getInstance(); + rVR.getTextureSizeFromId(_TextureIdNormal[0], _BmpLeftW, _BmpH); + rVR.getTextureSizeFromId(_TextureIdNormal[1], _BmpMiddleW, _BmpH); + rVR.getTextureSizeFromId(_TextureIdNormal[2], _BmpRightW, _BmpH); return; } else @@ -891,7 +896,9 @@ namespace NLGUI CViewBase *v = CWidgetManager::getInstance()->getParser()->createClass( "text" ); nlassert( v != NULL ); _ViewText = dynamic_cast< CViewText* >( v ); + _ViewText->setId( _Id + "_text" ); _ViewText->setText( ucstring( "text" ) ); + _ViewText->setSerializable( false ); } // setup the viewText and add to parent diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlBaseButton.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlBaseButton.xml index 722d1b241..42e2bdef1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlBaseButton.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlBaseButton.xml @@ -11,7 +11,7 @@ button_type string - toggle_button + push_button pushed diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml index cb6f6c099..fb2514e7c 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlButton.xml @@ -12,17 +12,17 @@ tx_normal string - + log_but_r.tga tx_pushed string - + log_but_r.tga tx_over string - + log_but_over_r.tga scale diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml index 8826cd5db..cacc45ccb 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/widgets/CtrlTextButton.xml @@ -12,27 +12,27 @@ tx_normal string - + but tx_pushed string - + but tx_over string - + but_over hardtext string - + text wmargin int - 0 + 20 wmin @@ -152,7 +152,7 @@ line_maxw int - 0 + 200 multi_line_space From 2faff4dfaafcd03ad8ef907919a2db5f290fd870 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Fri, 10 May 2013 22:35:04 +0200 Subject: [PATCH 023/152] Inconsistent line ending style, according to VS. How it managed to do this is a mystery tho. --HG-- branch : gsoc2012-gui-editor --- .../gui_editor/editor_message_processor.cpp | 260 +++++++++--------- 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index c784fa527..2a9810f24 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -1,131 +1,131 @@ -// Object Viewer Qt GUI Editor plugin -// 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 . - -#include -#include "editor_message_processor.h" - -#include "nel/gui/interface_group.h" -#include "nel/gui/widget_manager.h" -#include "widget_info_tree.h" - -namespace GUIEditor -{ - void CEditorMessageProcessor::onDelete() - { - std::string selection = CWidgetManager::getInstance()->getCurrentEditorSelection(); - if( selection.empty() ) - return; - - QMessageBox::StandardButton r = - QMessageBox::question( NULL, - tr( "Deleting widget" ), - tr( "Are you sure you want to delete %1?" ).arg( selection.c_str() ), - QMessageBox::Yes | QMessageBox::No ); - if( r != QMessageBox::Yes ) - return; - - CInterfaceElement *e = - CWidgetManager::getInstance()->getElementFromId( selection ); - if( e == NULL ) - return; - - CInterfaceElement *p = e->getParent(); - if( p == NULL ) - return; - - CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( p ); - if( g == NULL ) - return; - - if( g->delElement( e ) ) - { - CWidgetManager::getInstance()->setCurrentEditorSelection( "" ); - } - } - - void CEditorMessageProcessor::onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ) - { - CWidgetInfoTreeNode *node = tree->findNodeByName( std::string( widgetType.toUtf8() ) ); - // No such widget - if( node == NULL ) - { - QMessageBox::critical( - NULL, - tr( "Error" ), - tr( "Error adding the new widget! No such widget type!" ), - QMessageBox::Ok - ); - - return; - } - - // No class name defined - std::string className = node->getInfo().className; - if( className.empty() ) - { - QMessageBox::critical( - NULL, - tr( "Error" ), - tr( "Error adding the new widget! Missing classname!" ), - QMessageBox::Ok - ); - - return; - } - - CInterfaceElement *e = - CWidgetManager::getInstance()->addWidgetToGroup( - std::string( parentGroup.toUtf8() ), - className, - std::string( name.toUtf8() ) - ); - - // Failed to add widget - if( e == NULL ) - { - QMessageBox::critical( - NULL, - tr( "Error" ), - tr( "Error adding the new widget!" ), - QMessageBox::Ok - ); - - return; - } - - // Setting the defaults will override the Id too - std::string id = e->getId(); - - // Set up the defaults - std::vector< SPropEntry >::const_iterator itr = node->getInfo().props.begin(); - while( itr != node->getInfo().props.end() ) - { - e->setProperty( itr->propName, itr->propDefault ); - ++itr; - } - - // Restore the Id - e->setId( id ); - // Make the widget aligned to the top left corner - e->setParentPosRef( Hotspot_TL ); - e->setPosRef( Hotspot_TL ); - +// Object Viewer Qt GUI Editor plugin +// 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 . + +#include +#include "editor_message_processor.h" + +#include "nel/gui/interface_group.h" +#include "nel/gui/widget_manager.h" +#include "widget_info_tree.h" + +namespace GUIEditor +{ + void CEditorMessageProcessor::onDelete() + { + std::string selection = CWidgetManager::getInstance()->getCurrentEditorSelection(); + if( selection.empty() ) + return; + + QMessageBox::StandardButton r = + QMessageBox::question( NULL, + tr( "Deleting widget" ), + tr( "Are you sure you want to delete %1?" ).arg( selection.c_str() ), + QMessageBox::Yes | QMessageBox::No ); + if( r != QMessageBox::Yes ) + return; + + CInterfaceElement *e = + CWidgetManager::getInstance()->getElementFromId( selection ); + if( e == NULL ) + return; + + CInterfaceElement *p = e->getParent(); + if( p == NULL ) + return; + + CInterfaceGroup *g = dynamic_cast< CInterfaceGroup* >( p ); + if( g == NULL ) + return; + + if( g->delElement( e ) ) + { + CWidgetManager::getInstance()->setCurrentEditorSelection( "" ); + } + } + + void CEditorMessageProcessor::onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ) + { + CWidgetInfoTreeNode *node = tree->findNodeByName( std::string( widgetType.toUtf8() ) ); + // No such widget + if( node == NULL ) + { + QMessageBox::critical( + NULL, + tr( "Error" ), + tr( "Error adding the new widget! No such widget type!" ), + QMessageBox::Ok + ); + + return; + } + + // No class name defined + std::string className = node->getInfo().className; + if( className.empty() ) + { + QMessageBox::critical( + NULL, + tr( "Error" ), + tr( "Error adding the new widget! Missing classname!" ), + QMessageBox::Ok + ); + + return; + } + + CInterfaceElement *e = + CWidgetManager::getInstance()->addWidgetToGroup( + std::string( parentGroup.toUtf8() ), + className, + std::string( name.toUtf8() ) + ); + + // Failed to add widget + if( e == NULL ) + { + QMessageBox::critical( + NULL, + tr( "Error" ), + tr( "Error adding the new widget!" ), + QMessageBox::Ok + ); + + return; + } + + // Setting the defaults will override the Id too + std::string id = e->getId(); + + // Set up the defaults + std::vector< SPropEntry >::const_iterator itr = node->getInfo().props.begin(); + while( itr != node->getInfo().props.end() ) + { + e->setProperty( itr->propName, itr->propDefault ); + ++itr; + } + + // Restore the Id + e->setId( id ); + // Make the widget aligned to the top left corner + e->setParentPosRef( Hotspot_TL ); + e->setPosRef( Hotspot_TL ); + // Apply the new settings - e->setActive( false ); - e->setActive( true ); - } -} - + e->setActive( false ); + e->setActive( true ); + } +} + From b29fd5ca1130f95260d1cc0eb23da70e7f75ebf0 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Sat, 11 May 2013 02:40:55 +0200 Subject: [PATCH 024/152] Editbox should now create it's text when added. --HG-- branch : gsoc2012-gui-editor --- code/nel/src/gui/group_editbox.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/code/nel/src/gui/group_editbox.cpp b/code/nel/src/gui/group_editbox.cpp index 4e8eb3e36..26feff20c 100644 --- a/code/nel/src/gui/group_editbox.cpp +++ b/code/nel/src/gui/group_editbox.cpp @@ -1411,7 +1411,8 @@ namespace NLGUI // ---------------------------------------------------------------------------- void CGroupEditBox::checkCoords() { - setupDisplayText(); + if( !editorMode ) + setupDisplayText(); CInterfaceGroup::checkCoords(); } @@ -1530,7 +1531,29 @@ namespace NLGUI _ViewText = dynamic_cast(CInterfaceGroup::getView("edit_text")); if(_ViewText == NULL) + { nlwarning("Interface: CGroupEditBox: text 'edit_text' missing or bad type"); + if( editorMode ) + { + nlwarning( "Trying to create a new 'edit_text' for %s", getId().c_str() ); + _ViewText = dynamic_cast< CViewText* >( CWidgetManager::getInstance()->getParser()->createClass( "text" ) ); + if( _ViewText != NULL ) + { + _ViewText->setParent( this ); + _ViewText->setIdRecurse( "edit_text" ); + _ViewText->setHardText( "sometext" ); + _ViewText->setPosRef( Hotspot_TL ); + _ViewText->setParentPosRef( Hotspot_TL ); + addView( _ViewText ); + + setH( _ViewText->getFontHeight() ); + setW( _ViewText->getFontWidth() * _ViewText->getText().size() ); + + } + else + nlwarning( "Failed to create new 'edit_text' for %s", getId().c_str() ); + } + } // For MultiLine editbox, clip the end space, else weird when edit space at end of line (nothing happens) if(_ViewText) From f382b97f74f26ebc93115848aaccf5223c9b6cd5 Mon Sep 17 00:00:00 2001 From: dfighter1985 Date: Wed, 15 May 2013 01:54:35 +0200 Subject: [PATCH 025/152] Making GCC happy. --HG-- branch : gsoc2012-gui-editor --- .../src/plugins/gui_editor/editor_message_processor.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp index 2a9810f24..691dbdead 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.cpp @@ -86,11 +86,14 @@ namespace GUIEditor return; } + std::string pgName = std::string( parentGroup.toUtf8() ); + std::string wName = std::string( name.toUtf8() ); + CInterfaceElement *e = CWidgetManager::getInstance()->addWidgetToGroup( - std::string( parentGroup.toUtf8() ), + pgName, className, - std::string( name.toUtf8() ) + wName ); // Failed to add widget From 54c53255b1bcb8939a3ec3b4257043daf119b787 Mon Sep 17 00:00:00 2001 From: liria Date: Sat, 25 Jan 2014 11:50:14 +0100 Subject: [PATCH 027/152] make the programm compile on linux plateform --HG-- branch : lightmap_optimizer_port_to_linux --- code/nel/tools/3d/CMakeLists.txt | 3 +- code/nel/tools/3d/ig_elevation/main.cpp | 2 +- code/nel/tools/3d/lightmap_optimizer/main.cpp | 141 +++++++++++++----- 3 files changed, 107 insertions(+), 39 deletions(-) diff --git a/code/nel/tools/3d/CMakeLists.txt b/code/nel/tools/3d/CMakeLists.txt index cc3b54f02..a07e8c53a 100644 --- a/code/nel/tools/3d/CMakeLists.txt +++ b/code/nel/tools/3d/CMakeLists.txt @@ -7,6 +7,7 @@ IF(WITH_NEL_TOOLS) build_smallbank ig_lighter ig_elevation + lightmap_optimizer zone_dependencies zone_ig_lighter zone_lighter @@ -47,7 +48,7 @@ ENDIF(WIN32) IF(WITH_NEL_TOOLS) IF(WIN32) - ADD_SUBDIRECTORY(lightmap_optimizer) +# ADD_SUBDIRECTORY(lightmap_optimizer) IF(MFC_FOUND) ADD_SUBDIRECTORY(object_viewer_exe) ADD_SUBDIRECTORY(tile_edit) diff --git a/code/nel/tools/3d/ig_elevation/main.cpp b/code/nel/tools/3d/ig_elevation/main.cpp index 3983dc4ec..833f389be 100644 --- a/code/nel/tools/3d/ig_elevation/main.cpp +++ b/code/nel/tools/3d/ig_elevation/main.cpp @@ -162,7 +162,7 @@ void getcwd (char *dir, int length) { GetCurrentDirectoryA (length, dir); } - +d void chdir(const char *path) { SetCurrentDirectoryA (path); diff --git a/code/nel/tools/3d/lightmap_optimizer/main.cpp b/code/nel/tools/3d/lightmap_optimizer/main.cpp index ae8e4542a..db7f66d6a 100644 --- a/code/nel/tools/3d/lightmap_optimizer/main.cpp +++ b/code/nel/tools/3d/lightmap_optimizer/main.cpp @@ -32,7 +32,16 @@ #include "nel/3d/texture_file.h" #include "nel/3d/register_3d.h" -#include "windows.h" +#ifdef NL_OS_WINDOWS + #include +#else + #include /* for directories functions */ + #include + #include + #include /* getcwd, chdir -- replacement for getCurDiretory & setCurDirectory on windows */ +#endif + + #include #include @@ -42,20 +51,20 @@ using namespace std; using namespace NL3D; -// --------------------------------------------------------------------------- -char sExeDir[MAX_PATH]; -void outString (const string &sText) +void outString (const string &sText) ; + +// --------------------------------------------------------------------------- +#ifdef NL_OS_WINDOWS // win32 code +void GetCWD (int length,char *dir) { - char sCurDir[MAX_PATH]; - GetCurrentDirectory (MAX_PATH, sCurDir); - SetCurrentDirectory (sExeDir); - NLMISC::createDebug (); - NLMISC::InfoLog->displayRaw(sText.c_str()); - SetCurrentDirectory (sCurDir); + GetCurrentDirectoryA (length, dir); } -// --------------------------------------------------------------------------- +bool ChDir(const char *path) +{ + return SetCurrentDirectoryA (path); +} void dir (const std::string &sFilter, std::vector &sAllFiles, bool bFullPath) { WIN32_FIND_DATA findData; @@ -63,7 +72,7 @@ void dir (const std::string &sFilter, std::vector &sAllFiles, bool char sCurDir[MAX_PATH]; sAllFiles.clear (); GetCurrentDirectory (MAX_PATH, sCurDir); - hFind = FindFirstFile (sFilter.c_str(), &findData); + hFind = FindFirstFile ("*"+sFilter.c_str(), &findData); while (hFind != INVALID_HANDLE_VALUE) { DWORD res = GetFileAttributes(findData.cFileName); @@ -79,16 +88,74 @@ void dir (const std::string &sFilter, std::vector &sAllFiles, bool } FindClose (hFind); } +#else // posix version of the void dir(...) function. +void GetCWD (int length, char* directory) +{ + getcwd (directory,length); +} +bool ChDir(const char *path) +{ + return ( chdir (path) == 0 ? true : false ); +} +void dir (const string &sFilter, vector &sAllFiles, bool bFullPath) +{ + char sCurDir[MAX_PATH]; + DIR* dp = NULL; + struct dirent *dirp= NULL; + + GetCWD ( MAX_PATH,sCurDir ) ; + sAllFiles.clear (); + if ( (dp = opendir( sCurDir )) == NULL) + { + string sTmp = string("ERROR : Can't open the dir : \"")+string(sCurDir)+string("\"") ; + outString ( sTmp ) ; + return ; + } + + while ( (dirp = readdir(dp)) != NULL) + { + std:string sFileName = std::string(dirp->d_name) ; + if (sFileName.substr((sFileName.length()-sFilter.length()),sFilter.length()).find(sFilter)!= std::string::npos ) + { + if (bFullPath) + sAllFiles.push_back(string(sCurDir) + "/" + sFileName); + else + sAllFiles.push_back(sFileName); + } + + } + closedir(dp); +} +bool DeleteFile(const char* filename){ + if ( int res = unlink (filename) == -1 ) + return false; + return true; +} +#endif + + +// --------------------------------------------------------------------------- +char sExeDir[MAX_PATH]; + +void outString (const string &sText) +{ + char sCurDir[MAX_PATH]; + GetCWD (MAX_PATH, sCurDir); + ChDir (sExeDir); + NLMISC::createDebug (); + NLMISC::InfoLog->displayRaw(sText.c_str()); + ChDir (sCurDir); +} // --------------------------------------------------------------------------- bool fileExist (const std::string &sFileName) { - HANDLE hFile = CreateFile (sFileName.c_str(), GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, - OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); - if (hFile == INVALID_HANDLE_VALUE) - return false; - CloseHandle (hFile); - return true; +#ifdef NL_OS_WINDOWS + return (GetFileAttributes(sFileName.c_str()) != INVALID_FILE_ATTRIBUTES); +#else // NL_OS_WINDOWS + struct stat buf; + return stat (sFileName.c_str (), &buf) == 0; +#endif // NL_OS_WINDOWS } // ----------------------------------------------------------------------------------------------- @@ -332,25 +399,25 @@ int main(int nNbArg, char **ppArgs) char sSHPDir[MAX_PATH]; - GetCurrentDirectory (MAX_PATH, sExeDir); + GetCWD (MAX_PATH, sExeDir); // Get absolute directory for lightmaps - if (!SetCurrentDirectory(ppArgs[1])) + if (!ChDir(ppArgs[1])) { - outString (string("ERROR : directory ") + ppArgs[1] + " do not exists\n"); + outString (string("ERROR : directory ") + ppArgs[1] + " do not exists or access is denied\n"); return -1; } - GetCurrentDirectory (MAX_PATH, sLMPDir); - SetCurrentDirectory (sExeDir); + GetCWD (MAX_PATH, sLMPDir); + ChDir (sExeDir); // Get absolute directory for shapes - if (!SetCurrentDirectory(ppArgs[2])) + if (!ChDir(ppArgs[2])) { - outString (string("ERROR : directory ") + ppArgs[2] + " do not exists\n"); + outString (string("ERROR : directory ") + ppArgs[2] + " do not exists or access is denied\n"); return -1; } - GetCurrentDirectory (MAX_PATH, sSHPDir); - dir ("*.shape", AllShapeNames, false); + GetCWD (MAX_PATH, sSHPDir); + dir (".shape", AllShapeNames, false); registerSerial3d (); for (uint32 nShp = 0; nShp < AllShapeNames.size(); ++nShp) { @@ -374,13 +441,13 @@ int main(int nNbArg, char **ppArgs) if (nNbArg > 3 && ppArgs[3] && strlen(ppArgs[3]) > 0) { - SetCurrentDirectory (sExeDir); - if (!SetCurrentDirectory(ppArgs[3])) + ChDir (sExeDir); + if (!ChDir(ppArgs[3])) { outString (string("ERROR : directory ") + ppArgs[3] + " do not exists\n"); return -1; } - dir ("*.tag", tags, false); + dir (".tag", tags, false); for(uint k = 0; k < tags.size(); ++k) { std::string::size_type pos = tags[k].find('.'); @@ -426,7 +493,7 @@ int main(int nNbArg, char **ppArgs) // **** Parse all lightmaps, sorted by layer, and 8 or 16 bit mode - SetCurrentDirectory (sExeDir); + ChDir (sExeDir); for (uint32 lmc8bitMode = 0; lmc8bitMode < 2; ++lmc8bitMode) for (uint32 nNbLayer = 0; nNbLayer < 256; ++nNbLayer) { @@ -440,8 +507,8 @@ int main(int nNbArg, char **ppArgs) string sFilter; // **** Get All Lightmaps that have this number of layer, and this mode - sFilter = "*_" + NLMISC::toString(nNbLayer) + ".tga"; - SetCurrentDirectory (sLMPDir); + sFilter = "_" + NLMISC::toString(nNbLayer) + ".tga"; + ChDir (sLMPDir); dir (sFilter, AllLightmapNames, false); // filter by layer @@ -564,7 +631,7 @@ int main(int nNbArg, char **ppArgs) outString(string("ERROR: lightmaps ")+sTmp2+"*.tga not all the same size\n"); for (k = 0; k < (sint32)AllLightmapNames.size(); ++k) { - if (strnicmp(AllLightmapNames[k].c_str(), sTmp2.c_str(), sTmp2.size()) == 0) + if (NLMISC::strnicmp(AllLightmapNames[k].c_str(), sTmp2.c_str(), sTmp2.size()) == 0) { for (j = k+1; j < (sint32)AllLightmapNames.size(); ++j) { @@ -697,7 +764,7 @@ int main(int nNbArg, char **ppArgs) // Change shapes uvs related and names to the lightmap // --------------------------------------------------- - SetCurrentDirectory (sSHPDir); + ChDir (sSHPDir); for (k = 0; k < (sint32)AllShapes.size(); ++k) { @@ -891,7 +958,7 @@ int main(int nNbArg, char **ppArgs) } } - SetCurrentDirectory (sLMPDir); + ChDir (sLMPDir); // Get out of the j loop break; @@ -923,7 +990,7 @@ int main(int nNbArg, char **ppArgs) // **** Additionally, output or clear a "flag file" in a dir to info if a 8bit lihgtmap or not if (nNbArg >=5 && ppArgs[4] && strlen(ppArgs[4]) > 0) { - SetCurrentDirectory (sExeDir); + ChDir (sExeDir); // out a text file, with list of FILE *out= fopen(ppArgs[4], "wt"); From 16dbe48ed563734dc64b8de753f94f11072de9e8 Mon Sep 17 00:00:00 2001 From: liria Date: Sat, 25 Jan 2014 17:09:07 +0100 Subject: [PATCH 028/152] use NEL CFile function for file test --HG-- branch : lightmap_optimizer_port_to_linux --- code/nel/tools/3d/lightmap_optimizer/main.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/code/nel/tools/3d/lightmap_optimizer/main.cpp b/code/nel/tools/3d/lightmap_optimizer/main.cpp index db7f66d6a..25b5678ea 100644 --- a/code/nel/tools/3d/lightmap_optimizer/main.cpp +++ b/code/nel/tools/3d/lightmap_optimizer/main.cpp @@ -150,12 +150,7 @@ void outString (const string &sText) // --------------------------------------------------------------------------- bool fileExist (const std::string &sFileName) { -#ifdef NL_OS_WINDOWS - return (GetFileAttributes(sFileName.c_str()) != INVALID_FILE_ATTRIBUTES); -#else // NL_OS_WINDOWS - struct stat buf; - return stat (sFileName.c_str (), &buf) == 0; -#endif // NL_OS_WINDOWS + return NLMISC::CFile::isExists(sFileName) ; } // ----------------------------------------------------------------------------------------------- From c99bfa03d47155372e32daa653ea09fe0cf03b60 Mon Sep 17 00:00:00 2001 From: botanic Date: Sat, 8 Feb 2014 18:57:03 -0800 Subject: [PATCH 030/152] Set permissions in the ams installer --HG-- branch : compatibility --- .../ryzom_ams/www/html/installer/libsetup.php | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 2809ab05d..7c7cb933a 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -4,6 +4,32 @@ * This script will install all databases related to the Ryzom AMS and it will generate an admin account.. * @author Daan Janssens, mentored by Matthew Lagoe */ + + //set permissions + if(chmod('../../../www/login/logs', 0660)) { + echo "failed to set permissions on logs"; + exit; + } + if(chmod('../../../admin/graphs_output', 0660)) { + echo "failed to set permissions on graphs_output"; + exit; + } + if(chmod('../../../templates/default_c', 0660)) { + echo "failed to set permissions on default_c"; + exit; + } + if(chmod('../../www', 0660)) { + echo "failed to set permissions on www"; + exit; + } + if(chmod('../../www/html/cache', 0660)) { + echo "failed to set permissions on cache"; + exit; + } + if(chmod('../../www/html/templates_c', 0660)) { + echo "failed to set permissions on templates_c"; + exit; + } if (!isset($_POST['function'])) { //require the pages that are being needed. From ea6bec1f91909f843c473a7782b6c2d05181694b Mon Sep 17 00:00:00 2001 From: botanic Date: Sat, 8 Feb 2014 18:59:38 -0800 Subject: [PATCH 031/152] Backed out changeset: 7d3eaa1bada0 --HG-- branch : compatibility --- .../ryzom_ams/www/html/installer/libsetup.php | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 7c7cb933a..2809ab05d 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -4,32 +4,6 @@ * This script will install all databases related to the Ryzom AMS and it will generate an admin account.. * @author Daan Janssens, mentored by Matthew Lagoe */ - - //set permissions - if(chmod('../../../www/login/logs', 0660)) { - echo "failed to set permissions on logs"; - exit; - } - if(chmod('../../../admin/graphs_output', 0660)) { - echo "failed to set permissions on graphs_output"; - exit; - } - if(chmod('../../../templates/default_c', 0660)) { - echo "failed to set permissions on default_c"; - exit; - } - if(chmod('../../www', 0660)) { - echo "failed to set permissions on www"; - exit; - } - if(chmod('../../www/html/cache', 0660)) { - echo "failed to set permissions on cache"; - exit; - } - if(chmod('../../www/html/templates_c', 0660)) { - echo "failed to set permissions on templates_c"; - exit; - } if (!isset($_POST['function'])) { //require the pages that are being needed. From ab7836187d4a05cb312379531f5b617bacd425db Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 13 Feb 2014 14:15:34 +0100 Subject: [PATCH 032/152] Fixed: Reverted OpenGLES support change --HG-- branch : compatibility --- code/ryzom/client/src/client_cfg.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index a065252a5..c45bf5d2d 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -846,6 +846,7 @@ void CClientConfig::setValues() if (nlstricmp(varPtr->asString(), "Auto") == 0 || nlstricmp(varPtr->asString(), "0") == 0) ClientCfg.Driver3D = CClientConfig::DrvAuto; else if (nlstricmp(varPtr->asString(), "OpenGL") == 0 || nlstricmp(varPtr->asString(), "1") == 0) ClientCfg.Driver3D = CClientConfig::OpenGL; else if (nlstricmp(varPtr->asString(), "Direct3D") == 0 || nlstricmp(varPtr->asString(), "2") == 0) ClientCfg.Driver3D = CClientConfig::Direct3D; + else if (nlstricmp(varPtr->asString(), "OpenGLES") == 0 || nlstricmp(varPtr->asString(), "3") == 0) ClientCfg.Driver3D = CClientConfig::OpenGLES; } else cfgWarning ("Default value used for 'Driver3D' !!!"); From 6b04b77bdd9c46fdeab14568250b240aa823146b Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 13 Feb 2014 14:17:32 +0100 Subject: [PATCH 033/152] Fixed: Reverted i18n change --HG-- branch : compatibility --- code/nel/src/misc/i18n.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/code/nel/src/misc/i18n.cpp b/code/nel/src/misc/i18n.cpp index 8aaa8df6e..e53750af7 100644 --- a/code/nel/src/misc/i18n.cpp +++ b/code/nel/src/misc/i18n.cpp @@ -323,6 +323,23 @@ bool CI18N::parseLabel(ucstring::const_iterator &it, ucstring::const_iterator &l ucstring::const_iterator rewind = it; label.erase(); + // first char must be A-Za-z@_ + if (it != last && + ( + (*it >= '0' && *it <= '9') + || (*it >= 'A' && *it <= 'Z') + || (*it >= 'a' && *it <= 'z') + || (*it == '_') + || (*it == '@') + ) + ) + label.push_back(char(*it++)); + else + { + it = rewind; + return false; + } + // other char must be [0-9A-Za-z@_]* while (it != last && ( From 20ce763f357fa21446edcb5ca5eb5fb9133b7a78 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 16:23:17 +0100 Subject: [PATCH 034/152] Changed: Improvements in patch system --HG-- branch : compatibility --- code/CMakeModules/nel.cmake | 4 ++-- code/ryzom/client/src/CMakeLists.txt | 6 +++++- code/ryzom/client/src/client_cfg.cpp | 20 ++++++++++---------- code/ryzom/client/src/login_patch.cpp | 23 ++++++++++++----------- 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index c7184d57e..e88465ae2 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -236,8 +236,6 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS) OPTION(WITH_COVERAGE "With Code Coverage Support" OFF) OPTION(WITH_PCH "With Precompiled Headers" ON ) OPTION(FINAL_VERSION "Build in Final Version mode" ON ) - OPTION(WITH_PERFHUD "Build with NVIDIA PerfHUD support" OFF ) - OPTION(WITH_PATCH_SUPPORT "Build with in-game Patch Support" OFF ) # Default to static building on Windows. IF(WIN32) @@ -325,6 +323,7 @@ MACRO(NL_SETUP_NEL_DEFAULT_OPTIONS) OPTION(WITH_LIBOVR "With LibOVR support" OFF) OPTION(WITH_LIBVR "With LibVR support" OFF) + OPTION(WITH_PERFHUD "With NVIDIA PerfHUD support" OFF) ENDMACRO(NL_SETUP_NEL_DEFAULT_OPTIONS) MACRO(NL_SETUP_NELNS_DEFAULT_OPTIONS) @@ -343,6 +342,7 @@ MACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS) OPTION(WITH_RYZOM_TOOLS "Build Ryzom Core Tools" ON ) OPTION(WITH_RYZOM_SERVER "Build Ryzom Core Services" ON ) OPTION(WITH_RYZOM_SOUND "Enable Ryzom Core Sound" ON ) + OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF) ### # Optional support diff --git a/code/ryzom/client/src/CMakeLists.txt b/code/ryzom/client/src/CMakeLists.txt index fb9bfcaa9..4ffe21c24 100644 --- a/code/ryzom/client/src/CMakeLists.txt +++ b/code/ryzom/client/src/CMakeLists.txt @@ -4,8 +4,12 @@ ADD_SUBDIRECTORY(client_sheets) IF(WITH_RYZOM_CLIENT) +IF(WITH_RYZOM_PATCH) + ADD_DEFINITIONS(-DRZ_USE_PATCH) +ENDIF(WITH_RYZOM_PATCH) + # These are Windows/MFC apps - SET(SEVENZIP_LIBRARY "ryzom_sevenzip") +SET(SEVENZIP_LIBRARY "ryzom_sevenzip") ADD_SUBDIRECTORY(seven_zip) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index c45bf5d2d..c04974772 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -422,16 +422,16 @@ CClientConfig::CClientConfig() MouseOverFX = "sfx_selection_mouseover.ps"; SelectionFXSize = 0.8f; - // only force patching under Windows by default - #if WITH_PATCH_SUPPORT - PatchWanted = true; - #else - PatchWanted = false; - #endif - PatchUrl = ""; - PatchletUrl = ""; - PatchVersion = ""; - PatchServer = ""; +#if RZ_PATCH + PatchWanted = true; +#else + PatchWanted = false; +#endif + + PatchUrl.clear(); + PatchletUrl.clear(); + PatchVersion.clear(); + PatchServer.clear(); WebIgMainDomain = "atys.ryzom.com"; WebIgTrustedDomains.push_back(WebIgMainDomain); diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index ec01b3080..deffc0e3e 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -18,16 +18,14 @@ // Includes // +#include "stdpch.h" + #include -#ifdef NL_OS_WINDOWS - //windows doesnt have unistd.h -#else +#ifndef NL_OS_WINDOWS #include #endif -#include "stdpch.h" - #include #include @@ -46,10 +44,10 @@ #include "nel/misc/big_file.h" #include "nel/misc/i18n.h" -#define NL_USE_SEVENZIP 1 +#define RZ_USE_SEVENZIP 1 // 7 zip includes -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP #include "seven_zip/7zCrc.h" #include "seven_zip/7zIn.h" #include "seven_zip/7zExtract.h" @@ -746,7 +744,6 @@ void CPatchManager::deleteBatchFile() // **************************************************************************** void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool wantRyzomRestart, bool useBatchFile) { - uint nblab = 0; FILE *fp = NULL; @@ -920,7 +917,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool #ifdef NL_OS_WINDOWS fprintf(fp, "start %s %%1 %%2 %%3\n", RyzomFilename.c_str()); #else - fprintf(fp, "/opt/tita/%s $1 $2 $3\n", RyzomFilename.c_str()); + fprintf(fp, "%s $1 $2 $3\n", RyzomFilename.c_str()); #endif } @@ -1010,7 +1007,9 @@ void CPatchManager::executeBatchFile() { int errsv = errno; nlerror("Execl Error: %d %s", errsv, strCmdLine.c_str(), (char *) NULL); - } else { + } + else + { nlinfo("Ran batch file r2Mode Success"); } } @@ -1020,7 +1019,9 @@ void CPatchManager::executeBatchFile() { int errsv = errno; nlerror("Execl r2mode Error: %d %s", errsv, strCmdLine.c_str()); - } else { + } + else + { nlinfo("Ran batch file Success"); } } From c26e4c742616d2e2d24aa9aafae1ffd0c2149aae Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 16:23:28 +0100 Subject: [PATCH 035/152] Changed: Typo --HG-- branch : compatibility --- code/nel/src/gui/group_html.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index d0fcd050e..9f19f383a 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -4094,7 +4094,8 @@ namespace NLGUI void CGroupHTML::requestTerminated(HTRequest * request ) { // this callback is being called for every request terminated - if( request == _LibWWW->Request ){ + if (request == _LibWWW->Request) + { // set the browser as complete _Browsing = false; updateRefreshButton(); From 17b99ba7960bd5662e4400b42f43a1b97d8fa553 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 16 Feb 2014 20:36:58 +0100 Subject: [PATCH 036/152] Fix some streaming behaviour in XAudio2 driver --HG-- branch : compatibility --- .../sound/driver/xaudio2/source_xaudio2.cpp | 55 +++++++++++++++---- 1 file changed, 44 insertions(+), 11 deletions(-) diff --git a/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp b/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp index 3d2e69396..9d233056b 100644 --- a/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp +++ b/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp @@ -242,9 +242,13 @@ void CSourceXAudio2::updateState() if (!_AdpcmUtility->getSourceData()) { _SoundDriver->getXAudio2()->CommitChanges(_OperationSet); - if (FAILED(_SourceVoice->Stop(0))) - nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED Stop"); - _IsPlaying = false; + if (!_BufferStreaming) + { + nlinfo(NLSOUND_XAUDIO2_PREFIX "Stop"); + if (FAILED(_SourceVoice->Stop(0))) + nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED Stop"); + _IsPlaying = false; + } } } else @@ -254,9 +258,13 @@ void CSourceXAudio2::updateState() if (!voice_state.BuffersQueued) { _SoundDriver->getXAudio2()->CommitChanges(_OperationSet); - if (FAILED(_SourceVoice->Stop(0))) - nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED Stop"); - _IsPlaying = false; + if (!_BufferStreaming) + { + nlinfo(NLSOUND_XAUDIO2_PREFIX "Stop"); + if (FAILED(_SourceVoice->Stop(0))) + nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED Stop"); + _IsPlaying = false; + } } } } @@ -265,6 +273,8 @@ void CSourceXAudio2::updateState() /// (Internal) Submit a buffer to the XAudio2 source voice. void CSourceXAudio2::submitBuffer(CBufferXAudio2 *ibuffer) { + // nldebug(NLSOUND_XAUDIO2_PREFIX "submitBuffer %u", (uint32)(void *)this); + nlassert(_SourceVoice); nlassert(ibuffer->getFormat() == _Format && ibuffer->getChannels() == _Channels @@ -278,9 +288,9 @@ void CSourceXAudio2::submitBuffer(CBufferXAudio2 *ibuffer) { XAUDIO2_BUFFER buffer; buffer.AudioBytes = ibuffer->getSize(); - buffer.Flags = _IsLooping || _BufferStreaming ? 0 : XAUDIO2_END_OF_STREAM; + buffer.Flags = (_IsLooping || _BufferStreaming) ? 0 : XAUDIO2_END_OF_STREAM; buffer.LoopBegin = 0; - buffer.LoopCount = _IsLooping ? XAUDIO2_LOOP_INFINITE : 0; + buffer.LoopCount = (_IsLooping && !_BufferStreaming) ? XAUDIO2_LOOP_INFINITE : 0; buffer.LoopLength = 0; buffer.pAudioData = const_cast(ibuffer->getData()); buffer.pContext = ibuffer; @@ -336,7 +346,25 @@ void CSourceXAudio2::setupVoiceSends() void CSourceXAudio2::setStreaming(bool streaming) { nlassert(!_IsPlaying); + + // nldebug(NLSOUND_XAUDIO2_PREFIX "setStreaming %i", (uint32)streaming); + + if (_SourceVoice) + { + XAUDIO2_VOICE_STATE voice_state; + _SourceVoice->GetState(&voice_state); + if (!voice_state.BuffersQueued) + { + nlwarning(NLSOUND_XAUDIO2_PREFIX "Switched streaming mode while buffer still queued!?! Flush"); + _SoundDriver->getXAudio2()->CommitChanges(_OperationSet); + if (FAILED(_SourceVoice->FlushSourceBuffers())) + nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED FlushSourceBuffers"); + } + } + _BufferStreaming = streaming; + + // nldebug(NLSOUND_XAUDIO2_PREFIX "setStreaming done %i", (uint32)streaming); } /// Set the buffer that will be played (no streaming) @@ -344,6 +372,8 @@ void CSourceXAudio2::setStaticBuffer(IBuffer *buffer) { nlassert(!_BufferStreaming); + // nldebug(NLSOUND_XAUDIO2_PREFIX "setStaticBuffer"); + // if (buffer) // nldebug(NLSOUND_XAUDIO2_PREFIX "setStaticBuffer %s", _SoundDriver->getStringMapper()->unmap(buffer->getName()).c_str()); // else // nldebug(NLSOUND_XAUDIO2_PREFIX "setStaticBuffer NULL"); @@ -364,6 +394,8 @@ IBuffer *CSourceXAudio2::getStaticBuffer() /// Should be called by a thread which checks countStreamingBuffers every 100ms. void CSourceXAudio2::submitStreamingBuffer(IBuffer *buffer) { + // nldebug(NLSOUND_XAUDIO2_PREFIX "submitStreamingBuffer"); + nlassert(_BufferStreaming); IBuffer::TBufferFormat bufferFormat; @@ -414,9 +446,10 @@ uint CSourceXAudio2::countStreamingBuffers() const /// Set looping on/off for future playbacks (default: off) void CSourceXAudio2::setLooping(bool l) { + // nldebug(NLSOUND_XAUDIO2_PREFIX "setLooping %u", (uint32)l); + nlassert(!_BufferStreaming); - // nldebug(NLSOUND_XAUDIO2_PREFIX "setLooping %u", (uint32)l); if (_IsLooping != l) { _IsLooping = l; @@ -455,7 +488,7 @@ void CSourceXAudio2::setLooping(bool l) _SourceVoice->GetState(&voice_state); if (voice_state.BuffersQueued) { - nlwarning(NLSOUND_XAUDIO2_PREFIX "not playing but buffer already queued???"); + nlwarning(NLSOUND_XAUDIO2_PREFIX "Not playing but buffer already queued while switching loop mode!?! Flush and requeue"); if (FAILED(_SourceVoice->FlushSourceBuffers())) nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED FlushSourceBuffers"); // queue buffer with correct looping parameters @@ -580,7 +613,7 @@ bool CSourceXAudio2::preparePlay(IBuffer::TBufferFormat bufferFormat, uint8 chan /// Play the static buffer (or stream in and play). bool CSourceXAudio2::play() -{ +{ // nldebug(NLSOUND_XAUDIO2_PREFIX "play"); // Commit 3D changes before starting play From f703359eaa548d7b8bca4f8fad9469e34a10d13e Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 16 Feb 2014 20:44:58 +0100 Subject: [PATCH 037/152] Remove some debug --HG-- branch : compatibility --- code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp b/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp index 9d233056b..0087a53bc 100644 --- a/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp +++ b/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp @@ -244,7 +244,7 @@ void CSourceXAudio2::updateState() _SoundDriver->getXAudio2()->CommitChanges(_OperationSet); if (!_BufferStreaming) { - nlinfo(NLSOUND_XAUDIO2_PREFIX "Stop"); + // nldebug(NLSOUND_XAUDIO2_PREFIX "Stop"); if (FAILED(_SourceVoice->Stop(0))) nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED Stop"); _IsPlaying = false; @@ -260,7 +260,7 @@ void CSourceXAudio2::updateState() _SoundDriver->getXAudio2()->CommitChanges(_OperationSet); if (!_BufferStreaming) { - nlinfo(NLSOUND_XAUDIO2_PREFIX "Stop"); + // nldebug(NLSOUND_XAUDIO2_PREFIX "Stop"); if (FAILED(_SourceVoice->Stop(0))) nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED Stop"); _IsPlaying = false; From 4d3d7a000a07d8cd3470171e625d02391caad099 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 16 Feb 2014 23:09:19 +0100 Subject: [PATCH 038/152] Fix #132 You can no longer walk through rezzed players --HG-- branch : compatibility --- code/ryzom/client/src/character_cl.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/code/ryzom/client/src/character_cl.cpp b/code/ryzom/client/src/character_cl.cpp index 932819817..f8ee31eaa 100644 --- a/code/ryzom/client/src/character_cl.cpp +++ b/code/ryzom/client/src/character_cl.cpp @@ -2291,6 +2291,21 @@ void CCharacterCL::endAnimTransition() // If the next mode in the automaton != Current Mode if(_CurrentState->NextMode != _Mode) { + // Undo previous behaviour + switch(_Mode) + { + case MBEHAV::DEATH: + // Restore collisions. + if(_Primitive) + { + // TODO: Without this dynamic cast + if(dynamic_cast(this)) + _Primitive->setOcclusionMask(MaskColPlayer); + else + _Primitive->setOcclusionMask(MaskColNpc); + } + break; + } if(ClientCfg.UsePACSForAll && _Primitive) _Primitive->setCollisionMask(MaskColNone); //// AJOUT //// From 6426393210fc2b0a0fc3550933d07deb3581b1cf Mon Sep 17 00:00:00 2001 From: kaetemi Date: Mon, 17 Feb 2014 00:20:29 +0100 Subject: [PATCH 039/152] Additional streaming behaviour fix for XAudio2 driver --HG-- branch : compatibility --- .../sound/driver/xaudio2/source_xaudio2.cpp | 29 +++++-------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp b/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp index 0087a53bc..21290951c 100644 --- a/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp +++ b/code/nel/src/sound/driver/xaudio2/source_xaudio2.cpp @@ -397,30 +397,16 @@ void CSourceXAudio2::submitStreamingBuffer(IBuffer *buffer) // nldebug(NLSOUND_XAUDIO2_PREFIX "submitStreamingBuffer"); nlassert(_BufferStreaming); - - IBuffer::TBufferFormat bufferFormat; - uint8 channels; - uint8 bitsPerSample; - uint32 frequency; - buffer->getFormat(bufferFormat, channels, bitsPerSample, frequency); + // allow to change the format if not playing if (!_IsPlaying) { - if (!_SourceVoice) - { - // if no source yet, prepare the format - preparePlay(bufferFormat, channels, bitsPerSample, frequency); - } - else - { - XAUDIO2_VOICE_STATE voice_state; - _SourceVoice->GetState(&voice_state); - // if no buffers queued, prepare the format - if (!voice_state.BuffersQueued) - { - preparePlay(bufferFormat, channels, bitsPerSample, frequency); - } - } + IBuffer::TBufferFormat bufferFormat; + uint8 channels; + uint8 bitsPerSample; + uint32 frequency; + buffer->getFormat(bufferFormat, channels, bitsPerSample, frequency); + preparePlay(bufferFormat, channels, bitsPerSample, frequency); } submitBuffer(static_cast(buffer)); @@ -636,6 +622,7 @@ bool CSourceXAudio2::play() // preparePlay already called, // stop already called before going into buffer streaming nlassert(!_IsPlaying); + nlassert(_SourceVoice); _PlayStart = CTime::getLocalTime(); if (SUCCEEDED(_SourceVoice->Start(0))) _IsPlaying = true; else nlwarning(NLSOUND_XAUDIO2_PREFIX "FAILED Play (_BufferStreaming)"); From d2d87d26446c79beec58eaf4f1ad2bac93b70878 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Mon, 17 Feb 2014 01:54:12 +0100 Subject: [PATCH 040/152] Make IG load waiting loop more agreeable --HG-- branch : compatibility --- code/ryzom/client/src/streamable_ig.cpp | 37 ++++++++++++++++++------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/code/ryzom/client/src/streamable_ig.cpp b/code/ryzom/client/src/streamable_ig.cpp index 514357b0c..f73df6126 100644 --- a/code/ryzom/client/src/streamable_ig.cpp +++ b/code/ryzom/client/src/streamable_ig.cpp @@ -144,12 +144,14 @@ CStreamableIG::~CStreamableIG() #ifdef NL_DEBUG //nlinfo("Loading : %s", Name.c_str()); #endif + std::vector waitForIg; + waitForIg.resize(_IGs.size()); for(uint k = 0; k < _IGs.size(); ++k) { #ifdef NL_DEBUG //nlinfo("Loading ig %s", _IGs[k].Name.c_str()); #endif - progress.progress((float)k/(float)_IGs.size()); + progress.progress((float)k/((float)_IGs.size()*2.f)); if (!_IGs[k].IG) { @@ -161,19 +163,15 @@ CStreamableIG::~CStreamableIG() //nlinfo("start blocking load"); // blocking load + // block after queueing all _Callback.Owner = this; _Scene->createInstanceGroupAndAddToSceneAsync(_IGs[k].Name + ".ig", &_IGs[k].IG, _IGs[k].Pos, _IGs[k].Rot, season, &_Callback); + _IGs[k].Loading = true; } + + _Scene->updateWaitingInstances(1000); /* set a high value to upload texture at a fast rate */ - //nlinfo("wait for end of blockin load"); - // blocking call - while (!_IGs[k].IG) - { - NLMISC::nlSleep(0); - // wait till loaded... - _Scene->updateWaitingInstances(1000); /* set a high value to upload texture at a fast rate */ - } - _IGs[k].Loading = false; + waitForIg[k] = true; } else { @@ -181,6 +179,25 @@ CStreamableIG::~CStreamableIG() { _IGs[k].Loading = false; } + + waitForIg[k] = false; + } + } + for(uint k = 0; k < _IGs.size(); ++k) + { + progress.progress(((float)k + (float)_IGs.size())/((float)_IGs.size()*2.f)); + + if (waitForIg[k]) + { + //nlinfo("wait for end of blockin load"); + // blocking call + while (!_IGs[k].IG) + { + NLMISC::nlSleep(1); + // wait till loaded... + _Scene->updateWaitingInstances(1000); /* set a high value to upload texture at a fast rate */ + } + _IGs[k].Loading = false; } } linkInstances(); From cd1107adf5a2c8c565e6d3ccb416800655371160 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Mon, 17 Feb 2014 13:57:26 +0100 Subject: [PATCH 041/152] Fix #134 Exit crash after failed response from character selection --HG-- branch : compatibility --- code/ryzom/client/src/far_tp.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/ryzom/client/src/far_tp.cpp b/code/ryzom/client/src/far_tp.cpp index da661c9a3..5ecd90c9c 100644 --- a/code/ryzom/client/src/far_tp.cpp +++ b/code/ryzom/client/src/far_tp.cpp @@ -977,7 +977,8 @@ void CFarTP::requestReturnToPreviousSession(TSessionId rejectedSessionId) void CFarTP::requestReconnection() { _ReselectingChar = true; - requestFarTPToSession(TSessionId(std::numeric_limits::max()), std::numeric_limits::max(), CFarTP::JoinMainland, false); + if (!requestFarTPToSession(TSessionId(std::numeric_limits::max()), std::numeric_limits::max(), CFarTP::JoinMainland, false)) + _ReselectingChar = false; } From 607f39561d75b50752bfbe3ebbd5bda7b6eec934 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 18:20:30 +0100 Subject: [PATCH 042/152] Changed: Use RZ_USE_SEVENZIP instead of NL_USE_SEVENZIP --HG-- branch : compatibility --- code/ryzom/client/src/login_patch.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index deffc0e3e..384f032c8 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -139,7 +139,7 @@ struct EPatchDownloadException : public Exception CPatchManager *CPatchManager::_Instance = NULL; -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP /// Input stream class for 7zip archive class CNel7ZipInStream : public _ISzInStream { @@ -420,6 +420,7 @@ void CPatchManager::startCheckThread(bool includeBackgroundPatch) nlassert (thread != NULL); thread->start (); } + // **************************************************************************** bool CPatchManager::isCheckThreadEnded(bool &ok) { @@ -761,7 +762,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool #ifdef NL_OS_WINDOWS fprintf(fp, "@echo off\n"); #elif NL_OS_MAC - //mac patcher doesn't work yet + // mac patcher doesn't work yet #else fprintf(fp, "#!/bin/sh\npwd\n"); #endif @@ -2154,7 +2155,7 @@ void CPatchManager::getCorruptedFileInfo(const SFileToPatch &ftp, ucstring &sTra bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::string &destFileName) { -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP nlinfo("Uncompressing 7zip archive '%s' to '%s'", sevenZipFile.c_str(), destFileName.c_str()); @@ -2246,7 +2247,7 @@ bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::strin bool CPatchManager::unpackLZMA(const std::string &lzmaFile, const std::string &destFileName) { -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP nldebug("unpackLZMA : decompression the lzma file '%s' into output file '%s", lzmaFile.c_str(), destFileName.c_str()); CIFile inStream(lzmaFile); uint32 inSize = inStream.getFileSize(); From 2c396827d5facbb63cb4a3817b903f87b13da041 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 19:36:13 +0100 Subject: [PATCH 043/152] Changed: Use "BuildName" from client_default.cfg to determinate last supported patch version by current client under Unix --HG-- branch : compatibility --- code/ryzom/client/src/login_patch.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 384f032c8..6976926ba 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -1397,7 +1397,7 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de fclose(fp); curl_global_cleanup(); - CurrentFile = ""; + CurrentFile.clear(); if (diskFull) { @@ -2346,6 +2346,7 @@ void CCheckThread::run () uint32 i, j, k; // Check if the client version is the same as the server version string sClientVersion = pPM->getClientVersion(); + string sClientNewVersion = ClientCfg.BuildName; string sServerVersion = pPM->getServerVersion(); ucstring sTranslate = CI18N::get("uiClientVersion") + " (" + sClientVersion + ") "; sTranslate += CI18N::get("uiServerVersion") + " (" + sServerVersion + ")"; @@ -2359,10 +2360,20 @@ void CCheckThread::run () return; } - sint32 nServerVersion; + sint32 nServerVersion, nClientVersion, nClientNewVersion; fromString(sServerVersion, nServerVersion); + fromString(sClientVersion, nClientVersion); + fromString(sClientNewVersion, nClientNewVersion); - if (sClientVersion != sServerVersion) +#ifdef NL_OS_UNIX + // servers files are not compatible with current client, use last client version + if (nClientNewVersion && nServerVersion > nClientNewVersion) + { + nServerVersion = nClientNewVersion; + } +#endif + + if (nClientVersion != nServerVersion) { // first, try in the version subdirectory try From 769a5ca2ee7cc631e21fd8453b69b2b1059faf89 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 19:36:53 +0100 Subject: [PATCH 044/152] Changed: Don't patch "main_exedll" and "main_cfg" categories under Unix --HG-- branch : compatibility --- code/ryzom/client/src/init.cpp | 7 ------ code/ryzom/client/src/login_patch.cpp | 36 ++++++--------------------- 2 files changed, 7 insertions(+), 36 deletions(-) diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index 1c4fe76e9..d603be4a3 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -829,13 +829,6 @@ void prelogInit() CLoginProgressPostThread::getInstance().init(ClientCfg.ConfigFile); - // tmp for patcher debug - extern void tmpFlagMainlandPatchCategories(NLMISC::CConfigFile &cf); - extern void tmpFlagRemovedPatchCategories(NLMISC::CConfigFile &cf); - tmpFlagMainlandPatchCategories(ClientCfg.ConfigFile); - tmpFlagRemovedPatchCategories(ClientCfg.ConfigFile); - - // check "BuildName" in ClientCfg //nlassert(!ClientCfg.BuildName.empty()); // TMP comment by nico do not commit diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 6976926ba..a51f2c1d5 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -79,35 +79,6 @@ static std::vector ForceMainlandPatchCategories; static std::vector ForceRemovePatchCategories; -// TMP for debug : force some category in the patch to be flagged as 'mainland' until -// the actual file is updated -void tmpFlagMainlandPatchCategories(NLMISC::CConfigFile &cf) -{ - NLMISC::CConfigFile::CVar *catList = cf.getVarPtr("ForceMainlandPatchCategories"); - if (catList) - { - for (uint k = 0; k < catList->size(); ++k) - { - ForceMainlandPatchCategories.push_back(catList->asString(k)); - } - } -} - -// TMP for debug : force some category in the patch to be flagged as 'mainland' until -// the actual file is updated -void tmpFlagRemovedPatchCategories(NLMISC::CConfigFile &cf) -{ - NLMISC::CConfigFile::CVar *catList = cf.getVarPtr("RemovePatchCategories"); - if (catList) - { - for (uint k = 0; k < catList->size(); ++k) - { - ForceRemovePatchCategories.push_back(catList->asString(k)); - } - } -} - - using namespace std; using namespace NLMISC; @@ -219,6 +190,13 @@ CPatchManager::CPatchManager() : State("t_state"), DataScanState("t_data_scan_st _AsyncDownloader = NULL; _StateListener = NULL; _StartRyzomAtEnd = true; + +#ifdef NL_OS_UNIX + // don't use cfg, exe and dll from Windows version + ForceRemovePatchCategories.clear(); + ForceRemovePatchCategories.push_back("main_exedll"); + ForceRemovePatchCategories.push_back("main_cfg"); +#endif } // **************************************************************************** From 91a3e128cc8c23d659f63eb6f5123317e3d9a026 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:25:48 +0100 Subject: [PATCH 045/152] Changed: Renamed RZ_PATCH to RZ_USE_PATCH --HG-- branch : compatibility --- code/ryzom/client/src/CMakeLists.txt | 8 ++++---- code/ryzom/client/src/client_cfg.cpp | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/ryzom/client/src/CMakeLists.txt b/code/ryzom/client/src/CMakeLists.txt index 4ffe21c24..1fc53145b 100644 --- a/code/ryzom/client/src/CMakeLists.txt +++ b/code/ryzom/client/src/CMakeLists.txt @@ -4,15 +4,15 @@ ADD_SUBDIRECTORY(client_sheets) IF(WITH_RYZOM_CLIENT) -IF(WITH_RYZOM_PATCH) - ADD_DEFINITIONS(-DRZ_USE_PATCH) -ENDIF(WITH_RYZOM_PATCH) - # These are Windows/MFC apps SET(SEVENZIP_LIBRARY "ryzom_sevenzip") ADD_SUBDIRECTORY(seven_zip) +IF(WITH_RYZOM_PATCH) + ADD_DEFINITIONS(-DRZ_USE_PATCH) +ENDIF(WITH_RYZOM_PATCH) + FILE(GLOB CFG ../*.cfg ../*.cfg.in) FILE(GLOB SRC *.cpp *.h motion/*.cpp motion/*.h client.rc) FILE(GLOB SRC_INTERFACE interface_v3/*.h interface_v3/*.cpp) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index c04974772..e4f767291 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -422,11 +422,11 @@ CClientConfig::CClientConfig() MouseOverFX = "sfx_selection_mouseover.ps"; SelectionFXSize = 0.8f; -#if RZ_PATCH +#if RZ_USE_PATCH PatchWanted = true; -#else +#else PatchWanted = false; -#endif +#endif PatchUrl.clear(); PatchletUrl.clear(); From dfb187126a859ccd46cae90b12592e4ddf8d4792 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:26:29 +0100 Subject: [PATCH 046/152] Changed: Create .sh file under Unix --HG-- branch : compatibility --- code/ryzom/client/src/client.cpp | 3 +++ code/ryzom/client/src/login_patch.cpp | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/code/ryzom/client/src/client.cpp b/code/ryzom/client/src/client.cpp index 368afe0ee..01e3e08b0 100644 --- a/code/ryzom/client/src/client.cpp +++ b/code/ryzom/client/src/client.cpp @@ -540,6 +540,9 @@ int main(int argc, char **argv) // ignore signal SIGPIPE generated by libwww signal(SIGPIPE, sigHandler); + // Delete the .sh file because it s not useful anymore + if (NLMISC::CFile::fileExists("updt_nl.sh")) + NLMISC::CFile::deleteFile("updt_nl.sh"); #endif // initialize patch manager and set the ryzom full path, before it's used diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index a51f2c1d5..4c45f7781 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -168,7 +168,11 @@ CPatchManager::CPatchManager() : State("t_state"), DataScanState("t_data_scan_st { DescFilename = "ryzom_xxxxx.idx"; +#ifdef NL_OS_WINDOWS UpdateBatchFilename = "updt_nl.bat"; +#else + UpdateBatchFilename = "updt_nl.sh"; +#endif // use current directory by default setClientRootPath("./"); From edf3f49afdfbb535920faa993382d00c2f068eae Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:27:09 +0100 Subject: [PATCH 047/152] Changed: Use fullpath in batch file --HG-- branch : compatibility --- code/ryzom/client/src/client.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/ryzom/client/src/client.cpp b/code/ryzom/client/src/client.cpp index 01e3e08b0..19af0545d 100644 --- a/code/ryzom/client/src/client.cpp +++ b/code/ryzom/client/src/client.cpp @@ -536,7 +536,6 @@ int main(int argc, char **argv) strcpy(filename, argv[0]); - // ignore signal SIGPIPE generated by libwww signal(SIGPIPE, sigHandler); @@ -547,7 +546,7 @@ int main(int argc, char **argv) // initialize patch manager and set the ryzom full path, before it's used CPatchManager *pPM = CPatchManager::getInstance(); - pPM->setRyzomFilename(NLMISC::CFile::getFilename(filename)); + pPM->setRyzomFilename(filename); ///////////////////////////////// // Initialize the application. // From 058aa238135829e355a65a6c02785ad8512513de Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:27:55 +0100 Subject: [PATCH 048/152] Changed: Use official settings for client.cfg --HG-- branch : compatibility --- code/ryzom/client/src/client_cfg.cpp | 43 ++++++++-------------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index e4f767291..8d5f7cfb9 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -302,7 +302,7 @@ CClientConfig::CClientConfig() Contrast = 0.f; // Default Monitor Contrast. Luminosity = 0.f; // Default Monitor Luminosity. Gamma = 0.f; // Default Monitor Gamma. - + VREnable = false; VRDisplayDevice = "Auto"; VRDisplayDeviceId = ""; @@ -327,13 +327,13 @@ CClientConfig::CClientConfig() TexturesLoginInterface.push_back("texture_interfaces_v3_login"); DisplayAccountButtons = true; - CreateAccountURL = "http://shard.ryzomcore.org/ams/index.php?page=register"; + CreateAccountURL = "https://secure.ryzom.com/signup/from_client.php"; ConditionsTermsURL = "https://secure.ryzom.com/signup/terms_of_use.php"; - EditAccountURL = "http://shard.ryzomcore.org/ams/index.php?page=settings"; + EditAccountURL = "https://secure.ryzom.com/payment_profile/index.php"; BetaAccountURL = "http://www.ryzom.com/profile"; - ForgetPwdURL = "http://shard.ryzomcore.org/ams/index.php?page=forgot_password"; + ForgetPwdURL = "https://secure.ryzom.com/payment_profile/lost_secure_password.php"; FreeTrialURL = "http://www.ryzom.com/join/?freetrial=1"; - LoginSupportURL = "http://shard.ryzomcore.org/ams/index.php"; + LoginSupportURL = "http://www.ryzom.com/en/support.html"; Position = CVector(0.f, 0.f, 0.f); // Default Position. Heading = CVector(0.f, 1.f, 0.f); // Default Heading. EyesHeight = 1.5f; // Default User Eyes Height. @@ -888,14 +888,6 @@ void CClientConfig::setValues() READ_STRING_DEV(ForgetPwdURL) READ_STRING_DEV(FreeTrialURL) READ_STRING_DEV(LoginSupportURL) - - READ_STRING_FV(CreateAccountURL) - READ_STRING_FV(EditAccountURL) - READ_STRING_FV(ConditionsTermsURL) - READ_STRING_FV(BetaAccountURL) - READ_STRING_FV(ForgetPwdURL) - READ_STRING_FV(FreeTrialURL) - READ_STRING_FV(LoginSupportURL) #ifndef RZ_NO_CLIENT // if cookie is not empty, it means that the client was launch @@ -1059,24 +1051,17 @@ void CClientConfig::setValues() ///////////////////////// // NEW PATCHING SYSTEM // READ_BOOL_FV(PatchWanted) - READ_STRING_FV(PatchServer) - READ_STRING_FV(PatchUrl) - READ_STRING_FV(PatchVersion) - READ_STRING_FV(RingReleaseNotePath) - READ_STRING_FV(ReleaseNotePath) - READ_BOOL_DEV(PatchWanted) - READ_STRING_DEV(PatchServer) READ_STRING_DEV(PatchUrl) READ_STRING_DEV(PatchVersion) READ_STRING_DEV(RingReleaseNotePath) READ_STRING_DEV(ReleaseNotePath) - + READ_STRING_FV(PatchServer) ///////////////////////// - // NEW PATCHLET SYSTEM // + // NEW PATCHLET SYSTEM // READ_STRING_FV(PatchletUrl) - //////////////////////// + /////////// // WEBIG // READ_STRING_FV(WebIgMainDomain); READ_STRINGVECTOR_FV(WebIgTrustedDomains); @@ -2214,28 +2199,24 @@ bool CClientConfig::getDefaultConfigLocation(std::string& p_name) const std::string defaultConfigFileName = "client_default.cfg"; std::string defaultConfigPath; - p_name = std::string(); + p_name.clear(); #ifdef NL_OS_MAC // on mac, client_default.cfg should be searched in .app/Contents/Resources/ - defaultConfigPath = - CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/"); - + defaultConfigPath = CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/"); #elif defined(RYZOM_ETC_PREFIX) // if RYZOM_ETC_PREFIX is defined, client_default.cfg might be over there defaultConfigPath = CPath::standardizePath(RYZOM_ETC_PREFIX); - #else // some other prefix here :) - #endif // RYZOM_ETC_PREFIX // look in the current working directory first - if(CFile::isExists(defaultConfigFileName)) + if (CFile::isExists(defaultConfigFileName)) p_name = defaultConfigFileName; // if not in working directory, check using prefix path - else if(CFile::isExists(defaultConfigPath + defaultConfigFileName)) + else if (CFile::isExists(defaultConfigPath + defaultConfigFileName)) p_name = defaultConfigPath + defaultConfigFileName; // if some client_default.cfg was found return true From 39eb83eb87c76e677c6a241a31e759ee1d93634c Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:31:59 +0100 Subject: [PATCH 049/152] Changed: Use BuildName only on Unix --HG-- branch : compatibility --- code/ryzom/client/src/login_patch.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 4c45f7781..5250c3037 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -2328,7 +2328,6 @@ void CCheckThread::run () uint32 i, j, k; // Check if the client version is the same as the server version string sClientVersion = pPM->getClientVersion(); - string sClientNewVersion = ClientCfg.BuildName; string sServerVersion = pPM->getServerVersion(); ucstring sTranslate = CI18N::get("uiClientVersion") + " (" + sClientVersion + ") "; sTranslate += CI18N::get("uiServerVersion") + " (" + sServerVersion + ")"; @@ -2342,12 +2341,16 @@ void CCheckThread::run () return; } - sint32 nServerVersion, nClientVersion, nClientNewVersion; + sint32 nServerVersion, nClientVersion; fromString(sServerVersion, nServerVersion); fromString(sClientVersion, nClientVersion); - fromString(sClientNewVersion, nClientNewVersion); #ifdef NL_OS_UNIX + string sClientNewVersion = ClientCfg.BuildName; + + sint32 nClientNewVersion; + fromString(sClientNewVersion, nClientNewVersion); + // servers files are not compatible with current client, use last client version if (nClientNewVersion && nServerVersion > nClientNewVersion) { From c9651b257de0a60a6ec43f023a7db47e5cb82b79 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:32:44 +0100 Subject: [PATCH 050/152] Fixed: Wrong parameters passed to bash script --HG-- branch : compatibility --- code/ryzom/client/src/login_patch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 5250c3037..5a1aa0f02 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -986,7 +986,7 @@ void CPatchManager::executeBatchFile() chmod(strCmdLine.c_str(), S_IRWXU); if (r2Mode) { - if (execl(strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str()) == -1) + if (execl(strCmdLine.c_str(), strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str(), (char *) NULL) == -1) { int errsv = errno; nlerror("Execl Error: %d %s", errsv, strCmdLine.c_str(), (char *) NULL); @@ -998,7 +998,7 @@ void CPatchManager::executeBatchFile() } else { - if (execl(strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str(), LoginShardId, (char *) NULL) == -1) + if (execl(strCmdLine.c_str(), strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str(), toString(LoginShardId).c_str(), (char *) NULL) == -1) { int errsv = errno; nlerror("Execl r2mode Error: %d %s", errsv, strCmdLine.c_str()); From f4233222e5ddd4a6901604d75de449ed81b871f8 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:34:28 +0100 Subject: [PATCH 051/152] Fixed: Removed chmod because useless --HG-- branch : compatibility --- code/ryzom/client/src/login_patch.cpp | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 5a1aa0f02..cb48082bc 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -818,21 +818,17 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool if (useBatchFile) { - //write windows .bat format else write sh format - #ifdef NL_OS_WINDOWS - fprintf(fp, ":loop%u\n", nblab); - fprintf(fp, "attrib -r -a -s -h %s\n", DstName.c_str()); - fprintf(fp, "del %s\n", DstName.c_str()); - fprintf(fp, "if exist %s goto loop%u\n", DstName.c_str(), nblab); - fprintf(fp, "move %s %s\n", SrcName.c_str(), DstPath.c_str()); - #elif NL_OS_MAC - //no patcher on osx - #else - fprintf(fp, "chmod 777 %s\n", DstName.c_str()); - fprintf(fp, "rm -rf %s\n", DstName.c_str()); - fprintf(fp, "mv %s %s\n", SrcName.c_str(), DstPath.c_str()); - #endif - + // write windows .bat format else write sh format +#ifdef NL_OS_WINDOWS + fprintf(fp, ":loop%u\n", nblab); + fprintf(fp, "attrib -r -a -s -h %s\n", DstName.c_str()); + fprintf(fp, "del %s\n", DstName.c_str()); + fprintf(fp, "if exist %s goto loop%u\n", DstName.c_str(), nblab); + fprintf(fp, "move %s %s\n", SrcName.c_str(), DstPath.c_str()); +#else + fprintf(fp, "rm -rf %s\n", DstName.c_str()); + fprintf(fp, "mv %s %s\n", SrcName.c_str(), DstPath.c_str()); +#endif } else { From a62393a9edd7c4913778723ad5e153f5d51a2c79 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:36:05 +0100 Subject: [PATCH 052/152] Changed: Removed pwd command --HG-- branch : compatibility --- code/ryzom/client/src/login_patch.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index cb48082bc..4357471b8 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -741,13 +741,11 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool throw Exception (err); } //use bat if windows if not use sh - #ifdef NL_OS_WINDOWS - fprintf(fp, "@echo off\n"); - #elif NL_OS_MAC - // mac patcher doesn't work yet - #else - fprintf(fp, "#!/bin/sh\npwd\n"); - #endif +#ifdef NL_OS_WINDOWS + fprintf(fp, "@echo off\n"); +#else + fprintf(fp, "#!/bin/sh\n"); +#endif } // Unpack files with category ExtractPath non empty From 8adf6df76a494ff8963bcbef01c93eba1599e470 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:36:46 +0100 Subject: [PATCH 053/152] Changed: Minor changes --HG-- branch : compatibility --- code/ryzom/client/src/login_patch.cpp | 119 +++++++++++++------------- 1 file changed, 61 insertions(+), 58 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 4357471b8..5b9a83c83 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -34,8 +34,8 @@ #ifdef USE_CURL #include #endif -#include +#include #include "nel/misc/debug.h" #include "nel/misc/path.h" @@ -68,7 +68,7 @@ #endif #ifdef NL_OS_WINDOWS -#include + #include #endif // @@ -87,11 +87,12 @@ extern string VersionName; extern string R2ServerVersion; #ifdef __CLIENT_INSTALL_EXE__ -extern std::string TheTmpInstallDirectory; -extern std::string ClientLauncherUrl; + extern std::string TheTmpInstallDirectory; + extern std::string ClientLauncherUrl; #else -std::string TheTmpInstallDirectory ="patch/client_install"; + std::string TheTmpInstallDirectory = "patch/client_install"; #endif + // **************************************************************************** // **************************************************************************** // **************************************************************************** @@ -259,16 +260,20 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s try { CConfigFile *cf; - #ifdef RY_BG_DOWNLOADER - cf = &theApp.ConfigFile; - #else - cf = &ClientCfg.ConfigFile; - #endif + +#ifdef RY_BG_DOWNLOADER + cf = &theApp.ConfigFile; +#else + cf = &ClientCfg.ConfigFile; +#endif + std::string appName = "ryzom_live"; + if (cf->getVarPtr("Application")) { appName = cf->getVar("Application").asString(0); } + std::string versionFileName = appName + ".version"; getServerFile(versionFileName); @@ -280,13 +285,14 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s versionFile.getline(buffer, 1024); CSString line(buffer); - #ifdef NL_DEBUG - CConfigFile::CVar *forceVersion = cf->getVarPtr("ForceVersion"); - if (forceVersion != NULL) - { - line = forceVersion->asString(); - } - #endif +#ifdef NL_DEBUG + CConfigFile::CVar *forceVersion = cf->getVarPtr("ForceVersion"); + + if (forceVersion != NULL) + { + line = forceVersion->asString(); + } +#endif ServerVersion = line.firstWord(true); VersionName = line.firstWord(true); @@ -294,7 +300,7 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s // force the R2ServerVersion R2ServerVersion = ServerVersion; - #ifdef __CLIENT_INSTALL_EXE__ +#ifdef __CLIENT_INSTALL_EXE__ { //The install program load a the url of the mini web site in the patch directory @@ -332,7 +338,7 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s } } } - #endif +#endif } catch (...) { @@ -740,6 +746,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool string err = toString("Can't open file '%s' for writing: code=%d %s (error code 29)", UpdateBatchFilename.c_str(), errno, strerror(errno)); throw Exception (err); } + //use bat if windows if not use sh #ifdef NL_OS_WINDOWS fprintf(fp, "@echo off\n"); @@ -777,6 +784,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool throw; } + if (!result) { //:TODO: handle exception? @@ -796,19 +804,17 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool string SrcPath = ClientPatchPath; string DstPath = rCat.getUnpackTo(); NLMISC::CFile::createDirectoryTree(DstPath); - // this file must be moved + // this file must be moved if (useBatchFile) { - #ifdef NL_OS_WINDOWS - SrcPath = CPath::standardizeDosPath(SrcPath); - DstPath = CPath::standardizeDosPath(DstPath); - #elif NL_OS_MAC - //no patcher on mac yet - #else - SrcPath = CPath::standardizePath(SrcPath); - DstPath = CPath::standardizePath(DstPath); - #endif +#ifdef NL_OS_WINDOWS + SrcPath = CPath::standardizeDosPath(SrcPath); + DstPath = CPath::standardizeDosPath(DstPath); +#else + SrcPath = CPath::standardizePath(SrcPath); + DstPath = CPath::standardizePath(DstPath); +#endif } std::string SrcName = SrcPath + vFilenames[fff]; @@ -843,26 +849,25 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool // Finalize batch file if (NLMISC::CFile::isExists("patch") && NLMISC::CFile::isDirectory("patch")) { - #ifdef NL_OS_WINDOWS +#ifdef NL_OS_WINDOWS if (useBatchFile) { fprintf(fp, ":looppatch\n"); } - #endif +#endif vector vFileList; CPath::getPathContent ("patch", false, false, true, vFileList, NULL, false); + for(uint32 i = 0; i < vFileList.size(); ++i) { if (useBatchFile) { - #ifdef NL_OS_WINDOWS - fprintf(fp, "del %s\n", CPath::standardizeDosPath(vFileList[i]).c_str()); - #elif NL_OS_MAC - //no patcher on MAC yet - #else - fprintf(fp, "rm -f %s\n", CPath::standardizePath(vFileList[i]).c_str()); - #endif +#ifdef NL_OS_WINDOWS + fprintf(fp, "del %s\n", CPath::standardizeDosPath(vFileList[i]).c_str()); +#else + fprintf(fp, "rm -f %s\n", CPath::standardizePath(vFileList[i]).c_str()); +#endif } else { @@ -872,14 +877,12 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool if (useBatchFile) { - #ifdef NL_OS_WINDOWS - fprintf(fp, "rd /Q /S patch\n"); - fprintf(fp, "if exist patch goto looppatch\n"); - #elif NL_OS_MAC - //no patcher on mac yet - #else - fprintf(fp, "rm -rf patch\n"); - #endif +#ifdef NL_OS_WINDOWS + fprintf(fp, "rd /Q /S patch\n"); + fprintf(fp, "if exist patch goto looppatch\n"); +#else + fprintf(fp, "rm -rf patch\n"); +#endif } else { @@ -891,11 +894,11 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool { if (wantRyzomRestart) { - #ifdef NL_OS_WINDOWS +#ifdef NL_OS_WINDOWS fprintf(fp, "start %s %%1 %%2 %%3\n", RyzomFilename.c_str()); - #else +#else fprintf(fp, "%s $1 $2 $3\n", RyzomFilename.c_str()); - #endif +#endif } bool writeError = ferror(fp) != 0; @@ -970,9 +973,11 @@ void CPatchManager::executeBatchFile() #else // Start the child process. bool r2Mode = false; - #ifndef RY_BG_DOWNLOADER - r2Mode = ClientCfg.R2Mode; - #endif + +#ifndef RY_BG_DOWNLOADER + r2Mode = ClientCfg.R2Mode; +#endif + string strCmdLine; strCmdLine = "./" + UpdateBatchFilename; @@ -1318,7 +1323,7 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de DownloadInProgress = true; try { - #ifdef USE_CURL +#ifdef USE_CURL ucstring s = CI18N::get("uiDLWithCurl") + " " + dest; setState(true, s); @@ -1415,9 +1420,9 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de throw EPatchDownloadException (NLMISC::toString("curl download failed: (ec %d %d)", res, r)); } - #else +#else throw Exception("USE_CURL is not defined, no curl method"); - #endif +#endif } catch(...) { @@ -2132,9 +2137,7 @@ void CPatchManager::getCorruptedFileInfo(const SFileToPatch &ftp, ucstring &sTra bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::string &destFileName) { #ifdef RZ_USE_SEVENZIP - nlinfo("Uncompressing 7zip archive '%s' to '%s'", - sevenZipFile.c_str(), - destFileName.c_str()); + nlinfo("Uncompressing 7zip archive '%s' to '%s'", sevenZipFile.c_str(), destFileName.c_str()); // init seven zip ISzAlloc allocImp; From be311fb0f8b38983d744a0ccd4a0f111adadc820 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 14 Feb 2014 18:36:15 +0100 Subject: [PATCH 054/152] Fix for excessive inlining of npc chat serialization, issue #97 --HG-- branch : compatibility --- .../ryzom/common/src/game_share/send_chat.cpp | 186 ++++++++++++++++++ code/ryzom/common/src/game_share/send_chat.h | 117 +---------- 2 files changed, 196 insertions(+), 107 deletions(-) create mode 100644 code/ryzom/common/src/game_share/send_chat.cpp diff --git a/code/ryzom/common/src/game_share/send_chat.cpp b/code/ryzom/common/src/game_share/send_chat.cpp new file mode 100644 index 000000000..064e223fe --- /dev/null +++ b/code/ryzom/common/src/game_share/send_chat.cpp @@ -0,0 +1,186 @@ +// Ryzom - 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 . + +#include "nel/misc/types_nl.h" +#include "send_chat.h" + +/** + * Send a chat line from system to a player that will be displayed as a normal chat sentence + * Sentence will be formated using "" as prefix of chat string + */ +void chatToPlayer(const NLMISC::CEntityId &id, const std::string &chatString) +{ + NLNET::CMessage msgout("CHAT"); + bool talkToPlayer = true; + msgout.serial(talkToPlayer, const_cast(id), const_cast(chatString)); + sendMessageViaMirror("IOS", msgout); +} + +/** + * Send a chat line from system to a group of player that will be displayed as a normal chat sentence + * Sentence will be formated using "" as prefix of chat string + */ +void chatToGroup(const NLMISC::CEntityId &id, const std::string &chatString) +{ + NLNET::CMessage msgout("CHAT"); + bool talkToPlayer = false; + msgout.serial(talkToPlayer, const_cast(id), const_cast(chatString)); + sendMessageViaMirror("IOS", msgout); +} + +/** + * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). + * Chat group can be constructed from CChatGroup class. + * phraseId is a phrase identifier in the phrase translation file. + * param are the parameter of the phrase + */ +void npcChatParamToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, const std::string &phraseId, const std::vector ¶ms) +{ + NLNET::CMessage msgout("NPC_CHAT_PARAM"); + msgout.serial(const_cast(senderId)); + msgout.serialEnum(groupType); + msgout.serial(const_cast(phraseId)); + + uint32 size = (uint32)params.size(); + msgout.serial(size); +// params.resize(size); + for ( uint i = 0; i < size; i++ ) + { + uint8 type8 = params[i].Type; + msgout.serial( type8 ); + const_cast(params[i]).serialParam( false, msgout, (STRING_MANAGER::TParamType) type8 ); + } + + sendMessageViaMirror("IOS", msgout); +} + +/** + * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). + * Chat group can be constructed from CChatGroup class. + * phraseId is a phrase identifier in the phrase translation file. + */ +void npcChatToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, const std::string &phraseId) +{ + NLNET::CMessage msgout("NPC_CHAT"); + msgout.serial(const_cast(senderId)); + msgout.serialEnum(groupType); + msgout.serial(const_cast(phraseId)); + sendMessageViaMirror("IOS", msgout); +} + + +/** + * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). + * Chat group can be constructed from CChatGroup class. + * phraseId is a phrase identifier in the phrase translation file. + */ +void npcChatToChannelEx(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, uint32 phraseId) +{ + NLNET::CMessage msgout("NPC_CHAT_EX"); + msgout.serial(const_cast(senderId)); + msgout.serialEnum(groupType); + msgout.serial(phraseId); + sendMessageViaMirror("IOS", msgout); +} + +/** + * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). + * Chat group can be constructed from CChatGroup class. + * sentence is the sentence to be sent. + */ +void npcChatToChannelSentence(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, ucstring& sentence) +{ + NLNET::CMessage msgout("NPC_CHAT_SENTENCE"); + msgout.serial(const_cast(senderId)); + msgout.serialEnum(groupType); + msgout.serial(sentence); + sendMessageViaMirror("IOS", msgout); +} + +/** + * Request to the DSS to send a chat line from a bot in a chat channel + * Chat group can be constructed from CChatGroup class. + * sentenceId is the id of the sentence that must be sent by the DSS + */ +void forwardToDss(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, std::string& sentenceId,uint32 scenarioId) +{ + nlinfo( ("forwarding to DSS : id: "+sentenceId).c_str()); + NLNET::CMessage msgout("translateAndForward"); + msgout.serial(const_cast(senderId)); + msgout.serialEnum(groupType); + msgout.serial(sentenceId); + msgout.serial(scenarioId); + NLNET::CUnifiedNetwork::getInstance()->send("DSS",msgout); +} + +/** + * Request to the DSS to send a chat line from a bot in a chat channel + * Chat group can be constructed from CChatGroup class. + * sentenceId is the id of the sentence that must be sent by the DSS + */ +void forwardToDssArg(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, std::string& sentenceId,uint32 scenarioId,std::vector& argValues) +{ + nlinfo( ("forwarding to DSS : id: "+sentenceId).c_str()); + NLNET::CMessage msgout("translateAndForwardArg"); + msgout.serial(const_cast(senderId)); + msgout.serialEnum(groupType); + msgout.serial(sentenceId); + msgout.serial(scenarioId); + uint32 size=(uint32)argValues.size(),i=0; + msgout.serial(size); + for(;isend("DSS",msgout); +} + +/** + * Send a tell line from a bot (mainly NPC) to a player + * phraseId is a phrase identifier in the phrase translation file. + */ +void npcTellToPlayer(const TDataSetRow &senderId, const TDataSetRow &receiverId, const std::string &phraseId, bool needSenderNpc) +{ + NLNET::CMessage msgout; + if ( needSenderNpc ) + { + msgout.setType("NPC_TELL"); + msgout.serial(const_cast(senderId)); + } + else + { + msgout.setType("GHOST_TELL"); + } + msgout.serial(const_cast(receiverId)); + msgout.serial(const_cast(phraseId)); + sendMessageViaMirror("IOS", msgout); +} + + +/** + * Send a tell line from a bot (mainly NPC) to a player. Accept parametered strings + * phraseId is a phrase id obtained through the string manager + */ +void npcTellToPlayerEx(const TDataSetRow &senderId, const TDataSetRow &receiverId, uint32 phraseId) +{ + NLNET::CMessage msgout("NPC_TELL_EX"); + msgout.serial(const_cast(senderId)); + msgout.serial(const_cast(receiverId)); + msgout.serial(phraseId); + sendMessageViaMirror("IOS", msgout); +} + +/* End of send_chat.cpp */ diff --git a/code/ryzom/common/src/game_share/send_chat.h b/code/ryzom/common/src/game_share/send_chat.h index a6b8bd364..1acc9799e 100644 --- a/code/ryzom/common/src/game_share/send_chat.h +++ b/code/ryzom/common/src/game_share/send_chat.h @@ -35,25 +35,13 @@ * Send a chat line from system to a player that will be displayed as a normal chat sentence * Sentence will be formated using "" as prefix of chat string */ -inline void chatToPlayer(const NLMISC::CEntityId &id, const std::string &chatString) -{ - NLNET::CMessage msgout("CHAT"); - bool talkToPlayer = true; - msgout.serial(talkToPlayer, const_cast(id), const_cast(chatString)); - sendMessageViaMirror("IOS", msgout); -} +void chatToPlayer(const NLMISC::CEntityId &id, const std::string &chatString); /** * Send a chat line from system to a group of player that will be displayed as a normal chat sentence * Sentence will be formated using "" as prefix of chat string */ -inline void chatToGroup(const NLMISC::CEntityId &id, const std::string &chatString) -{ - NLNET::CMessage msgout("CHAT"); - bool talkToPlayer = false; - msgout.serial(talkToPlayer, const_cast(id), const_cast(chatString)); - sendMessageViaMirror("IOS", msgout); -} +void chatToGroup(const NLMISC::CEntityId &id, const std::string &chatString); /** * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). @@ -61,39 +49,14 @@ inline void chatToGroup(const NLMISC::CEntityId &id, const std::string &chatStri * phraseId is a phrase identifier in the phrase translation file. * param are the parameter of the phrase */ -inline void npcChatParamToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, const std::string &phraseId, const std::vector ¶ms) -{ - NLNET::CMessage msgout("NPC_CHAT_PARAM"); - msgout.serial(const_cast(senderId)); - msgout.serialEnum(groupType); - msgout.serial(const_cast(phraseId)); - - uint32 size = (uint32)params.size(); - msgout.serial(size); -// params.resize(size); - for ( uint i = 0; i < size; i++ ) - { - uint8 type8 = params[i].Type; - msgout.serial( type8 ); - const_cast(params[i]).serialParam( false, msgout, (STRING_MANAGER::TParamType) type8 ); - } - - sendMessageViaMirror("IOS", msgout); -} +void npcChatParamToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, const std::string &phraseId, const std::vector ¶ms); /** * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). * Chat group can be constructed from CChatGroup class. * phraseId is a phrase identifier in the phrase translation file. */ -inline void npcChatToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, const std::string &phraseId) -{ - NLNET::CMessage msgout("NPC_CHAT"); - msgout.serial(const_cast(senderId)); - msgout.serialEnum(groupType); - msgout.serial(const_cast(phraseId)); - sendMessageViaMirror("IOS", msgout); -} +void npcChatToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, const std::string &phraseId); /** @@ -101,101 +64,41 @@ inline void npcChatToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType * Chat group can be constructed from CChatGroup class. * phraseId is a phrase identifier in the phrase translation file. */ -inline void npcChatToChannelEx(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, uint32 phraseId) -{ - NLNET::CMessage msgout("NPC_CHAT_EX"); - msgout.serial(const_cast(senderId)); - msgout.serialEnum(groupType); - msgout.serial(phraseId); - sendMessageViaMirror("IOS", msgout); -} +void npcChatToChannelEx(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, uint32 phraseId); /** * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). * Chat group can be constructed from CChatGroup class. * sentence is the sentence to be sent. */ -inline void npcChatToChannelSentence(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, ucstring& sentence) -{ - NLNET::CMessage msgout("NPC_CHAT_SENTENCE"); - msgout.serial(const_cast(senderId)); - msgout.serialEnum(groupType); - msgout.serial(sentence); - sendMessageViaMirror("IOS", msgout); -} +void npcChatToChannelSentence(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, ucstring& sentence); /** * Request to the DSS to send a chat line from a bot in a chat channel * Chat group can be constructed from CChatGroup class. * sentenceId is the id of the sentence that must be sent by the DSS */ -inline void forwardToDss(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, std::string& sentenceId,uint32 scenarioId) -{ - nlinfo( ("forwarding to DSS : id: "+sentenceId).c_str()); - NLNET::CMessage msgout("translateAndForward"); - msgout.serial(const_cast(senderId)); - msgout.serialEnum(groupType); - msgout.serial(sentenceId); - msgout.serial(scenarioId); - NLNET::CUnifiedNetwork::getInstance()->send("DSS",msgout); -} +void forwardToDss(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, std::string& sentenceId,uint32 scenarioId); /** * Request to the DSS to send a chat line from a bot in a chat channel * Chat group can be constructed from CChatGroup class. * sentenceId is the id of the sentence that must be sent by the DSS */ -inline void forwardToDssArg(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, std::string& sentenceId,uint32 scenarioId,std::vector& argValues) -{ - nlinfo( ("forwarding to DSS : id: "+sentenceId).c_str()); - NLNET::CMessage msgout("translateAndForwardArg"); - msgout.serial(const_cast(senderId)); - msgout.serialEnum(groupType); - msgout.serial(sentenceId); - msgout.serial(scenarioId); - uint32 size=(uint32)argValues.size(),i=0; - msgout.serial(size); - for(;isend("DSS",msgout); -} +void forwardToDssArg(const TDataSetRow &senderId, CChatGroup::TGroupType groupType, std::string& sentenceId,uint32 scenarioId,std::vector& argValues); /** * Send a tell line from a bot (mainly NPC) to a player * phraseId is a phrase identifier in the phrase translation file. */ -inline void npcTellToPlayer(const TDataSetRow &senderId, const TDataSetRow &receiverId, const std::string &phraseId, bool needSenderNpc=true) -{ - NLNET::CMessage msgout; - if ( needSenderNpc ) - { - msgout.setType("NPC_TELL"); - msgout.serial(const_cast(senderId)); - } - else - { - msgout.setType("GHOST_TELL"); - } - msgout.serial(const_cast(receiverId)); - msgout.serial(const_cast(phraseId)); - sendMessageViaMirror("IOS", msgout); -} +void npcTellToPlayer(const TDataSetRow &senderId, const TDataSetRow &receiverId, const std::string &phraseId, bool needSenderNpc=true); /** * Send a tell line from a bot (mainly NPC) to a player. Accept parametered strings * phraseId is a phrase id obtained through the string manager */ -inline void npcTellToPlayerEx(const TDataSetRow &senderId, const TDataSetRow &receiverId, uint32 phraseId) -{ - NLNET::CMessage msgout("NPC_TELL_EX"); - msgout.serial(const_cast(senderId)); - msgout.serial(const_cast(receiverId)); - msgout.serial(phraseId); - sendMessageViaMirror("IOS", msgout); -} +void npcTellToPlayerEx(const TDataSetRow &senderId, const TDataSetRow &receiverId, uint32 phraseId); #endif // SEND_CHAT_H From 6c4d33c2a6ca612546d431514957126b491a55f8 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 16:23:17 +0100 Subject: [PATCH 055/152] Changed: Improvements in patch system --- code/CMakeModules/nel.cmake | 4 ++-- code/ryzom/client/src/CMakeLists.txt | 6 +++++- code/ryzom/client/src/client_cfg.cpp | 20 ++++++++++---------- code/ryzom/client/src/login_patch.cpp | 23 ++++++++++++----------- 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index c7184d57e..e88465ae2 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -236,8 +236,6 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS) OPTION(WITH_COVERAGE "With Code Coverage Support" OFF) OPTION(WITH_PCH "With Precompiled Headers" ON ) OPTION(FINAL_VERSION "Build in Final Version mode" ON ) - OPTION(WITH_PERFHUD "Build with NVIDIA PerfHUD support" OFF ) - OPTION(WITH_PATCH_SUPPORT "Build with in-game Patch Support" OFF ) # Default to static building on Windows. IF(WIN32) @@ -325,6 +323,7 @@ MACRO(NL_SETUP_NEL_DEFAULT_OPTIONS) OPTION(WITH_LIBOVR "With LibOVR support" OFF) OPTION(WITH_LIBVR "With LibVR support" OFF) + OPTION(WITH_PERFHUD "With NVIDIA PerfHUD support" OFF) ENDMACRO(NL_SETUP_NEL_DEFAULT_OPTIONS) MACRO(NL_SETUP_NELNS_DEFAULT_OPTIONS) @@ -343,6 +342,7 @@ MACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS) OPTION(WITH_RYZOM_TOOLS "Build Ryzom Core Tools" ON ) OPTION(WITH_RYZOM_SERVER "Build Ryzom Core Services" ON ) OPTION(WITH_RYZOM_SOUND "Enable Ryzom Core Sound" ON ) + OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF) ### # Optional support diff --git a/code/ryzom/client/src/CMakeLists.txt b/code/ryzom/client/src/CMakeLists.txt index fb9bfcaa9..4ffe21c24 100644 --- a/code/ryzom/client/src/CMakeLists.txt +++ b/code/ryzom/client/src/CMakeLists.txt @@ -4,8 +4,12 @@ ADD_SUBDIRECTORY(client_sheets) IF(WITH_RYZOM_CLIENT) +IF(WITH_RYZOM_PATCH) + ADD_DEFINITIONS(-DRZ_USE_PATCH) +ENDIF(WITH_RYZOM_PATCH) + # These are Windows/MFC apps - SET(SEVENZIP_LIBRARY "ryzom_sevenzip") +SET(SEVENZIP_LIBRARY "ryzom_sevenzip") ADD_SUBDIRECTORY(seven_zip) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index a065252a5..d314f309f 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -422,16 +422,16 @@ CClientConfig::CClientConfig() MouseOverFX = "sfx_selection_mouseover.ps"; SelectionFXSize = 0.8f; - // only force patching under Windows by default - #if WITH_PATCH_SUPPORT - PatchWanted = true; - #else - PatchWanted = false; - #endif - PatchUrl = ""; - PatchletUrl = ""; - PatchVersion = ""; - PatchServer = ""; +#if RZ_PATCH + PatchWanted = true; +#else + PatchWanted = false; +#endif + + PatchUrl.clear(); + PatchletUrl.clear(); + PatchVersion.clear(); + PatchServer.clear(); WebIgMainDomain = "atys.ryzom.com"; WebIgTrustedDomains.push_back(WebIgMainDomain); diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index ec01b3080..deffc0e3e 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -18,16 +18,14 @@ // Includes // +#include "stdpch.h" + #include -#ifdef NL_OS_WINDOWS - //windows doesnt have unistd.h -#else +#ifndef NL_OS_WINDOWS #include #endif -#include "stdpch.h" - #include #include @@ -46,10 +44,10 @@ #include "nel/misc/big_file.h" #include "nel/misc/i18n.h" -#define NL_USE_SEVENZIP 1 +#define RZ_USE_SEVENZIP 1 // 7 zip includes -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP #include "seven_zip/7zCrc.h" #include "seven_zip/7zIn.h" #include "seven_zip/7zExtract.h" @@ -746,7 +744,6 @@ void CPatchManager::deleteBatchFile() // **************************************************************************** void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool wantRyzomRestart, bool useBatchFile) { - uint nblab = 0; FILE *fp = NULL; @@ -920,7 +917,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool #ifdef NL_OS_WINDOWS fprintf(fp, "start %s %%1 %%2 %%3\n", RyzomFilename.c_str()); #else - fprintf(fp, "/opt/tita/%s $1 $2 $3\n", RyzomFilename.c_str()); + fprintf(fp, "%s $1 $2 $3\n", RyzomFilename.c_str()); #endif } @@ -1010,7 +1007,9 @@ void CPatchManager::executeBatchFile() { int errsv = errno; nlerror("Execl Error: %d %s", errsv, strCmdLine.c_str(), (char *) NULL); - } else { + } + else + { nlinfo("Ran batch file r2Mode Success"); } } @@ -1020,7 +1019,9 @@ void CPatchManager::executeBatchFile() { int errsv = errno; nlerror("Execl r2mode Error: %d %s", errsv, strCmdLine.c_str()); - } else { + } + else + { nlinfo("Ran batch file Success"); } } From 2076a6b13d5be7c420bee7264d7fa20befe5464c Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 16:23:28 +0100 Subject: [PATCH 056/152] Changed: Typo --- code/nel/src/gui/group_html.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/nel/src/gui/group_html.cpp b/code/nel/src/gui/group_html.cpp index d0fcd050e..9f19f383a 100644 --- a/code/nel/src/gui/group_html.cpp +++ b/code/nel/src/gui/group_html.cpp @@ -4094,7 +4094,8 @@ namespace NLGUI void CGroupHTML::requestTerminated(HTRequest * request ) { // this callback is being called for every request terminated - if( request == _LibWWW->Request ){ + if (request == _LibWWW->Request) + { // set the browser as complete _Browsing = false; updateRefreshButton(); From 98f33cfa87a8e3fdddb8ad30524f999b083f0c28 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 18:20:30 +0100 Subject: [PATCH 057/152] Changed: Use RZ_USE_SEVENZIP instead of NL_USE_SEVENZIP --- code/ryzom/client/src/login_patch.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index deffc0e3e..384f032c8 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -139,7 +139,7 @@ struct EPatchDownloadException : public Exception CPatchManager *CPatchManager::_Instance = NULL; -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP /// Input stream class for 7zip archive class CNel7ZipInStream : public _ISzInStream { @@ -420,6 +420,7 @@ void CPatchManager::startCheckThread(bool includeBackgroundPatch) nlassert (thread != NULL); thread->start (); } + // **************************************************************************** bool CPatchManager::isCheckThreadEnded(bool &ok) { @@ -761,7 +762,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool #ifdef NL_OS_WINDOWS fprintf(fp, "@echo off\n"); #elif NL_OS_MAC - //mac patcher doesn't work yet + // mac patcher doesn't work yet #else fprintf(fp, "#!/bin/sh\npwd\n"); #endif @@ -2154,7 +2155,7 @@ void CPatchManager::getCorruptedFileInfo(const SFileToPatch &ftp, ucstring &sTra bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::string &destFileName) { -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP nlinfo("Uncompressing 7zip archive '%s' to '%s'", sevenZipFile.c_str(), destFileName.c_str()); @@ -2246,7 +2247,7 @@ bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::strin bool CPatchManager::unpackLZMA(const std::string &lzmaFile, const std::string &destFileName) { -#ifdef NL_USE_SEVENZIP +#ifdef RZ_USE_SEVENZIP nldebug("unpackLZMA : decompression the lzma file '%s' into output file '%s", lzmaFile.c_str(), destFileName.c_str()); CIFile inStream(lzmaFile); uint32 inSize = inStream.getFileSize(); From aa9c18481de2845db19689bfdbdcf9ff8db13680 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 19:36:13 +0100 Subject: [PATCH 058/152] Changed: Use "BuildName" from client_default.cfg to determinate last supported patch version by current client under Unix --- code/ryzom/client/src/login_patch.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 384f032c8..6976926ba 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -1397,7 +1397,7 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de fclose(fp); curl_global_cleanup(); - CurrentFile = ""; + CurrentFile.clear(); if (diskFull) { @@ -2346,6 +2346,7 @@ void CCheckThread::run () uint32 i, j, k; // Check if the client version is the same as the server version string sClientVersion = pPM->getClientVersion(); + string sClientNewVersion = ClientCfg.BuildName; string sServerVersion = pPM->getServerVersion(); ucstring sTranslate = CI18N::get("uiClientVersion") + " (" + sClientVersion + ") "; sTranslate += CI18N::get("uiServerVersion") + " (" + sServerVersion + ")"; @@ -2359,10 +2360,20 @@ void CCheckThread::run () return; } - sint32 nServerVersion; + sint32 nServerVersion, nClientVersion, nClientNewVersion; fromString(sServerVersion, nServerVersion); + fromString(sClientVersion, nClientVersion); + fromString(sClientNewVersion, nClientNewVersion); - if (sClientVersion != sServerVersion) +#ifdef NL_OS_UNIX + // servers files are not compatible with current client, use last client version + if (nClientNewVersion && nServerVersion > nClientNewVersion) + { + nServerVersion = nClientNewVersion; + } +#endif + + if (nClientVersion != nServerVersion) { // first, try in the version subdirectory try From 7932937df9c7cc24d04ec3a839ea84c0d5e568a8 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 22 Mar 2014 19:36:53 +0100 Subject: [PATCH 059/152] Changed: Don't patch "main_exedll" and "main_cfg" categories under Unix --- code/ryzom/client/src/init.cpp | 7 ------ code/ryzom/client/src/login_patch.cpp | 36 ++++++--------------------- 2 files changed, 7 insertions(+), 36 deletions(-) diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index 1c4fe76e9..d603be4a3 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -829,13 +829,6 @@ void prelogInit() CLoginProgressPostThread::getInstance().init(ClientCfg.ConfigFile); - // tmp for patcher debug - extern void tmpFlagMainlandPatchCategories(NLMISC::CConfigFile &cf); - extern void tmpFlagRemovedPatchCategories(NLMISC::CConfigFile &cf); - tmpFlagMainlandPatchCategories(ClientCfg.ConfigFile); - tmpFlagRemovedPatchCategories(ClientCfg.ConfigFile); - - // check "BuildName" in ClientCfg //nlassert(!ClientCfg.BuildName.empty()); // TMP comment by nico do not commit diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 6976926ba..a51f2c1d5 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -79,35 +79,6 @@ static std::vector ForceMainlandPatchCategories; static std::vector ForceRemovePatchCategories; -// TMP for debug : force some category in the patch to be flagged as 'mainland' until -// the actual file is updated -void tmpFlagMainlandPatchCategories(NLMISC::CConfigFile &cf) -{ - NLMISC::CConfigFile::CVar *catList = cf.getVarPtr("ForceMainlandPatchCategories"); - if (catList) - { - for (uint k = 0; k < catList->size(); ++k) - { - ForceMainlandPatchCategories.push_back(catList->asString(k)); - } - } -} - -// TMP for debug : force some category in the patch to be flagged as 'mainland' until -// the actual file is updated -void tmpFlagRemovedPatchCategories(NLMISC::CConfigFile &cf) -{ - NLMISC::CConfigFile::CVar *catList = cf.getVarPtr("RemovePatchCategories"); - if (catList) - { - for (uint k = 0; k < catList->size(); ++k) - { - ForceRemovePatchCategories.push_back(catList->asString(k)); - } - } -} - - using namespace std; using namespace NLMISC; @@ -219,6 +190,13 @@ CPatchManager::CPatchManager() : State("t_state"), DataScanState("t_data_scan_st _AsyncDownloader = NULL; _StateListener = NULL; _StartRyzomAtEnd = true; + +#ifdef NL_OS_UNIX + // don't use cfg, exe and dll from Windows version + ForceRemovePatchCategories.clear(); + ForceRemovePatchCategories.push_back("main_exedll"); + ForceRemovePatchCategories.push_back("main_cfg"); +#endif } // **************************************************************************** From f6f0f42d1fabe128b36da413410ad57a87dd851b Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Sun, 23 Mar 2014 15:16:20 +0530 Subject: [PATCH 060/152] colation changed to utf8_unicode_ci --HG-- branch : issue#127 --- .../server/ryzom_ams/www/html/installer/libsetup.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 932d6d2db..7d823e1c6 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -70,7 +70,7 @@ //SETUP THE WWW DB $dbw = new DBLayer("install", "web"); $sql = " - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['web']['name'] ."`; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['web']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `". $cfg['db']['web']['name'] . "`; DROP TABLE IF EXISTS ams_user; @@ -96,7 +96,7 @@ $dbl = new DBLayer("install", "lib"); $sql = " - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['lib']['name'] ."`; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['lib']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `" . $cfg['db']['lib']['name'] ."`; DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ams_querycache`; @@ -502,7 +502,7 @@ //SETUP THE SHARD DB $dbs = new DBLayer("install", "shard"); $sql = " - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['shard']['name'] ."`; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['shard']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `". $cfg['db']['shard']['name'] . "`; CREATE TABLE IF NOT EXISTS `domain` ( @@ -620,7 +620,7 @@ CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['tool']['name'] ."`; USE `". $cfg['db']['tool']['name'] . "`; - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['tool']['name'] ."` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['tool']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `" . $cfg['db']['tool']['name'] ."`; CREATE TABLE IF NOT EXISTS `neltool_annotations` ( @@ -1400,7 +1400,7 @@ //SETUP THE OPEN_SHARD DB $dbw = new DBLayer("install", "ring"); $sql = " - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['ring']['name'] ."`; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['ring']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `" . $cfg['db']['ring']['name'] ."`; CREATE TABLE IF NOT EXISTS `characters` ( From bfb2b0c5959a0bd689272819eebb152a2d2bbdd6 Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Sun, 23 Mar 2014 10:45:30 +0000 Subject: [PATCH 061/152] libsetup.php edited online with Bitbucket --HG-- branch : issue#127 --- .../server/ryzom_ams/www/html/installer/libsetup.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 7d823e1c6..3191f074a 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -70,7 +70,7 @@ //SETUP THE WWW DB $dbw = new DBLayer("install", "web"); $sql = " - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['web']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['web']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; USE `". $cfg['db']['web']['name'] . "`; DROP TABLE IF EXISTS ams_user; @@ -96,7 +96,7 @@ $dbl = new DBLayer("install", "lib"); $sql = " - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['lib']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['lib']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; USE `" . $cfg['db']['lib']['name'] ."`; DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ams_querycache`; @@ -620,7 +620,7 @@ CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['tool']['name'] ."`; USE `". $cfg['db']['tool']['name'] . "`; - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['tool']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['tool']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; USE `" . $cfg['db']['tool']['name'] ."`; CREATE TABLE IF NOT EXISTS `neltool_annotations` ( @@ -1400,7 +1400,7 @@ //SETUP THE OPEN_SHARD DB $dbw = new DBLayer("install", "ring"); $sql = " - CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['ring']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; + CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['ring']['name'] ."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; USE `" . $cfg['db']['ring']['name'] ."`; CREATE TABLE IF NOT EXISTS `characters` ( From 7217a99c59c48f379aaa308194efd42d3fc9b91a Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Sun, 23 Mar 2014 17:56:42 +0530 Subject: [PATCH 062/152] added title of web in translations --HG-- branch : Issue#121 --- code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini | 3 ++- code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini | 3 ++- .../ryzom/tools/server/ryzom_ams/www/html/templates/layout.tpl | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini index 586d49241..f70fdfe3b 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini @@ -6,6 +6,7 @@ login_info = "Please enter your MySQL Username and Password to install the datab login_here = "here" [dashboard] +ams_title="Ryzom Account Mangement System" home_title = "Introduction" home_info = "Welcome to the Ryzom Core - Account Management System" @@ -242,4 +243,4 @@ email_body_forgot_password_header = "A request to reset your account's password email_body_forgot_password_footer = " ---------- If you didn't make this request, please ignore this message." -;=========================================================================== \ No newline at end of file +;=========================================================================== diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini index b4fa1fcf6..c48ca031b 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini @@ -2,6 +2,7 @@ ; Comments start with ';', as in php.ini [dashboard] +ams_title="Ryzom Account Mangement System" home_title = "Presentation" home_info = "Bienvenue sur le Ryzom Core - Account Management System" @@ -230,4 +231,4 @@ email_body_forgot_password_header = "Une demande de reinitialiser le mot de pass email_body_forgot_password_footer = " ---------- Si vous n'avez pas fait cette demande, s'il vous plait ignorer ce message." -;=========================================================================== \ No newline at end of file +;=========================================================================== diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/templates/layout.tpl b/code/ryzom/tools/server/ryzom_ams/www/html/templates/layout.tpl index fa97211d7..5e5e0fb9f 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/templates/layout.tpl +++ b/code/ryzom/tools/server/ryzom_ams/www/html/templates/layout.tpl @@ -12,7 +12,7 @@ http://twitter.com/halalit_usman --> - Ryzom Account Management System + {$ams_title} From 5bef18032ebea8a5b4c2c6b7033276c1ea46e24f Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Sun, 23 Mar 2014 18:48:39 +0530 Subject: [PATCH 063/152] added web title in translations --HG-- branch : Issue#121 --- .../tools/server/ryzom_ams/ams_lib/autoload/helpers.php | 5 +++++ .../ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini | 4 +++- .../ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/helpers.php b/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/helpers.php index 40a96f6c1..8f99bfc93 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/helpers.php +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/autoload/helpers.php @@ -62,6 +62,11 @@ class Helpers{ $smarty -> assign( $key, $value ); } + //load ams content variables that are language dependent + foreach ( $variables['ams_content'] as $key => $value){ + $smarty -> assign( $key, $value); + } + //smarty inheritance for loading the matching wrapper layout (with the matching menu bar) if( isset($vars['permission']) && $vars['permission'] == 3 ){ $inherited = "extends:layout_admin.tpl|"; diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini index f70fdfe3b..322c43779 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini @@ -5,8 +5,10 @@ login_info = "Please enter your MySQL Username and Password to install the database.
This is being loaded because the is_installed file is missing.
This process will take about 30 seconds." login_here = "here" -[dashboard] +[ams_content] ams_title="Ryzom Account Mangement System" + +[dashboard] home_title = "Introduction" home_info = "Welcome to the Ryzom Core - Account Management System" diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini index c48ca031b..57d6e7e66 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini @@ -1,8 +1,10 @@ ; This is a sample configuration file ; Comments start with ';', as in php.ini -[dashboard] +[ams_content] ams_title="Ryzom Account Mangement System" + +[dashboard] home_title = "Presentation" home_info = "Bienvenue sur le Ryzom Core - Account Management System" From 350c6ec5d7675ba68280ee09005503fbe0ccde9b Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:25:48 +0100 Subject: [PATCH 064/152] Changed: Renamed RZ_PATCH to RZ_USE_PATCH --- code/ryzom/client/src/CMakeLists.txt | 8 ++++---- code/ryzom/client/src/client_cfg.cpp | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/ryzom/client/src/CMakeLists.txt b/code/ryzom/client/src/CMakeLists.txt index 4ffe21c24..1fc53145b 100644 --- a/code/ryzom/client/src/CMakeLists.txt +++ b/code/ryzom/client/src/CMakeLists.txt @@ -4,15 +4,15 @@ ADD_SUBDIRECTORY(client_sheets) IF(WITH_RYZOM_CLIENT) -IF(WITH_RYZOM_PATCH) - ADD_DEFINITIONS(-DRZ_USE_PATCH) -ENDIF(WITH_RYZOM_PATCH) - # These are Windows/MFC apps SET(SEVENZIP_LIBRARY "ryzom_sevenzip") ADD_SUBDIRECTORY(seven_zip) +IF(WITH_RYZOM_PATCH) + ADD_DEFINITIONS(-DRZ_USE_PATCH) +ENDIF(WITH_RYZOM_PATCH) + FILE(GLOB CFG ../*.cfg ../*.cfg.in) FILE(GLOB SRC *.cpp *.h motion/*.cpp motion/*.h client.rc) FILE(GLOB SRC_INTERFACE interface_v3/*.h interface_v3/*.cpp) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index d314f309f..56decaa63 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -422,11 +422,11 @@ CClientConfig::CClientConfig() MouseOverFX = "sfx_selection_mouseover.ps"; SelectionFXSize = 0.8f; -#if RZ_PATCH +#if RZ_USE_PATCH PatchWanted = true; -#else +#else PatchWanted = false; -#endif +#endif PatchUrl.clear(); PatchletUrl.clear(); From 41ac5d56d8fe61d796f6ece7f55acaa1fb17aba2 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:26:29 +0100 Subject: [PATCH 065/152] Changed: Create .sh file under Unix --- code/ryzom/client/src/client.cpp | 3 +++ code/ryzom/client/src/login_patch.cpp | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/code/ryzom/client/src/client.cpp b/code/ryzom/client/src/client.cpp index 368afe0ee..01e3e08b0 100644 --- a/code/ryzom/client/src/client.cpp +++ b/code/ryzom/client/src/client.cpp @@ -540,6 +540,9 @@ int main(int argc, char **argv) // ignore signal SIGPIPE generated by libwww signal(SIGPIPE, sigHandler); + // Delete the .sh file because it s not useful anymore + if (NLMISC::CFile::fileExists("updt_nl.sh")) + NLMISC::CFile::deleteFile("updt_nl.sh"); #endif // initialize patch manager and set the ryzom full path, before it's used diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index a51f2c1d5..4c45f7781 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -168,7 +168,11 @@ CPatchManager::CPatchManager() : State("t_state"), DataScanState("t_data_scan_st { DescFilename = "ryzom_xxxxx.idx"; +#ifdef NL_OS_WINDOWS UpdateBatchFilename = "updt_nl.bat"; +#else + UpdateBatchFilename = "updt_nl.sh"; +#endif // use current directory by default setClientRootPath("./"); From 697e72751e9453923a04c62155868126b6186d82 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:27:09 +0100 Subject: [PATCH 066/152] Changed: Use fullpath in batch file --- code/ryzom/client/src/client.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/ryzom/client/src/client.cpp b/code/ryzom/client/src/client.cpp index 01e3e08b0..19af0545d 100644 --- a/code/ryzom/client/src/client.cpp +++ b/code/ryzom/client/src/client.cpp @@ -536,7 +536,6 @@ int main(int argc, char **argv) strcpy(filename, argv[0]); - // ignore signal SIGPIPE generated by libwww signal(SIGPIPE, sigHandler); @@ -547,7 +546,7 @@ int main(int argc, char **argv) // initialize patch manager and set the ryzom full path, before it's used CPatchManager *pPM = CPatchManager::getInstance(); - pPM->setRyzomFilename(NLMISC::CFile::getFilename(filename)); + pPM->setRyzomFilename(filename); ///////////////////////////////// // Initialize the application. // From 4c159a04dd62cab148873b5c46d908dc60706988 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:31:59 +0100 Subject: [PATCH 067/152] Changed: Use BuildName only on Unix --- code/ryzom/client/src/login_patch.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 4c45f7781..5250c3037 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -2328,7 +2328,6 @@ void CCheckThread::run () uint32 i, j, k; // Check if the client version is the same as the server version string sClientVersion = pPM->getClientVersion(); - string sClientNewVersion = ClientCfg.BuildName; string sServerVersion = pPM->getServerVersion(); ucstring sTranslate = CI18N::get("uiClientVersion") + " (" + sClientVersion + ") "; sTranslate += CI18N::get("uiServerVersion") + " (" + sServerVersion + ")"; @@ -2342,12 +2341,16 @@ void CCheckThread::run () return; } - sint32 nServerVersion, nClientVersion, nClientNewVersion; + sint32 nServerVersion, nClientVersion; fromString(sServerVersion, nServerVersion); fromString(sClientVersion, nClientVersion); - fromString(sClientNewVersion, nClientNewVersion); #ifdef NL_OS_UNIX + string sClientNewVersion = ClientCfg.BuildName; + + sint32 nClientNewVersion; + fromString(sClientNewVersion, nClientNewVersion); + // servers files are not compatible with current client, use last client version if (nClientNewVersion && nServerVersion > nClientNewVersion) { From d40db9f2af1032703cd6b3d3d2557af02527898c Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:32:44 +0100 Subject: [PATCH 068/152] Fixed: Wrong parameters passed to bash script --- code/ryzom/client/src/login_patch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 5250c3037..5a1aa0f02 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -986,7 +986,7 @@ void CPatchManager::executeBatchFile() chmod(strCmdLine.c_str(), S_IRWXU); if (r2Mode) { - if (execl(strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str()) == -1) + if (execl(strCmdLine.c_str(), strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str(), (char *) NULL) == -1) { int errsv = errno; nlerror("Execl Error: %d %s", errsv, strCmdLine.c_str(), (char *) NULL); @@ -998,7 +998,7 @@ void CPatchManager::executeBatchFile() } else { - if (execl(strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str(), LoginShardId, (char *) NULL) == -1) + if (execl(strCmdLine.c_str(), strCmdLine.c_str(), LoginLogin.c_str(), LoginPassword.c_str(), toString(LoginShardId).c_str(), (char *) NULL) == -1) { int errsv = errno; nlerror("Execl r2mode Error: %d %s", errsv, strCmdLine.c_str()); From 3f2b2757d1b7c13531073306543ff76374e074ac Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:34:28 +0100 Subject: [PATCH 069/152] Fixed: Removed chmod because useless --- code/ryzom/client/src/login_patch.cpp | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 5a1aa0f02..cb48082bc 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -818,21 +818,17 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool if (useBatchFile) { - //write windows .bat format else write sh format - #ifdef NL_OS_WINDOWS - fprintf(fp, ":loop%u\n", nblab); - fprintf(fp, "attrib -r -a -s -h %s\n", DstName.c_str()); - fprintf(fp, "del %s\n", DstName.c_str()); - fprintf(fp, "if exist %s goto loop%u\n", DstName.c_str(), nblab); - fprintf(fp, "move %s %s\n", SrcName.c_str(), DstPath.c_str()); - #elif NL_OS_MAC - //no patcher on osx - #else - fprintf(fp, "chmod 777 %s\n", DstName.c_str()); - fprintf(fp, "rm -rf %s\n", DstName.c_str()); - fprintf(fp, "mv %s %s\n", SrcName.c_str(), DstPath.c_str()); - #endif - + // write windows .bat format else write sh format +#ifdef NL_OS_WINDOWS + fprintf(fp, ":loop%u\n", nblab); + fprintf(fp, "attrib -r -a -s -h %s\n", DstName.c_str()); + fprintf(fp, "del %s\n", DstName.c_str()); + fprintf(fp, "if exist %s goto loop%u\n", DstName.c_str(), nblab); + fprintf(fp, "move %s %s\n", SrcName.c_str(), DstPath.c_str()); +#else + fprintf(fp, "rm -rf %s\n", DstName.c_str()); + fprintf(fp, "mv %s %s\n", SrcName.c_str(), DstPath.c_str()); +#endif } else { From 3045bdac62d91747ef4f808c389d2875b13cbac9 Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:36:05 +0100 Subject: [PATCH 070/152] Changed: Removed pwd command --- code/ryzom/client/src/login_patch.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index cb48082bc..4357471b8 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -741,13 +741,11 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool throw Exception (err); } //use bat if windows if not use sh - #ifdef NL_OS_WINDOWS - fprintf(fp, "@echo off\n"); - #elif NL_OS_MAC - // mac patcher doesn't work yet - #else - fprintf(fp, "#!/bin/sh\npwd\n"); - #endif +#ifdef NL_OS_WINDOWS + fprintf(fp, "@echo off\n"); +#else + fprintf(fp, "#!/bin/sh\n"); +#endif } // Unpack files with category ExtractPath non empty From 16d0f49b452e31e3fde741b83fe559196c57e07c Mon Sep 17 00:00:00 2001 From: kervala Date: Sun, 23 Mar 2014 20:36:46 +0100 Subject: [PATCH 071/152] Changed: Minor changes --- code/ryzom/client/src/login_patch.cpp | 119 +++++++++++++------------- 1 file changed, 61 insertions(+), 58 deletions(-) diff --git a/code/ryzom/client/src/login_patch.cpp b/code/ryzom/client/src/login_patch.cpp index 4357471b8..5b9a83c83 100644 --- a/code/ryzom/client/src/login_patch.cpp +++ b/code/ryzom/client/src/login_patch.cpp @@ -34,8 +34,8 @@ #ifdef USE_CURL #include #endif -#include +#include #include "nel/misc/debug.h" #include "nel/misc/path.h" @@ -68,7 +68,7 @@ #endif #ifdef NL_OS_WINDOWS -#include + #include #endif // @@ -87,11 +87,12 @@ extern string VersionName; extern string R2ServerVersion; #ifdef __CLIENT_INSTALL_EXE__ -extern std::string TheTmpInstallDirectory; -extern std::string ClientLauncherUrl; + extern std::string TheTmpInstallDirectory; + extern std::string ClientLauncherUrl; #else -std::string TheTmpInstallDirectory ="patch/client_install"; + std::string TheTmpInstallDirectory = "patch/client_install"; #endif + // **************************************************************************** // **************************************************************************** // **************************************************************************** @@ -259,16 +260,20 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s try { CConfigFile *cf; - #ifdef RY_BG_DOWNLOADER - cf = &theApp.ConfigFile; - #else - cf = &ClientCfg.ConfigFile; - #endif + +#ifdef RY_BG_DOWNLOADER + cf = &theApp.ConfigFile; +#else + cf = &ClientCfg.ConfigFile; +#endif + std::string appName = "ryzom_live"; + if (cf->getVarPtr("Application")) { appName = cf->getVar("Application").asString(0); } + std::string versionFileName = appName + ".version"; getServerFile(versionFileName); @@ -280,13 +285,14 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s versionFile.getline(buffer, 1024); CSString line(buffer); - #ifdef NL_DEBUG - CConfigFile::CVar *forceVersion = cf->getVarPtr("ForceVersion"); - if (forceVersion != NULL) - { - line = forceVersion->asString(); - } - #endif +#ifdef NL_DEBUG + CConfigFile::CVar *forceVersion = cf->getVarPtr("ForceVersion"); + + if (forceVersion != NULL) + { + line = forceVersion->asString(); + } +#endif ServerVersion = line.firstWord(true); VersionName = line.firstWord(true); @@ -294,7 +300,7 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s // force the R2ServerVersion R2ServerVersion = ServerVersion; - #ifdef __CLIENT_INSTALL_EXE__ +#ifdef __CLIENT_INSTALL_EXE__ { //The install program load a the url of the mini web site in the patch directory @@ -332,7 +338,7 @@ void CPatchManager::init(const std::vector& patchURIs, const std::s } } } - #endif +#endif } catch (...) { @@ -740,6 +746,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool string err = toString("Can't open file '%s' for writing: code=%d %s (error code 29)", UpdateBatchFilename.c_str(), errno, strerror(errno)); throw Exception (err); } + //use bat if windows if not use sh #ifdef NL_OS_WINDOWS fprintf(fp, "@echo off\n"); @@ -777,6 +784,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool throw; } + if (!result) { //:TODO: handle exception? @@ -796,19 +804,17 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool string SrcPath = ClientPatchPath; string DstPath = rCat.getUnpackTo(); NLMISC::CFile::createDirectoryTree(DstPath); - // this file must be moved + // this file must be moved if (useBatchFile) { - #ifdef NL_OS_WINDOWS - SrcPath = CPath::standardizeDosPath(SrcPath); - DstPath = CPath::standardizeDosPath(DstPath); - #elif NL_OS_MAC - //no patcher on mac yet - #else - SrcPath = CPath::standardizePath(SrcPath); - DstPath = CPath::standardizePath(DstPath); - #endif +#ifdef NL_OS_WINDOWS + SrcPath = CPath::standardizeDosPath(SrcPath); + DstPath = CPath::standardizeDosPath(DstPath); +#else + SrcPath = CPath::standardizePath(SrcPath); + DstPath = CPath::standardizePath(DstPath); +#endif } std::string SrcName = SrcPath + vFilenames[fff]; @@ -843,26 +849,25 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool // Finalize batch file if (NLMISC::CFile::isExists("patch") && NLMISC::CFile::isDirectory("patch")) { - #ifdef NL_OS_WINDOWS +#ifdef NL_OS_WINDOWS if (useBatchFile) { fprintf(fp, ":looppatch\n"); } - #endif +#endif vector vFileList; CPath::getPathContent ("patch", false, false, true, vFileList, NULL, false); + for(uint32 i = 0; i < vFileList.size(); ++i) { if (useBatchFile) { - #ifdef NL_OS_WINDOWS - fprintf(fp, "del %s\n", CPath::standardizeDosPath(vFileList[i]).c_str()); - #elif NL_OS_MAC - //no patcher on MAC yet - #else - fprintf(fp, "rm -f %s\n", CPath::standardizePath(vFileList[i]).c_str()); - #endif +#ifdef NL_OS_WINDOWS + fprintf(fp, "del %s\n", CPath::standardizeDosPath(vFileList[i]).c_str()); +#else + fprintf(fp, "rm -f %s\n", CPath::standardizePath(vFileList[i]).c_str()); +#endif } else { @@ -872,14 +877,12 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool if (useBatchFile) { - #ifdef NL_OS_WINDOWS - fprintf(fp, "rd /Q /S patch\n"); - fprintf(fp, "if exist patch goto looppatch\n"); - #elif NL_OS_MAC - //no patcher on mac yet - #else - fprintf(fp, "rm -rf patch\n"); - #endif +#ifdef NL_OS_WINDOWS + fprintf(fp, "rd /Q /S patch\n"); + fprintf(fp, "if exist patch goto looppatch\n"); +#else + fprintf(fp, "rm -rf patch\n"); +#endif } else { @@ -891,11 +894,11 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool { if (wantRyzomRestart) { - #ifdef NL_OS_WINDOWS +#ifdef NL_OS_WINDOWS fprintf(fp, "start %s %%1 %%2 %%3\n", RyzomFilename.c_str()); - #else +#else fprintf(fp, "%s $1 $2 $3\n", RyzomFilename.c_str()); - #endif +#endif } bool writeError = ferror(fp) != 0; @@ -970,9 +973,11 @@ void CPatchManager::executeBatchFile() #else // Start the child process. bool r2Mode = false; - #ifndef RY_BG_DOWNLOADER - r2Mode = ClientCfg.R2Mode; - #endif + +#ifndef RY_BG_DOWNLOADER + r2Mode = ClientCfg.R2Mode; +#endif + string strCmdLine; strCmdLine = "./" + UpdateBatchFilename; @@ -1318,7 +1323,7 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de DownloadInProgress = true; try { - #ifdef USE_CURL +#ifdef USE_CURL ucstring s = CI18N::get("uiDLWithCurl") + " " + dest; setState(true, s); @@ -1415,9 +1420,9 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de throw EPatchDownloadException (NLMISC::toString("curl download failed: (ec %d %d)", res, r)); } - #else +#else throw Exception("USE_CURL is not defined, no curl method"); - #endif +#endif } catch(...) { @@ -2132,9 +2137,7 @@ void CPatchManager::getCorruptedFileInfo(const SFileToPatch &ftp, ucstring &sTra bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::string &destFileName) { #ifdef RZ_USE_SEVENZIP - nlinfo("Uncompressing 7zip archive '%s' to '%s'", - sevenZipFile.c_str(), - destFileName.c_str()); + nlinfo("Uncompressing 7zip archive '%s' to '%s'", sevenZipFile.c_str(), destFileName.c_str()); // init seven zip ISzAlloc allocImp; From af2cf142736081c3da2eb6f1863d62f56080eb7b Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Mon, 24 Mar 2014 17:07:53 +0530 Subject: [PATCH 072/152] changed login from username to both username and email --HG-- branch : Issue#123 --- .../ryzom_ams/ams_lib/translations/en.ini | 6 +- .../ryzom_ams/ams_lib/translations/fr.ini | 6 +- .../ryzom_ams/www/html/autoload/webusers.php | 60 ++++++++++++++++++- .../server/ryzom_ams/www/html/func/login.php | 31 ++++++++-- .../ryzom_ams/www/html/templates/login.tpl | 4 +- 5 files changed, 92 insertions(+), 15 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini index 586d49241..8eed7991a 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/en.ini @@ -126,8 +126,8 @@ go_home = "Go Home" userlist_info = "welcome to the userlist" [login] -login_info = "Please login with your Username and Password." -login_error_message = "The username/password were not correct!" +login_info = "Please login with your Email/Username and Password." +login_error_message = "The Email/username/password were not correct!" login_register_message ="Register If you don't have an account yet, create one" login_here = "here" login_forgot_password_message = "In case you forgot your password, click" @@ -242,4 +242,4 @@ email_body_forgot_password_header = "A request to reset your account's password email_body_forgot_password_footer = " ---------- If you didn't make this request, please ignore this message." -;=========================================================================== \ No newline at end of file +;=========================================================================== diff --git a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini index b4fa1fcf6..3284a5a7d 100644 --- a/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini +++ b/code/ryzom/tools/server/ryzom_ams/ams_lib/translations/fr.ini @@ -116,8 +116,8 @@ go_home = "Allez au main page" userlist_info = "bienvenue sur le userlist page!" [login] -login_info = "S'il vous plait vous connecter avec votre nom d'utilisateur et mot de passe." -login_error_message = "Le remplie nom d'utilisateur / mot de passe ne sont pas correctes!" +login_info = "S'il vous plait vous connecter avec votre Email/nom d'utilisateur et mot de passe." +login_error_message = "Le remplie Email/nom d'utilisateur / mot de passe ne sont pas correctes!" login_register_message =" Inscrivez-vous Si vous n'avez pas encore de compte, creez-en un" login_here = "ici" login_forgot_password_message = "Dans le cas ou vous avez oublie votre mot de passe, cliquez" @@ -230,4 +230,4 @@ email_body_forgot_password_header = "Une demande de reinitialiser le mot de pass email_body_forgot_password_footer = " ---------- Si vous n'avez pas fait cette demande, s'il vous plait ignorer ce message." -;=========================================================================== \ No newline at end of file +;=========================================================================== diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php b/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php index d8e59d1f9..aea4537b4 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php @@ -90,6 +90,47 @@ class WebUsers extends Users{ } + + /** + * check if the login email and password match the db. + * @param $email the inserted email id + * @param $password the inserted password (unhashed) + * @return the logged in user's db row as array if login was a success, else "fail" will be returned. + */ + public static function checkLoginMatchUsingEmail($email,$password){ + + $dbw = new DBLayer("web"); + $statement = $dbw->execute("SELECT * FROM ams_user WHERE Email=:emailid", array('emailid' => $email)); + $row = $statement->fetch(); + $salt = substr($row['Password'],0,2); + $hashed_input_pass = crypt($password, $salt); + if($hashed_input_pass == $row['Password']){ + return $row; + }else{ + return "fail"; + } + } + + /** + * check for the login type email or username. + * @param $value the inserted value + * @return the type email or username will be returned. + */ + public static function checkLoginType($login_value){ + + $dbl = new DBLayer("web"); + $statement = $dbl->executeWithoutParams("SELECT * FROM ams_user"); + $row = $statement->fetch(); + + foreach( $row as $key => $value) + { + if($login_value == $value){ + return $key; + } + } + } + + /** * returns te id for a given username * @param $username the username @@ -118,6 +159,23 @@ class WebUsers extends Users{ return "FALSE"; } } + + /** + * returns the username for a given emailaddress + * @param $email the emailaddress + * @return the username linked to the emailaddress + */ + public static function getUsernameFromEmail($email){ + $dbw = new DBLayer("web"); + $statement = $dbw->execute("SELECT * FROM ams_user WHERE Email=:email", array('email' => $email)); + $row = $statement->fetch(); + if(!empty($row)){ + return $row['Login']; + }else{ + return "FALSE"; + } + } + /** @@ -355,4 +413,4 @@ class WebUsers extends Users{ } } -} \ No newline at end of file +} diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php b/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php index b0b6b5add..ca971d3cd 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php @@ -9,15 +9,34 @@ function login(){ global $INGAME_WEBPATH; global $WEBPATH; try{ - $username = filter_var($_POST['Username'],FILTER_SANITIZE_STRING); + $login_value = filter_var($_POST['LoginValue'],FILTER_SANITIZE_STRING); $password = filter_var($_POST['Password'],FILTER_SANITIZE_STRING); - //check if the filtered sent POST data returns a match with the DB - $result = WebUsers::checkLoginMatch($username, $password); + //check login type if email or username + $login_type = WebUsers::checkLoginType($login_value); + + //check if the filtered sent POST data returns a match with the DB + + if($login_type == 'Login') + { + $result = WebUsers::checkLoginMatch($login_value, $password); + }else + { + $result = WebUsers::checkLoginMatchUsingEmail($login_value, $password); + } + if( $result != "fail"){ //handle successful login - $_SESSION['user'] = $username; - $_SESSION['id'] = WebUsers::getId($username); + + if($login_type == 'Login') + { + $_SESSION['user'] = $login_value; + $_SESSION['id'] = WebUsers::getId($login_value); + }else{ + $_SESSION['user'] = WebUsers::getUsernameFromEmail($login_value); + $_SESSION['id'] = WebUsers::getIdFromEmail($login_value); + } + $_SESSION['ticket_user'] = serialize(Ticket_User::constr_ExternId($_SESSION['id'])); $user = new WebUsers($_SESSION['id']); $_SESSION['Language'] = $user->getLanguage(); @@ -54,4 +73,4 @@ function login(){ exit; } -} \ No newline at end of file +} diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/templates/login.tpl b/code/ryzom/tools/server/ryzom_ams/www/html/templates/login.tpl index 26c992d50..54a87bbcb 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/templates/login.tpl +++ b/code/ryzom/tools/server/ryzom_ams/www/html/templates/login.tpl @@ -14,8 +14,8 @@
-
- +
+
From 99b122c84c88f39a415be064fdd0738a36ab584c Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 24 Mar 2014 10:45:42 -0700 Subject: [PATCH 073/152] fix my typo's --- .../server/ryzom_ams/www/html/installer/libsetup.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 932d6d2db..98da6a309 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -6,27 +6,27 @@ */ //set permissions - if(writable('../../../www/login/logs')) { + if(is_writable('../../../www/login/logs')) { echo "failed to get write permissions on logs"; exit; } - if(writable('../../../admin/graphs_output')) { + if(is_writable('../../../admin/graphs_output')) { echo "failed to get write permissions on graphs_output"; exit; } - if(writable('../../../templates/default_c')) { + if(is_writable('../../../admin/templates/default_c')) { echo "failed to get write permissions on default_c"; exit; } - if(writable('../../www')) { + if(is_writable('../../www')) { echo "failed to get write permissions on www"; exit; } - if(writable('../../www/html/cache')) { + if(is_writable('../../www/html/cache')) { echo "failed to get write permissions on cache"; exit; } - if(writable('../../www/html/templates_c')) { + if(is_writable('../../www/html/templates_c')) { echo "failed to get write permissions on templates_c"; exit; } From 26c8e7ad15be95249b47a5dec6064aaa6587a389 Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Tue, 25 Mar 2014 06:29:17 +0000 Subject: [PATCH 074/152] changed login through email / username --HG-- branch : Issue#123 --- .../ryzom_ams/www/html/autoload/webusers.php | 72 ++----------------- 1 file changed, 7 insertions(+), 65 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php b/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php index aea4537b4..90730291a 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php @@ -70,15 +70,15 @@ class WebUsers extends Users{ /** - * check if the login username and password match the db. - * @param $username the inserted username + * check if the login username/email and password match the db. + * @param $value the inserted username or email * @param $password the inserted password (unhashed) * @return the logged in user's db row as array if login was a success, else "fail" will be returned. */ - public static function checkLoginMatch($username,$password){ + public static function checkLoginMatch($value,$password){ $dbw = new DBLayer("web"); - $statement = $dbw->execute("SELECT * FROM ams_user WHERE Login=:user", array('user' => $username)); + $statement = $dbw->execute("SELECT * FROM ams_user WHERE Login=:value OR Email:value", array('value' => $value)); $row = $statement->fetch(); $salt = substr($row['Password'],0,2); $hashed_input_pass = crypt($password, $salt); @@ -89,50 +89,9 @@ class WebUsers extends Users{ } } - - - /** - * check if the login email and password match the db. - * @param $email the inserted email id - * @param $password the inserted password (unhashed) - * @return the logged in user's db row as array if login was a success, else "fail" will be returned. - */ - public static function checkLoginMatchUsingEmail($email,$password){ - - $dbw = new DBLayer("web"); - $statement = $dbw->execute("SELECT * FROM ams_user WHERE Email=:emailid", array('emailid' => $email)); - $row = $statement->fetch(); - $salt = substr($row['Password'],0,2); - $hashed_input_pass = crypt($password, $salt); - if($hashed_input_pass == $row['Password']){ - return $row; - }else{ - return "fail"; - } - } - - /** - * check for the login type email or username. - * @param $value the inserted value - * @return the type email or username will be returned. - */ - public static function checkLoginType($login_value){ - - $dbl = new DBLayer("web"); - $statement = $dbl->executeWithoutParams("SELECT * FROM ams_user"); - $row = $statement->fetch(); - - foreach( $row as $key => $value) - { - if($login_value == $value){ - return $key; - } - } - } - - + /** - * returns te id for a given username + * returns the id for a given username * @param $username the username * @return the user's id linked to the username */ @@ -145,7 +104,7 @@ class WebUsers extends Users{ /** - * returns te id for a given emailaddress + * returns the id for a given emailaddress * @param $email the emailaddress * @return the user's id linked to the emailaddress */ @@ -160,23 +119,6 @@ class WebUsers extends Users{ } } - /** - * returns the username for a given emailaddress - * @param $email the emailaddress - * @return the username linked to the emailaddress - */ - public static function getUsernameFromEmail($email){ - $dbw = new DBLayer("web"); - $statement = $dbw->execute("SELECT * FROM ams_user WHERE Email=:email", array('email' => $email)); - $row = $statement->fetch(); - if(!empty($row)){ - return $row['Login']; - }else{ - return "FALSE"; - } - } - - /** * get uId attribute of the object. From 420a61532177bd4aba072c7a150ef4f1759e2d98 Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Tue, 25 Mar 2014 06:35:21 +0000 Subject: [PATCH 075/152] login.php edited online with Bitbucket: to provide access through both username and email --HG-- branch : Issue#123 --- .../server/ryzom_ams/www/html/func/login.php | 26 +++---------------- 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php b/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php index ca971d3cd..f0212f18b 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/func/login.php @@ -12,31 +12,13 @@ function login(){ $login_value = filter_var($_POST['LoginValue'],FILTER_SANITIZE_STRING); $password = filter_var($_POST['Password'],FILTER_SANITIZE_STRING); - //check login type if email or username - $login_type = WebUsers::checkLoginType($login_value); - //check if the filtered sent POST data returns a match with the DB - - if($login_type == 'Login') - { - $result = WebUsers::checkLoginMatch($login_value, $password); - }else - { - $result = WebUsers::checkLoginMatchUsingEmail($login_value, $password); - } - + $result = WebUsers::checkLoginMatch($login_value, $password); + if( $result != "fail"){ //handle successful login - - if($login_type == 'Login') - { - $_SESSION['user'] = $login_value; - $_SESSION['id'] = WebUsers::getId($login_value); - }else{ - $_SESSION['user'] = WebUsers::getUsernameFromEmail($login_value); - $_SESSION['id'] = WebUsers::getIdFromEmail($login_value); - } - + $_SESSION['user'] = $result['Login']; + $_SESSION['id'] = $result['UId']; $_SESSION['ticket_user'] = serialize(Ticket_User::constr_ExternId($_SESSION['id'])); $user = new WebUsers($_SESSION['id']); $_SESSION['Language'] = $user->getLanguage(); From 868470c19f35acc1ea3e2424a0168ff1d2359700 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 13:13:17 +0100 Subject: [PATCH 076/152] Fixed: Improve compilation speed including revision.h in a smaller .cpp file --HG-- branch : compatibility --- .../src/interface_v3/interface_manager.cpp | 36 +------- code/ryzom/client/src/user_agent.cpp | 65 ++++++++++++++ code/ryzom/client/src/user_agent.h | 87 +++++++++++++++++++ 3 files changed, 154 insertions(+), 34 deletions(-) create mode 100644 code/ryzom/client/src/user_agent.cpp create mode 100644 code/ryzom/client/src/user_agent.h diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index 98184d715..8a70e10fd 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -21,8 +21,6 @@ // Memory #include -#include "game_share/ryzom_version.h" - #include "nel/misc/i_xml.h" #include "nel/misc/o_xml.h" #include "nel/misc/algo.h" @@ -131,29 +129,7 @@ using namespace NLGUI; #include "parser_modules.h" #include "../global.h" - -#ifdef HAVE_REVISION_H -#include "revision.h" -#endif - -#if defined(HAVE_X86_64) -#define RYZOM_ARCH "x64" -#elif defined(HAVE_X86) -#define RYZOM_ARCH "x86" -#elif defined(HAVE_ARM) -#define RYZOM_ARCH "arm" -#else -#define RYZOM_ARCH "unknow" -#endif -#if defined(NL_OS_WINDOWS) -#define RYZOM_SYSTEM "windows" -#elif defined(NL_OS_MAC) -#define RYZOM_SYSTEM "mac" -#elif defined(NL_OS_UNIX) -#define RYZOM_SYSTEM "unix" -#else -#define RYZOM_SYSTEM "unkown" -#endif +#include "user_agent.h" using namespace NLMISC; @@ -489,18 +465,10 @@ CInterfaceManager::CInterfaceManager() CViewTextID::setTextProvider( &SMTextProvider ); CViewTextFormated::setFormatter( &RyzomTextFormatter ); - char buffer[256]; - -#ifdef REVISION - sprintf(buffer, "%s.%s-%s-%s", RYZOM_VERSION, REVISION, RYZOM_SYSTEM, RYZOM_ARCH); -#else - sprintf(buffer, "%s-%s-%s", RYZOM_VERSION, RYZOM_SYSTEM, RYZOM_ARCH); -#endif - CGroupHTML::options.trustedDomains = ClientCfg.WebIgTrustedDomains; CGroupHTML::options.languageCode = ClientCfg.getHtmlLanguageCode(); CGroupHTML::options.appName = "Ryzom"; - CGroupHTML::options.appVersion = buffer; + CGroupHTML::options.appVersion = getUserAgent(); NLGUI::CDBManager::getInstance()->resizeBanks( NB_CDB_BANKS ); interfaceLinkUpdater = new CInterfaceLink::CInterfaceLinkUpdater(); diff --git a/code/ryzom/client/src/user_agent.cpp b/code/ryzom/client/src/user_agent.cpp new file mode 100644 index 000000000..af07e8b86 --- /dev/null +++ b/code/ryzom/client/src/user_agent.cpp @@ -0,0 +1,65 @@ +// Ryzom - 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 . + + + +#include "stdpch.h" +#include "user_agent.h" + +#include "game_share/ryzom_version.h" + +#ifdef HAVE_REVISION_H +#include "revision.h" +#endif + +#if defined(HAVE_X86_64) +#define RYZOM_ARCH "x64" +#elif defined(HAVE_X86) +#define RYZOM_ARCH "x86" +#elif defined(HAVE_ARM) +#define RYZOM_ARCH "arm" +#else +#define RYZOM_ARCH "unknown" +#endif +#if defined(NL_OS_WINDOWS) +#define RYZOM_SYSTEM "windows" +#elif defined(NL_OS_MAC) +#define RYZOM_SYSTEM "mac" +#elif defined(NL_OS_UNIX) +#define RYZOM_SYSTEM "unix" +#else +#define RYZOM_SYSTEM "unknown" +#endif + +std::string getUserAgent() +{ + static std::string s_userAgent; + + if (s_userAgent.empty()) + { + char buffer[256]; + +#ifdef REVISION + sprintf(buffer, "%s.%s-%s-%s", RYZOM_VERSION, REVISION, RYZOM_SYSTEM, RYZOM_ARCH); +#else + sprintf(buffer, "%s-%s-%s", RYZOM_VERSION, RYZOM_SYSTEM, RYZOM_ARCH); +#endif + + s_userAgent = buffer; + } + + return s_userAgent; +} diff --git a/code/ryzom/client/src/user_agent.h b/code/ryzom/client/src/user_agent.h new file mode 100644 index 000000000..e42635871 --- /dev/null +++ b/code/ryzom/client/src/user_agent.h @@ -0,0 +1,87 @@ +// Ryzom - 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 . + +#ifndef CL_USER_AGENT_H +#define CL_USER_AGENT_H + +std::string getUserAgent(); + +#endif // CL_USER_AGENT_H + +/* End of user_agent.h */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From e9b8ee0fec0f829106ce97c757799574bc7de148 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 13:13:17 +0100 Subject: [PATCH 077/152] Fixed: Improve compilation speed including revision.h in a smaller .cpp file --- .../src/interface_v3/interface_manager.cpp | 36 +------- code/ryzom/client/src/user_agent.cpp | 65 ++++++++++++++ code/ryzom/client/src/user_agent.h | 87 +++++++++++++++++++ 3 files changed, 154 insertions(+), 34 deletions(-) create mode 100644 code/ryzom/client/src/user_agent.cpp create mode 100644 code/ryzom/client/src/user_agent.h diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index 98184d715..8a70e10fd 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -21,8 +21,6 @@ // Memory #include -#include "game_share/ryzom_version.h" - #include "nel/misc/i_xml.h" #include "nel/misc/o_xml.h" #include "nel/misc/algo.h" @@ -131,29 +129,7 @@ using namespace NLGUI; #include "parser_modules.h" #include "../global.h" - -#ifdef HAVE_REVISION_H -#include "revision.h" -#endif - -#if defined(HAVE_X86_64) -#define RYZOM_ARCH "x64" -#elif defined(HAVE_X86) -#define RYZOM_ARCH "x86" -#elif defined(HAVE_ARM) -#define RYZOM_ARCH "arm" -#else -#define RYZOM_ARCH "unknow" -#endif -#if defined(NL_OS_WINDOWS) -#define RYZOM_SYSTEM "windows" -#elif defined(NL_OS_MAC) -#define RYZOM_SYSTEM "mac" -#elif defined(NL_OS_UNIX) -#define RYZOM_SYSTEM "unix" -#else -#define RYZOM_SYSTEM "unkown" -#endif +#include "user_agent.h" using namespace NLMISC; @@ -489,18 +465,10 @@ CInterfaceManager::CInterfaceManager() CViewTextID::setTextProvider( &SMTextProvider ); CViewTextFormated::setFormatter( &RyzomTextFormatter ); - char buffer[256]; - -#ifdef REVISION - sprintf(buffer, "%s.%s-%s-%s", RYZOM_VERSION, REVISION, RYZOM_SYSTEM, RYZOM_ARCH); -#else - sprintf(buffer, "%s-%s-%s", RYZOM_VERSION, RYZOM_SYSTEM, RYZOM_ARCH); -#endif - CGroupHTML::options.trustedDomains = ClientCfg.WebIgTrustedDomains; CGroupHTML::options.languageCode = ClientCfg.getHtmlLanguageCode(); CGroupHTML::options.appName = "Ryzom"; - CGroupHTML::options.appVersion = buffer; + CGroupHTML::options.appVersion = getUserAgent(); NLGUI::CDBManager::getInstance()->resizeBanks( NB_CDB_BANKS ); interfaceLinkUpdater = new CInterfaceLink::CInterfaceLinkUpdater(); diff --git a/code/ryzom/client/src/user_agent.cpp b/code/ryzom/client/src/user_agent.cpp new file mode 100644 index 000000000..af07e8b86 --- /dev/null +++ b/code/ryzom/client/src/user_agent.cpp @@ -0,0 +1,65 @@ +// Ryzom - 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 . + + + +#include "stdpch.h" +#include "user_agent.h" + +#include "game_share/ryzom_version.h" + +#ifdef HAVE_REVISION_H +#include "revision.h" +#endif + +#if defined(HAVE_X86_64) +#define RYZOM_ARCH "x64" +#elif defined(HAVE_X86) +#define RYZOM_ARCH "x86" +#elif defined(HAVE_ARM) +#define RYZOM_ARCH "arm" +#else +#define RYZOM_ARCH "unknown" +#endif +#if defined(NL_OS_WINDOWS) +#define RYZOM_SYSTEM "windows" +#elif defined(NL_OS_MAC) +#define RYZOM_SYSTEM "mac" +#elif defined(NL_OS_UNIX) +#define RYZOM_SYSTEM "unix" +#else +#define RYZOM_SYSTEM "unknown" +#endif + +std::string getUserAgent() +{ + static std::string s_userAgent; + + if (s_userAgent.empty()) + { + char buffer[256]; + +#ifdef REVISION + sprintf(buffer, "%s.%s-%s-%s", RYZOM_VERSION, REVISION, RYZOM_SYSTEM, RYZOM_ARCH); +#else + sprintf(buffer, "%s-%s-%s", RYZOM_VERSION, RYZOM_SYSTEM, RYZOM_ARCH); +#endif + + s_userAgent = buffer; + } + + return s_userAgent; +} diff --git a/code/ryzom/client/src/user_agent.h b/code/ryzom/client/src/user_agent.h new file mode 100644 index 000000000..e42635871 --- /dev/null +++ b/code/ryzom/client/src/user_agent.h @@ -0,0 +1,87 @@ +// Ryzom - 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 . + +#ifndef CL_USER_AGENT_H +#define CL_USER_AGENT_H + +std::string getUserAgent(); + +#endif // CL_USER_AGENT_H + +/* End of user_agent.h */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b83c69bf893f6ad3964b87f154f0ba9c050b000e Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 13:14:14 +0100 Subject: [PATCH 078/152] Changed: Include PCH --HG-- branch : compatibility --- code/ryzom/common/src/game_share/send_chat.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/ryzom/common/src/game_share/send_chat.cpp b/code/ryzom/common/src/game_share/send_chat.cpp index 064e223fe..f5b2353fb 100644 --- a/code/ryzom/common/src/game_share/send_chat.cpp +++ b/code/ryzom/common/src/game_share/send_chat.cpp @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -#include "nel/misc/types_nl.h" +#include "stdpch.h" #include "send_chat.h" /** @@ -81,7 +81,6 @@ void npcChatToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupT sendMessageViaMirror("IOS", msgout); } - /** * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). * Chat group can be constructed from CChatGroup class. @@ -169,7 +168,6 @@ void npcTellToPlayer(const TDataSetRow &senderId, const TDataSetRow &receiverId, sendMessageViaMirror("IOS", msgout); } - /** * Send a tell line from a bot (mainly NPC) to a player. Accept parametered strings * phraseId is a phrase id obtained through the string manager From e2797c2567b65f9627e7a39b5dd8a4c77f296b7f Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 13:14:14 +0100 Subject: [PATCH 079/152] Changed: Include PCH --- code/ryzom/common/src/game_share/send_chat.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/ryzom/common/src/game_share/send_chat.cpp b/code/ryzom/common/src/game_share/send_chat.cpp index 064e223fe..f5b2353fb 100644 --- a/code/ryzom/common/src/game_share/send_chat.cpp +++ b/code/ryzom/common/src/game_share/send_chat.cpp @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -#include "nel/misc/types_nl.h" +#include "stdpch.h" #include "send_chat.h" /** @@ -81,7 +81,6 @@ void npcChatToChannel(const TDataSetRow &senderId, CChatGroup::TGroupType groupT sendMessageViaMirror("IOS", msgout); } - /** * Send a chat line from a bot (mainly NPC) in a chat channel (know as chat group). * Chat group can be constructed from CChatGroup class. @@ -169,7 +168,6 @@ void npcTellToPlayer(const TDataSetRow &senderId, const TDataSetRow &receiverId, sendMessageViaMirror("IOS", msgout); } - /** * Send a tell line from a bot (mainly NPC) to a player. Accept parametered strings * phraseId is a phrase id obtained through the string manager From 713c07e1e69f789d08b0f00614af56525904f192 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:14:36 +0100 Subject: [PATCH 080/152] Changed: Use OpenGL functions prototypes from official headers Fixed: glDeleteObjectBufferATI replaced by glFreeObjectBufferATI since 2002 --HG-- branch : compatibility --- .../driver/opengl/driver_opengl_extension.cpp | 1121 +++++++++-------- .../driver/opengl/driver_opengl_extension.h | 573 ++++----- .../opengl/driver_opengl_extension_def.h | 336 +---- .../driver_opengl_vertex_buffer_hard.cpp | 8 +- 4 files changed, 862 insertions(+), 1176 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index 3b771e1c1..9ee14ea6b 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -68,254 +68,252 @@ void (*nglGetProcAddress(const char *procName))() #ifdef USE_OPENGLES // GL_OES_mapbuffer -NEL_PFNGLMAPBUFFEROESPROC nglMapBufferOES; -NEL_PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; -NEL_PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; +PFNGLMAPBUFFEROESPROC nglMapBufferOES; +PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; +PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; -NEL_PFNGLBUFFERSUBDATAPROC nglBufferSubData; - -PFNGLDRAWTEXFOESPROC nglDrawTexfOES; +PFNGLDRAWTEXFOESPROC nglDrawTexfOES; // GL_OES_framebuffer_object -NEL_PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; -NEL_PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; -NEL_PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; -NEL_PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; -NEL_PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; -NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; -NEL_PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; -NEL_PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; -NEL_PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; -NEL_PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; -NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; -NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; -NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; -NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; -NEL_PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; +PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; +PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; +PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; +PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; +PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; +PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; +PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; +PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; +PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; +PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; +PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; +PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; +PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; +PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; // GL_OES_texture_cube_map -NEL_PFNGLTEXGENFOESPROC nglTexGenfOES; -NEL_PFNGLTEXGENFVOESPROC nglTexGenfvOES; -NEL_PFNGLTEXGENIOESPROC nglTexGeniOES; -NEL_PFNGLTEXGENIVOESPROC nglTexGenivOES; -NEL_PFNGLTEXGENXOESPROC nglTexGenxOES; -NEL_PFNGLTEXGENXVOESPROC nglTexGenxvOES; -NEL_PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; -NEL_PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; -NEL_PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; +PFNGLTEXGENFOESPROC nglTexGenfOES; +PFNGLTEXGENFVOESPROC nglTexGenfvOES; +PFNGLTEXGENIOESPROC nglTexGeniOES; +PFNGLTEXGENIVOESPROC nglTexGenivOES; +PFNGLTEXGENXOESPROC nglTexGenxOES; +PFNGLTEXGENXVOESPROC nglTexGenxvOES; +PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; +PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; +PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; #else // ARB_multitexture -NEL_PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; -NEL_PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; +PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; +PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; -NEL_PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; -NEL_PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; -NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; -NEL_PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; -NEL_PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; -NEL_PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; -NEL_PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; -NEL_PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; -NEL_PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; -NEL_PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; -NEL_PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; -NEL_PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; -NEL_PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; -NEL_PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; -NEL_PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; -NEL_PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; +PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; +PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; +PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; +PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; +PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; +PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; +PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; +PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; +PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; +PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; +PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; +PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; +PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; +PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; +PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; +PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; -NEL_PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; -NEL_PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; -NEL_PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; -NEL_PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; -NEL_PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; -NEL_PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; -NEL_PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; -NEL_PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; -NEL_PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; -NEL_PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; -NEL_PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; -NEL_PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; -NEL_PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; -NEL_PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; -NEL_PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; -NEL_PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; +PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; +PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; +PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; +PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; +PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; +PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; +PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; +PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; +PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; +PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; +PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; +PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; +PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; +PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; +PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; +PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; // ARB_TextureCompression. -NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; -NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; -NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; -NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; -NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; -NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; -NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; +PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; +PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; +PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; +PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; // VertexArrayRangeNV. -NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; -NEL_PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; +PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; +PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; // FenceNV. -NEL_PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; -NEL_PFNGLGENFENCESNVPROC nglGenFencesNV; -NEL_PFNGLISFENCENVPROC nglIsFenceNV; -NEL_PFNGLTESTFENCENVPROC nglTestFenceNV; -NEL_PFNGLGETFENCEIVNVPROC nglGetFenceivNV; -NEL_PFNGLFINISHFENCENVPROC nglFinishFenceNV; -NEL_PFNGLSETFENCENVPROC nglSetFenceNV; +PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; +PFNGLGENFENCESNVPROC nglGenFencesNV; +PFNGLISFENCENVPROC nglIsFenceNV; +PFNGLTESTFENCENVPROC nglTestFenceNV; +PFNGLGETFENCEIVNVPROC nglGetFenceivNV; +PFNGLFINISHFENCENVPROC nglFinishFenceNV; +PFNGLSETFENCENVPROC nglSetFenceNV; // VertexWeighting. -NEL_PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; -NEL_PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; -NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; +PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; +PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; +PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; // VertexProgramExtension. -NEL_PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; -NEL_PFNGLBINDPROGRAMNVPROC nglBindProgramNV; -NEL_PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; -NEL_PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; -NEL_PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; -NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; -NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; -NEL_PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; -NEL_PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; -NEL_PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; -NEL_PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; -NEL_PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; -NEL_PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; -NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; -NEL_PFNGLISPROGRAMNVPROC nglIsProgramNV; -NEL_PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; -NEL_PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; -NEL_PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; -NEL_PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; -NEL_PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; -NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; -NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; -NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; -NEL_PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; -NEL_PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; -NEL_PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; -NEL_PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; -NEL_PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; -NEL_PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; -NEL_PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; -NEL_PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; -NEL_PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; -NEL_PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; -NEL_PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; -NEL_PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; -NEL_PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; -NEL_PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; -NEL_PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; -NEL_PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; -NEL_PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; -NEL_PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; -NEL_PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; -NEL_PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; -NEL_PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; -NEL_PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; -NEL_PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; -NEL_PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; -NEL_PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; -NEL_PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; -NEL_PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; -NEL_PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; -NEL_PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; -NEL_PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; -NEL_PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; -NEL_PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; -NEL_PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; -NEL_PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; -NEL_PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; -NEL_PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; -NEL_PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; -NEL_PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; -NEL_PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; -NEL_PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; +PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; +PFNGLBINDPROGRAMNVPROC nglBindProgramNV; +PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; +PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; +PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; +PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; +PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; +PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; +PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; +PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; +PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; +PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; +PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; +PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; +PFNGLISPROGRAMNVPROC nglIsProgramNV; +PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; +PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; +PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; +PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; +PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; +PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; +PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; +PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; +PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; +PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; +PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; +PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; +PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; +PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; +PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; +PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; +PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; +PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; +PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; +PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; +PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; +PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; +PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; +PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; +PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; +PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; +PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; +PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; +PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; +PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; +PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; +PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; +PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; +PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; +PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; +PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; +PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; +PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; +PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; +PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; +PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; +PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; +PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; +PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; +PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; +PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; +PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; +PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; // VertexShaderExt extension -NEL_PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; -NEL_PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; -NEL_PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; -NEL_PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; -NEL_PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; -NEL_PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; -NEL_PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; -NEL_PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; -NEL_PFNGLSWIZZLEEXTPROC nglSwizzleEXT; -NEL_PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; -NEL_PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; -NEL_PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; -NEL_PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; -NEL_PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; -NEL_PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; -NEL_PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; -NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; -NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; -NEL_PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; -NEL_PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; -NEL_PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; -NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; -NEL_PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; -NEL_PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; -NEL_PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; -NEL_PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; -NEL_PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; -NEL_PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; -NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; -NEL_PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; -NEL_PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; -NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; -NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; -NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; +PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; +PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; +PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; +PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; +PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; +PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; +PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; +PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; +PFNGLSWIZZLEEXTPROC nglSwizzleEXT; +PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; +PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; +PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; +PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; +PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; +PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; +PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; +PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; +PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; +PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; +PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; +PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; +PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; +PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; +PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; +PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; +PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; +PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; +PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; +PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; +PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; +PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; +PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; +PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; +PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; // SecondaryColor extension -NEL_PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; -NEL_PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; -NEL_PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; -NEL_PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; -NEL_PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; -NEL_PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; -NEL_PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; -NEL_PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; -NEL_PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; -NEL_PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; -NEL_PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; -NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; -NEL_PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; -NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; -NEL_PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; -NEL_PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; -NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; +PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; +PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; +PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; +PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; +PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; +PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; +PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; +PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; +PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; +PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; +PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; +PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; +PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; +PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; +PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; +PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; +PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; // BlendColor extension -NEL_PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; +PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; //======================== -NEL_PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; -NEL_PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; -NEL_PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; -NEL_PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; -NEL_PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; -NEL_PFNGLDELETEOBJECTBUFFERATIPROC nglDeleteObjectBufferATI; -NEL_PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; -NEL_PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; -NEL_PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; -NEL_PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; -NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; -NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; +PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; +PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; +PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; +PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; +PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; +PFNGLFREEOBJECTBUFFERATIPROC nglFreeObjectBufferATI; +PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; +PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; +PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; +PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; +PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; +PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; // GL_ATI_map_object_buffer -NEL_PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; -NEL_PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; +PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; +PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; // GL_ATI_vertex_attrib_array_object -NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; -NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; -NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; +PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; +PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; +PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; // GL_ATI_envmap_bumpmap extension PFNGLTEXBUMPPARAMETERIVATIPROC nglTexBumpParameterivATI; @@ -324,42 +322,42 @@ PFNGLGETTEXBUMPPARAMETERIVATIPROC nglGetTexBumpParameterivATI; PFNGLGETTEXBUMPPARAMETERFVATIPROC nglGetTexBumpParameterfvATI; // GL_ATI_fragment_shader extension -NEL_PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; -NEL_PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; -NEL_PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; -NEL_PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; -NEL_PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; -NEL_PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; -NEL_PFNGLSAMPLEMAPATIPROC nglSampleMapATI; -NEL_PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; -NEL_PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; -NEL_PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; -NEL_PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; -NEL_PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; -NEL_PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; -NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; +PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; +PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; +PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; +PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; +PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; +PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; +PFNGLSAMPLEMAPATIPROC nglSampleMapATI; +PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; +PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; +PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; +PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; +PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; +PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; +PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; // GL_ARB_fragment_program // the following functions are the sames than with GL_ARB_vertex_program -//NEL_PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; -//NEL_PFNGLBINDPROGRAMARBPROC nglBindProgramARB; -//NEL_PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; -//NEL_PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; -//NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; -//NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; -//NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; -//NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; -//NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; -//NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; -//NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; -//NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; -//NEL_PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; -//NEL_PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; -//NEL_PFNGLISPROGRAMARBPROC nglIsProgramARB; +//PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; +//PFNGLBINDPROGRAMARBPROC nglBindProgramARB; +//PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; +//PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; +//PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; +//PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; +//PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; +//PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; +PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; +PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; +PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; +PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; +//PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; +//PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; +//PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; +//PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; +//PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; +//PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; +//PFNGLISPROGRAMARBPROC nglIsProgramARB; // GL_ARB_vertex_buffer_object PFNGLBINDBUFFERARBPROC nglBindBufferARB; @@ -439,38 +437,38 @@ PFNGLGETVERTEXATTRIBPOINTERVARBPROC nglGetVertexAttribPointervARB; PFNGLISPROGRAMARBPROC nglIsProgramARB; // NV_occlusion_query -NEL_PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; -NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; -NEL_PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; -NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; -NEL_PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; -NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; -NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; +PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; +PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; +PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; +PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; +PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; +PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; +PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; // GL_EXT_framebuffer_object -NEL_PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; -NEL_PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; -NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; -NEL_PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; -NEL_PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; -NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; -NEL_PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; -NEL_PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; -NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; -NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; -NEL_PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; -NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; -NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; -NEL_PFNGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; +PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; +PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; +PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; +PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; +PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; +PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; +PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; +PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; +PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; +PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; +PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; +PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; +PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; +PFNGLGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; // GL_EXT_framebuffer_blit -NEL_PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; +PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; // GL_EXT_framebuffer_multisample -NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; // GL_ARB_multisample -NEL_PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; +PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; #ifdef NL_OS_WINDOWS PFNWGLALLOCATEMEMORYNVPROC nwglAllocateMemoryNV; @@ -495,19 +493,31 @@ PFNWGLGETSWAPINTERVALEXTPROC nwglGetSwapIntervalEXT; // WGL_ARB_extensions_string PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB; +// WGL_AMD_gpu_association +//======================== +PFNWGLGETGPUIDSAMDPROC nwglGetGPUIDsAMD; +PFNWGLGETGPUINFOAMDPROC nwglGetGPUInfoAMD; +PFNWGLGETCONTEXTGPUIDAMDPROC nwglGetContextGPUIDAMD; +PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC nwglCreateAssociatedContextAMD; +PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC nwglCreateAssociatedContextAttribsAMD; +PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC nwglDeleteAssociatedContextAMD; +PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC nwglMakeAssociatedContextCurrentAMD; +PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC nwglGetCurrentAssociatedContextAMD; +PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC nwglBlitContextFramebufferAMD; + #elif defined(NL_OS_MAC) #elif defined(NL_OS_UNIX) -NEL_PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; -NEL_PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; +PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; +PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; // Swap control extensions -NEL_PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; +PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI; -NEL_PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; -NEL_PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; +PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; +PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; #endif @@ -549,42 +559,42 @@ static bool setupARBMultiTexture(const char *glext) #ifndef USE_OPENGLES CHECK_EXT("GL_ARB_multitexture"); - CHECK_ADDRESS(NEL_PFNGLACTIVETEXTUREARBPROC, glActiveTextureARB); - CHECK_ADDRESS(NEL_PFNGLCLIENTACTIVETEXTUREARBPROC, glClientActiveTextureARB); + CHECK_ADDRESS(PFNGLACTIVETEXTUREARBPROC, glActiveTextureARB); + CHECK_ADDRESS(PFNGLCLIENTACTIVETEXTUREARBPROC, glClientActiveTextureARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1SARBPROC, glMultiTexCoord1sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1IARBPROC, glMultiTexCoord1iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1FARBPROC, glMultiTexCoord1fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1DARBPROC, glMultiTexCoord1dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2SARBPROC, glMultiTexCoord2sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2IARBPROC, glMultiTexCoord2iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2DARBPROC, glMultiTexCoord2dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3SARBPROC, glMultiTexCoord3sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3IARBPROC, glMultiTexCoord3iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3FARBPROC, glMultiTexCoord3fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3DARBPROC, glMultiTexCoord3dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4SARBPROC, glMultiTexCoord4sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4IARBPROC, glMultiTexCoord4iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4FARBPROC, glMultiTexCoord4fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4DARBPROC, glMultiTexCoord4dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1SARBPROC, glMultiTexCoord1sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1IARBPROC, glMultiTexCoord1iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1FARBPROC, glMultiTexCoord1fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1DARBPROC, glMultiTexCoord1dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2SARBPROC, glMultiTexCoord2sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2IARBPROC, glMultiTexCoord2iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2DARBPROC, glMultiTexCoord2dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3SARBPROC, glMultiTexCoord3sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3IARBPROC, glMultiTexCoord3iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3FARBPROC, glMultiTexCoord3fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3DARBPROC, glMultiTexCoord3dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4SARBPROC, glMultiTexCoord4sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4IARBPROC, glMultiTexCoord4iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4FARBPROC, glMultiTexCoord4fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4DARBPROC, glMultiTexCoord4dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1SVARBPROC, glMultiTexCoord1svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1IVARBPROC, glMultiTexCoord1ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1FVARBPROC, glMultiTexCoord1fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1DVARBPROC, glMultiTexCoord1dvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2SVARBPROC, glMultiTexCoord2svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2IVARBPROC, glMultiTexCoord2ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2FVARBPROC, glMultiTexCoord2fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2DVARBPROC, glMultiTexCoord2dvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3SVARBPROC, glMultiTexCoord3svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3IVARBPROC, glMultiTexCoord3ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3FVARBPROC, glMultiTexCoord3fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3DVARBPROC, glMultiTexCoord3dvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4SVARBPROC, glMultiTexCoord4svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4IVARBPROC, glMultiTexCoord4ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4FVARBPROC, glMultiTexCoord4fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4DVARBPROC, glMultiTexCoord4dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1SVARBPROC, glMultiTexCoord1svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1IVARBPROC, glMultiTexCoord1ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1FVARBPROC, glMultiTexCoord1fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1DVARBPROC, glMultiTexCoord1dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2SVARBPROC, glMultiTexCoord2svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2IVARBPROC, glMultiTexCoord2ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2FVARBPROC, glMultiTexCoord2fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2DVARBPROC, glMultiTexCoord2dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3SVARBPROC, glMultiTexCoord3svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3IVARBPROC, glMultiTexCoord3ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3FVARBPROC, glMultiTexCoord3fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3DVARBPROC, glMultiTexCoord3dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4SVARBPROC, glMultiTexCoord4svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4IVARBPROC, glMultiTexCoord4ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4FVARBPROC, glMultiTexCoord4fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4DVARBPROC, glMultiTexCoord4dvARB); #endif return true; @@ -611,13 +621,13 @@ static bool setupARBTextureCompression(const char *glext) #ifndef USE_OPENGLES CHECK_EXT("GL_ARB_texture_compression"); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC, glCompressedTexImage3DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC, glCompressedTexImage2DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC, glCompressedTexImage1DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC, glCompressedTexSubImage3DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC, glCompressedTexSubImage2DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC, glCompressedTexSubImage1DARB); - CHECK_ADDRESS(NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC, glGetCompressedTexImageARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXIMAGE3DARBPROC, glCompressedTexImage3DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXIMAGE2DARBPROC, glCompressedTexImage2DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXIMAGE1DARBPROC, glCompressedTexImage1DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC, glCompressedTexSubImage3DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC, glCompressedTexSubImage2DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC, glCompressedTexSubImage1DARB); + CHECK_ADDRESS(PFNGLGETCOMPRESSEDTEXIMAGEARBPROC, glGetCompressedTexImageARB); #endif return true; @@ -643,9 +653,9 @@ static bool setupOESMapBuffer(const char *glext) CHECK_EXT("OES_mapbuffer"); #ifdef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLMAPBUFFEROESPROC, glMapBufferOES); - CHECK_ADDRESS(NEL_PFNGLUNMAPBUFFEROESPROC, glUnmapBufferOES); - CHECK_ADDRESS(NEL_PFNGLGETBUFFERPOINTERVOESPROC, glGetBufferPointervOES); + CHECK_ADDRESS(PFNGLMAPBUFFEROESPROC, glMapBufferOES); + CHECK_ADDRESS(PFNGLUNMAPBUFFEROESPROC, glUnmapBufferOES); + CHECK_ADDRESS(PFNGLGETBUFFERPOINTERVOESPROC, glGetBufferPointervOES); #endif return true; @@ -678,25 +688,25 @@ static bool setupNVVertexArrayRange(const char *glext) #ifndef USE_OPENGLES // Get VAR address. - CHECK_ADDRESS(NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC, glFlushVertexArrayRangeNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXARRAYRANGENVPROC, glVertexArrayRangeNV); + CHECK_ADDRESS(PFNGLFLUSHVERTEXARRAYRANGENVPROC, glFlushVertexArrayRangeNV); + CHECK_ADDRESS(PFNGLVERTEXARRAYRANGENVPROC, glVertexArrayRangeNV); #ifdef NL_OS_WINDOWS CHECK_ADDRESS(PFNWGLALLOCATEMEMORYNVPROC, wglAllocateMemoryNV); CHECK_ADDRESS(PFNWGLFREEMEMORYNVPROC, wglFreeMemoryNV); #elif defined(NL_OS_UNIX) && !defined(NL_OS_MAC) - CHECK_ADDRESS(NEL_PFNGLXALLOCATEMEMORYNVPROC, glXAllocateMemoryNV); - CHECK_ADDRESS(NEL_PFNGLXFREEMEMORYNVPROC, glXFreeMemoryNV); + CHECK_ADDRESS(PFNGLXALLOCATEMEMORYNVPROC, glXAllocateMemoryNV); + CHECK_ADDRESS(PFNGLXFREEMEMORYNVPROC, glXFreeMemoryNV); #endif // Get fence address. - CHECK_ADDRESS(NEL_PFNGLDELETEFENCESNVPROC, glDeleteFencesNV); - CHECK_ADDRESS(NEL_PFNGLGENFENCESNVPROC, glGenFencesNV); - CHECK_ADDRESS(NEL_PFNGLISFENCENVPROC, glIsFenceNV); - CHECK_ADDRESS(NEL_PFNGLTESTFENCENVPROC, glTestFenceNV); - CHECK_ADDRESS(NEL_PFNGLGETFENCEIVNVPROC, glGetFenceivNV); - CHECK_ADDRESS(NEL_PFNGLFINISHFENCENVPROC, glFinishFenceNV); - CHECK_ADDRESS(NEL_PFNGLSETFENCENVPROC, glSetFenceNV); + CHECK_ADDRESS(PFNGLDELETEFENCESNVPROC, glDeleteFencesNV); + CHECK_ADDRESS(PFNGLGENFENCESNVPROC, glGenFencesNV); + CHECK_ADDRESS(PFNGLISFENCENVPROC, glIsFenceNV); + CHECK_ADDRESS(PFNGLTESTFENCENVPROC, glTestFenceNV); + CHECK_ADDRESS(PFNGLGETFENCEIVNVPROC, glGetFenceivNV); + CHECK_ADDRESS(PFNGLFINISHFENCENVPROC, glFinishFenceNV); + CHECK_ADDRESS(PFNGLSETFENCENVPROC, glSetFenceNV); #endif return true; @@ -725,9 +735,9 @@ static bool setupEXTVertexWeighting(const char *glext) CHECK_EXT("GL_EXT_vertex_weighting"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLVERTEXWEIGHTFEXTPROC, glVertexWeightfEXT); - CHECK_ADDRESS(NEL_PFNGLVERTEXWEIGHTFVEXTPROC, glVertexWeightfvEXT); - CHECK_ADDRESS(NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC, glVertexWeightPointerEXT); + CHECK_ADDRESS(PFNGLVERTEXWEIGHTFEXTPROC, glVertexWeightfEXT); + CHECK_ADDRESS(PFNGLVERTEXWEIGHTFVEXTPROC, glVertexWeightfvEXT); + CHECK_ADDRESS(PFNGLVERTEXWEIGHTPOINTEREXTPROC, glVertexWeightPointerEXT); #endif return true; @@ -806,15 +816,15 @@ static bool setupARBTextureCubeMap(const char *glext) #ifdef USE_OPENGLES CHECK_EXT("OES_texture_cube_map"); - CHECK_ADDRESS(NEL_PFNGLTEXGENFOESPROC, glTexGenfOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENFVOESPROC, glTexGenfvOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENIOESPROC, glTexGeniOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENIVOESPROC, glTexGenivOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENXOESPROC, glTexGenxOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENXVOESPROC, glTexGenxvOES); - CHECK_ADDRESS(NEL_PFNGLGETTEXGENFVOESPROC, glGetTexGenfvOES); - CHECK_ADDRESS(NEL_PFNGLGETTEXGENIVOESPROC, glGetTexGenivOES); - CHECK_ADDRESS(NEL_PFNGLGETTEXGENXVOESPROC, glGetTexGenxvOES); + CHECK_ADDRESS(PFNGLTEXGENFOESPROC, glTexGenfOES); + CHECK_ADDRESS(PFNGLTEXGENFVOESPROC, glTexGenfvOES); + CHECK_ADDRESS(PFNGLTEXGENIOESPROC, glTexGeniOES); + CHECK_ADDRESS(PFNGLTEXGENIVOESPROC, glTexGenivOES); + CHECK_ADDRESS(PFNGLTEXGENXOESPROC, glTexGenxOES); + CHECK_ADDRESS(PFNGLTEXGENXVOESPROC, glTexGenxvOES); + CHECK_ADDRESS(PFNGLGETTEXGENFVOESPROC, glGetTexGenfvOES); + CHECK_ADDRESS(PFNGLGETTEXGENIVOESPROC, glGetTexGenivOES); + CHECK_ADDRESS(PFNGLGETTEXGENXVOESPROC, glGetTexGenxvOES); #else CHECK_EXT("GL_ARB_texture_cube_map"); #endif @@ -838,69 +848,69 @@ static bool setupNVVertexProgram(const char *glext) CHECK_EXT("GL_NV_vertex_program"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLAREPROGRAMSRESIDENTNVPROC, glAreProgramsResidentNV); - CHECK_ADDRESS(NEL_PFNGLBINDPROGRAMNVPROC, glBindProgramNV); - CHECK_ADDRESS(NEL_PFNGLDELETEPROGRAMSNVPROC, glDeleteProgramsNV); - CHECK_ADDRESS(NEL_PFNGLEXECUTEPROGRAMNVPROC, glExecuteProgramNV); - CHECK_ADDRESS(NEL_PFNGLGENPROGRAMSNVPROC, glGenProgramsNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC, glGetProgramParameterdvNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC, glGetProgramParameterfvNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMIVNVPROC, glGetProgramivNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMSTRINGNVPROC, glGetProgramStringNV); - CHECK_ADDRESS(NEL_PFNGLGETTRACKMATRIXIVNVPROC, glGetTrackMatrixivNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBDVNVPROC, glGetVertexAttribdvNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBFVNVPROC, glGetVertexAttribfvNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBIVNVPROC, glGetVertexAttribivNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC, glGetVertexAttribPointervNV); - CHECK_ADDRESS(NEL_PFNGLISPROGRAMNVPROC, glIsProgramNV); - CHECK_ADDRESS(NEL_PFNGLLOADPROGRAMNVPROC, glLoadProgramNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4DNVPROC, glProgramParameter4dNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4DVNVPROC, glProgramParameter4dvNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4FNVPROC, glProgramParameter4fNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4FVNVPROC, glProgramParameter4fvNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC, glProgramParameters4dvNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC, glProgramParameters4fvNV); - CHECK_ADDRESS(NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC, glRequestResidentProgramsNV); - CHECK_ADDRESS(NEL_PFNGLTRACKMATRIXNVPROC, glTrackMatrixNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBPOINTERNVPROC, glVertexAttribPointerNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1DNVPROC, glVertexAttrib1dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1DVNVPROC, glVertexAttrib1dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1FNVPROC, glVertexAttrib1fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1FVNVPROC, glVertexAttrib1fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1SNVPROC, glVertexAttrib1sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1SVNVPROC, glVertexAttrib1svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2DNVPROC, glVertexAttrib2dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2DVNVPROC, glVertexAttrib2dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2FNVPROC, glVertexAttrib2fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2FVNVPROC, glVertexAttrib2fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2SNVPROC, glVertexAttrib2sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2SVNVPROC, glVertexAttrib2svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3DNVPROC, glVertexAttrib3dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3DVNVPROC, glVertexAttrib3dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3FNVPROC, glVertexAttrib3fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3FVNVPROC, glVertexAttrib3fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3SNVPROC, glVertexAttrib3sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3SVNVPROC, glVertexAttrib3svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4DNVPROC, glVertexAttrib4dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4DVNVPROC, glVertexAttrib4dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4FNVPROC, glVertexAttrib4fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4FVNVPROC, glVertexAttrib4fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4SNVPROC, glVertexAttrib4sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4SVNVPROC, glVertexAttrib4svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4UBVNVPROC, glVertexAttrib4ubvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS1DVNVPROC, glVertexAttribs1dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS1FVNVPROC, glVertexAttribs1fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS1SVNVPROC, glVertexAttribs1svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS2DVNVPROC, glVertexAttribs2dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS2FVNVPROC, glVertexAttribs2fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS2SVNVPROC, glVertexAttribs2svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS3DVNVPROC, glVertexAttribs3dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS3FVNVPROC, glVertexAttribs3fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS3SVNVPROC, glVertexAttribs3svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4DVNVPROC, glVertexAttribs4dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4FVNVPROC, glVertexAttribs4fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4SVNVPROC, glVertexAttribs4svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4UBVNVPROC, glVertexAttribs4ubvNV); + CHECK_ADDRESS(PFNGLAREPROGRAMSRESIDENTNVPROC, glAreProgramsResidentNV); + CHECK_ADDRESS(PFNGLBINDPROGRAMNVPROC, glBindProgramNV); + CHECK_ADDRESS(PFNGLDELETEPROGRAMSNVPROC, glDeleteProgramsNV); + CHECK_ADDRESS(PFNGLEXECUTEPROGRAMNVPROC, glExecuteProgramNV); + CHECK_ADDRESS(PFNGLGENPROGRAMSNVPROC, glGenProgramsNV); + CHECK_ADDRESS(PFNGLGETPROGRAMPARAMETERDVNVPROC, glGetProgramParameterdvNV); + CHECK_ADDRESS(PFNGLGETPROGRAMPARAMETERFVNVPROC, glGetProgramParameterfvNV); + CHECK_ADDRESS(PFNGLGETPROGRAMIVNVPROC, glGetProgramivNV); + CHECK_ADDRESS(PFNGLGETPROGRAMSTRINGNVPROC, glGetProgramStringNV); + CHECK_ADDRESS(PFNGLGETTRACKMATRIXIVNVPROC, glGetTrackMatrixivNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBDVNVPROC, glGetVertexAttribdvNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBFVNVPROC, glGetVertexAttribfvNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBIVNVPROC, glGetVertexAttribivNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBPOINTERVNVPROC, glGetVertexAttribPointervNV); + CHECK_ADDRESS(PFNGLISPROGRAMNVPROC, glIsProgramNV); + CHECK_ADDRESS(PFNGLLOADPROGRAMNVPROC, glLoadProgramNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4DNVPROC, glProgramParameter4dNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4DVNVPROC, glProgramParameter4dvNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4FNVPROC, glProgramParameter4fNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4FVNVPROC, glProgramParameter4fvNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETERS4DVNVPROC, glProgramParameters4dvNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETERS4FVNVPROC, glProgramParameters4fvNV); + CHECK_ADDRESS(PFNGLREQUESTRESIDENTPROGRAMSNVPROC, glRequestResidentProgramsNV); + CHECK_ADDRESS(PFNGLTRACKMATRIXNVPROC, glTrackMatrixNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBPOINTERNVPROC, glVertexAttribPointerNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1DNVPROC, glVertexAttrib1dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1DVNVPROC, glVertexAttrib1dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1FNVPROC, glVertexAttrib1fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1FVNVPROC, glVertexAttrib1fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1SNVPROC, glVertexAttrib1sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1SVNVPROC, glVertexAttrib1svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2DNVPROC, glVertexAttrib2dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2DVNVPROC, glVertexAttrib2dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2FNVPROC, glVertexAttrib2fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2FVNVPROC, glVertexAttrib2fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2SNVPROC, glVertexAttrib2sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2SVNVPROC, glVertexAttrib2svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3DNVPROC, glVertexAttrib3dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3DVNVPROC, glVertexAttrib3dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3FNVPROC, glVertexAttrib3fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3FVNVPROC, glVertexAttrib3fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3SNVPROC, glVertexAttrib3sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3SVNVPROC, glVertexAttrib3svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4DNVPROC, glVertexAttrib4dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4DVNVPROC, glVertexAttrib4dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4FNVPROC, glVertexAttrib4fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4FVNVPROC, glVertexAttrib4fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4SNVPROC, glVertexAttrib4sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4SVNVPROC, glVertexAttrib4svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4UBVNVPROC, glVertexAttrib4ubvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS1DVNVPROC, glVertexAttribs1dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS1FVNVPROC, glVertexAttribs1fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS1SVNVPROC, glVertexAttribs1svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS2DVNVPROC, glVertexAttribs2dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS2FVNVPROC, glVertexAttribs2fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS2SVNVPROC, glVertexAttribs2svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS3DVNVPROC, glVertexAttribs3dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS3FVNVPROC, glVertexAttribs3fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS3SVNVPROC, glVertexAttribs3svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4DVNVPROC, glVertexAttribs4dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4FVNVPROC, glVertexAttribs4fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4SVNVPROC, glVertexAttribs4svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4UBVNVPROC, glVertexAttribs4ubvNV); #endif return true; @@ -913,40 +923,40 @@ static bool setupEXTVertexShader(const char *glext) CHECK_EXT("GL_EXT_vertex_shader"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLBEGINVERTEXSHADEREXTPROC, glBeginVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLENDVERTEXSHADEREXTPROC, glEndVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLBINDVERTEXSHADEREXTPROC, glBindVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLGENVERTEXSHADERSEXTPROC, glGenVertexShadersEXT); - CHECK_ADDRESS(NEL_PFNGLDELETEVERTEXSHADEREXTPROC, glDeleteVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLSHADEROP1EXTPROC, glShaderOp1EXT); - CHECK_ADDRESS(NEL_PFNGLSHADEROP2EXTPROC, glShaderOp2EXT); - CHECK_ADDRESS(NEL_PFNGLSHADEROP3EXTPROC, glShaderOp3EXT); - CHECK_ADDRESS(NEL_PFNGLSWIZZLEEXTPROC, glSwizzleEXT); - CHECK_ADDRESS(NEL_PFNGLWRITEMASKEXTPROC, glWriteMaskEXT); - CHECK_ADDRESS(NEL_PFNGLINSERTCOMPONENTEXTPROC, glInsertComponentEXT); - CHECK_ADDRESS(NEL_PFNGLEXTRACTCOMPONENTEXTPROC, glExtractComponentEXT); - CHECK_ADDRESS(NEL_PFNGLGENSYMBOLSEXTPROC, glGenSymbolsEXT); - CHECK_ADDRESS(NEL_PFNGLSETINVARIANTEXTPROC, glSetInvariantEXT); - CHECK_ADDRESS(NEL_PFNGLSETLOCALCONSTANTEXTPROC, glSetLocalConstantEXT); - CHECK_ADDRESS(NEL_PFNGLVARIANTPOINTEREXTPROC, glVariantPointerEXT); - CHECK_ADDRESS(NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC, glEnableVariantClientStateEXT); - CHECK_ADDRESS(NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC, glDisableVariantClientStateEXT); - CHECK_ADDRESS(NEL_PFNGLBINDLIGHTPARAMETEREXTPROC, glBindLightParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDMATERIALPARAMETEREXTPROC, glBindMaterialParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDTEXGENPARAMETEREXTPROC, glBindTexGenParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC, glBindTextureUnitParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDPARAMETEREXTPROC, glBindParameterEXT); - CHECK_ADDRESS(NEL_PFNGLISVARIANTENABLEDEXTPROC, glIsVariantEnabledEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTBOOLEANVEXTPROC, glGetVariantBooleanvEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTINTEGERVEXTPROC, glGetVariantIntegervEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTFLOATVEXTPROC, glGetVariantFloatvEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTPOINTERVEXTPROC, glGetVariantPointervEXT); - CHECK_ADDRESS(NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC, glGetInvariantBooleanvEXT); - CHECK_ADDRESS(NEL_PFNGLGETINVARIANTINTEGERVEXTPROC, glGetInvariantIntegervEXT); - CHECK_ADDRESS(NEL_PFNGLGETINVARIANTFLOATVEXTPROC, glGetInvariantFloatvEXT); - CHECK_ADDRESS(NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC, glGetLocalConstantBooleanvEXT); - CHECK_ADDRESS(NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC, glGetLocalConstantIntegervEXT); - CHECK_ADDRESS(NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC, glGetLocalConstantFloatvEXT); + CHECK_ADDRESS(PFNGLBEGINVERTEXSHADEREXTPROC, glBeginVertexShaderEXT); + CHECK_ADDRESS(PFNGLENDVERTEXSHADEREXTPROC, glEndVertexShaderEXT); + CHECK_ADDRESS(PFNGLBINDVERTEXSHADEREXTPROC, glBindVertexShaderEXT); + CHECK_ADDRESS(PFNGLGENVERTEXSHADERSEXTPROC, glGenVertexShadersEXT); + CHECK_ADDRESS(PFNGLDELETEVERTEXSHADEREXTPROC, glDeleteVertexShaderEXT); + CHECK_ADDRESS(PFNGLSHADEROP1EXTPROC, glShaderOp1EXT); + CHECK_ADDRESS(PFNGLSHADEROP2EXTPROC, glShaderOp2EXT); + CHECK_ADDRESS(PFNGLSHADEROP3EXTPROC, glShaderOp3EXT); + CHECK_ADDRESS(PFNGLSWIZZLEEXTPROC, glSwizzleEXT); + CHECK_ADDRESS(PFNGLWRITEMASKEXTPROC, glWriteMaskEXT); + CHECK_ADDRESS(PFNGLINSERTCOMPONENTEXTPROC, glInsertComponentEXT); + CHECK_ADDRESS(PFNGLEXTRACTCOMPONENTEXTPROC, glExtractComponentEXT); + CHECK_ADDRESS(PFNGLGENSYMBOLSEXTPROC, glGenSymbolsEXT); + CHECK_ADDRESS(PFNGLSETINVARIANTEXTPROC, glSetInvariantEXT); + CHECK_ADDRESS(PFNGLSETLOCALCONSTANTEXTPROC, glSetLocalConstantEXT); + CHECK_ADDRESS(PFNGLVARIANTPOINTEREXTPROC, glVariantPointerEXT); + CHECK_ADDRESS(PFNGLENABLEVARIANTCLIENTSTATEEXTPROC, glEnableVariantClientStateEXT); + CHECK_ADDRESS(PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC, glDisableVariantClientStateEXT); + CHECK_ADDRESS(PFNGLBINDLIGHTPARAMETEREXTPROC, glBindLightParameterEXT); + CHECK_ADDRESS(PFNGLBINDMATERIALPARAMETEREXTPROC, glBindMaterialParameterEXT); + CHECK_ADDRESS(PFNGLBINDTEXGENPARAMETEREXTPROC, glBindTexGenParameterEXT); + CHECK_ADDRESS(PFNGLBINDTEXTUREUNITPARAMETEREXTPROC, glBindTextureUnitParameterEXT); + CHECK_ADDRESS(PFNGLBINDPARAMETEREXTPROC, glBindParameterEXT); + CHECK_ADDRESS(PFNGLISVARIANTENABLEDEXTPROC, glIsVariantEnabledEXT); + CHECK_ADDRESS(PFNGLGETVARIANTBOOLEANVEXTPROC, glGetVariantBooleanvEXT); + CHECK_ADDRESS(PFNGLGETVARIANTINTEGERVEXTPROC, glGetVariantIntegervEXT); + CHECK_ADDRESS(PFNGLGETVARIANTFLOATVEXTPROC, glGetVariantFloatvEXT); + CHECK_ADDRESS(PFNGLGETVARIANTPOINTERVEXTPROC, glGetVariantPointervEXT); + CHECK_ADDRESS(PFNGLGETINVARIANTBOOLEANVEXTPROC, glGetInvariantBooleanvEXT); + CHECK_ADDRESS(PFNGLGETINVARIANTINTEGERVEXTPROC, glGetInvariantIntegervEXT); + CHECK_ADDRESS(PFNGLGETINVARIANTFLOATVEXTPROC, glGetInvariantFloatvEXT); + CHECK_ADDRESS(PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC, glGetLocalConstantBooleanvEXT); + CHECK_ADDRESS(PFNGLGETLOCALCONSTANTINTEGERVEXTPROC, glGetLocalConstantIntegervEXT); + CHECK_ADDRESS(PFNGLGETLOCALCONSTANTFLOATVEXTPROC, glGetLocalConstantFloatvEXT); // we require at least 128 instructions, 15 local register (r0, r1,..,r11) + 3 temporary vector for swizzle emulation + 1 vector for indexing temp + 3 temporary scalar for LOGG, EXPP and LIT emulation, 1 address register // we require 11 variants (4 textures + position + normal + primary color + secondary color + weight + palette skin + fog) @@ -989,23 +999,23 @@ static bool setupEXTSecondaryColor(const char *glext) CHECK_EXT("GL_EXT_secondary_color"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3BEXTPROC, glSecondaryColor3bEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3BVEXTPROC, glSecondaryColor3bvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3DEXTPROC, glSecondaryColor3dEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3DVEXTPROC, glSecondaryColor3dvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3FEXTPROC, glSecondaryColor3fEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3FVEXTPROC, glSecondaryColor3fvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3IEXTPROC, glSecondaryColor3iEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3IVEXTPROC, glSecondaryColor3ivEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3SEXTPROC, glSecondaryColor3sEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3SVEXTPROC, glSecondaryColor3svEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UBEXTPROC, glSecondaryColor3ubEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC, glSecondaryColor3ubvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UIEXTPROC, glSecondaryColor3uiEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC, glSecondaryColor3uivEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3USEXTPROC, glSecondaryColor3usEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3USVEXTPROC, glSecondaryColor3usvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC, glSecondaryColorPointerEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3BEXTPROC, glSecondaryColor3bEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3BVEXTPROC, glSecondaryColor3bvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3DEXTPROC, glSecondaryColor3dEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3DVEXTPROC, glSecondaryColor3dvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3FEXTPROC, glSecondaryColor3fEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3FVEXTPROC, glSecondaryColor3fvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3IEXTPROC, glSecondaryColor3iEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3IVEXTPROC, glSecondaryColor3ivEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3SEXTPROC, glSecondaryColor3sEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3SVEXTPROC, glSecondaryColor3svEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UBEXTPROC, glSecondaryColor3ubEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UBVEXTPROC, glSecondaryColor3ubvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UIEXTPROC, glSecondaryColor3uiEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UIVEXTPROC, glSecondaryColor3uivEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3USEXTPROC, glSecondaryColor3usEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3USVEXTPROC, glSecondaryColor3usvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLORPOINTEREXTPROC, glSecondaryColorPointerEXT); #endif return true; @@ -1037,7 +1047,7 @@ static bool setupARBMultisample(const char *glext) CHECK_EXT("GL_ARB_multisample"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLSAMPLECOVERAGEARBPROC, glSampleCoverageARB); + CHECK_ADDRESS(PFNGLSAMPLECOVERAGEARBPROC, glSampleCoverageARB); #endif return true; @@ -1084,7 +1094,7 @@ static bool setupEXTBlendColor(const char *glext) CHECK_EXT("GL_EXT_blend_color"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLBLENDCOLOREXTPROC, glBlendColorEXT); + CHECK_ADDRESS(PFNGLBLENDCOLOREXTPROC, glBlendColorEXT); #endif return true; @@ -1106,31 +1116,22 @@ static bool setupATIVertexArrayObject(const char *glext) CHECK_EXT("GL_ATI_vertex_array_object"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLNEWOBJECTBUFFERATIPROC, glNewObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLISOBJECTBUFFERATIPROC, glIsObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLUPDATEOBJECTBUFFERATIPROC, glUpdateObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLGETOBJECTBUFFERFVATIPROC, glGetObjectBufferfvATI); - CHECK_ADDRESS(NEL_PFNGLGETOBJECTBUFFERIVATIPROC, glGetObjectBufferivATI); - - nglDeleteObjectBufferATI = (NEL_PFNGLDELETEOBJECTBUFFERATIPROC)nglGetProcAddress("nglDeleteObjectBufferATI"); - - if(!nglDeleteObjectBufferATI) - { - // seems that on matrox parhelia driver, this procedure is named nglFreeObjectBufferATI !! - nglDeleteObjectBufferATI = (NEL_PFNGLDELETEOBJECTBUFFERATIPROC)nglGetProcAddress("nglFreeObjectBufferATI"); - if(!nglDeleteObjectBufferATI) return false; - } - - CHECK_ADDRESS(NEL_PFNGLARRAYOBJECTATIPROC, glArrayObjectATI); - CHECK_ADDRESS(NEL_PFNGLGETARRAYOBJECTFVATIPROC, glGetArrayObjectfvATI); - CHECK_ADDRESS(NEL_PFNGLGETARRAYOBJECTIVATIPROC, glGetArrayObjectivATI); + CHECK_ADDRESS(PFNGLNEWOBJECTBUFFERATIPROC, glNewObjectBufferATI); + CHECK_ADDRESS(PFNGLISOBJECTBUFFERATIPROC, glIsObjectBufferATI); + CHECK_ADDRESS(PFNGLUPDATEOBJECTBUFFERATIPROC, glUpdateObjectBufferATI); + CHECK_ADDRESS(PFNGLGETOBJECTBUFFERFVATIPROC, glGetObjectBufferfvATI); + CHECK_ADDRESS(PFNGLGETOBJECTBUFFERIVATIPROC, glGetObjectBufferivATI); + CHECK_ADDRESS(PFNGLFREEOBJECTBUFFERATIPROC, glFreeObjectBufferATI); + CHECK_ADDRESS(PFNGLARRAYOBJECTATIPROC, glArrayObjectATI); + CHECK_ADDRESS(PFNGLGETARRAYOBJECTFVATIPROC, glGetArrayObjectfvATI); + CHECK_ADDRESS(PFNGLGETARRAYOBJECTIVATIPROC, glGetArrayObjectivATI); if(strstr(glext, "GL_EXT_vertex_shader") != NULL) { // the following exist only if ext vertex shader is present - CHECK_ADDRESS(NEL_PFNGLVARIANTARRAYOBJECTATIPROC, glVariantArrayObjectATI); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC, glGetVariantArrayObjectfvATI); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC, glGetVariantArrayObjectivATI); + CHECK_ADDRESS(PFNGLVARIANTARRAYOBJECTATIPROC, glVariantArrayObjectATI); + CHECK_ADDRESS(PFNGLGETVARIANTARRAYOBJECTFVATIPROC, glGetVariantArrayObjectfvATI); + CHECK_ADDRESS(PFNGLGETVARIANTARRAYOBJECTIVATIPROC, glGetVariantArrayObjectivATI); } #endif @@ -1144,8 +1145,8 @@ static bool setupATIMapObjectBuffer(const char *glext) CHECK_EXT("GL_ATI_map_object_buffer"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLMAPOBJECTBUFFERATIPROC, glMapObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLUNMAPOBJECTBUFFERATIPROC, glUnmapObjectBufferATI); + CHECK_ADDRESS(PFNGLMAPOBJECTBUFFERATIPROC, glMapObjectBufferATI); + CHECK_ADDRESS(PFNGLUNMAPOBJECTBUFFERATIPROC, glUnmapObjectBufferATI); #endif return true; @@ -1160,20 +1161,20 @@ static bool setupATIFragmentShader(const char *glext) CHECK_EXT("GL_ATI_fragment_shader"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLGENFRAGMENTSHADERSATIPROC, glGenFragmentShadersATI); - CHECK_ADDRESS(NEL_PFNGLBINDFRAGMENTSHADERATIPROC, glBindFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLDELETEFRAGMENTSHADERATIPROC, glDeleteFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLBEGINFRAGMENTSHADERATIPROC, glBeginFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLENDFRAGMENTSHADERATIPROC, glEndFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLPASSTEXCOORDATIPROC, glPassTexCoordATI); - CHECK_ADDRESS(NEL_PFNGLSAMPLEMAPATIPROC, glSampleMapATI); - CHECK_ADDRESS(NEL_PFNGLCOLORFRAGMENTOP1ATIPROC, glColorFragmentOp1ATI); - CHECK_ADDRESS(NEL_PFNGLCOLORFRAGMENTOP2ATIPROC, glColorFragmentOp2ATI); - CHECK_ADDRESS(NEL_PFNGLCOLORFRAGMENTOP3ATIPROC, glColorFragmentOp3ATI); - CHECK_ADDRESS(NEL_PFNGLALPHAFRAGMENTOP1ATIPROC, glAlphaFragmentOp1ATI); - CHECK_ADDRESS(NEL_PFNGLALPHAFRAGMENTOP2ATIPROC, glAlphaFragmentOp2ATI); - CHECK_ADDRESS(NEL_PFNGLALPHAFRAGMENTOP3ATIPROC, glAlphaFragmentOp3ATI); - CHECK_ADDRESS(NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC, glSetFragmentShaderConstantATI); + CHECK_ADDRESS(PFNGLGENFRAGMENTSHADERSATIPROC, glGenFragmentShadersATI); + CHECK_ADDRESS(PFNGLBINDFRAGMENTSHADERATIPROC, glBindFragmentShaderATI); + CHECK_ADDRESS(PFNGLDELETEFRAGMENTSHADERATIPROC, glDeleteFragmentShaderATI); + CHECK_ADDRESS(PFNGLBEGINFRAGMENTSHADERATIPROC, glBeginFragmentShaderATI); + CHECK_ADDRESS(PFNGLENDFRAGMENTSHADERATIPROC, glEndFragmentShaderATI); + CHECK_ADDRESS(PFNGLPASSTEXCOORDATIPROC, glPassTexCoordATI); + CHECK_ADDRESS(PFNGLSAMPLEMAPATIPROC, glSampleMapATI); + CHECK_ADDRESS(PFNGLCOLORFRAGMENTOP1ATIPROC, glColorFragmentOp1ATI); + CHECK_ADDRESS(PFNGLCOLORFRAGMENTOP2ATIPROC, glColorFragmentOp2ATI); + CHECK_ADDRESS(PFNGLCOLORFRAGMENTOP3ATIPROC, glColorFragmentOp3ATI); + CHECK_ADDRESS(PFNGLALPHAFRAGMENTOP1ATIPROC, glAlphaFragmentOp1ATI); + CHECK_ADDRESS(PFNGLALPHAFRAGMENTOP2ATIPROC, glAlphaFragmentOp2ATI); + CHECK_ADDRESS(PFNGLALPHAFRAGMENTOP3ATIPROC, glAlphaFragmentOp3ATI); + CHECK_ADDRESS(PFNGLSETFRAGMENTSHADERCONSTANTATIPROC, glSetFragmentShaderConstantATI); #endif return true; @@ -1186,9 +1187,9 @@ static bool setupATIVertexAttribArrayObject(const char *glext) CHECK_EXT("GL_ATI_vertex_attrib_array_object"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC, glVertexAttribArrayObjectATI); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC, glGetVertexAttribArrayObjectfvATI); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC, glGetVertexAttribArrayObjectivATI); + CHECK_ADDRESS(PFNGLVERTEXATTRIBARRAYOBJECTATIPROC, glVertexAttribArrayObjectATI); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC, glGetVertexAttribArrayObjectfvATI); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC, glGetVertexAttribArrayObjectivATI); #endif return true; @@ -1201,25 +1202,25 @@ static bool setupARBFragmentProgram(const char *glext) CHECK_EXT("GL_ARB_fragment_program"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLPROGRAMSTRINGARBPROC, glProgramStringARB); - CHECK_ADDRESS(NEL_PFNGLBINDPROGRAMARBPROC, glBindProgramARB); - CHECK_ADDRESS(NEL_PFNGLDELETEPROGRAMSARBPROC, glDeleteProgramsARB); - CHECK_ADDRESS(NEL_PFNGLGENPROGRAMSARBPROC, glGenProgramsARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC, glProgramEnvParameter4dARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC, glProgramEnvParameter4dvARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC, glProgramEnvParameter4fARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC, glProgramEnvParameter4fvARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC, glProgramLocalParameter4dARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC, glProgramLocalParameter4dvARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC, glProgramLocalParameter4fARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC, glProgramLocalParameter4fvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC, glGetProgramEnvParameterdvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC, glGetProgramEnvParameterfvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC, glGetProgramLocalParameterdvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC, glGetProgramLocalParameterfvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMIVARBPROC, glGetProgramivARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMSTRINGARBPROC, glGetProgramStringARB); - CHECK_ADDRESS(NEL_PFNGLISPROGRAMARBPROC, glIsProgramARB); + CHECK_ADDRESS(PFNGLPROGRAMSTRINGARBPROC, glProgramStringARB); + CHECK_ADDRESS(PFNGLBINDPROGRAMARBPROC, glBindProgramARB); + CHECK_ADDRESS(PFNGLDELETEPROGRAMSARBPROC, glDeleteProgramsARB); + CHECK_ADDRESS(PFNGLGENPROGRAMSARBPROC, glGenProgramsARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4DARBPROC, glProgramEnvParameter4dARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4DVARBPROC, glProgramEnvParameter4dvARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4FARBPROC, glProgramEnvParameter4fARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4FVARBPROC, glProgramEnvParameter4fvARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4DARBPROC, glProgramLocalParameter4dARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4DVARBPROC, glProgramLocalParameter4dvARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4FARBPROC, glProgramLocalParameter4fARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4FVARBPROC, glProgramLocalParameter4fvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMENVPARAMETERDVARBPROC, glGetProgramEnvParameterdvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMENVPARAMETERFVARBPROC, glGetProgramEnvParameterfvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC, glGetProgramLocalParameterdvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC, glGetProgramLocalParameterfvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMIVARBPROC, glGetProgramivARB); + CHECK_ADDRESS(PFNGLGETPROGRAMSTRINGARBPROC, glGetProgramStringARB); + CHECK_ADDRESS(PFNGLISPROGRAMARBPROC, glIsProgramARB); #endif return true; @@ -1339,13 +1340,13 @@ static bool setupNVOcclusionQuery(const char *glext) CHECK_EXT("GL_NV_occlusion_query"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLGENOCCLUSIONQUERIESNVPROC, glGenOcclusionQueriesNV); - CHECK_ADDRESS(NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC, glDeleteOcclusionQueriesNV); - CHECK_ADDRESS(NEL_PFNGLISOCCLUSIONQUERYNVPROC, glIsOcclusionQueryNV); - CHECK_ADDRESS(NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC, glBeginOcclusionQueryNV); - CHECK_ADDRESS(NEL_PFNGLENDOCCLUSIONQUERYNVPROC, glEndOcclusionQueryNV); - CHECK_ADDRESS(NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC, glGetOcclusionQueryivNV); - CHECK_ADDRESS(NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC, glGetOcclusionQueryuivNV); + CHECK_ADDRESS(PFNGLGENOCCLUSIONQUERIESNVPROC, glGenOcclusionQueriesNV); + CHECK_ADDRESS(PFNGLDELETEOCCLUSIONQUERIESNVPROC, glDeleteOcclusionQueriesNV); + CHECK_ADDRESS(PFNGLISOCCLUSIONQUERYNVPROC, glIsOcclusionQueryNV); + CHECK_ADDRESS(PFNGLBEGINOCCLUSIONQUERYNVPROC, glBeginOcclusionQueryNV); + CHECK_ADDRESS(PFNGLENDOCCLUSIONQUERYNVPROC, glEndOcclusionQueryNV); + CHECK_ADDRESS(PFNGLGETOCCLUSIONQUERYIVNVPROC, glGetOcclusionQueryivNV); + CHECK_ADDRESS(PFNGLGETOCCLUSIONQUERYUIVNVPROC, glGetOcclusionQueryuivNV); #endif return true; @@ -1396,38 +1397,38 @@ static bool setupFrameBufferObject(const char *glext) #ifdef USE_OPENGLES CHECK_EXT("GL_OES_framebuffer_object"); - CHECK_ADDRESS(NEL_PFNGLISRENDERBUFFEROESPROC, glIsRenderbufferOES); - CHECK_ADDRESS(NEL_PFNGLBINDRENDERBUFFEROESPROC, glBindRenderbufferOES); - CHECK_ADDRESS(NEL_PFNGLDELETERENDERBUFFERSOESPROC, glDeleteRenderbuffersOES); - CHECK_ADDRESS(NEL_PFNGLGENRENDERBUFFERSOESPROC, glGenRenderbuffersOES); - CHECK_ADDRESS(NEL_PFNGLRENDERBUFFERSTORAGEOESPROC, glRenderbufferStorageOES); - CHECK_ADDRESS(NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC, glGetRenderbufferParameterivOES); - CHECK_ADDRESS(NEL_PFNGLISFRAMEBUFFEROESPROC, glIsFramebufferOES); - CHECK_ADDRESS(NEL_PFNGLBINDFRAMEBUFFEROESPROC, glBindFramebufferOES); - CHECK_ADDRESS(NEL_PFNGLDELETEFRAMEBUFFERSOESPROC, glDeleteFramebuffersOES); - CHECK_ADDRESS(NEL_PFNGLGENFRAMEBUFFERSOESPROC, glGenFramebuffersOES); - CHECK_ADDRESS(NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC, glCheckFramebufferStatusOES); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC, glFramebufferRenderbufferOES); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC, glFramebufferTexture2DOES); - CHECK_ADDRESS(NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC, glGetFramebufferAttachmentParameterivOES); - CHECK_ADDRESS(NEL_PFNGLGENERATEMIPMAPOESPROC, glGenerateMipmapOES); + CHECK_ADDRESS(PFNGLISRENDERBUFFEROESPROC, glIsRenderbufferOES); + CHECK_ADDRESS(PFNGLBINDRENDERBUFFEROESPROC, glBindRenderbufferOES); + CHECK_ADDRESS(PFNGLDELETERENDERBUFFERSOESPROC, glDeleteRenderbuffersOES); + CHECK_ADDRESS(PFNGLGENRENDERBUFFERSOESPROC, glGenRenderbuffersOES); + CHECK_ADDRESS(PFNGLRENDERBUFFERSTORAGEOESPROC, glRenderbufferStorageOES); + CHECK_ADDRESS(PFNGLGETRENDERBUFFERPARAMETERIVOESPROC, glGetRenderbufferParameterivOES); + CHECK_ADDRESS(PFNGLISFRAMEBUFFEROESPROC, glIsFramebufferOES); + CHECK_ADDRESS(PFNGLBINDFRAMEBUFFEROESPROC, glBindFramebufferOES); + CHECK_ADDRESS(PFNGLDELETEFRAMEBUFFERSOESPROC, glDeleteFramebuffersOES); + CHECK_ADDRESS(PFNGLGENFRAMEBUFFERSOESPROC, glGenFramebuffersOES); + CHECK_ADDRESS(PFNGLCHECKFRAMEBUFFERSTATUSOESPROC, glCheckFramebufferStatusOES); + CHECK_ADDRESS(PFNGLFRAMEBUFFERRENDERBUFFEROESPROC, glFramebufferRenderbufferOES); + CHECK_ADDRESS(PFNGLFRAMEBUFFERTEXTURE2DOESPROC, glFramebufferTexture2DOES); + CHECK_ADDRESS(PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC, glGetFramebufferAttachmentParameterivOES); + CHECK_ADDRESS(PFNGLGENERATEMIPMAPOESPROC, glGenerateMipmapOES); #else CHECK_EXT("GL_EXT_framebuffer_object"); - CHECK_ADDRESS(NEL_PFNGLISRENDERBUFFEREXTPROC, glIsRenderbufferEXT); - CHECK_ADDRESS(NEL_PFNGLISFRAMEBUFFEREXTPROC, glIsFramebufferEXT); - CHECK_ADDRESS(NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatusEXT); - CHECK_ADDRESS(NEL_PFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffersEXT); - CHECK_ADDRESS(NEL_PFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebufferEXT); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2DEXT); - CHECK_ADDRESS(NEL_PFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffersEXT); - CHECK_ADDRESS(NEL_PFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbufferEXT); - CHECK_ADDRESS(NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorageEXT); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbufferEXT); - CHECK_ADDRESS(NEL_PFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffersEXT); - CHECK_ADDRESS(NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffersEXT); - CHECK_ADDRESS(NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC, glGetRenderbufferParameterivEXT); - CHECK_ADDRESS(NEL_PFNGENERATEMIPMAPEXTPROC, glGenerateMipmapEXT); + CHECK_ADDRESS(PFNGLISRENDERBUFFEREXTPROC, glIsRenderbufferEXT); + CHECK_ADDRESS(PFNGLISFRAMEBUFFEREXTPROC, glIsFramebufferEXT); + CHECK_ADDRESS(PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatusEXT); + CHECK_ADDRESS(PFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffersEXT); + CHECK_ADDRESS(PFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebufferEXT); + CHECK_ADDRESS(PFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2DEXT); + CHECK_ADDRESS(PFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffersEXT); + CHECK_ADDRESS(PFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbufferEXT); + CHECK_ADDRESS(PFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorageEXT); + CHECK_ADDRESS(PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbufferEXT); + CHECK_ADDRESS(PFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffersEXT); + CHECK_ADDRESS(PFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffersEXT); + CHECK_ADDRESS(PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC, glGetRenderbufferParameterivEXT); + CHECK_ADDRESS(PFNGLGENERATEMIPMAPEXTPROC, glGenerateMipmapEXT); #endif return true; @@ -1440,7 +1441,7 @@ static bool setupFrameBufferBlit(const char *glext) CHECK_EXT("GL_EXT_framebuffer_blit"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT); + CHECK_ADDRESS(PFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT); #endif return true; @@ -1453,7 +1454,7 @@ static bool setupFrameBufferMultisample(const char *glext) CHECK_EXT("GL_EXT_framebuffer_multisample"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisampleEXT); + CHECK_ADDRESS(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisampleEXT); #endif return true; @@ -1714,7 +1715,7 @@ static bool setupGLXEXTSwapControl(const char *glext) CHECK_EXT("GLX_EXT_swap_control"); #if defined(NL_OS_UNIX) && !defined(NL_OS_MAC) - CHECK_ADDRESS(NEL_PFNGLXSWAPINTERVALEXTPROC, glXSwapIntervalEXT); + CHECK_ADDRESS(PFNGLXSWAPINTERVALEXTPROC, glXSwapIntervalEXT); #endif return true; @@ -1740,8 +1741,8 @@ static bool setupGLXMESASwapControl(const char *glext) CHECK_EXT("GLX_MESA_swap_control"); #if defined(NL_OS_UNIX) && !defined(NL_OS_MAC) - CHECK_ADDRESS(NEL_PFNGLXSWAPINTERVALMESAPROC, glXSwapIntervalMESA); - CHECK_ADDRESS(NEL_PFNGLXGETSWAPINTERVALMESAPROC, glXGetSwapIntervalMESA); + CHECK_ADDRESS(PFNGLXSWAPINTERVALMESAPROC, glXSwapIntervalMESA); + CHECK_ADDRESS(PFNGLXGETSWAPINTERVALMESAPROC, glXGetSwapIntervalMESA); #endif return true; diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index fe7738fd8..7a20d6896 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -151,7 +151,6 @@ public: ATIVertexArrayObject= false; ATIEnvMapBumpMap = false; ATIFragmentShader = false; - ATIVertexArrayObject = false; ATIMapObjectBuffer = false; ATIVertexAttribArrayObject = false; EXTVertexShader= false; @@ -294,230 +293,228 @@ void registerGlExtensions(CGlExtensions &ext); // OES_mapbuffer. //=============== -extern NEL_PFNGLMAPBUFFEROESPROC nglMapBufferOES; -extern NEL_PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; -extern NEL_PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; +extern PFNGLMAPBUFFEROESPROC nglMapBufferOES; +extern PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; +extern PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; -extern NEL_PFNGLBUFFERSUBDATAPROC nglBufferSubData; - -extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES; +extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES; // GL_OES_framebuffer_object -extern NEL_PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; -extern NEL_PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; -extern NEL_PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; -extern NEL_PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; -extern NEL_PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; -extern NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; -extern NEL_PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; -extern NEL_PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; -extern NEL_PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; -extern NEL_PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; -extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; -extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; -extern NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; -extern NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; -extern NEL_PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; +extern PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; +extern PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; +extern PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; +extern PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; +extern PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; +extern PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; +extern PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; +extern PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; +extern PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; +extern PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; +extern PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; +extern PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; +extern PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; +extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; +extern PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; // GL_OES_texture_cube_map -extern NEL_PFNGLTEXGENFOESPROC nglTexGenfOES; -extern NEL_PFNGLTEXGENFVOESPROC nglTexGenfvOES; -extern NEL_PFNGLTEXGENIOESPROC nglTexGeniOES; -extern NEL_PFNGLTEXGENIVOESPROC nglTexGenivOES; -extern NEL_PFNGLTEXGENXOESPROC nglTexGenxOES; -extern NEL_PFNGLTEXGENXVOESPROC nglTexGenxvOES; -extern NEL_PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; -extern NEL_PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; -extern NEL_PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; +extern PFNGLTEXGENFOESPROC nglTexGenfOES; +extern PFNGLTEXGENFVOESPROC nglTexGenfvOES; +extern PFNGLTEXGENIOESPROC nglTexGeniOES; +extern PFNGLTEXGENIVOESPROC nglTexGenivOES; +extern PFNGLTEXGENXOESPROC nglTexGenxOES; +extern PFNGLTEXGENXVOESPROC nglTexGenxvOES; +extern PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; +extern PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; +extern PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; #else // ARB_multitexture //================= -extern NEL_PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; -extern NEL_PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; +extern PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; +extern PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; -extern NEL_PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; -extern NEL_PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; -extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; -extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; -extern NEL_PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; -extern NEL_PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; -extern NEL_PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; -extern NEL_PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; -extern NEL_PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; -extern NEL_PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; -extern NEL_PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; -extern NEL_PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; -extern NEL_PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; -extern NEL_PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; -extern NEL_PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; -extern NEL_PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; -extern NEL_PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; +extern PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; +extern PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; +extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; +extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; +extern PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; +extern PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; +extern PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; +extern PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; +extern PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; +extern PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; +extern PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; +extern PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; +extern PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; +extern PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; +extern PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; +extern PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; +extern PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; -extern NEL_PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; -extern NEL_PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; -extern NEL_PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; -extern NEL_PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; -extern NEL_PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; -extern NEL_PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; -extern NEL_PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; -extern NEL_PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; -extern NEL_PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; -extern NEL_PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; -extern NEL_PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; -extern NEL_PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; -extern NEL_PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; -extern NEL_PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; -extern NEL_PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; -extern NEL_PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; +extern PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; +extern PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; +extern PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; +extern PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; +extern PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; +extern PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; +extern PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; +extern PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; +extern PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; +extern PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; +extern PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; +extern PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; +extern PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; +extern PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; +extern PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; +extern PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; // ARB_TextureCompression. //======================== -extern NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; -extern NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; -extern NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; -extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; -extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; -extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; -extern NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; +extern PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; +extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; +extern PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; +extern PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; +extern PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; +extern PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; +extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; // VertexArrayRangeNV. //==================== -extern NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; -extern NEL_PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; +extern PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; +extern PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; #ifdef NL_OS_WINDOWS extern PFNWGLALLOCATEMEMORYNVPROC nwglAllocateMemoryNV; extern PFNWGLFREEMEMORYNVPROC nwglFreeMemoryNV; #elif defined(NL_OS_UNIX) && !defined(NL_OS_MAC) -extern NEL_PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; -extern NEL_PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; +extern PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; +extern PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; #endif // FenceNV. //==================== -extern NEL_PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; -extern NEL_PFNGLGENFENCESNVPROC nglGenFencesNV; -extern NEL_PFNGLISFENCENVPROC nglIsFenceNV; -extern NEL_PFNGLTESTFENCENVPROC nglTestFenceNV; -extern NEL_PFNGLGETFENCEIVNVPROC nglGetFenceivNV; -extern NEL_PFNGLFINISHFENCENVPROC nglFinishFenceNV; -extern NEL_PFNGLSETFENCENVPROC nglSetFenceNV; +extern PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; +extern PFNGLGENFENCESNVPROC nglGenFencesNV; +extern PFNGLISFENCENVPROC nglIsFenceNV; +extern PFNGLTESTFENCENVPROC nglTestFenceNV; +extern PFNGLGETFENCEIVNVPROC nglGetFenceivNV; +extern PFNGLFINISHFENCENVPROC nglFinishFenceNV; +extern PFNGLSETFENCENVPROC nglSetFenceNV; // VertexWeighting. //================== -extern NEL_PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; -extern NEL_PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; -extern NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; +extern PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; +extern PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; +extern PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; // VertexProgramExtension. //======================== -extern NEL_PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; -extern NEL_PFNGLBINDPROGRAMNVPROC nglBindProgramNV; -extern NEL_PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; -extern NEL_PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; -extern NEL_PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; -extern NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; -extern NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; -extern NEL_PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; -extern NEL_PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; -extern NEL_PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; -extern NEL_PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; -extern NEL_PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; -extern NEL_PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; -extern NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; -extern NEL_PFNGLISPROGRAMNVPROC nglIsProgramNV; -extern NEL_PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; -extern NEL_PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; -extern NEL_PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; -extern NEL_PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; -extern NEL_PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; -extern NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; -extern NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; -extern NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; -extern NEL_PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; -extern NEL_PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; -extern NEL_PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; -extern NEL_PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; -extern NEL_PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; -extern NEL_PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; -extern NEL_PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; -extern NEL_PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; -extern NEL_PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; -extern NEL_PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; -extern NEL_PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; -extern NEL_PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; -extern NEL_PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; -extern NEL_PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; -extern NEL_PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; -extern NEL_PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; -extern NEL_PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; -extern NEL_PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; -extern NEL_PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; -extern NEL_PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; -extern NEL_PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; -extern NEL_PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; -extern NEL_PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; -extern NEL_PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; -extern NEL_PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; -extern NEL_PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; -extern NEL_PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; -extern NEL_PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; -extern NEL_PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; -extern NEL_PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; -extern NEL_PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; -extern NEL_PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; -extern NEL_PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; -extern NEL_PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; -extern NEL_PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; -extern NEL_PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; -extern NEL_PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; -extern NEL_PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; -extern NEL_PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; -extern NEL_PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; +extern PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; +extern PFNGLBINDPROGRAMNVPROC nglBindProgramNV; +extern PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; +extern PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; +extern PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; +extern PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; +extern PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; +extern PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; +extern PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; +extern PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; +extern PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; +extern PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; +extern PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; +extern PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; +extern PFNGLISPROGRAMNVPROC nglIsProgramNV; +extern PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; +extern PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; +extern PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; +extern PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; +extern PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; +extern PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; +extern PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; +extern PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; +extern PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; +extern PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; +extern PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; +extern PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; +extern PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; +extern PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; +extern PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; +extern PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; +extern PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; +extern PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; +extern PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; +extern PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; +extern PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; +extern PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; +extern PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; +extern PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; +extern PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; +extern PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; +extern PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; +extern PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; +extern PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; +extern PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; +extern PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; +extern PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; +extern PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; +extern PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; +extern PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; +extern PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; +extern PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; +extern PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; +extern PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; +extern PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; +extern PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; +extern PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; +extern PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; +extern PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; +extern PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; +extern PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; +extern PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; +extern PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; // VertexShaderExtension. //======================== -extern NEL_PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; -extern NEL_PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; -extern NEL_PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; -extern NEL_PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; -extern NEL_PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; -extern NEL_PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; -extern NEL_PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; -extern NEL_PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; -extern NEL_PFNGLSWIZZLEEXTPROC nglSwizzleEXT; -extern NEL_PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; -extern NEL_PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; -extern NEL_PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; -extern NEL_PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; -extern NEL_PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; -extern NEL_PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; -extern NEL_PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; -extern NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; -extern NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; -extern NEL_PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; -extern NEL_PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; -extern NEL_PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; -extern NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; -extern NEL_PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; -extern NEL_PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; -extern NEL_PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; -extern NEL_PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; -extern NEL_PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; -extern NEL_PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; -extern NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; -extern NEL_PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; -extern NEL_PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; -extern NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; -extern NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; -extern NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; +extern PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; +extern PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; +extern PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; +extern PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; +extern PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; +extern PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; +extern PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; +extern PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; +extern PFNGLSWIZZLEEXTPROC nglSwizzleEXT; +extern PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; +extern PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; +extern PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; +extern PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; +extern PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; +extern PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; +extern PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; +extern PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; +extern PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; +extern PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; +extern PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; +extern PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; +extern PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; +extern PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; +extern PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; +extern PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; +extern PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; +extern PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; +extern PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; +extern PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; +extern PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; +extern PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; +extern PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; +extern PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; +extern PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; // ATI_envmap_bumpmap extension @@ -530,100 +527,100 @@ extern PFNGLGETTEXBUMPPARAMETERFVATIPROC nglGetTexBumpParameterfvATI; // SecondaryColor extension //======================== -extern NEL_PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; -extern NEL_PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; -extern NEL_PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; -extern NEL_PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; -extern NEL_PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; -extern NEL_PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; -extern NEL_PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; -extern NEL_PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; -extern NEL_PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; -extern NEL_PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; -extern NEL_PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; -extern NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; -extern NEL_PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; -extern NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; -extern NEL_PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; -extern NEL_PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; -extern NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; +extern PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; +extern PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; +extern PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; +extern PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; +extern PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; +extern PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; +extern PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; +extern PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; +extern PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; +extern PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; +extern PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; +extern PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; +extern PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; +extern PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; +extern PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; +extern PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; +extern PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; // BlendColor extension //======================== -extern NEL_PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; +extern PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; // GL_ATI_vertex_array_object extension //======================== -extern NEL_PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; -extern NEL_PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; -extern NEL_PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; -extern NEL_PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; -extern NEL_PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; -extern NEL_PFNGLDELETEOBJECTBUFFERATIPROC nglDeleteObjectBufferATI; -extern NEL_PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; -extern NEL_PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; -extern NEL_PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; -extern NEL_PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; -extern NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; -extern NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; +extern PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; +extern PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; +extern PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; +extern PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; +extern PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; +extern PFNGLFREEOBJECTBUFFERATIPROC nglFreeObjectBufferATI; +extern PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; +extern PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; +extern PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; +extern PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; +extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; +extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; // GL_ATI_map_object_buffer //=================================== -extern NEL_PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; -extern NEL_PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; +extern PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; +extern PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; // GL_ATI_fragment_shader extension //=================================== -extern NEL_PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; -extern NEL_PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; -extern NEL_PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; -extern NEL_PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; -extern NEL_PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; -extern NEL_PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; -extern NEL_PFNGLSAMPLEMAPATIPROC nglSampleMapATI; -extern NEL_PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; -extern NEL_PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; -extern NEL_PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; -extern NEL_PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; -extern NEL_PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; -extern NEL_PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; -extern NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; +extern PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; +extern PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; +extern PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; +extern PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; +extern PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; +extern PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; +extern PFNGLSAMPLEMAPATIPROC nglSampleMapATI; +extern PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; +extern PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; +extern PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; +extern PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; +extern PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; +extern PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; +extern PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; // GL_ATI_vertex_attrib_array_object //================================== -extern NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; -extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; -extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; +extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; +extern PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; +extern PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; // GL_ARB_fragment_shader_extension //================================== -extern NEL_PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; -extern NEL_PFNGLBINDPROGRAMARBPROC nglBindProgramARB; -extern NEL_PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; -extern NEL_PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; -extern NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; -extern NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; -extern NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; -extern NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; -extern NEL_PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; -extern NEL_PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; -extern NEL_PFNGLISPROGRAMARBPROC nglIsProgramARB; +extern PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; +extern PFNGLBINDPROGRAMARBPROC nglBindProgramARB; +extern PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; +extern PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; +extern PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; +extern PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; +extern PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; +extern PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; +extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; +extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; +extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; +extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; +extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; +extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; +extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; +extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; +extern PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; +extern PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; +extern PFNGLISPROGRAMARBPROC nglIsProgramARB; // GL_ARB_vertex_buffer_object //================================== @@ -708,13 +705,13 @@ extern PFNGLISPROGRAMARBPROC nglIsProgramARB; // GL_NV_occlusion_query //================================== -extern NEL_PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; -extern NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; -extern NEL_PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; -extern NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; -extern NEL_PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; -extern NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; -extern NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; +extern PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; +extern PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; +extern PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; +extern PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; +extern PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; +extern PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; +extern PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; @@ -743,46 +740,60 @@ extern PFNWGLGETSWAPINTERVALEXTPROC nwglGetSwapIntervalEXT; // WGL_ARB_extensions_string -extern PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB; +extern PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB; + + +// WGL_AMD_gpu_association +//======================== +extern PFNWGLGETGPUIDSAMDPROC nwglGetGPUIDsAMD; +extern PFNWGLGETGPUINFOAMDPROC nwglGetGPUInfoAMD; +extern PFNWGLGETCONTEXTGPUIDAMDPROC nwglGetContextGPUIDAMD; +extern PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC nwglCreateAssociatedContextAMD; +extern PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC nwglCreateAssociatedContextAttribsAMD; +extern PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC nwglDeleteAssociatedContextAMD; +extern PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC nwglMakeAssociatedContextCurrentAMD; +extern PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC nwglGetCurrentAssociatedContextAMD; +extern PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC nwglBlitContextFramebufferAMD; + #elif defined(NL_OS_MAC) #elif defined(NL_OS_UNIX) // Swap control extensions //=========================== -extern NEL_PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; +extern PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; -extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI; +extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI; -extern NEL_PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; -extern NEL_PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; +extern PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; +extern PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; #endif // GL_EXT_framebuffer_object -extern NEL_PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; -extern NEL_PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; -extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; -extern NEL_PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; -extern NEL_PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; -extern NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; -extern NEL_PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; -extern NEL_PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; -extern NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; -extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; -extern NEL_PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; -extern NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; -extern NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; -extern NEL_PFNGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; +extern PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; +extern PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; +extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; +extern PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; +extern PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; +extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; +extern PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; +extern PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; +extern PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; +extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; +extern PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; +extern PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; +extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; +extern PFNGLGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; // GL_EXT_framebuffer_blit -extern NEL_PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; +extern PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; // GL_EXT_framebuffer_multisample -extern NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; +extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; // GL_ARB_multisample -extern NEL_PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; +extern PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; #endif // USE_OPENGLES diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h index a11d0cd1c..03d071424 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h @@ -94,337 +94,11 @@ typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pnam // *************************************************************************** // *************************************************************************** -#define WGL_COVERAGE_SAMPLES_NV 0x2042 -#define WGL_COLOR_SAMPLES_NV 0x20B9 - -// ARB_multitexture -//================= -typedef void (APIENTRY * NEL_PFNGLACTIVETEXTUREARBPROC) (GLenum texture); -typedef void (APIENTRY * NEL_PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); - - -// ARB_TextureCompression. -//======================== -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img); - - -// VertexArrayRangeNV. -//==================== -typedef void (APIENTRY * NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void); -typedef void (APIENTRY * NEL_PFNGLVERTEXARRAYRANGENVPROC) (GLsizei size, const GLvoid *pointer); - - -// FenceNV. -//==================== -typedef void (APIENTRY * NEL_PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); -typedef void (APIENTRY * NEL_PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); -typedef GLboolean (APIENTRY * NEL_PFNGLISFENCENVPROC) (GLuint fence); -typedef GLboolean (APIENTRY * NEL_PFNGLTESTFENCENVPROC) (GLuint fence); -typedef void (APIENTRY * NEL_PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLFINISHFENCENVPROC) (GLuint fence); -typedef void (APIENTRY * NEL_PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); - - -// VertexWeighting. -//================== -typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); -typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight); -typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer); - - -// VertexProgramExtension. -//======================== -typedef GLboolean (APIENTRY * NEL_PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences); -typedef void (APIENTRY * NEL_PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); -typedef void (APIENTRY * NEL_PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs); -typedef void (APIENTRY * NEL_PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program); -typedef void (APIENTRY * NEL_PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer); -typedef GLboolean (APIENTRY * NEL_PFNGLISPROGRAMNVPROC) (GLuint id); -typedef void (APIENTRY * NEL_PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs); -typedef void (APIENTRY * NEL_PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v); - -// VertexShaderExtension (EXT) -//============================ -typedef void (APIENTRY * NEL_PFNGLBEGINVERTEXSHADEREXTPROC) ( void ); -typedef void (APIENTRY * NEL_PFNGLENDVERTEXSHADEREXTPROC) ( void ); -typedef void (APIENTRY * NEL_PFNGLBINDVERTEXSHADEREXTPROC) ( GLuint id ); -typedef GLuint (APIENTRY * NEL_PFNGLGENVERTEXSHADERSEXTPROC) ( GLuint range ); -typedef void (APIENTRY * NEL_PFNGLDELETEVERTEXSHADEREXTPROC) ( GLuint id ); -typedef void (APIENTRY * NEL_PFNGLSHADEROP1EXTPROC) ( GLenum op, GLuint res, GLuint arg1 ); -typedef void (APIENTRY * NEL_PFNGLSHADEROP2EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2 ); -typedef void (APIENTRY * NEL_PFNGLSHADEROP3EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3 ); -typedef void (APIENTRY * NEL_PFNGLSWIZZLEEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ); -typedef void (APIENTRY * NEL_PFNGLWRITEMASKEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ); -typedef void (APIENTRY * NEL_PFNGLINSERTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num ); -typedef void (APIENTRY * NEL_PFNGLEXTRACTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num ); -typedef GLuint (APIENTRY * NEL_PFNGLGENSYMBOLSEXTPROC) ( GLenum datatype, GLenum storagetype, GLenum range, GLuint components ) ; -typedef void (APIENTRY * NEL_PFNGLSETINVARIANTEXTPROC) ( GLuint id, GLenum type, void *addr ); -typedef void (APIENTRY * NEL_PFNGLSETLOCALCONSTANTEXTPROC) ( GLuint id, GLenum type, void *addr ); -typedef void (APIENTRY * NEL_PFNGLVARIANTPOINTEREXTPROC) ( GLuint id, GLenum type, GLuint stride, void *addr ); -typedef void (APIENTRY * NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id); -typedef void (APIENTRY * NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id); -typedef GLuint (APIENTRY * NEL_PFNGLBINDLIGHTPARAMETEREXTPROC) ( GLenum light, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDMATERIALPARAMETEREXTPROC) ( GLenum face, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDTEXGENPARAMETEREXTPROC) ( GLenum unit, GLenum coord, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) ( GLenum unit, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDPARAMETEREXTPROC) ( GLenum value); -typedef GLboolean (APIENTRY * NEL_PFNGLISVARIANTENABLEDEXTPROC) ( GLuint id, GLenum cap); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTPOINTERVEXTPROC) ( GLuint id, GLenum value, void **data); -typedef void (APIENTRY * NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data); -typedef void (APIENTRY * NEL_PFNGLGETINVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data); -typedef void (APIENTRY * NEL_PFNGLGETINVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data); -typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data); -typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data); -typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data); - - -// SecondaryColor extension -//======================== -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); - - -// BlendColor extension -//======================== -typedef void (APIENTRY * NEL_PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - - -// GL_ATI_vertex_array_object extension -//======================== -typedef GLuint (APIENTRY * NEL_PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage); -typedef GLboolean (APIENTRY * NEL_PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); -typedef void (APIENTRY * NEL_PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve); -typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLDELETEOBJECTBUFFERATIPROC) (GLuint buffer); -typedef void (APIENTRY * NEL_PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); -typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params); - - -// GL_ATI_fragment_shader extension -//================================== -typedef GLuint (APIENTRY *NEL_PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range); -typedef GLvoid (APIENTRY *NEL_PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id); -typedef GLvoid (APIENTRY *NEL_PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id); -typedef GLvoid (APIENTRY *NEL_PFNGLBEGINFRAGMENTSHADERATIPROC)(); -typedef GLvoid (APIENTRY *NEL_PFNGLENDFRAGMENTSHADERATIPROC)(); -typedef GLvoid (APIENTRY *NEL_PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle); -typedef GLvoid (APIENTRY *NEL_PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle); -typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, - GLuint dstMod, GLuint arg1, GLuint arg1Rep, - GLuint arg1Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, - GLuint dstMod, GLuint arg1, GLuint arg1Rep, - GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, - GLuint arg2Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, - GLuint dstMod, GLuint arg1, GLuint arg1Rep, - GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, - GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, - GLuint arg3Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, - GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, - GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, - GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, - GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, - GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, - GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value); - - - -// GL_ATI_map_object_buffer -//================================== -typedef void *(APIENTRY * NEL_PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer); -typedef void (APIENTRY * NEL_PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer); - - -// GL_ATI_vertex_attrib_array_object -//================================== - -typedef GLvoid (APIENTRY * NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); -typedef GLvoid (APIENTRY * NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint index, GLenum pname, GLfloat *params); -typedef GLvoid (APIENTRY * NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint index, GLenum pname, GLint *params); - - - - -// GL_ARB_fragment_program -//================================== -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len,const GLvoid *string); -typedef GLvoid (APIENTRY *NEL_PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program); -typedef GLvoid (APIENTRY *NEL_PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint *programs); -typedef GLvoid (APIENTRY *NEL_PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint *programs); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, int *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, GLvoid *string); -typedef GLboolean (APIENTRY *NEL_PFNGLISPROGRAMARBPROC)(GLuint program); - - -typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); -typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); -typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum pname); -typedef GLvoid (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers); -typedef GLvoid (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); -typedef GLvoid (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef GLvoid (APIENTRY * NEL_PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers); -typedef GLvoid (APIENTRY * NEL_PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); -typedef GLvoid (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -typedef GLvoid (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -typedef GLvoid (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers); -typedef GLvoid (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers); -typedef GLvoid (APIENTRY * NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); -typedef GLvoid (APIENTRY * NEL_PFNGENERATEMIPMAPEXTPROC) (GLenum target); - -typedef GLvoid (APIENTRY * NEL_PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - -typedef GLvoid (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - -#ifndef NL_GL_NV_occlusion_query -#define NL_GL_NV_occlusion_query 1 - -typedef GLvoid (APIENTRY * NEL_PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids); -typedef GLvoid (APIENTRY * NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids); -typedef GLboolean (APIENTRY * NEL_PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); -typedef GLvoid (APIENTRY * NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); -typedef GLvoid (APIENTRY * NEL_PFNGLENDOCCLUSIONQUERYNVPROC) (); -typedef GLvoid (APIENTRY * NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params); -typedef GLvoid (APIENTRY * NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params); - -#endif /* GL_NV_occlusion_query */ - -#ifndef NL_GL_ARB_multisample -#define NL_GL_ARB_multisample 1 -typedef GLvoid (APIENTRY * NEL_PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert); -#endif +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B #if defined(NL_OS_MAC) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp index 60109cfb6..79c55ea16 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp @@ -551,7 +551,7 @@ void CVertexArrayRangeATI::free() _HeapMemory.reset(); // Free special memory. - nglDeleteObjectBufferATI(_VertexObjectId); + nglFreeObjectBufferATI(_VertexObjectId); _Allocated= false; _VertexArraySize= 0; @@ -839,7 +839,7 @@ bool CVertexArrayRangeMapObjectATI::allocate(uint32 size, CVertexBuffer::TPrefer if (vertexObjectId) { // free the object - nglDeleteObjectBufferATI(vertexObjectId); + nglFreeObjectBufferATI(vertexObjectId); // _SizeAllocated = size; _VBType = vbType; @@ -924,7 +924,7 @@ CVertexBufferHardGLMapObjectATI::CVertexBufferHardGLMapObjectATI(CDriverGL *drv, CVertexBufferHardGLMapObjectATI::~CVertexBufferHardGLMapObjectATI() { H_AUTO_OGL(CVertexBufferHardGLMapObjectATI_CVertexBufferHardGLMapObjectATIDtor) - if (_VertexObjectId) nglDeleteObjectBufferATI(_VertexObjectId); + if (_VertexObjectId) nglFreeObjectBufferATI(_VertexObjectId); #ifdef NL_DEBUG if (_VertexPtr) { @@ -1114,7 +1114,7 @@ void CVertexArrayRangeMapObjectATI::updateLostBuffers() { nlassert((*it)->_VertexObjectId); nlassert(nglIsObjectBufferATI((*it)->_VertexObjectId)); - nglDeleteObjectBufferATI((*it)->_VertexObjectId); + nglFreeObjectBufferATI((*it)->_VertexObjectId); (*it)->_VertexObjectId = 0; (*it)->VB->setLocation(CVertexBuffer::NotResident); } From be1d98c4b91de0223af30348f41a54f8a957dfd6 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 28 Mar 2014 19:37:18 +0100 Subject: [PATCH 081/152] Added tag latest-default-graft for changeset 2e439cca8c37 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index e74d7ff4d..0f17d4816 100644 --- a/.hgtags +++ b/.hgtags @@ -3,3 +3,4 @@ a409552f83cb55a5c20f867fd7bcae1d0083d01a ryzomcore_0_8_0 0000000000000000000000000000000000000000 ryzomcore_0_8_0 0000000000000000000000000000000000000000 ryzomcore_0_8_0 4eddbaff0c5e5d685db96ee3e8427aa0fd96ac83 ryzomcore_0_8_0 +2e439cca8c3746df8ea64e1aab2d4d2ab9ca95d8 latest-default-graft From 927ff149981d150543659550d2d147aec11b7117 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:14:36 +0100 Subject: [PATCH 082/152] Changed: Use OpenGL functions prototypes from official headers Fixed: glDeleteObjectBufferATI replaced by glFreeObjectBufferATI since 2002 --- .../driver/opengl/driver_opengl_extension.cpp | 1121 +++++++++-------- .../driver/opengl/driver_opengl_extension.h | 573 ++++----- .../opengl/driver_opengl_extension_def.h | 336 +---- .../driver_opengl_vertex_buffer_hard.cpp | 8 +- 4 files changed, 862 insertions(+), 1176 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index 3b771e1c1..9ee14ea6b 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -68,254 +68,252 @@ void (*nglGetProcAddress(const char *procName))() #ifdef USE_OPENGLES // GL_OES_mapbuffer -NEL_PFNGLMAPBUFFEROESPROC nglMapBufferOES; -NEL_PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; -NEL_PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; +PFNGLMAPBUFFEROESPROC nglMapBufferOES; +PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; +PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; -NEL_PFNGLBUFFERSUBDATAPROC nglBufferSubData; - -PFNGLDRAWTEXFOESPROC nglDrawTexfOES; +PFNGLDRAWTEXFOESPROC nglDrawTexfOES; // GL_OES_framebuffer_object -NEL_PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; -NEL_PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; -NEL_PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; -NEL_PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; -NEL_PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; -NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; -NEL_PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; -NEL_PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; -NEL_PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; -NEL_PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; -NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; -NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; -NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; -NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; -NEL_PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; +PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; +PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; +PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; +PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; +PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; +PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; +PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; +PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; +PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; +PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; +PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; +PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; +PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; +PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; // GL_OES_texture_cube_map -NEL_PFNGLTEXGENFOESPROC nglTexGenfOES; -NEL_PFNGLTEXGENFVOESPROC nglTexGenfvOES; -NEL_PFNGLTEXGENIOESPROC nglTexGeniOES; -NEL_PFNGLTEXGENIVOESPROC nglTexGenivOES; -NEL_PFNGLTEXGENXOESPROC nglTexGenxOES; -NEL_PFNGLTEXGENXVOESPROC nglTexGenxvOES; -NEL_PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; -NEL_PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; -NEL_PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; +PFNGLTEXGENFOESPROC nglTexGenfOES; +PFNGLTEXGENFVOESPROC nglTexGenfvOES; +PFNGLTEXGENIOESPROC nglTexGeniOES; +PFNGLTEXGENIVOESPROC nglTexGenivOES; +PFNGLTEXGENXOESPROC nglTexGenxOES; +PFNGLTEXGENXVOESPROC nglTexGenxvOES; +PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; +PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; +PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; #else // ARB_multitexture -NEL_PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; -NEL_PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; +PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; +PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; -NEL_PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; -NEL_PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; -NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; -NEL_PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; -NEL_PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; -NEL_PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; -NEL_PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; -NEL_PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; -NEL_PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; -NEL_PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; -NEL_PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; -NEL_PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; -NEL_PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; -NEL_PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; -NEL_PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; -NEL_PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; +PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; +PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; +PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; +PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; +PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; +PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; +PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; +PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; +PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; +PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; +PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; +PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; +PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; +PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; +PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; +PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; -NEL_PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; -NEL_PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; -NEL_PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; -NEL_PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; -NEL_PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; -NEL_PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; -NEL_PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; -NEL_PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; -NEL_PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; -NEL_PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; -NEL_PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; -NEL_PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; -NEL_PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; -NEL_PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; -NEL_PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; -NEL_PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; +PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; +PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; +PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; +PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; +PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; +PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; +PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; +PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; +PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; +PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; +PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; +PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; +PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; +PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; +PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; +PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; // ARB_TextureCompression. -NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; -NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; -NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; -NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; -NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; -NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; -NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; +PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; +PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; +PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; +PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; +PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; // VertexArrayRangeNV. -NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; -NEL_PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; +PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; +PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; // FenceNV. -NEL_PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; -NEL_PFNGLGENFENCESNVPROC nglGenFencesNV; -NEL_PFNGLISFENCENVPROC nglIsFenceNV; -NEL_PFNGLTESTFENCENVPROC nglTestFenceNV; -NEL_PFNGLGETFENCEIVNVPROC nglGetFenceivNV; -NEL_PFNGLFINISHFENCENVPROC nglFinishFenceNV; -NEL_PFNGLSETFENCENVPROC nglSetFenceNV; +PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; +PFNGLGENFENCESNVPROC nglGenFencesNV; +PFNGLISFENCENVPROC nglIsFenceNV; +PFNGLTESTFENCENVPROC nglTestFenceNV; +PFNGLGETFENCEIVNVPROC nglGetFenceivNV; +PFNGLFINISHFENCENVPROC nglFinishFenceNV; +PFNGLSETFENCENVPROC nglSetFenceNV; // VertexWeighting. -NEL_PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; -NEL_PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; -NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; +PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; +PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; +PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; // VertexProgramExtension. -NEL_PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; -NEL_PFNGLBINDPROGRAMNVPROC nglBindProgramNV; -NEL_PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; -NEL_PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; -NEL_PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; -NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; -NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; -NEL_PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; -NEL_PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; -NEL_PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; -NEL_PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; -NEL_PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; -NEL_PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; -NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; -NEL_PFNGLISPROGRAMNVPROC nglIsProgramNV; -NEL_PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; -NEL_PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; -NEL_PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; -NEL_PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; -NEL_PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; -NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; -NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; -NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; -NEL_PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; -NEL_PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; -NEL_PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; -NEL_PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; -NEL_PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; -NEL_PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; -NEL_PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; -NEL_PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; -NEL_PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; -NEL_PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; -NEL_PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; -NEL_PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; -NEL_PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; -NEL_PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; -NEL_PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; -NEL_PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; -NEL_PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; -NEL_PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; -NEL_PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; -NEL_PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; -NEL_PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; -NEL_PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; -NEL_PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; -NEL_PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; -NEL_PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; -NEL_PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; -NEL_PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; -NEL_PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; -NEL_PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; -NEL_PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; -NEL_PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; -NEL_PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; -NEL_PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; -NEL_PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; -NEL_PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; -NEL_PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; -NEL_PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; -NEL_PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; -NEL_PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; -NEL_PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; +PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; +PFNGLBINDPROGRAMNVPROC nglBindProgramNV; +PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; +PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; +PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; +PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; +PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; +PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; +PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; +PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; +PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; +PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; +PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; +PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; +PFNGLISPROGRAMNVPROC nglIsProgramNV; +PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; +PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; +PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; +PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; +PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; +PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; +PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; +PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; +PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; +PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; +PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; +PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; +PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; +PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; +PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; +PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; +PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; +PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; +PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; +PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; +PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; +PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; +PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; +PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; +PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; +PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; +PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; +PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; +PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; +PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; +PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; +PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; +PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; +PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; +PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; +PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; +PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; +PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; +PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; +PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; +PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; +PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; +PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; +PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; +PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; +PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; +PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; +PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; // VertexShaderExt extension -NEL_PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; -NEL_PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; -NEL_PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; -NEL_PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; -NEL_PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; -NEL_PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; -NEL_PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; -NEL_PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; -NEL_PFNGLSWIZZLEEXTPROC nglSwizzleEXT; -NEL_PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; -NEL_PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; -NEL_PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; -NEL_PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; -NEL_PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; -NEL_PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; -NEL_PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; -NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; -NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; -NEL_PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; -NEL_PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; -NEL_PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; -NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; -NEL_PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; -NEL_PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; -NEL_PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; -NEL_PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; -NEL_PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; -NEL_PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; -NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; -NEL_PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; -NEL_PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; -NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; -NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; -NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; +PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; +PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; +PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; +PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; +PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; +PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; +PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; +PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; +PFNGLSWIZZLEEXTPROC nglSwizzleEXT; +PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; +PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; +PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; +PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; +PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; +PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; +PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; +PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; +PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; +PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; +PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; +PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; +PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; +PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; +PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; +PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; +PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; +PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; +PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; +PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; +PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; +PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; +PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; +PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; +PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; // SecondaryColor extension -NEL_PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; -NEL_PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; -NEL_PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; -NEL_PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; -NEL_PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; -NEL_PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; -NEL_PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; -NEL_PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; -NEL_PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; -NEL_PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; -NEL_PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; -NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; -NEL_PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; -NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; -NEL_PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; -NEL_PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; -NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; +PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; +PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; +PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; +PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; +PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; +PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; +PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; +PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; +PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; +PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; +PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; +PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; +PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; +PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; +PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; +PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; +PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; // BlendColor extension -NEL_PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; +PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; //======================== -NEL_PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; -NEL_PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; -NEL_PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; -NEL_PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; -NEL_PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; -NEL_PFNGLDELETEOBJECTBUFFERATIPROC nglDeleteObjectBufferATI; -NEL_PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; -NEL_PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; -NEL_PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; -NEL_PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; -NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; -NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; +PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; +PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; +PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; +PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; +PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; +PFNGLFREEOBJECTBUFFERATIPROC nglFreeObjectBufferATI; +PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; +PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; +PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; +PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; +PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; +PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; // GL_ATI_map_object_buffer -NEL_PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; -NEL_PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; +PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; +PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; // GL_ATI_vertex_attrib_array_object -NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; -NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; -NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; +PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; +PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; +PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; // GL_ATI_envmap_bumpmap extension PFNGLTEXBUMPPARAMETERIVATIPROC nglTexBumpParameterivATI; @@ -324,42 +322,42 @@ PFNGLGETTEXBUMPPARAMETERIVATIPROC nglGetTexBumpParameterivATI; PFNGLGETTEXBUMPPARAMETERFVATIPROC nglGetTexBumpParameterfvATI; // GL_ATI_fragment_shader extension -NEL_PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; -NEL_PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; -NEL_PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; -NEL_PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; -NEL_PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; -NEL_PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; -NEL_PFNGLSAMPLEMAPATIPROC nglSampleMapATI; -NEL_PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; -NEL_PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; -NEL_PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; -NEL_PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; -NEL_PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; -NEL_PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; -NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; +PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; +PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; +PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; +PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; +PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; +PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; +PFNGLSAMPLEMAPATIPROC nglSampleMapATI; +PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; +PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; +PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; +PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; +PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; +PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; +PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; // GL_ARB_fragment_program // the following functions are the sames than with GL_ARB_vertex_program -//NEL_PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; -//NEL_PFNGLBINDPROGRAMARBPROC nglBindProgramARB; -//NEL_PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; -//NEL_PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; -//NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; -//NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; -//NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; -//NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; -NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; -//NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; -//NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; -//NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; -//NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; -//NEL_PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; -//NEL_PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; -//NEL_PFNGLISPROGRAMARBPROC nglIsProgramARB; +//PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; +//PFNGLBINDPROGRAMARBPROC nglBindProgramARB; +//PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; +//PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; +//PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; +//PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; +//PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; +//PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; +PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; +PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; +PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; +PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; +//PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; +//PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; +//PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; +//PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; +//PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; +//PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; +//PFNGLISPROGRAMARBPROC nglIsProgramARB; // GL_ARB_vertex_buffer_object PFNGLBINDBUFFERARBPROC nglBindBufferARB; @@ -439,38 +437,38 @@ PFNGLGETVERTEXATTRIBPOINTERVARBPROC nglGetVertexAttribPointervARB; PFNGLISPROGRAMARBPROC nglIsProgramARB; // NV_occlusion_query -NEL_PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; -NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; -NEL_PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; -NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; -NEL_PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; -NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; -NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; +PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; +PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; +PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; +PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; +PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; +PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; +PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; // GL_EXT_framebuffer_object -NEL_PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; -NEL_PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; -NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; -NEL_PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; -NEL_PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; -NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; -NEL_PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; -NEL_PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; -NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; -NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; -NEL_PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; -NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; -NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; -NEL_PFNGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; +PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; +PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; +PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; +PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; +PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; +PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; +PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; +PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; +PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; +PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; +PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; +PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; +PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; +PFNGLGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; // GL_EXT_framebuffer_blit -NEL_PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; +PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; // GL_EXT_framebuffer_multisample -NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; // GL_ARB_multisample -NEL_PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; +PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; #ifdef NL_OS_WINDOWS PFNWGLALLOCATEMEMORYNVPROC nwglAllocateMemoryNV; @@ -495,19 +493,31 @@ PFNWGLGETSWAPINTERVALEXTPROC nwglGetSwapIntervalEXT; // WGL_ARB_extensions_string PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB; +// WGL_AMD_gpu_association +//======================== +PFNWGLGETGPUIDSAMDPROC nwglGetGPUIDsAMD; +PFNWGLGETGPUINFOAMDPROC nwglGetGPUInfoAMD; +PFNWGLGETCONTEXTGPUIDAMDPROC nwglGetContextGPUIDAMD; +PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC nwglCreateAssociatedContextAMD; +PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC nwglCreateAssociatedContextAttribsAMD; +PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC nwglDeleteAssociatedContextAMD; +PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC nwglMakeAssociatedContextCurrentAMD; +PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC nwglGetCurrentAssociatedContextAMD; +PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC nwglBlitContextFramebufferAMD; + #elif defined(NL_OS_MAC) #elif defined(NL_OS_UNIX) -NEL_PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; -NEL_PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; +PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; +PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; // Swap control extensions -NEL_PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; +PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI; -NEL_PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; -NEL_PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; +PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; +PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; #endif @@ -549,42 +559,42 @@ static bool setupARBMultiTexture(const char *glext) #ifndef USE_OPENGLES CHECK_EXT("GL_ARB_multitexture"); - CHECK_ADDRESS(NEL_PFNGLACTIVETEXTUREARBPROC, glActiveTextureARB); - CHECK_ADDRESS(NEL_PFNGLCLIENTACTIVETEXTUREARBPROC, glClientActiveTextureARB); + CHECK_ADDRESS(PFNGLACTIVETEXTUREARBPROC, glActiveTextureARB); + CHECK_ADDRESS(PFNGLCLIENTACTIVETEXTUREARBPROC, glClientActiveTextureARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1SARBPROC, glMultiTexCoord1sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1IARBPROC, glMultiTexCoord1iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1FARBPROC, glMultiTexCoord1fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1DARBPROC, glMultiTexCoord1dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2SARBPROC, glMultiTexCoord2sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2IARBPROC, glMultiTexCoord2iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2DARBPROC, glMultiTexCoord2dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3SARBPROC, glMultiTexCoord3sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3IARBPROC, glMultiTexCoord3iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3FARBPROC, glMultiTexCoord3fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3DARBPROC, glMultiTexCoord3dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4SARBPROC, glMultiTexCoord4sARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4IARBPROC, glMultiTexCoord4iARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4FARBPROC, glMultiTexCoord4fARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4DARBPROC, glMultiTexCoord4dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1SARBPROC, glMultiTexCoord1sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1IARBPROC, glMultiTexCoord1iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1FARBPROC, glMultiTexCoord1fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1DARBPROC, glMultiTexCoord1dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2SARBPROC, glMultiTexCoord2sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2IARBPROC, glMultiTexCoord2iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2FARBPROC, glMultiTexCoord2fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2DARBPROC, glMultiTexCoord2dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3SARBPROC, glMultiTexCoord3sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3IARBPROC, glMultiTexCoord3iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3FARBPROC, glMultiTexCoord3fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3DARBPROC, glMultiTexCoord3dARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4SARBPROC, glMultiTexCoord4sARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4IARBPROC, glMultiTexCoord4iARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4FARBPROC, glMultiTexCoord4fARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4DARBPROC, glMultiTexCoord4dARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1SVARBPROC, glMultiTexCoord1svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1IVARBPROC, glMultiTexCoord1ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1FVARBPROC, glMultiTexCoord1fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD1DVARBPROC, glMultiTexCoord1dvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2SVARBPROC, glMultiTexCoord2svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2IVARBPROC, glMultiTexCoord2ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2FVARBPROC, glMultiTexCoord2fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD2DVARBPROC, glMultiTexCoord2dvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3SVARBPROC, glMultiTexCoord3svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3IVARBPROC, glMultiTexCoord3ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3FVARBPROC, glMultiTexCoord3fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD3DVARBPROC, glMultiTexCoord3dvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4SVARBPROC, glMultiTexCoord4svARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4IVARBPROC, glMultiTexCoord4ivARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4FVARBPROC, glMultiTexCoord4fvARB); - CHECK_ADDRESS(NEL_PFNGLMULTITEXCOORD4DVARBPROC, glMultiTexCoord4dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1SVARBPROC, glMultiTexCoord1svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1IVARBPROC, glMultiTexCoord1ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1FVARBPROC, glMultiTexCoord1fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD1DVARBPROC, glMultiTexCoord1dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2SVARBPROC, glMultiTexCoord2svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2IVARBPROC, glMultiTexCoord2ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2FVARBPROC, glMultiTexCoord2fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD2DVARBPROC, glMultiTexCoord2dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3SVARBPROC, glMultiTexCoord3svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3IVARBPROC, glMultiTexCoord3ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3FVARBPROC, glMultiTexCoord3fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD3DVARBPROC, glMultiTexCoord3dvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4SVARBPROC, glMultiTexCoord4svARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4IVARBPROC, glMultiTexCoord4ivARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4FVARBPROC, glMultiTexCoord4fvARB); + CHECK_ADDRESS(PFNGLMULTITEXCOORD4DVARBPROC, glMultiTexCoord4dvARB); #endif return true; @@ -611,13 +621,13 @@ static bool setupARBTextureCompression(const char *glext) #ifndef USE_OPENGLES CHECK_EXT("GL_ARB_texture_compression"); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC, glCompressedTexImage3DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC, glCompressedTexImage2DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC, glCompressedTexImage1DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC, glCompressedTexSubImage3DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC, glCompressedTexSubImage2DARB); - CHECK_ADDRESS(NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC, glCompressedTexSubImage1DARB); - CHECK_ADDRESS(NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC, glGetCompressedTexImageARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXIMAGE3DARBPROC, glCompressedTexImage3DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXIMAGE2DARBPROC, glCompressedTexImage2DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXIMAGE1DARBPROC, glCompressedTexImage1DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC, glCompressedTexSubImage3DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC, glCompressedTexSubImage2DARB); + CHECK_ADDRESS(PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC, glCompressedTexSubImage1DARB); + CHECK_ADDRESS(PFNGLGETCOMPRESSEDTEXIMAGEARBPROC, glGetCompressedTexImageARB); #endif return true; @@ -643,9 +653,9 @@ static bool setupOESMapBuffer(const char *glext) CHECK_EXT("OES_mapbuffer"); #ifdef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLMAPBUFFEROESPROC, glMapBufferOES); - CHECK_ADDRESS(NEL_PFNGLUNMAPBUFFEROESPROC, glUnmapBufferOES); - CHECK_ADDRESS(NEL_PFNGLGETBUFFERPOINTERVOESPROC, glGetBufferPointervOES); + CHECK_ADDRESS(PFNGLMAPBUFFEROESPROC, glMapBufferOES); + CHECK_ADDRESS(PFNGLUNMAPBUFFEROESPROC, glUnmapBufferOES); + CHECK_ADDRESS(PFNGLGETBUFFERPOINTERVOESPROC, glGetBufferPointervOES); #endif return true; @@ -678,25 +688,25 @@ static bool setupNVVertexArrayRange(const char *glext) #ifndef USE_OPENGLES // Get VAR address. - CHECK_ADDRESS(NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC, glFlushVertexArrayRangeNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXARRAYRANGENVPROC, glVertexArrayRangeNV); + CHECK_ADDRESS(PFNGLFLUSHVERTEXARRAYRANGENVPROC, glFlushVertexArrayRangeNV); + CHECK_ADDRESS(PFNGLVERTEXARRAYRANGENVPROC, glVertexArrayRangeNV); #ifdef NL_OS_WINDOWS CHECK_ADDRESS(PFNWGLALLOCATEMEMORYNVPROC, wglAllocateMemoryNV); CHECK_ADDRESS(PFNWGLFREEMEMORYNVPROC, wglFreeMemoryNV); #elif defined(NL_OS_UNIX) && !defined(NL_OS_MAC) - CHECK_ADDRESS(NEL_PFNGLXALLOCATEMEMORYNVPROC, glXAllocateMemoryNV); - CHECK_ADDRESS(NEL_PFNGLXFREEMEMORYNVPROC, glXFreeMemoryNV); + CHECK_ADDRESS(PFNGLXALLOCATEMEMORYNVPROC, glXAllocateMemoryNV); + CHECK_ADDRESS(PFNGLXFREEMEMORYNVPROC, glXFreeMemoryNV); #endif // Get fence address. - CHECK_ADDRESS(NEL_PFNGLDELETEFENCESNVPROC, glDeleteFencesNV); - CHECK_ADDRESS(NEL_PFNGLGENFENCESNVPROC, glGenFencesNV); - CHECK_ADDRESS(NEL_PFNGLISFENCENVPROC, glIsFenceNV); - CHECK_ADDRESS(NEL_PFNGLTESTFENCENVPROC, glTestFenceNV); - CHECK_ADDRESS(NEL_PFNGLGETFENCEIVNVPROC, glGetFenceivNV); - CHECK_ADDRESS(NEL_PFNGLFINISHFENCENVPROC, glFinishFenceNV); - CHECK_ADDRESS(NEL_PFNGLSETFENCENVPROC, glSetFenceNV); + CHECK_ADDRESS(PFNGLDELETEFENCESNVPROC, glDeleteFencesNV); + CHECK_ADDRESS(PFNGLGENFENCESNVPROC, glGenFencesNV); + CHECK_ADDRESS(PFNGLISFENCENVPROC, glIsFenceNV); + CHECK_ADDRESS(PFNGLTESTFENCENVPROC, glTestFenceNV); + CHECK_ADDRESS(PFNGLGETFENCEIVNVPROC, glGetFenceivNV); + CHECK_ADDRESS(PFNGLFINISHFENCENVPROC, glFinishFenceNV); + CHECK_ADDRESS(PFNGLSETFENCENVPROC, glSetFenceNV); #endif return true; @@ -725,9 +735,9 @@ static bool setupEXTVertexWeighting(const char *glext) CHECK_EXT("GL_EXT_vertex_weighting"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLVERTEXWEIGHTFEXTPROC, glVertexWeightfEXT); - CHECK_ADDRESS(NEL_PFNGLVERTEXWEIGHTFVEXTPROC, glVertexWeightfvEXT); - CHECK_ADDRESS(NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC, glVertexWeightPointerEXT); + CHECK_ADDRESS(PFNGLVERTEXWEIGHTFEXTPROC, glVertexWeightfEXT); + CHECK_ADDRESS(PFNGLVERTEXWEIGHTFVEXTPROC, glVertexWeightfvEXT); + CHECK_ADDRESS(PFNGLVERTEXWEIGHTPOINTEREXTPROC, glVertexWeightPointerEXT); #endif return true; @@ -806,15 +816,15 @@ static bool setupARBTextureCubeMap(const char *glext) #ifdef USE_OPENGLES CHECK_EXT("OES_texture_cube_map"); - CHECK_ADDRESS(NEL_PFNGLTEXGENFOESPROC, glTexGenfOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENFVOESPROC, glTexGenfvOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENIOESPROC, glTexGeniOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENIVOESPROC, glTexGenivOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENXOESPROC, glTexGenxOES); - CHECK_ADDRESS(NEL_PFNGLTEXGENXVOESPROC, glTexGenxvOES); - CHECK_ADDRESS(NEL_PFNGLGETTEXGENFVOESPROC, glGetTexGenfvOES); - CHECK_ADDRESS(NEL_PFNGLGETTEXGENIVOESPROC, glGetTexGenivOES); - CHECK_ADDRESS(NEL_PFNGLGETTEXGENXVOESPROC, glGetTexGenxvOES); + CHECK_ADDRESS(PFNGLTEXGENFOESPROC, glTexGenfOES); + CHECK_ADDRESS(PFNGLTEXGENFVOESPROC, glTexGenfvOES); + CHECK_ADDRESS(PFNGLTEXGENIOESPROC, glTexGeniOES); + CHECK_ADDRESS(PFNGLTEXGENIVOESPROC, glTexGenivOES); + CHECK_ADDRESS(PFNGLTEXGENXOESPROC, glTexGenxOES); + CHECK_ADDRESS(PFNGLTEXGENXVOESPROC, glTexGenxvOES); + CHECK_ADDRESS(PFNGLGETTEXGENFVOESPROC, glGetTexGenfvOES); + CHECK_ADDRESS(PFNGLGETTEXGENIVOESPROC, glGetTexGenivOES); + CHECK_ADDRESS(PFNGLGETTEXGENXVOESPROC, glGetTexGenxvOES); #else CHECK_EXT("GL_ARB_texture_cube_map"); #endif @@ -838,69 +848,69 @@ static bool setupNVVertexProgram(const char *glext) CHECK_EXT("GL_NV_vertex_program"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLAREPROGRAMSRESIDENTNVPROC, glAreProgramsResidentNV); - CHECK_ADDRESS(NEL_PFNGLBINDPROGRAMNVPROC, glBindProgramNV); - CHECK_ADDRESS(NEL_PFNGLDELETEPROGRAMSNVPROC, glDeleteProgramsNV); - CHECK_ADDRESS(NEL_PFNGLEXECUTEPROGRAMNVPROC, glExecuteProgramNV); - CHECK_ADDRESS(NEL_PFNGLGENPROGRAMSNVPROC, glGenProgramsNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC, glGetProgramParameterdvNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC, glGetProgramParameterfvNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMIVNVPROC, glGetProgramivNV); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMSTRINGNVPROC, glGetProgramStringNV); - CHECK_ADDRESS(NEL_PFNGLGETTRACKMATRIXIVNVPROC, glGetTrackMatrixivNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBDVNVPROC, glGetVertexAttribdvNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBFVNVPROC, glGetVertexAttribfvNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBIVNVPROC, glGetVertexAttribivNV); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC, glGetVertexAttribPointervNV); - CHECK_ADDRESS(NEL_PFNGLISPROGRAMNVPROC, glIsProgramNV); - CHECK_ADDRESS(NEL_PFNGLLOADPROGRAMNVPROC, glLoadProgramNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4DNVPROC, glProgramParameter4dNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4DVNVPROC, glProgramParameter4dvNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4FNVPROC, glProgramParameter4fNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETER4FVNVPROC, glProgramParameter4fvNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC, glProgramParameters4dvNV); - CHECK_ADDRESS(NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC, glProgramParameters4fvNV); - CHECK_ADDRESS(NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC, glRequestResidentProgramsNV); - CHECK_ADDRESS(NEL_PFNGLTRACKMATRIXNVPROC, glTrackMatrixNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBPOINTERNVPROC, glVertexAttribPointerNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1DNVPROC, glVertexAttrib1dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1DVNVPROC, glVertexAttrib1dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1FNVPROC, glVertexAttrib1fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1FVNVPROC, glVertexAttrib1fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1SNVPROC, glVertexAttrib1sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB1SVNVPROC, glVertexAttrib1svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2DNVPROC, glVertexAttrib2dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2DVNVPROC, glVertexAttrib2dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2FNVPROC, glVertexAttrib2fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2FVNVPROC, glVertexAttrib2fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2SNVPROC, glVertexAttrib2sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB2SVNVPROC, glVertexAttrib2svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3DNVPROC, glVertexAttrib3dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3DVNVPROC, glVertexAttrib3dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3FNVPROC, glVertexAttrib3fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3FVNVPROC, glVertexAttrib3fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3SNVPROC, glVertexAttrib3sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB3SVNVPROC, glVertexAttrib3svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4DNVPROC, glVertexAttrib4dNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4DVNVPROC, glVertexAttrib4dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4FNVPROC, glVertexAttrib4fNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4FVNVPROC, glVertexAttrib4fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4SNVPROC, glVertexAttrib4sNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4SVNVPROC, glVertexAttrib4svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIB4UBVNVPROC, glVertexAttrib4ubvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS1DVNVPROC, glVertexAttribs1dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS1FVNVPROC, glVertexAttribs1fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS1SVNVPROC, glVertexAttribs1svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS2DVNVPROC, glVertexAttribs2dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS2FVNVPROC, glVertexAttribs2fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS2SVNVPROC, glVertexAttribs2svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS3DVNVPROC, glVertexAttribs3dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS3FVNVPROC, glVertexAttribs3fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS3SVNVPROC, glVertexAttribs3svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4DVNVPROC, glVertexAttribs4dvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4FVNVPROC, glVertexAttribs4fvNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4SVNVPROC, glVertexAttribs4svNV); - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBS4UBVNVPROC, glVertexAttribs4ubvNV); + CHECK_ADDRESS(PFNGLAREPROGRAMSRESIDENTNVPROC, glAreProgramsResidentNV); + CHECK_ADDRESS(PFNGLBINDPROGRAMNVPROC, glBindProgramNV); + CHECK_ADDRESS(PFNGLDELETEPROGRAMSNVPROC, glDeleteProgramsNV); + CHECK_ADDRESS(PFNGLEXECUTEPROGRAMNVPROC, glExecuteProgramNV); + CHECK_ADDRESS(PFNGLGENPROGRAMSNVPROC, glGenProgramsNV); + CHECK_ADDRESS(PFNGLGETPROGRAMPARAMETERDVNVPROC, glGetProgramParameterdvNV); + CHECK_ADDRESS(PFNGLGETPROGRAMPARAMETERFVNVPROC, glGetProgramParameterfvNV); + CHECK_ADDRESS(PFNGLGETPROGRAMIVNVPROC, glGetProgramivNV); + CHECK_ADDRESS(PFNGLGETPROGRAMSTRINGNVPROC, glGetProgramStringNV); + CHECK_ADDRESS(PFNGLGETTRACKMATRIXIVNVPROC, glGetTrackMatrixivNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBDVNVPROC, glGetVertexAttribdvNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBFVNVPROC, glGetVertexAttribfvNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBIVNVPROC, glGetVertexAttribivNV); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBPOINTERVNVPROC, glGetVertexAttribPointervNV); + CHECK_ADDRESS(PFNGLISPROGRAMNVPROC, glIsProgramNV); + CHECK_ADDRESS(PFNGLLOADPROGRAMNVPROC, glLoadProgramNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4DNVPROC, glProgramParameter4dNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4DVNVPROC, glProgramParameter4dvNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4FNVPROC, glProgramParameter4fNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETER4FVNVPROC, glProgramParameter4fvNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETERS4DVNVPROC, glProgramParameters4dvNV); + CHECK_ADDRESS(PFNGLPROGRAMPARAMETERS4FVNVPROC, glProgramParameters4fvNV); + CHECK_ADDRESS(PFNGLREQUESTRESIDENTPROGRAMSNVPROC, glRequestResidentProgramsNV); + CHECK_ADDRESS(PFNGLTRACKMATRIXNVPROC, glTrackMatrixNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBPOINTERNVPROC, glVertexAttribPointerNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1DNVPROC, glVertexAttrib1dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1DVNVPROC, glVertexAttrib1dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1FNVPROC, glVertexAttrib1fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1FVNVPROC, glVertexAttrib1fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1SNVPROC, glVertexAttrib1sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB1SVNVPROC, glVertexAttrib1svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2DNVPROC, glVertexAttrib2dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2DVNVPROC, glVertexAttrib2dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2FNVPROC, glVertexAttrib2fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2FVNVPROC, glVertexAttrib2fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2SNVPROC, glVertexAttrib2sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB2SVNVPROC, glVertexAttrib2svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3DNVPROC, glVertexAttrib3dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3DVNVPROC, glVertexAttrib3dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3FNVPROC, glVertexAttrib3fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3FVNVPROC, glVertexAttrib3fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3SNVPROC, glVertexAttrib3sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB3SVNVPROC, glVertexAttrib3svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4DNVPROC, glVertexAttrib4dNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4DVNVPROC, glVertexAttrib4dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4FNVPROC, glVertexAttrib4fNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4FVNVPROC, glVertexAttrib4fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4SNVPROC, glVertexAttrib4sNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4SVNVPROC, glVertexAttrib4svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIB4UBVNVPROC, glVertexAttrib4ubvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS1DVNVPROC, glVertexAttribs1dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS1FVNVPROC, glVertexAttribs1fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS1SVNVPROC, glVertexAttribs1svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS2DVNVPROC, glVertexAttribs2dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS2FVNVPROC, glVertexAttribs2fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS2SVNVPROC, glVertexAttribs2svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS3DVNVPROC, glVertexAttribs3dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS3FVNVPROC, glVertexAttribs3fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS3SVNVPROC, glVertexAttribs3svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4DVNVPROC, glVertexAttribs4dvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4FVNVPROC, glVertexAttribs4fvNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4SVNVPROC, glVertexAttribs4svNV); + CHECK_ADDRESS(PFNGLVERTEXATTRIBS4UBVNVPROC, glVertexAttribs4ubvNV); #endif return true; @@ -913,40 +923,40 @@ static bool setupEXTVertexShader(const char *glext) CHECK_EXT("GL_EXT_vertex_shader"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLBEGINVERTEXSHADEREXTPROC, glBeginVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLENDVERTEXSHADEREXTPROC, glEndVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLBINDVERTEXSHADEREXTPROC, glBindVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLGENVERTEXSHADERSEXTPROC, glGenVertexShadersEXT); - CHECK_ADDRESS(NEL_PFNGLDELETEVERTEXSHADEREXTPROC, glDeleteVertexShaderEXT); - CHECK_ADDRESS(NEL_PFNGLSHADEROP1EXTPROC, glShaderOp1EXT); - CHECK_ADDRESS(NEL_PFNGLSHADEROP2EXTPROC, glShaderOp2EXT); - CHECK_ADDRESS(NEL_PFNGLSHADEROP3EXTPROC, glShaderOp3EXT); - CHECK_ADDRESS(NEL_PFNGLSWIZZLEEXTPROC, glSwizzleEXT); - CHECK_ADDRESS(NEL_PFNGLWRITEMASKEXTPROC, glWriteMaskEXT); - CHECK_ADDRESS(NEL_PFNGLINSERTCOMPONENTEXTPROC, glInsertComponentEXT); - CHECK_ADDRESS(NEL_PFNGLEXTRACTCOMPONENTEXTPROC, glExtractComponentEXT); - CHECK_ADDRESS(NEL_PFNGLGENSYMBOLSEXTPROC, glGenSymbolsEXT); - CHECK_ADDRESS(NEL_PFNGLSETINVARIANTEXTPROC, glSetInvariantEXT); - CHECK_ADDRESS(NEL_PFNGLSETLOCALCONSTANTEXTPROC, glSetLocalConstantEXT); - CHECK_ADDRESS(NEL_PFNGLVARIANTPOINTEREXTPROC, glVariantPointerEXT); - CHECK_ADDRESS(NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC, glEnableVariantClientStateEXT); - CHECK_ADDRESS(NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC, glDisableVariantClientStateEXT); - CHECK_ADDRESS(NEL_PFNGLBINDLIGHTPARAMETEREXTPROC, glBindLightParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDMATERIALPARAMETEREXTPROC, glBindMaterialParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDTEXGENPARAMETEREXTPROC, glBindTexGenParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC, glBindTextureUnitParameterEXT); - CHECK_ADDRESS(NEL_PFNGLBINDPARAMETEREXTPROC, glBindParameterEXT); - CHECK_ADDRESS(NEL_PFNGLISVARIANTENABLEDEXTPROC, glIsVariantEnabledEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTBOOLEANVEXTPROC, glGetVariantBooleanvEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTINTEGERVEXTPROC, glGetVariantIntegervEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTFLOATVEXTPROC, glGetVariantFloatvEXT); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTPOINTERVEXTPROC, glGetVariantPointervEXT); - CHECK_ADDRESS(NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC, glGetInvariantBooleanvEXT); - CHECK_ADDRESS(NEL_PFNGLGETINVARIANTINTEGERVEXTPROC, glGetInvariantIntegervEXT); - CHECK_ADDRESS(NEL_PFNGLGETINVARIANTFLOATVEXTPROC, glGetInvariantFloatvEXT); - CHECK_ADDRESS(NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC, glGetLocalConstantBooleanvEXT); - CHECK_ADDRESS(NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC, glGetLocalConstantIntegervEXT); - CHECK_ADDRESS(NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC, glGetLocalConstantFloatvEXT); + CHECK_ADDRESS(PFNGLBEGINVERTEXSHADEREXTPROC, glBeginVertexShaderEXT); + CHECK_ADDRESS(PFNGLENDVERTEXSHADEREXTPROC, glEndVertexShaderEXT); + CHECK_ADDRESS(PFNGLBINDVERTEXSHADEREXTPROC, glBindVertexShaderEXT); + CHECK_ADDRESS(PFNGLGENVERTEXSHADERSEXTPROC, glGenVertexShadersEXT); + CHECK_ADDRESS(PFNGLDELETEVERTEXSHADEREXTPROC, glDeleteVertexShaderEXT); + CHECK_ADDRESS(PFNGLSHADEROP1EXTPROC, glShaderOp1EXT); + CHECK_ADDRESS(PFNGLSHADEROP2EXTPROC, glShaderOp2EXT); + CHECK_ADDRESS(PFNGLSHADEROP3EXTPROC, glShaderOp3EXT); + CHECK_ADDRESS(PFNGLSWIZZLEEXTPROC, glSwizzleEXT); + CHECK_ADDRESS(PFNGLWRITEMASKEXTPROC, glWriteMaskEXT); + CHECK_ADDRESS(PFNGLINSERTCOMPONENTEXTPROC, glInsertComponentEXT); + CHECK_ADDRESS(PFNGLEXTRACTCOMPONENTEXTPROC, glExtractComponentEXT); + CHECK_ADDRESS(PFNGLGENSYMBOLSEXTPROC, glGenSymbolsEXT); + CHECK_ADDRESS(PFNGLSETINVARIANTEXTPROC, glSetInvariantEXT); + CHECK_ADDRESS(PFNGLSETLOCALCONSTANTEXTPROC, glSetLocalConstantEXT); + CHECK_ADDRESS(PFNGLVARIANTPOINTEREXTPROC, glVariantPointerEXT); + CHECK_ADDRESS(PFNGLENABLEVARIANTCLIENTSTATEEXTPROC, glEnableVariantClientStateEXT); + CHECK_ADDRESS(PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC, glDisableVariantClientStateEXT); + CHECK_ADDRESS(PFNGLBINDLIGHTPARAMETEREXTPROC, glBindLightParameterEXT); + CHECK_ADDRESS(PFNGLBINDMATERIALPARAMETEREXTPROC, glBindMaterialParameterEXT); + CHECK_ADDRESS(PFNGLBINDTEXGENPARAMETEREXTPROC, glBindTexGenParameterEXT); + CHECK_ADDRESS(PFNGLBINDTEXTUREUNITPARAMETEREXTPROC, glBindTextureUnitParameterEXT); + CHECK_ADDRESS(PFNGLBINDPARAMETEREXTPROC, glBindParameterEXT); + CHECK_ADDRESS(PFNGLISVARIANTENABLEDEXTPROC, glIsVariantEnabledEXT); + CHECK_ADDRESS(PFNGLGETVARIANTBOOLEANVEXTPROC, glGetVariantBooleanvEXT); + CHECK_ADDRESS(PFNGLGETVARIANTINTEGERVEXTPROC, glGetVariantIntegervEXT); + CHECK_ADDRESS(PFNGLGETVARIANTFLOATVEXTPROC, glGetVariantFloatvEXT); + CHECK_ADDRESS(PFNGLGETVARIANTPOINTERVEXTPROC, glGetVariantPointervEXT); + CHECK_ADDRESS(PFNGLGETINVARIANTBOOLEANVEXTPROC, glGetInvariantBooleanvEXT); + CHECK_ADDRESS(PFNGLGETINVARIANTINTEGERVEXTPROC, glGetInvariantIntegervEXT); + CHECK_ADDRESS(PFNGLGETINVARIANTFLOATVEXTPROC, glGetInvariantFloatvEXT); + CHECK_ADDRESS(PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC, glGetLocalConstantBooleanvEXT); + CHECK_ADDRESS(PFNGLGETLOCALCONSTANTINTEGERVEXTPROC, glGetLocalConstantIntegervEXT); + CHECK_ADDRESS(PFNGLGETLOCALCONSTANTFLOATVEXTPROC, glGetLocalConstantFloatvEXT); // we require at least 128 instructions, 15 local register (r0, r1,..,r11) + 3 temporary vector for swizzle emulation + 1 vector for indexing temp + 3 temporary scalar for LOGG, EXPP and LIT emulation, 1 address register // we require 11 variants (4 textures + position + normal + primary color + secondary color + weight + palette skin + fog) @@ -989,23 +999,23 @@ static bool setupEXTSecondaryColor(const char *glext) CHECK_EXT("GL_EXT_secondary_color"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3BEXTPROC, glSecondaryColor3bEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3BVEXTPROC, glSecondaryColor3bvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3DEXTPROC, glSecondaryColor3dEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3DVEXTPROC, glSecondaryColor3dvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3FEXTPROC, glSecondaryColor3fEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3FVEXTPROC, glSecondaryColor3fvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3IEXTPROC, glSecondaryColor3iEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3IVEXTPROC, glSecondaryColor3ivEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3SEXTPROC, glSecondaryColor3sEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3SVEXTPROC, glSecondaryColor3svEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UBEXTPROC, glSecondaryColor3ubEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC, glSecondaryColor3ubvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UIEXTPROC, glSecondaryColor3uiEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC, glSecondaryColor3uivEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3USEXTPROC, glSecondaryColor3usEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLOR3USVEXTPROC, glSecondaryColor3usvEXT); - CHECK_ADDRESS(NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC, glSecondaryColorPointerEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3BEXTPROC, glSecondaryColor3bEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3BVEXTPROC, glSecondaryColor3bvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3DEXTPROC, glSecondaryColor3dEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3DVEXTPROC, glSecondaryColor3dvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3FEXTPROC, glSecondaryColor3fEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3FVEXTPROC, glSecondaryColor3fvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3IEXTPROC, glSecondaryColor3iEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3IVEXTPROC, glSecondaryColor3ivEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3SEXTPROC, glSecondaryColor3sEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3SVEXTPROC, glSecondaryColor3svEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UBEXTPROC, glSecondaryColor3ubEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UBVEXTPROC, glSecondaryColor3ubvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UIEXTPROC, glSecondaryColor3uiEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3UIVEXTPROC, glSecondaryColor3uivEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3USEXTPROC, glSecondaryColor3usEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLOR3USVEXTPROC, glSecondaryColor3usvEXT); + CHECK_ADDRESS(PFNGLSECONDARYCOLORPOINTEREXTPROC, glSecondaryColorPointerEXT); #endif return true; @@ -1037,7 +1047,7 @@ static bool setupARBMultisample(const char *glext) CHECK_EXT("GL_ARB_multisample"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLSAMPLECOVERAGEARBPROC, glSampleCoverageARB); + CHECK_ADDRESS(PFNGLSAMPLECOVERAGEARBPROC, glSampleCoverageARB); #endif return true; @@ -1084,7 +1094,7 @@ static bool setupEXTBlendColor(const char *glext) CHECK_EXT("GL_EXT_blend_color"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLBLENDCOLOREXTPROC, glBlendColorEXT); + CHECK_ADDRESS(PFNGLBLENDCOLOREXTPROC, glBlendColorEXT); #endif return true; @@ -1106,31 +1116,22 @@ static bool setupATIVertexArrayObject(const char *glext) CHECK_EXT("GL_ATI_vertex_array_object"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLNEWOBJECTBUFFERATIPROC, glNewObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLISOBJECTBUFFERATIPROC, glIsObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLUPDATEOBJECTBUFFERATIPROC, glUpdateObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLGETOBJECTBUFFERFVATIPROC, glGetObjectBufferfvATI); - CHECK_ADDRESS(NEL_PFNGLGETOBJECTBUFFERIVATIPROC, glGetObjectBufferivATI); - - nglDeleteObjectBufferATI = (NEL_PFNGLDELETEOBJECTBUFFERATIPROC)nglGetProcAddress("nglDeleteObjectBufferATI"); - - if(!nglDeleteObjectBufferATI) - { - // seems that on matrox parhelia driver, this procedure is named nglFreeObjectBufferATI !! - nglDeleteObjectBufferATI = (NEL_PFNGLDELETEOBJECTBUFFERATIPROC)nglGetProcAddress("nglFreeObjectBufferATI"); - if(!nglDeleteObjectBufferATI) return false; - } - - CHECK_ADDRESS(NEL_PFNGLARRAYOBJECTATIPROC, glArrayObjectATI); - CHECK_ADDRESS(NEL_PFNGLGETARRAYOBJECTFVATIPROC, glGetArrayObjectfvATI); - CHECK_ADDRESS(NEL_PFNGLGETARRAYOBJECTIVATIPROC, glGetArrayObjectivATI); + CHECK_ADDRESS(PFNGLNEWOBJECTBUFFERATIPROC, glNewObjectBufferATI); + CHECK_ADDRESS(PFNGLISOBJECTBUFFERATIPROC, glIsObjectBufferATI); + CHECK_ADDRESS(PFNGLUPDATEOBJECTBUFFERATIPROC, glUpdateObjectBufferATI); + CHECK_ADDRESS(PFNGLGETOBJECTBUFFERFVATIPROC, glGetObjectBufferfvATI); + CHECK_ADDRESS(PFNGLGETOBJECTBUFFERIVATIPROC, glGetObjectBufferivATI); + CHECK_ADDRESS(PFNGLFREEOBJECTBUFFERATIPROC, glFreeObjectBufferATI); + CHECK_ADDRESS(PFNGLARRAYOBJECTATIPROC, glArrayObjectATI); + CHECK_ADDRESS(PFNGLGETARRAYOBJECTFVATIPROC, glGetArrayObjectfvATI); + CHECK_ADDRESS(PFNGLGETARRAYOBJECTIVATIPROC, glGetArrayObjectivATI); if(strstr(glext, "GL_EXT_vertex_shader") != NULL) { // the following exist only if ext vertex shader is present - CHECK_ADDRESS(NEL_PFNGLVARIANTARRAYOBJECTATIPROC, glVariantArrayObjectATI); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC, glGetVariantArrayObjectfvATI); - CHECK_ADDRESS(NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC, glGetVariantArrayObjectivATI); + CHECK_ADDRESS(PFNGLVARIANTARRAYOBJECTATIPROC, glVariantArrayObjectATI); + CHECK_ADDRESS(PFNGLGETVARIANTARRAYOBJECTFVATIPROC, glGetVariantArrayObjectfvATI); + CHECK_ADDRESS(PFNGLGETVARIANTARRAYOBJECTIVATIPROC, glGetVariantArrayObjectivATI); } #endif @@ -1144,8 +1145,8 @@ static bool setupATIMapObjectBuffer(const char *glext) CHECK_EXT("GL_ATI_map_object_buffer"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLMAPOBJECTBUFFERATIPROC, glMapObjectBufferATI); - CHECK_ADDRESS(NEL_PFNGLUNMAPOBJECTBUFFERATIPROC, glUnmapObjectBufferATI); + CHECK_ADDRESS(PFNGLMAPOBJECTBUFFERATIPROC, glMapObjectBufferATI); + CHECK_ADDRESS(PFNGLUNMAPOBJECTBUFFERATIPROC, glUnmapObjectBufferATI); #endif return true; @@ -1160,20 +1161,20 @@ static bool setupATIFragmentShader(const char *glext) CHECK_EXT("GL_ATI_fragment_shader"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLGENFRAGMENTSHADERSATIPROC, glGenFragmentShadersATI); - CHECK_ADDRESS(NEL_PFNGLBINDFRAGMENTSHADERATIPROC, glBindFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLDELETEFRAGMENTSHADERATIPROC, glDeleteFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLBEGINFRAGMENTSHADERATIPROC, glBeginFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLENDFRAGMENTSHADERATIPROC, glEndFragmentShaderATI); - CHECK_ADDRESS(NEL_PFNGLPASSTEXCOORDATIPROC, glPassTexCoordATI); - CHECK_ADDRESS(NEL_PFNGLSAMPLEMAPATIPROC, glSampleMapATI); - CHECK_ADDRESS(NEL_PFNGLCOLORFRAGMENTOP1ATIPROC, glColorFragmentOp1ATI); - CHECK_ADDRESS(NEL_PFNGLCOLORFRAGMENTOP2ATIPROC, glColorFragmentOp2ATI); - CHECK_ADDRESS(NEL_PFNGLCOLORFRAGMENTOP3ATIPROC, glColorFragmentOp3ATI); - CHECK_ADDRESS(NEL_PFNGLALPHAFRAGMENTOP1ATIPROC, glAlphaFragmentOp1ATI); - CHECK_ADDRESS(NEL_PFNGLALPHAFRAGMENTOP2ATIPROC, glAlphaFragmentOp2ATI); - CHECK_ADDRESS(NEL_PFNGLALPHAFRAGMENTOP3ATIPROC, glAlphaFragmentOp3ATI); - CHECK_ADDRESS(NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC, glSetFragmentShaderConstantATI); + CHECK_ADDRESS(PFNGLGENFRAGMENTSHADERSATIPROC, glGenFragmentShadersATI); + CHECK_ADDRESS(PFNGLBINDFRAGMENTSHADERATIPROC, glBindFragmentShaderATI); + CHECK_ADDRESS(PFNGLDELETEFRAGMENTSHADERATIPROC, glDeleteFragmentShaderATI); + CHECK_ADDRESS(PFNGLBEGINFRAGMENTSHADERATIPROC, glBeginFragmentShaderATI); + CHECK_ADDRESS(PFNGLENDFRAGMENTSHADERATIPROC, glEndFragmentShaderATI); + CHECK_ADDRESS(PFNGLPASSTEXCOORDATIPROC, glPassTexCoordATI); + CHECK_ADDRESS(PFNGLSAMPLEMAPATIPROC, glSampleMapATI); + CHECK_ADDRESS(PFNGLCOLORFRAGMENTOP1ATIPROC, glColorFragmentOp1ATI); + CHECK_ADDRESS(PFNGLCOLORFRAGMENTOP2ATIPROC, glColorFragmentOp2ATI); + CHECK_ADDRESS(PFNGLCOLORFRAGMENTOP3ATIPROC, glColorFragmentOp3ATI); + CHECK_ADDRESS(PFNGLALPHAFRAGMENTOP1ATIPROC, glAlphaFragmentOp1ATI); + CHECK_ADDRESS(PFNGLALPHAFRAGMENTOP2ATIPROC, glAlphaFragmentOp2ATI); + CHECK_ADDRESS(PFNGLALPHAFRAGMENTOP3ATIPROC, glAlphaFragmentOp3ATI); + CHECK_ADDRESS(PFNGLSETFRAGMENTSHADERCONSTANTATIPROC, glSetFragmentShaderConstantATI); #endif return true; @@ -1186,9 +1187,9 @@ static bool setupATIVertexAttribArrayObject(const char *glext) CHECK_EXT("GL_ATI_vertex_attrib_array_object"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC, glVertexAttribArrayObjectATI); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC, glGetVertexAttribArrayObjectfvATI); - CHECK_ADDRESS(NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC, glGetVertexAttribArrayObjectivATI); + CHECK_ADDRESS(PFNGLVERTEXATTRIBARRAYOBJECTATIPROC, glVertexAttribArrayObjectATI); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC, glGetVertexAttribArrayObjectfvATI); + CHECK_ADDRESS(PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC, glGetVertexAttribArrayObjectivATI); #endif return true; @@ -1201,25 +1202,25 @@ static bool setupARBFragmentProgram(const char *glext) CHECK_EXT("GL_ARB_fragment_program"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLPROGRAMSTRINGARBPROC, glProgramStringARB); - CHECK_ADDRESS(NEL_PFNGLBINDPROGRAMARBPROC, glBindProgramARB); - CHECK_ADDRESS(NEL_PFNGLDELETEPROGRAMSARBPROC, glDeleteProgramsARB); - CHECK_ADDRESS(NEL_PFNGLGENPROGRAMSARBPROC, glGenProgramsARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC, glProgramEnvParameter4dARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC, glProgramEnvParameter4dvARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC, glProgramEnvParameter4fARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC, glProgramEnvParameter4fvARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC, glProgramLocalParameter4dARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC, glProgramLocalParameter4dvARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC, glProgramLocalParameter4fARB); - CHECK_ADDRESS(NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC, glProgramLocalParameter4fvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC, glGetProgramEnvParameterdvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC, glGetProgramEnvParameterfvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC, glGetProgramLocalParameterdvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC, glGetProgramLocalParameterfvARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMIVARBPROC, glGetProgramivARB); - CHECK_ADDRESS(NEL_PFNGLGETPROGRAMSTRINGARBPROC, glGetProgramStringARB); - CHECK_ADDRESS(NEL_PFNGLISPROGRAMARBPROC, glIsProgramARB); + CHECK_ADDRESS(PFNGLPROGRAMSTRINGARBPROC, glProgramStringARB); + CHECK_ADDRESS(PFNGLBINDPROGRAMARBPROC, glBindProgramARB); + CHECK_ADDRESS(PFNGLDELETEPROGRAMSARBPROC, glDeleteProgramsARB); + CHECK_ADDRESS(PFNGLGENPROGRAMSARBPROC, glGenProgramsARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4DARBPROC, glProgramEnvParameter4dARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4DVARBPROC, glProgramEnvParameter4dvARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4FARBPROC, glProgramEnvParameter4fARB); + CHECK_ADDRESS(PFNGLPROGRAMENVPARAMETER4FVARBPROC, glProgramEnvParameter4fvARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4DARBPROC, glProgramLocalParameter4dARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4DVARBPROC, glProgramLocalParameter4dvARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4FARBPROC, glProgramLocalParameter4fARB); + CHECK_ADDRESS(PFNGLPROGRAMLOCALPARAMETER4FVARBPROC, glProgramLocalParameter4fvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMENVPARAMETERDVARBPROC, glGetProgramEnvParameterdvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMENVPARAMETERFVARBPROC, glGetProgramEnvParameterfvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC, glGetProgramLocalParameterdvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC, glGetProgramLocalParameterfvARB); + CHECK_ADDRESS(PFNGLGETPROGRAMIVARBPROC, glGetProgramivARB); + CHECK_ADDRESS(PFNGLGETPROGRAMSTRINGARBPROC, glGetProgramStringARB); + CHECK_ADDRESS(PFNGLISPROGRAMARBPROC, glIsProgramARB); #endif return true; @@ -1339,13 +1340,13 @@ static bool setupNVOcclusionQuery(const char *glext) CHECK_EXT("GL_NV_occlusion_query"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLGENOCCLUSIONQUERIESNVPROC, glGenOcclusionQueriesNV); - CHECK_ADDRESS(NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC, glDeleteOcclusionQueriesNV); - CHECK_ADDRESS(NEL_PFNGLISOCCLUSIONQUERYNVPROC, glIsOcclusionQueryNV); - CHECK_ADDRESS(NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC, glBeginOcclusionQueryNV); - CHECK_ADDRESS(NEL_PFNGLENDOCCLUSIONQUERYNVPROC, glEndOcclusionQueryNV); - CHECK_ADDRESS(NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC, glGetOcclusionQueryivNV); - CHECK_ADDRESS(NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC, glGetOcclusionQueryuivNV); + CHECK_ADDRESS(PFNGLGENOCCLUSIONQUERIESNVPROC, glGenOcclusionQueriesNV); + CHECK_ADDRESS(PFNGLDELETEOCCLUSIONQUERIESNVPROC, glDeleteOcclusionQueriesNV); + CHECK_ADDRESS(PFNGLISOCCLUSIONQUERYNVPROC, glIsOcclusionQueryNV); + CHECK_ADDRESS(PFNGLBEGINOCCLUSIONQUERYNVPROC, glBeginOcclusionQueryNV); + CHECK_ADDRESS(PFNGLENDOCCLUSIONQUERYNVPROC, glEndOcclusionQueryNV); + CHECK_ADDRESS(PFNGLGETOCCLUSIONQUERYIVNVPROC, glGetOcclusionQueryivNV); + CHECK_ADDRESS(PFNGLGETOCCLUSIONQUERYUIVNVPROC, glGetOcclusionQueryuivNV); #endif return true; @@ -1396,38 +1397,38 @@ static bool setupFrameBufferObject(const char *glext) #ifdef USE_OPENGLES CHECK_EXT("GL_OES_framebuffer_object"); - CHECK_ADDRESS(NEL_PFNGLISRENDERBUFFEROESPROC, glIsRenderbufferOES); - CHECK_ADDRESS(NEL_PFNGLBINDRENDERBUFFEROESPROC, glBindRenderbufferOES); - CHECK_ADDRESS(NEL_PFNGLDELETERENDERBUFFERSOESPROC, glDeleteRenderbuffersOES); - CHECK_ADDRESS(NEL_PFNGLGENRENDERBUFFERSOESPROC, glGenRenderbuffersOES); - CHECK_ADDRESS(NEL_PFNGLRENDERBUFFERSTORAGEOESPROC, glRenderbufferStorageOES); - CHECK_ADDRESS(NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC, glGetRenderbufferParameterivOES); - CHECK_ADDRESS(NEL_PFNGLISFRAMEBUFFEROESPROC, glIsFramebufferOES); - CHECK_ADDRESS(NEL_PFNGLBINDFRAMEBUFFEROESPROC, glBindFramebufferOES); - CHECK_ADDRESS(NEL_PFNGLDELETEFRAMEBUFFERSOESPROC, glDeleteFramebuffersOES); - CHECK_ADDRESS(NEL_PFNGLGENFRAMEBUFFERSOESPROC, glGenFramebuffersOES); - CHECK_ADDRESS(NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC, glCheckFramebufferStatusOES); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC, glFramebufferRenderbufferOES); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC, glFramebufferTexture2DOES); - CHECK_ADDRESS(NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC, glGetFramebufferAttachmentParameterivOES); - CHECK_ADDRESS(NEL_PFNGLGENERATEMIPMAPOESPROC, glGenerateMipmapOES); + CHECK_ADDRESS(PFNGLISRENDERBUFFEROESPROC, glIsRenderbufferOES); + CHECK_ADDRESS(PFNGLBINDRENDERBUFFEROESPROC, glBindRenderbufferOES); + CHECK_ADDRESS(PFNGLDELETERENDERBUFFERSOESPROC, glDeleteRenderbuffersOES); + CHECK_ADDRESS(PFNGLGENRENDERBUFFERSOESPROC, glGenRenderbuffersOES); + CHECK_ADDRESS(PFNGLRENDERBUFFERSTORAGEOESPROC, glRenderbufferStorageOES); + CHECK_ADDRESS(PFNGLGETRENDERBUFFERPARAMETERIVOESPROC, glGetRenderbufferParameterivOES); + CHECK_ADDRESS(PFNGLISFRAMEBUFFEROESPROC, glIsFramebufferOES); + CHECK_ADDRESS(PFNGLBINDFRAMEBUFFEROESPROC, glBindFramebufferOES); + CHECK_ADDRESS(PFNGLDELETEFRAMEBUFFERSOESPROC, glDeleteFramebuffersOES); + CHECK_ADDRESS(PFNGLGENFRAMEBUFFERSOESPROC, glGenFramebuffersOES); + CHECK_ADDRESS(PFNGLCHECKFRAMEBUFFERSTATUSOESPROC, glCheckFramebufferStatusOES); + CHECK_ADDRESS(PFNGLFRAMEBUFFERRENDERBUFFEROESPROC, glFramebufferRenderbufferOES); + CHECK_ADDRESS(PFNGLFRAMEBUFFERTEXTURE2DOESPROC, glFramebufferTexture2DOES); + CHECK_ADDRESS(PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC, glGetFramebufferAttachmentParameterivOES); + CHECK_ADDRESS(PFNGLGENERATEMIPMAPOESPROC, glGenerateMipmapOES); #else CHECK_EXT("GL_EXT_framebuffer_object"); - CHECK_ADDRESS(NEL_PFNGLISRENDERBUFFEREXTPROC, glIsRenderbufferEXT); - CHECK_ADDRESS(NEL_PFNGLISFRAMEBUFFEREXTPROC, glIsFramebufferEXT); - CHECK_ADDRESS(NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatusEXT); - CHECK_ADDRESS(NEL_PFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffersEXT); - CHECK_ADDRESS(NEL_PFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebufferEXT); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2DEXT); - CHECK_ADDRESS(NEL_PFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffersEXT); - CHECK_ADDRESS(NEL_PFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbufferEXT); - CHECK_ADDRESS(NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorageEXT); - CHECK_ADDRESS(NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbufferEXT); - CHECK_ADDRESS(NEL_PFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffersEXT); - CHECK_ADDRESS(NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffersEXT); - CHECK_ADDRESS(NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC, glGetRenderbufferParameterivEXT); - CHECK_ADDRESS(NEL_PFNGENERATEMIPMAPEXTPROC, glGenerateMipmapEXT); + CHECK_ADDRESS(PFNGLISRENDERBUFFEREXTPROC, glIsRenderbufferEXT); + CHECK_ADDRESS(PFNGLISFRAMEBUFFEREXTPROC, glIsFramebufferEXT); + CHECK_ADDRESS(PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC, glCheckFramebufferStatusEXT); + CHECK_ADDRESS(PFNGLGENFRAMEBUFFERSEXTPROC, glGenFramebuffersEXT); + CHECK_ADDRESS(PFNGLBINDFRAMEBUFFEREXTPROC, glBindFramebufferEXT); + CHECK_ADDRESS(PFNGLFRAMEBUFFERTEXTURE2DEXTPROC, glFramebufferTexture2DEXT); + CHECK_ADDRESS(PFNGLGENRENDERBUFFERSEXTPROC, glGenRenderbuffersEXT); + CHECK_ADDRESS(PFNGLBINDRENDERBUFFEREXTPROC, glBindRenderbufferEXT); + CHECK_ADDRESS(PFNGLRENDERBUFFERSTORAGEEXTPROC, glRenderbufferStorageEXT); + CHECK_ADDRESS(PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC, glFramebufferRenderbufferEXT); + CHECK_ADDRESS(PFNGLDELETERENDERBUFFERSEXTPROC, glDeleteRenderbuffersEXT); + CHECK_ADDRESS(PFNGLDELETEFRAMEBUFFERSEXTPROC, glDeleteFramebuffersEXT); + CHECK_ADDRESS(PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC, glGetRenderbufferParameterivEXT); + CHECK_ADDRESS(PFNGLGENERATEMIPMAPEXTPROC, glGenerateMipmapEXT); #endif return true; @@ -1440,7 +1441,7 @@ static bool setupFrameBufferBlit(const char *glext) CHECK_EXT("GL_EXT_framebuffer_blit"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT); + CHECK_ADDRESS(PFNGLBLITFRAMEBUFFEREXTPROC, glBlitFramebufferEXT); #endif return true; @@ -1453,7 +1454,7 @@ static bool setupFrameBufferMultisample(const char *glext) CHECK_EXT("GL_EXT_framebuffer_multisample"); #ifndef USE_OPENGLES - CHECK_ADDRESS(NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisampleEXT); + CHECK_ADDRESS(PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC, glRenderbufferStorageMultisampleEXT); #endif return true; @@ -1714,7 +1715,7 @@ static bool setupGLXEXTSwapControl(const char *glext) CHECK_EXT("GLX_EXT_swap_control"); #if defined(NL_OS_UNIX) && !defined(NL_OS_MAC) - CHECK_ADDRESS(NEL_PFNGLXSWAPINTERVALEXTPROC, glXSwapIntervalEXT); + CHECK_ADDRESS(PFNGLXSWAPINTERVALEXTPROC, glXSwapIntervalEXT); #endif return true; @@ -1740,8 +1741,8 @@ static bool setupGLXMESASwapControl(const char *glext) CHECK_EXT("GLX_MESA_swap_control"); #if defined(NL_OS_UNIX) && !defined(NL_OS_MAC) - CHECK_ADDRESS(NEL_PFNGLXSWAPINTERVALMESAPROC, glXSwapIntervalMESA); - CHECK_ADDRESS(NEL_PFNGLXGETSWAPINTERVALMESAPROC, glXGetSwapIntervalMESA); + CHECK_ADDRESS(PFNGLXSWAPINTERVALMESAPROC, glXSwapIntervalMESA); + CHECK_ADDRESS(PFNGLXGETSWAPINTERVALMESAPROC, glXGetSwapIntervalMESA); #endif return true; diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index fe7738fd8..7a20d6896 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -151,7 +151,6 @@ public: ATIVertexArrayObject= false; ATIEnvMapBumpMap = false; ATIFragmentShader = false; - ATIVertexArrayObject = false; ATIMapObjectBuffer = false; ATIVertexAttribArrayObject = false; EXTVertexShader= false; @@ -294,230 +293,228 @@ void registerGlExtensions(CGlExtensions &ext); // OES_mapbuffer. //=============== -extern NEL_PFNGLMAPBUFFEROESPROC nglMapBufferOES; -extern NEL_PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; -extern NEL_PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; +extern PFNGLMAPBUFFEROESPROC nglMapBufferOES; +extern PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES; +extern PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES; -extern NEL_PFNGLBUFFERSUBDATAPROC nglBufferSubData; - -extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES; +extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES; // GL_OES_framebuffer_object -extern NEL_PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; -extern NEL_PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; -extern NEL_PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; -extern NEL_PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; -extern NEL_PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; -extern NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; -extern NEL_PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; -extern NEL_PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; -extern NEL_PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; -extern NEL_PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; -extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; -extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; -extern NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; -extern NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; -extern NEL_PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; +extern PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES; +extern PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES; +extern PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES; +extern PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES; +extern PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES; +extern PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES; +extern PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES; +extern PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES; +extern PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES; +extern PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES; +extern PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES; +extern PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES; +extern PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES; +extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES; +extern PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES; // GL_OES_texture_cube_map -extern NEL_PFNGLTEXGENFOESPROC nglTexGenfOES; -extern NEL_PFNGLTEXGENFVOESPROC nglTexGenfvOES; -extern NEL_PFNGLTEXGENIOESPROC nglTexGeniOES; -extern NEL_PFNGLTEXGENIVOESPROC nglTexGenivOES; -extern NEL_PFNGLTEXGENXOESPROC nglTexGenxOES; -extern NEL_PFNGLTEXGENXVOESPROC nglTexGenxvOES; -extern NEL_PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; -extern NEL_PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; -extern NEL_PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; +extern PFNGLTEXGENFOESPROC nglTexGenfOES; +extern PFNGLTEXGENFVOESPROC nglTexGenfvOES; +extern PFNGLTEXGENIOESPROC nglTexGeniOES; +extern PFNGLTEXGENIVOESPROC nglTexGenivOES; +extern PFNGLTEXGENXOESPROC nglTexGenxOES; +extern PFNGLTEXGENXVOESPROC nglTexGenxvOES; +extern PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES; +extern PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES; +extern PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES; #else // ARB_multitexture //================= -extern NEL_PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; -extern NEL_PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; +extern PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB; +extern PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB; -extern NEL_PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; -extern NEL_PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; -extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; -extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; -extern NEL_PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; -extern NEL_PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; -extern NEL_PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; -extern NEL_PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; -extern NEL_PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; -extern NEL_PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; -extern NEL_PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; -extern NEL_PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; -extern NEL_PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; -extern NEL_PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; -extern NEL_PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; -extern NEL_PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; -extern NEL_PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; +extern PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB; +extern PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB; +extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; +extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB; +extern PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB; +extern PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB; +extern PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB; +extern PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB; +extern PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB; +extern PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB; +extern PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB; +extern PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB; +extern PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB; +extern PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB; +extern PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB; +extern PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB; +extern PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB; -extern NEL_PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; -extern NEL_PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; -extern NEL_PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; -extern NEL_PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; -extern NEL_PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; -extern NEL_PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; -extern NEL_PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; -extern NEL_PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; -extern NEL_PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; -extern NEL_PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; -extern NEL_PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; -extern NEL_PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; -extern NEL_PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; -extern NEL_PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; -extern NEL_PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; -extern NEL_PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; +extern PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB; +extern PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB; +extern PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB; +extern PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB; +extern PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB; +extern PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB; +extern PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB; +extern PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB; +extern PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB; +extern PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB; +extern PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB; +extern PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB; +extern PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB; +extern PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB; +extern PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB; +extern PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB; // ARB_TextureCompression. //======================== -extern NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; -extern NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; -extern NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; -extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; -extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; -extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; -extern NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; +extern PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB; +extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB; +extern PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB; +extern PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB; +extern PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB; +extern PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB; +extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB; // VertexArrayRangeNV. //==================== -extern NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; -extern NEL_PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; +extern PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV; +extern PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV; #ifdef NL_OS_WINDOWS extern PFNWGLALLOCATEMEMORYNVPROC nwglAllocateMemoryNV; extern PFNWGLFREEMEMORYNVPROC nwglFreeMemoryNV; #elif defined(NL_OS_UNIX) && !defined(NL_OS_MAC) -extern NEL_PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; -extern NEL_PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; +extern PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV; +extern PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV; #endif // FenceNV. //==================== -extern NEL_PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; -extern NEL_PFNGLGENFENCESNVPROC nglGenFencesNV; -extern NEL_PFNGLISFENCENVPROC nglIsFenceNV; -extern NEL_PFNGLTESTFENCENVPROC nglTestFenceNV; -extern NEL_PFNGLGETFENCEIVNVPROC nglGetFenceivNV; -extern NEL_PFNGLFINISHFENCENVPROC nglFinishFenceNV; -extern NEL_PFNGLSETFENCENVPROC nglSetFenceNV; +extern PFNGLDELETEFENCESNVPROC nglDeleteFencesNV; +extern PFNGLGENFENCESNVPROC nglGenFencesNV; +extern PFNGLISFENCENVPROC nglIsFenceNV; +extern PFNGLTESTFENCENVPROC nglTestFenceNV; +extern PFNGLGETFENCEIVNVPROC nglGetFenceivNV; +extern PFNGLFINISHFENCENVPROC nglFinishFenceNV; +extern PFNGLSETFENCENVPROC nglSetFenceNV; // VertexWeighting. //================== -extern NEL_PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; -extern NEL_PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; -extern NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; +extern PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT; +extern PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT; +extern PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT; // VertexProgramExtension. //======================== -extern NEL_PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; -extern NEL_PFNGLBINDPROGRAMNVPROC nglBindProgramNV; -extern NEL_PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; -extern NEL_PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; -extern NEL_PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; -extern NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; -extern NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; -extern NEL_PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; -extern NEL_PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; -extern NEL_PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; -extern NEL_PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; -extern NEL_PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; -extern NEL_PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; -extern NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; -extern NEL_PFNGLISPROGRAMNVPROC nglIsProgramNV; -extern NEL_PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; -extern NEL_PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; -extern NEL_PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; -extern NEL_PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; -extern NEL_PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; -extern NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; -extern NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; -extern NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; -extern NEL_PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; -extern NEL_PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; -extern NEL_PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; -extern NEL_PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; -extern NEL_PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; -extern NEL_PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; -extern NEL_PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; -extern NEL_PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; -extern NEL_PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; -extern NEL_PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; -extern NEL_PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; -extern NEL_PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; -extern NEL_PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; -extern NEL_PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; -extern NEL_PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; -extern NEL_PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; -extern NEL_PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; -extern NEL_PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; -extern NEL_PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; -extern NEL_PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; -extern NEL_PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; -extern NEL_PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; -extern NEL_PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; -extern NEL_PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; -extern NEL_PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; -extern NEL_PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; -extern NEL_PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; -extern NEL_PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; -extern NEL_PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; -extern NEL_PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; -extern NEL_PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; -extern NEL_PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; -extern NEL_PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; -extern NEL_PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; -extern NEL_PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; -extern NEL_PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; -extern NEL_PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; -extern NEL_PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; -extern NEL_PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; -extern NEL_PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; +extern PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV; +extern PFNGLBINDPROGRAMNVPROC nglBindProgramNV; +extern PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV; +extern PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV; +extern PFNGLGENPROGRAMSNVPROC nglGenProgramsNV; +extern PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV; +extern PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV; +extern PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV; +extern PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV; +extern PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV; +extern PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV; +extern PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV; +extern PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV; +extern PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV; +extern PFNGLISPROGRAMNVPROC nglIsProgramNV; +extern PFNGLLOADPROGRAMNVPROC nglLoadProgramNV; +extern PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV; +extern PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV; +extern PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV; +extern PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV; +extern PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV; +extern PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV; +extern PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV; +extern PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV; +extern PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV; +extern PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV; +extern PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV; +extern PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV; +extern PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV; +extern PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV; +extern PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV; +extern PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV; +extern PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV; +extern PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV; +extern PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV; +extern PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV; +extern PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV; +extern PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV; +extern PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV; +extern PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV; +extern PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV; +extern PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV; +extern PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV; +extern PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV; +extern PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV; +extern PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV; +extern PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV; +extern PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV; +extern PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV; +extern PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV; +extern PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV; +extern PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV; +extern PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV; +extern PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV; +extern PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV; +extern PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV; +extern PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV; +extern PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV; +extern PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV; +extern PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV; +extern PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV; +extern PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV; +extern PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV; // VertexShaderExtension. //======================== -extern NEL_PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; -extern NEL_PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; -extern NEL_PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; -extern NEL_PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; -extern NEL_PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; -extern NEL_PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; -extern NEL_PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; -extern NEL_PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; -extern NEL_PFNGLSWIZZLEEXTPROC nglSwizzleEXT; -extern NEL_PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; -extern NEL_PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; -extern NEL_PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; -extern NEL_PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; -extern NEL_PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; -extern NEL_PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; -extern NEL_PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; -extern NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; -extern NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; -extern NEL_PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; -extern NEL_PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; -extern NEL_PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; -extern NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; -extern NEL_PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; -extern NEL_PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; -extern NEL_PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; -extern NEL_PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; -extern NEL_PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; -extern NEL_PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; -extern NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; -extern NEL_PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; -extern NEL_PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; -extern NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; -extern NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; -extern NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; +extern PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT; +extern PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT; +extern PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT; +extern PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT; +extern PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT; +extern PFNGLSHADEROP1EXTPROC nglShaderOp1EXT; +extern PFNGLSHADEROP2EXTPROC nglShaderOp2EXT; +extern PFNGLSHADEROP3EXTPROC nglShaderOp3EXT; +extern PFNGLSWIZZLEEXTPROC nglSwizzleEXT; +extern PFNGLWRITEMASKEXTPROC nglWriteMaskEXT; +extern PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT; +extern PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT; +extern PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT; +extern PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT; +extern PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT; +extern PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT; +extern PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT; +extern PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT; +extern PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT; +extern PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT; +extern PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT; +extern PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT; +extern PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT; +extern PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT; +extern PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT; +extern PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT; +extern PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT; +extern PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT; +extern PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT; +extern PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT; +extern PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT; +extern PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT; +extern PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT; +extern PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT; // ATI_envmap_bumpmap extension @@ -530,100 +527,100 @@ extern PFNGLGETTEXBUMPPARAMETERFVATIPROC nglGetTexBumpParameterfvATI; // SecondaryColor extension //======================== -extern NEL_PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; -extern NEL_PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; -extern NEL_PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; -extern NEL_PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; -extern NEL_PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; -extern NEL_PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; -extern NEL_PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; -extern NEL_PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; -extern NEL_PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; -extern NEL_PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; -extern NEL_PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; -extern NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; -extern NEL_PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; -extern NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; -extern NEL_PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; -extern NEL_PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; -extern NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; +extern PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT; +extern PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT; +extern PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT; +extern PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT; +extern PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT; +extern PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT; +extern PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT; +extern PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT; +extern PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT; +extern PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT; +extern PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT; +extern PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT; +extern PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT; +extern PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT; +extern PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT; +extern PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT; +extern PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT; // BlendColor extension //======================== -extern NEL_PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; +extern PFNGLBLENDCOLOREXTPROC nglBlendColorEXT; // GL_ATI_vertex_array_object extension //======================== -extern NEL_PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; -extern NEL_PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; -extern NEL_PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; -extern NEL_PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; -extern NEL_PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; -extern NEL_PFNGLDELETEOBJECTBUFFERATIPROC nglDeleteObjectBufferATI; -extern NEL_PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; -extern NEL_PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; -extern NEL_PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; -extern NEL_PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; -extern NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; -extern NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; +extern PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI; +extern PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI; +extern PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI; +extern PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI; +extern PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI; +extern PFNGLFREEOBJECTBUFFERATIPROC nglFreeObjectBufferATI; +extern PFNGLARRAYOBJECTATIPROC nglArrayObjectATI; +extern PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI; +extern PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI; +extern PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI; +extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI; +extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI; // GL_ATI_map_object_buffer //=================================== -extern NEL_PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; -extern NEL_PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; +extern PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI; +extern PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI; // GL_ATI_fragment_shader extension //=================================== -extern NEL_PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; -extern NEL_PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; -extern NEL_PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; -extern NEL_PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; -extern NEL_PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; -extern NEL_PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; -extern NEL_PFNGLSAMPLEMAPATIPROC nglSampleMapATI; -extern NEL_PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; -extern NEL_PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; -extern NEL_PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; -extern NEL_PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; -extern NEL_PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; -extern NEL_PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; -extern NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; +extern PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI; +extern PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI; +extern PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI; +extern PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI; +extern PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI; +extern PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI; +extern PFNGLSAMPLEMAPATIPROC nglSampleMapATI; +extern PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI; +extern PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI; +extern PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI; +extern PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI; +extern PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI; +extern PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI; +extern PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI; // GL_ATI_vertex_attrib_array_object //================================== -extern NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; -extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; -extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; +extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI; +extern PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI; +extern PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI; // GL_ARB_fragment_shader_extension //================================== -extern NEL_PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; -extern NEL_PFNGLBINDPROGRAMARBPROC nglBindProgramARB; -extern NEL_PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; -extern NEL_PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; -extern NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; -extern NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; -extern NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; -extern NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; -extern NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; -extern NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; -extern NEL_PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; -extern NEL_PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; -extern NEL_PFNGLISPROGRAMARBPROC nglIsProgramARB; +extern PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB; +extern PFNGLBINDPROGRAMARBPROC nglBindProgramARB; +extern PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB; +extern PFNGLGENPROGRAMSARBPROC nglGenProgramsARB; +extern PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB; +extern PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB; +extern PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB; +extern PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB; +extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB; +extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB; +extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB; +extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB; +extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB; +extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB; +extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB; +extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB; +extern PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB; +extern PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB; +extern PFNGLISPROGRAMARBPROC nglIsProgramARB; // GL_ARB_vertex_buffer_object //================================== @@ -708,13 +705,13 @@ extern PFNGLISPROGRAMARBPROC nglIsProgramARB; // GL_NV_occlusion_query //================================== -extern NEL_PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; -extern NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; -extern NEL_PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; -extern NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; -extern NEL_PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; -extern NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; -extern NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; +extern PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV; +extern PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV; +extern PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV; +extern PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV; +extern PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV; +extern PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV; +extern PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV; @@ -743,46 +740,60 @@ extern PFNWGLGETSWAPINTERVALEXTPROC nwglGetSwapIntervalEXT; // WGL_ARB_extensions_string -extern PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB; +extern PFNWGLGETEXTENSIONSSTRINGARBPROC nwglGetExtensionsStringARB; + + +// WGL_AMD_gpu_association +//======================== +extern PFNWGLGETGPUIDSAMDPROC nwglGetGPUIDsAMD; +extern PFNWGLGETGPUINFOAMDPROC nwglGetGPUInfoAMD; +extern PFNWGLGETCONTEXTGPUIDAMDPROC nwglGetContextGPUIDAMD; +extern PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC nwglCreateAssociatedContextAMD; +extern PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC nwglCreateAssociatedContextAttribsAMD; +extern PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC nwglDeleteAssociatedContextAMD; +extern PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC nwglMakeAssociatedContextCurrentAMD; +extern PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC nwglGetCurrentAssociatedContextAMD; +extern PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC nwglBlitContextFramebufferAMD; + #elif defined(NL_OS_MAC) #elif defined(NL_OS_UNIX) // Swap control extensions //=========================== -extern NEL_PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; +extern PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT; -extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI; +extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI; -extern NEL_PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; -extern NEL_PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; +extern PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA; +extern PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA; #endif // GL_EXT_framebuffer_object -extern NEL_PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; -extern NEL_PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; -extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; -extern NEL_PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; -extern NEL_PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; -extern NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; -extern NEL_PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; -extern NEL_PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; -extern NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; -extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; -extern NEL_PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; -extern NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; -extern NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; -extern NEL_PFNGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; +extern PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT; +extern PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT; +extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT; +extern PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT; +extern PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT; +extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT; +extern PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT; +extern PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT; +extern PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT; +extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT; +extern PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT; +extern PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT; +extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT; +extern PFNGLGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT; // GL_EXT_framebuffer_blit -extern NEL_PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; +extern PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT; // GL_EXT_framebuffer_multisample -extern NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; +extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT; // GL_ARB_multisample -extern NEL_PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; +extern PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB; #endif // USE_OPENGLES diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h index a11d0cd1c..03d071424 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h @@ -94,337 +94,11 @@ typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pnam // *************************************************************************** // *************************************************************************** -#define WGL_COVERAGE_SAMPLES_NV 0x2042 -#define WGL_COLOR_SAMPLES_NV 0x20B9 - -// ARB_multitexture -//================= -typedef void (APIENTRY * NEL_PFNGLACTIVETEXTUREARBPROC) (GLenum texture); -typedef void (APIENTRY * NEL_PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); -typedef void (APIENTRY * NEL_PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v); - - -// ARB_TextureCompression. -//======================== -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); -typedef void (APIENTRY * NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, void *img); - - -// VertexArrayRangeNV. -//==================== -typedef void (APIENTRY * NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void); -typedef void (APIENTRY * NEL_PFNGLVERTEXARRAYRANGENVPROC) (GLsizei size, const GLvoid *pointer); - - -// FenceNV. -//==================== -typedef void (APIENTRY * NEL_PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); -typedef void (APIENTRY * NEL_PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); -typedef GLboolean (APIENTRY * NEL_PFNGLISFENCENVPROC) (GLuint fence); -typedef GLboolean (APIENTRY * NEL_PFNGLTESTFENCENVPROC) (GLuint fence); -typedef void (APIENTRY * NEL_PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLFINISHFENCENVPROC) (GLuint fence); -typedef void (APIENTRY * NEL_PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); - - -// VertexWeighting. -//================== -typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight); -typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight); -typedef void (APIENTRY * NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer); - - -// VertexProgramExtension. -//======================== -typedef GLboolean (APIENTRY * NEL_PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences); -typedef void (APIENTRY * NEL_PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id); -typedef void (APIENTRY * NEL_PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs); -typedef void (APIENTRY * NEL_PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program); -typedef void (APIENTRY * NEL_PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer); -typedef GLboolean (APIENTRY * NEL_PFNGLISPROGRAMNVPROC) (GLuint id); -typedef void (APIENTRY * NEL_PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs); -typedef void (APIENTRY * NEL_PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v); - -// VertexShaderExtension (EXT) -//============================ -typedef void (APIENTRY * NEL_PFNGLBEGINVERTEXSHADEREXTPROC) ( void ); -typedef void (APIENTRY * NEL_PFNGLENDVERTEXSHADEREXTPROC) ( void ); -typedef void (APIENTRY * NEL_PFNGLBINDVERTEXSHADEREXTPROC) ( GLuint id ); -typedef GLuint (APIENTRY * NEL_PFNGLGENVERTEXSHADERSEXTPROC) ( GLuint range ); -typedef void (APIENTRY * NEL_PFNGLDELETEVERTEXSHADEREXTPROC) ( GLuint id ); -typedef void (APIENTRY * NEL_PFNGLSHADEROP1EXTPROC) ( GLenum op, GLuint res, GLuint arg1 ); -typedef void (APIENTRY * NEL_PFNGLSHADEROP2EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2 ); -typedef void (APIENTRY * NEL_PFNGLSHADEROP3EXTPROC) ( GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3 ); -typedef void (APIENTRY * NEL_PFNGLSWIZZLEEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ); -typedef void (APIENTRY * NEL_PFNGLWRITEMASKEXTPROC) ( GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW ); -typedef void (APIENTRY * NEL_PFNGLINSERTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num ); -typedef void (APIENTRY * NEL_PFNGLEXTRACTCOMPONENTEXTPROC) ( GLuint res, GLuint src, GLuint num ); -typedef GLuint (APIENTRY * NEL_PFNGLGENSYMBOLSEXTPROC) ( GLenum datatype, GLenum storagetype, GLenum range, GLuint components ) ; -typedef void (APIENTRY * NEL_PFNGLSETINVARIANTEXTPROC) ( GLuint id, GLenum type, void *addr ); -typedef void (APIENTRY * NEL_PFNGLSETLOCALCONSTANTEXTPROC) ( GLuint id, GLenum type, void *addr ); -typedef void (APIENTRY * NEL_PFNGLVARIANTPOINTEREXTPROC) ( GLuint id, GLenum type, GLuint stride, void *addr ); -typedef void (APIENTRY * NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id); -typedef void (APIENTRY * NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) ( GLuint id); -typedef GLuint (APIENTRY * NEL_PFNGLBINDLIGHTPARAMETEREXTPROC) ( GLenum light, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDMATERIALPARAMETEREXTPROC) ( GLenum face, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDTEXGENPARAMETEREXTPROC) ( GLenum unit, GLenum coord, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) ( GLenum unit, GLenum value); -typedef GLuint (APIENTRY * NEL_PFNGLBINDPARAMETEREXTPROC) ( GLenum value); -typedef GLboolean (APIENTRY * NEL_PFNGLISVARIANTENABLEDEXTPROC) ( GLuint id, GLenum cap); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTPOINTERVEXTPROC) ( GLuint id, GLenum value, void **data); -typedef void (APIENTRY * NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data); -typedef void (APIENTRY * NEL_PFNGLGETINVARIANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data); -typedef void (APIENTRY * NEL_PFNGLGETINVARIANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data); -typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) ( GLuint id, GLenum value, GLboolean *data); -typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) ( GLuint id, GLenum value, GLint *data); -typedef void (APIENTRY * NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC) ( GLuint id, GLenum value, GLfloat *data); - - -// SecondaryColor extension -//======================== -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v); -typedef void (APIENTRY * NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); - - -// BlendColor extension -//======================== -typedef void (APIENTRY * NEL_PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - - -// GL_ATI_vertex_array_object extension -//======================== -typedef GLuint (APIENTRY * NEL_PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage); -typedef GLboolean (APIENTRY * NEL_PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer); -typedef void (APIENTRY * NEL_PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve); -typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLDELETEOBJECTBUFFERATIPROC) (GLuint buffer); -typedef void (APIENTRY * NEL_PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); -typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params); - - -// GL_ATI_fragment_shader extension -//================================== -typedef GLuint (APIENTRY *NEL_PFNGLGENFRAGMENTSHADERSATIPROC)(GLuint range); -typedef GLvoid (APIENTRY *NEL_PFNGLBINDFRAGMENTSHADERATIPROC)(GLuint id); -typedef GLvoid (APIENTRY *NEL_PFNGLDELETEFRAGMENTSHADERATIPROC)(GLuint id); -typedef GLvoid (APIENTRY *NEL_PFNGLBEGINFRAGMENTSHADERATIPROC)(); -typedef GLvoid (APIENTRY *NEL_PFNGLENDFRAGMENTSHADERATIPROC)(); -typedef GLvoid (APIENTRY *NEL_PFNGLPASSTEXCOORDATIPROC)(GLuint dst, GLuint coord, GLenum swizzle); -typedef GLvoid (APIENTRY *NEL_PFNGLSAMPLEMAPATIPROC)(GLuint dst, GLuint interp, GLenum swizzle); -typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, - GLuint dstMod, GLuint arg1, GLuint arg1Rep, - GLuint arg1Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, - GLuint dstMod, GLuint arg1, GLuint arg1Rep, - GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, - GLuint arg2Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLCOLORFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMask, - GLuint dstMod, GLuint arg1, GLuint arg1Rep, - GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, - GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, - GLuint arg3Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP1ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, - GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP2ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, - GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, - GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLALPHAFRAGMENTOP3ATIPROC)(GLenum op, GLuint dst, GLuint dstMod, - GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, - GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, - GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); -typedef GLvoid (APIENTRY *NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC)(GLuint dst, const GLfloat *value); - - - -// GL_ATI_map_object_buffer -//================================== -typedef void *(APIENTRY * NEL_PFNGLMAPOBJECTBUFFERATIPROC)(GLuint buffer); -typedef void (APIENTRY * NEL_PFNGLUNMAPOBJECTBUFFERATIPROC)(GLuint buffer); - - -// GL_ATI_vertex_attrib_array_object -//================================== - -typedef GLvoid (APIENTRY * NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset); -typedef GLvoid (APIENTRY * NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC)(GLuint index, GLenum pname, GLfloat *params); -typedef GLvoid (APIENTRY * NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC)(GLuint index, GLenum pname, GLint *params); - - - - -// GL_ARB_fragment_program -//================================== -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMSTRINGARBPROC)(GLenum target, GLenum format, GLsizei len,const GLvoid *string); -typedef GLvoid (APIENTRY *NEL_PFNGLBINDPROGRAMARBPROC)(GLenum target, GLuint program); -typedef GLvoid (APIENTRY *NEL_PFNGLDELETEPROGRAMSARBPROC)(GLsizei n, const GLuint *programs); -typedef GLvoid (APIENTRY *NEL_PFNGLGENPROGRAMSARBPROC)(GLsizei n, GLuint *programs); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC)(GLenum target, GLuint index, const GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef GLvoid (APIENTRY *NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC)(GLenum target, GLuint index, const GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC)(GLenum target, GLuint index, GLdouble *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC)(GLenum target, GLuint index, GLfloat *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMIVARBPROC)(GLenum target, GLenum pname, int *params); -typedef GLvoid (APIENTRY *NEL_PFNGLGETPROGRAMSTRINGARBPROC)(GLenum target, GLenum pname, GLvoid *string); -typedef GLboolean (APIENTRY *NEL_PFNGLISPROGRAMARBPROC)(GLuint program); - - -typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer); -typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer); -typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum pname); -typedef GLvoid (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers); -typedef GLvoid (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer); -typedef GLvoid (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef GLvoid (APIENTRY * NEL_PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers); -typedef GLvoid (APIENTRY * NEL_PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer); -typedef GLvoid (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -typedef GLvoid (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -typedef GLvoid (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers); -typedef GLvoid (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers); -typedef GLvoid (APIENTRY * NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params); -typedef GLvoid (APIENTRY * NEL_PFNGENERATEMIPMAPEXTPROC) (GLenum target); - -typedef GLvoid (APIENTRY * NEL_PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - -typedef GLvoid (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - -#ifndef NL_GL_NV_occlusion_query -#define NL_GL_NV_occlusion_query 1 - -typedef GLvoid (APIENTRY * NEL_PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids); -typedef GLvoid (APIENTRY * NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids); -typedef GLboolean (APIENTRY * NEL_PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id); -typedef GLvoid (APIENTRY * NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id); -typedef GLvoid (APIENTRY * NEL_PFNGLENDOCCLUSIONQUERYNVPROC) (); -typedef GLvoid (APIENTRY * NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params); -typedef GLvoid (APIENTRY * NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params); - -#endif /* GL_NV_occlusion_query */ - -#ifndef NL_GL_ARB_multisample -#define NL_GL_ARB_multisample 1 -typedef GLvoid (APIENTRY * NEL_PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert); -#endif +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B #if defined(NL_OS_MAC) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp index 60109cfb6..79c55ea16 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp @@ -551,7 +551,7 @@ void CVertexArrayRangeATI::free() _HeapMemory.reset(); // Free special memory. - nglDeleteObjectBufferATI(_VertexObjectId); + nglFreeObjectBufferATI(_VertexObjectId); _Allocated= false; _VertexArraySize= 0; @@ -839,7 +839,7 @@ bool CVertexArrayRangeMapObjectATI::allocate(uint32 size, CVertexBuffer::TPrefer if (vertexObjectId) { // free the object - nglDeleteObjectBufferATI(vertexObjectId); + nglFreeObjectBufferATI(vertexObjectId); // _SizeAllocated = size; _VBType = vbType; @@ -924,7 +924,7 @@ CVertexBufferHardGLMapObjectATI::CVertexBufferHardGLMapObjectATI(CDriverGL *drv, CVertexBufferHardGLMapObjectATI::~CVertexBufferHardGLMapObjectATI() { H_AUTO_OGL(CVertexBufferHardGLMapObjectATI_CVertexBufferHardGLMapObjectATIDtor) - if (_VertexObjectId) nglDeleteObjectBufferATI(_VertexObjectId); + if (_VertexObjectId) nglFreeObjectBufferATI(_VertexObjectId); #ifdef NL_DEBUG if (_VertexPtr) { @@ -1114,7 +1114,7 @@ void CVertexArrayRangeMapObjectATI::updateLostBuffers() { nlassert((*it)->_VertexObjectId); nlassert(nglIsObjectBufferATI((*it)->_VertexObjectId)); - nglDeleteObjectBufferATI((*it)->_VertexObjectId); + nglFreeObjectBufferATI((*it)->_VertexObjectId); (*it)->_VertexObjectId = 0; (*it)->VB->setLocation(CVertexBuffer::NotResident); } From 406df1c59c08c1f36ef7d7f86d2e9d569fb2eef4 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:31:32 +0100 Subject: [PATCH 083/152] Changed: Optimize OpenGL driver PCH --HG-- branch : compatibility --- code/nel/src/3d/driver/opengl/stdopengl.h | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/code/nel/src/3d/driver/opengl/stdopengl.h b/code/nel/src/3d/driver/opengl/stdopengl.h index 336f15f47..544829b19 100644 --- a/code/nel/src/3d/driver/opengl/stdopengl.h +++ b/code/nel/src/3d/driver/opengl/stdopengl.h @@ -14,6 +14,9 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . +#ifndef STDOPENGL_H +#define STDOPENGL_H + #include "nel/misc/types_nl.h" #include @@ -67,5 +70,33 @@ #include "nel/misc/mem_stream.h" #include "nel/misc/time_nl.h" #include "nel/misc/command.h" +#include "nel/misc/matrix.h" +#include "nel/misc/smart_ptr.h" +#include "nel/misc/rgba.h" +#include "nel/misc/event_emitter.h" +#include "nel/misc/bit_set.h" +#include "nel/misc/hierarchical_timer.h" +#include "nel/misc/bitmap.h" +#include "nel/misc/heap_memory.h" +#include "nel/misc/event_emitter_multi.h" +#include "nel/misc/time_nl.h" +#include "nel/misc/rect.h" +#include "nel/misc/mouse_device.h" +#include "nel/misc/dynloadlib.h" +#include "nel/misc/file.h" #include "nel/3d/driver.h" +#include "nel/3d/material.h" +#include "nel/3d/vertex_buffer.h" +#include "nel/3d/ptr_set.h" +#include "nel/3d/texture_cube.h" +#include "nel/3d/vertex_program_parse.h" +#include "nel/3d/viewport.h" +#include "nel/3d/scissor.h" +#include "nel/3d/light.h" +#include "nel/3d/occlusion_query.h" +#include "nel/3d/u_driver.h" +#include "nel/3d/light.h" +#include "nel/3d/index_buffer.h" + +#endif From c59f9d8a5e64f527513dd71dbe61ab3e44e87096 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:31:32 +0100 Subject: [PATCH 084/152] Changed: Optimize OpenGL driver PCH --- code/nel/src/3d/driver/opengl/stdopengl.h | 31 +++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/code/nel/src/3d/driver/opengl/stdopengl.h b/code/nel/src/3d/driver/opengl/stdopengl.h index 336f15f47..544829b19 100644 --- a/code/nel/src/3d/driver/opengl/stdopengl.h +++ b/code/nel/src/3d/driver/opengl/stdopengl.h @@ -14,6 +14,9 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . +#ifndef STDOPENGL_H +#define STDOPENGL_H + #include "nel/misc/types_nl.h" #include @@ -67,5 +70,33 @@ #include "nel/misc/mem_stream.h" #include "nel/misc/time_nl.h" #include "nel/misc/command.h" +#include "nel/misc/matrix.h" +#include "nel/misc/smart_ptr.h" +#include "nel/misc/rgba.h" +#include "nel/misc/event_emitter.h" +#include "nel/misc/bit_set.h" +#include "nel/misc/hierarchical_timer.h" +#include "nel/misc/bitmap.h" +#include "nel/misc/heap_memory.h" +#include "nel/misc/event_emitter_multi.h" +#include "nel/misc/time_nl.h" +#include "nel/misc/rect.h" +#include "nel/misc/mouse_device.h" +#include "nel/misc/dynloadlib.h" +#include "nel/misc/file.h" #include "nel/3d/driver.h" +#include "nel/3d/material.h" +#include "nel/3d/vertex_buffer.h" +#include "nel/3d/ptr_set.h" +#include "nel/3d/texture_cube.h" +#include "nel/3d/vertex_program_parse.h" +#include "nel/3d/viewport.h" +#include "nel/3d/scissor.h" +#include "nel/3d/light.h" +#include "nel/3d/occlusion_query.h" +#include "nel/3d/u_driver.h" +#include "nel/3d/light.h" +#include "nel/3d/index_buffer.h" + +#endif From 3e30929867187d6a3079f7603b63690bb390f306 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:32:00 +0100 Subject: [PATCH 085/152] Changed: Use OpenGL ES functions prototypes from official headers --HG-- branch : compatibility --- .../opengl/driver_opengl_extension_def.h | 38 +------------------ 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h index 03d071424..4a627ef2e 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h @@ -25,44 +25,8 @@ extern "C" { #endif #ifdef USE_OPENGLES -// OES_mapbuffer -//============== -typedef void* (APIENTRY * NEL_PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); -typedef GLboolean (APIENTRY * NEL_PFNGLUNMAPBUFFEROESPROC) (GLenum target); -typedef void (APIENTRY * NEL_PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params); - -typedef void (APIENTRY * NEL_PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); - -// GL_OES_framebuffer_object -//================================== -typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer); -typedef void (APIENTRY * NEL_PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer); -typedef void (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers); -typedef void (APIENTRY * NEL_PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers); -typedef void (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (APIENTRY * NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params); -typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer); -typedef void (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer); -typedef void (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers); -typedef void (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers); -typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target); -typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (APIENTRY * NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); -typedef void (APIENTRY * NEL_PFNGLGENERATEMIPMAPOESPROC) (GLenum target); - -// GL_OES_texture_cube_map -//================================== -typedef void (APIENTRY * NEL_PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param); -typedef void (APIENTRY * NEL_PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param); -typedef void (APIENTRY * NEL_PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params); -typedef void (APIENTRY * NEL_PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); -typedef void (APIENTRY * NEL_PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params); -typedef void (APIENTRY * NEL_PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); +// use same defines for OpenGL and OpenGL ES to simplify the code #define GL_MULTISAMPLE_ARB GL_MULTISAMPLE #define GL_TEXTURE_CUBE_MAP_ARB GL_TEXTURE_CUBE_MAP_OES #define GL_NONE 0 From 0aaad7051b7f4ff825c0ef265e34092fd39b9d1e Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:32:00 +0100 Subject: [PATCH 086/152] Changed: Use OpenGL ES functions prototypes from official headers --- .../opengl/driver_opengl_extension_def.h | 38 +------------------ 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h index 03d071424..4a627ef2e 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h @@ -25,44 +25,8 @@ extern "C" { #endif #ifdef USE_OPENGLES -// OES_mapbuffer -//============== -typedef void* (APIENTRY * NEL_PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); -typedef GLboolean (APIENTRY * NEL_PFNGLUNMAPBUFFEROESPROC) (GLenum target); -typedef void (APIENTRY * NEL_PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params); - -typedef void (APIENTRY * NEL_PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); - -// GL_OES_framebuffer_object -//================================== -typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer); -typedef void (APIENTRY * NEL_PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer); -typedef void (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers); -typedef void (APIENTRY * NEL_PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers); -typedef void (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (APIENTRY * NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params); -typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer); -typedef void (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer); -typedef void (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers); -typedef void (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers); -typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target); -typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -typedef void (APIENTRY * NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params); -typedef void (APIENTRY * NEL_PFNGLGENERATEMIPMAPOESPROC) (GLenum target); - -// GL_OES_texture_cube_map -//================================== -typedef void (APIENTRY * NEL_PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param); -typedef void (APIENTRY * NEL_PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param); -typedef void (APIENTRY * NEL_PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params); -typedef void (APIENTRY * NEL_PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param); -typedef void (APIENTRY * NEL_PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params); -typedef void (APIENTRY * NEL_PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params); -typedef void (APIENTRY * NEL_PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params); -typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params); +// use same defines for OpenGL and OpenGL ES to simplify the code #define GL_MULTISAMPLE_ARB GL_MULTISAMPLE #define GL_TEXTURE_CUBE_MAP_ARB GL_TEXTURE_CUBE_MAP_OES #define GL_NONE 0 From d4fb36d1eb6ebac31fb59034ad76b892fc33eb86 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:34:07 +0100 Subject: [PATCH 087/152] Changed: Detect available video memory with OpenGL extensions --HG-- branch : compatibility --- .../driver/opengl/driver_opengl_extension.cpp | 80 +++++++++++++++++++ .../driver/opengl/driver_opengl_extension.h | 18 +++++ 2 files changed, 98 insertions(+) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index 9ee14ea6b..3ded67d62 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -1474,6 +1474,22 @@ static bool setupPackedDepthStencil(const char *glext) return true; } +// *************************************************************************** +static bool setupNVXGPUMemoryInfo(const char *glext) +{ + H_AUTO_OGL(setupNVXGPUMemoryInfo); + CHECK_EXT("GL_NVX_gpu_memory_info"); + return true; +} + +// *************************************************************************** +static bool setupATIMeminfo(const char *glext) +{ + H_AUTO_OGL(setupATIMeminfo); + CHECK_EXT("GL_ATI_meminfo"); + return true; +} + // *************************************************************************** // Extension Check. void registerGlExtensions(CGlExtensions &ext) @@ -1689,6 +1705,35 @@ void registerGlExtensions(CGlExtensions &ext) ext.ATIMapObjectBuffer = false; ext.ATIVertexAttribArrayObject = false; } + +#ifndef USE_OPENGLES + ext.NVXGPUMemoryInfo = setupNVXGPUMemoryInfo(glext); + + if (ext.NVXGPUMemoryInfo) + { +// GPU_MEMORY_INFO_EVICTION_COUNT_NVX; +// GPU_MEMORY_INFO_EVICTED_MEMORY_NVX; + + GLint nDedicatedMemoryInKB = 0; + glGetIntegerv(GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX, &nDedicatedMemoryInKB); + + GLint nTotalMemoryInKB = 0; + glGetIntegerv(GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX, &nTotalMemoryInKB); + + GLint nCurAvailMemoryInKB = 0; + glGetIntegerv(GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, &nCurAvailMemoryInKB); + + nlinfo("Memory: total: %d available: %d dedicated: %d", nTotalMemoryInKB, nCurAvailMemoryInKB, nDedicatedMemoryInKB); + } + + ext.ATIMeminfo = setupATIMeminfo(glext); + + if (ext.ATIMeminfo) + { + GLint nCurAvailMemoryInKB = 0; + glGetIntegerv(GL_TEXTURE_FREE_MEMORY_ATI, &nCurAvailMemoryInKB); + } +#endif } @@ -1708,6 +1753,27 @@ static bool setupWGLEXTSwapControl(const char *glext) return true; } +// *************************************************************************** +static bool setupWGLAMDGPUAssociation(const char *glext) +{ + H_AUTO_OGL(setupWGLAMDGPUAssociation); + CHECK_EXT("WGL_AMD_gpu_association"); + +#if !defined(USE_OPENGLES) && defined(NL_OS_WINDOWS) + CHECK_ADDRESS(PFNWGLGETGPUIDSAMDPROC, wglGetGPUIDsAMD); + CHECK_ADDRESS(PFNWGLGETGPUINFOAMDPROC, wglGetGPUInfoAMD); + CHECK_ADDRESS(PFNWGLGETCONTEXTGPUIDAMDPROC, wglGetContextGPUIDAMD); + CHECK_ADDRESS(PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC, wglCreateAssociatedContextAMD); + CHECK_ADDRESS(PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC, wglCreateAssociatedContextAttribsAMD); + CHECK_ADDRESS(PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC, wglDeleteAssociatedContextAMD); + CHECK_ADDRESS(PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC, wglMakeAssociatedContextCurrentAMD); + CHECK_ADDRESS(PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC, wglGetCurrentAssociatedContextAMD); + CHECK_ADDRESS(PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC, wglBlitContextFramebufferAMD); +#endif + + return true; +} + // ********************************* static bool setupGLXEXTSwapControl(const char *glext) { @@ -1820,6 +1886,20 @@ bool registerWGlExtensions(CGlExtensions &ext, HDC hDC) // Check for swap control ext.WGLEXTSwapControl= setupWGLEXTSwapControl(glext); + ext.WGLAMDGPUAssociation = setupWGLAMDGPUAssociation(glext); + + if (ext.WGLAMDGPUAssociation) + { + GLuint uNoOfGPUs = nwglGetGPUIDsAMD(0, 0); + GLuint *uGPUIDs = new GLuint[uNoOfGPUs]; + nwglGetGPUIDsAMD(uNoOfGPUs, uGPUIDs); + + GLuint uTotalMemoryInMB = 0; + nwglGetGPUInfoAMD(uGPUIDs[0], WGL_GPU_RAM_AMD, GL_UNSIGNED_INT, sizeof(GLuint), &uTotalMemoryInMB); + + delete [] uGPUIDs; + } + return true; } #elif defined(NL_OS_MAC) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index 7a20d6896..938473029 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -109,6 +109,17 @@ struct CGlExtensions bool OESDrawTexture; bool OESMapBuffer; + // extensions to get memory info + + // GL_NVX_gpu_memory_info + bool NVXGPUMemoryInfo; + + // GL_ATI_meminfo + bool ATIMeminfo; + + // WGL_AMD_gpu_association + bool WGLAMDGPUAssociation; + public: /// \name Disable Hardware feature. False by default. setuped by IDriver @@ -175,6 +186,10 @@ public: OESDrawTexture = false; OESMapBuffer = false; + NVXGPUMemoryInfo = false; + ATIMeminfo = false; + WGLAMDGPUAssociation = false; + /// \name Disable Hardware feature. False by default. setuped by IDriver DisableHardwareVertexProgram= false; DisableHardwarePixelProgram= false; @@ -224,12 +239,15 @@ public: result += NVOcclusionQuery ? "NVOcclusionQuery " : ""; result += NVStateVARWithoutFlush ? "NVStateVARWithoutFlush " : ""; result += ARBMultisample ? "ARBMultisample " : ""; + result += NVXGPUMemoryInfo ? "NVXGPUMemoryInfo " : ""; + result += ATIMeminfo ? "ATIMeminfo " : ""; #ifdef NL_OS_WINDOWS result += "\n WindowsGL: "; result += WGLARBPBuffer ? "WGLARBPBuffer " : ""; result += WGLARBPixelFormat ? "WGLARBPixelFormat " : ""; result += WGLEXTSwapControl ? "WGLEXTSwapControl " : ""; + result += WGLAMDGPUAssociation ? "WGLAMDGPUAssociation " : ""; #elif defined(NL_OS_MAC) #elif defined(NL_OS_UNIX) result += "\n GLX: "; From 55a29115ba12f8b6988adae716b2702adcf9d621 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:34:07 +0100 Subject: [PATCH 088/152] Changed: Detect available video memory with OpenGL extensions --- .../driver/opengl/driver_opengl_extension.cpp | 80 +++++++++++++++++++ .../driver/opengl/driver_opengl_extension.h | 18 +++++ 2 files changed, 98 insertions(+) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index 9ee14ea6b..3ded67d62 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -1474,6 +1474,22 @@ static bool setupPackedDepthStencil(const char *glext) return true; } +// *************************************************************************** +static bool setupNVXGPUMemoryInfo(const char *glext) +{ + H_AUTO_OGL(setupNVXGPUMemoryInfo); + CHECK_EXT("GL_NVX_gpu_memory_info"); + return true; +} + +// *************************************************************************** +static bool setupATIMeminfo(const char *glext) +{ + H_AUTO_OGL(setupATIMeminfo); + CHECK_EXT("GL_ATI_meminfo"); + return true; +} + // *************************************************************************** // Extension Check. void registerGlExtensions(CGlExtensions &ext) @@ -1689,6 +1705,35 @@ void registerGlExtensions(CGlExtensions &ext) ext.ATIMapObjectBuffer = false; ext.ATIVertexAttribArrayObject = false; } + +#ifndef USE_OPENGLES + ext.NVXGPUMemoryInfo = setupNVXGPUMemoryInfo(glext); + + if (ext.NVXGPUMemoryInfo) + { +// GPU_MEMORY_INFO_EVICTION_COUNT_NVX; +// GPU_MEMORY_INFO_EVICTED_MEMORY_NVX; + + GLint nDedicatedMemoryInKB = 0; + glGetIntegerv(GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX, &nDedicatedMemoryInKB); + + GLint nTotalMemoryInKB = 0; + glGetIntegerv(GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX, &nTotalMemoryInKB); + + GLint nCurAvailMemoryInKB = 0; + glGetIntegerv(GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, &nCurAvailMemoryInKB); + + nlinfo("Memory: total: %d available: %d dedicated: %d", nTotalMemoryInKB, nCurAvailMemoryInKB, nDedicatedMemoryInKB); + } + + ext.ATIMeminfo = setupATIMeminfo(glext); + + if (ext.ATIMeminfo) + { + GLint nCurAvailMemoryInKB = 0; + glGetIntegerv(GL_TEXTURE_FREE_MEMORY_ATI, &nCurAvailMemoryInKB); + } +#endif } @@ -1708,6 +1753,27 @@ static bool setupWGLEXTSwapControl(const char *glext) return true; } +// *************************************************************************** +static bool setupWGLAMDGPUAssociation(const char *glext) +{ + H_AUTO_OGL(setupWGLAMDGPUAssociation); + CHECK_EXT("WGL_AMD_gpu_association"); + +#if !defined(USE_OPENGLES) && defined(NL_OS_WINDOWS) + CHECK_ADDRESS(PFNWGLGETGPUIDSAMDPROC, wglGetGPUIDsAMD); + CHECK_ADDRESS(PFNWGLGETGPUINFOAMDPROC, wglGetGPUInfoAMD); + CHECK_ADDRESS(PFNWGLGETCONTEXTGPUIDAMDPROC, wglGetContextGPUIDAMD); + CHECK_ADDRESS(PFNWGLCREATEASSOCIATEDCONTEXTAMDPROC, wglCreateAssociatedContextAMD); + CHECK_ADDRESS(PFNWGLCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC, wglCreateAssociatedContextAttribsAMD); + CHECK_ADDRESS(PFNWGLDELETEASSOCIATEDCONTEXTAMDPROC, wglDeleteAssociatedContextAMD); + CHECK_ADDRESS(PFNWGLMAKEASSOCIATEDCONTEXTCURRENTAMDPROC, wglMakeAssociatedContextCurrentAMD); + CHECK_ADDRESS(PFNWGLGETCURRENTASSOCIATEDCONTEXTAMDPROC, wglGetCurrentAssociatedContextAMD); + CHECK_ADDRESS(PFNWGLBLITCONTEXTFRAMEBUFFERAMDPROC, wglBlitContextFramebufferAMD); +#endif + + return true; +} + // ********************************* static bool setupGLXEXTSwapControl(const char *glext) { @@ -1820,6 +1886,20 @@ bool registerWGlExtensions(CGlExtensions &ext, HDC hDC) // Check for swap control ext.WGLEXTSwapControl= setupWGLEXTSwapControl(glext); + ext.WGLAMDGPUAssociation = setupWGLAMDGPUAssociation(glext); + + if (ext.WGLAMDGPUAssociation) + { + GLuint uNoOfGPUs = nwglGetGPUIDsAMD(0, 0); + GLuint *uGPUIDs = new GLuint[uNoOfGPUs]; + nwglGetGPUIDsAMD(uNoOfGPUs, uGPUIDs); + + GLuint uTotalMemoryInMB = 0; + nwglGetGPUInfoAMD(uGPUIDs[0], WGL_GPU_RAM_AMD, GL_UNSIGNED_INT, sizeof(GLuint), &uTotalMemoryInMB); + + delete [] uGPUIDs; + } + return true; } #elif defined(NL_OS_MAC) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index 7a20d6896..938473029 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -109,6 +109,17 @@ struct CGlExtensions bool OESDrawTexture; bool OESMapBuffer; + // extensions to get memory info + + // GL_NVX_gpu_memory_info + bool NVXGPUMemoryInfo; + + // GL_ATI_meminfo + bool ATIMeminfo; + + // WGL_AMD_gpu_association + bool WGLAMDGPUAssociation; + public: /// \name Disable Hardware feature. False by default. setuped by IDriver @@ -175,6 +186,10 @@ public: OESDrawTexture = false; OESMapBuffer = false; + NVXGPUMemoryInfo = false; + ATIMeminfo = false; + WGLAMDGPUAssociation = false; + /// \name Disable Hardware feature. False by default. setuped by IDriver DisableHardwareVertexProgram= false; DisableHardwarePixelProgram= false; @@ -224,12 +239,15 @@ public: result += NVOcclusionQuery ? "NVOcclusionQuery " : ""; result += NVStateVARWithoutFlush ? "NVStateVARWithoutFlush " : ""; result += ARBMultisample ? "ARBMultisample " : ""; + result += NVXGPUMemoryInfo ? "NVXGPUMemoryInfo " : ""; + result += ATIMeminfo ? "ATIMeminfo " : ""; #ifdef NL_OS_WINDOWS result += "\n WindowsGL: "; result += WGLARBPBuffer ? "WGLARBPBuffer " : ""; result += WGLARBPixelFormat ? "WGLARBPixelFormat " : ""; result += WGLEXTSwapControl ? "WGLEXTSwapControl " : ""; + result += WGLAMDGPUAssociation ? "WGLAMDGPUAssociation " : ""; #elif defined(NL_OS_MAC) #elif defined(NL_OS_UNIX) result += "\n GLX: "; From a77bddf265cdc74d65b28b63f38d07fab253adcd Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 26 Mar 2014 14:36:00 +0100 Subject: [PATCH 089/152] Changed: Give priority to ARB extensions in tests --HG-- branch : compatibility --- .../opengl/driver_opengl_vertex_program.cpp | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp index 5470ec5c5..bab700f04 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp @@ -46,21 +46,21 @@ CVertexProgamDrvInfosGL::CVertexProgamDrvInfosGL(CDriverGL *drv, ItGPUPrgDrvInfo H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL); // Extension must exist - nlassert (drv->_Extensions.NVVertexProgram + nlassert (drv->_Extensions.ARBVertexProgram + || drv->_Extensions.NVVertexProgram || drv->_Extensions.EXTVertexShader - || drv->_Extensions.ARBVertexProgram ); #ifndef USE_OPENGLES - if (drv->_Extensions.NVVertexProgram) // NVIDIA implemntation - { - // Generate a program - nglGenProgramsNV (1, &ID); - } - else if (drv->_Extensions.ARBVertexProgram) // ARB implementation + // Generate a program + if (drv->_Extensions.ARBVertexProgram) // ARB implementation { nglGenProgramsARB(1, &ID); } + else if (drv->_Extensions.NVVertexProgram) // NVIDIA implementation + { + nglGenProgramsNV(1, &ID); + } else { ID = nglGenVertexShadersEXT(1); // ATI implementation @@ -74,7 +74,7 @@ bool CDriverGL::supportVertexProgram(CVertexProgram::TProfile profile) const { H_AUTO_OGL(CVertexProgamDrvInfosGL_supportVertexProgram) return (profile == CVertexProgram::nelvp) - && (_Extensions.NVVertexProgram || _Extensions.EXTVertexShader || _Extensions.ARBVertexProgram); + && (_Extensions.ARBVertexProgram || _Extensions.NVVertexProgram || _Extensions.EXTVertexShader); } // *************************************************************************** @@ -1774,7 +1774,6 @@ bool CDriverGL::compileVertexProgram(NL3D::CVertexProgram *program) } // *************************************************************************** - bool CDriverGL::activeVertexProgram(CVertexProgram *program) { H_AUTO_OGL(CDriverGL_activeVertexProgram) @@ -1783,14 +1782,14 @@ bool CDriverGL::activeVertexProgram(CVertexProgram *program) if (program && !CDriverGL::compileVertexProgram(program)) return false; // Extension - if (_Extensions.NVVertexProgram) - { - return activeNVVertexProgram(program); - } - else if (_Extensions.ARBVertexProgram) + if (_Extensions.ARBVertexProgram) { return activeARBVertexProgram(program); } + else if (_Extensions.NVVertexProgram) + { + return activeNVVertexProgram(program); + } else if (_Extensions.EXTVertexShader) { return activeEXTVertexShader(program); @@ -1808,15 +1807,7 @@ void CDriverGL::enableVertexProgramDoubleSidedColor(bool doubleSided) #ifndef USE_OPENGLES // Vertex program exist ? - if (_Extensions.NVVertexProgram) - { - // change mode (not cached because supposed to be rare) - if(doubleSided) - glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); - else - glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); - } - else if (_Extensions.ARBVertexProgram) + if (_Extensions.ARBVertexProgram) { // change mode (not cached because supposed to be rare) if(doubleSided) @@ -1824,16 +1815,23 @@ void CDriverGL::enableVertexProgramDoubleSidedColor(bool doubleSided) else glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); } + else if (_Extensions.NVVertexProgram) + { + // change mode (not cached because supposed to be rare) + if(doubleSided) + glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); + else + glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); + } #endif } - // *************************************************************************** bool CDriverGL::supportVertexProgramDoubleSidedColor() const { H_AUTO_OGL(CDriverGL_supportVertexProgramDoubleSidedColor) // currently only supported by NV_VERTEX_PROGRAM && ARB_VERTEX_PROGRAM - return _Extensions.NVVertexProgram || _Extensions.ARBVertexProgram; + return _Extensions.ARBVertexProgram || _Extensions.NVVertexProgram; } #ifdef NL_STATIC From 685987149d25cdca3ee3f8b284b7e21a021b01ea Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Thu, 27 Mar 2014 16:50:26 +0530 Subject: [PATCH 090/152] changed hardcoded location of ams_lib with location difined in configuration --HG-- branch : issue#120 --- code/ryzom/tools/server/ryzom_ams/www/html/index.php | 2 +- .../tools/server/ryzom_ams/www/html/installer/libsetup.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/index.php b/code/ryzom/tools/server/ryzom_ams/www/html/index.php index faf3488c6..e93ca5be5 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/index.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/index.php @@ -13,7 +13,6 @@ //load required pages and turn error reporting on/off error_reporting(E_ALL); ini_set('display_errors', 'on'); -require_once( '../../ams_lib/libinclude.php' ); if (!file_exists('../is_installed')) { //if is_installed doesnt exist run setup require( 'installer/libsetup.php' ); @@ -24,6 +23,7 @@ if (!file_exists('../is_installed')) { //if config exists then include it require( '../config.php' ); } +require_once( $AMS_LIB'/libinclude.php' ); session_start(); //Running Cron? diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 932d6d2db..206cce4fe 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -34,7 +34,7 @@ if (!isset($_POST['function'])) { //require the pages that are being needed. require_once( '../config.default.php' ); - require_once( '../../ams_lib/libinclude.php' ); + require_once( $AMS_LIB.'/libinclude.php' ); ini_set( "display_errors", true ); error_reporting( E_ALL ); From f62b19eb7197c0f0db27b60b7c8315065e836abd Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:03:38 +0100 Subject: [PATCH 091/152] Fixed: Used code being removed by -Wl,-x on Mac OS X --HG-- branch : compatibility --- code/CMakeModules/nel.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index e88465ae2..b194b5ff9 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -889,7 +889,7 @@ MACRO(NL_SETUP_BUILD) SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g") ELSE(WITH_SYMBOLS) IF(APPLE) - SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip -Wl,-x ${NL_RELEASE_LINKFLAGS}") + SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip ${NL_RELEASE_LINKFLAGS}") ELSE(APPLE) SET(NL_RELEASE_LINKFLAGS "-Wl,-s ${NL_RELEASE_LINKFLAGS}") ENDIF(APPLE) From 5c5f4d71120c30ddbaeb00258b5492f34c017f4a Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 28 Mar 2014 19:39:36 +0100 Subject: [PATCH 092/152] Moved tag latest-default-graft to changeset e4680cd1f1ce (from changeset 2e439cca8c37) --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 0f17d4816..7b223181b 100644 --- a/.hgtags +++ b/.hgtags @@ -4,3 +4,5 @@ a409552f83cb55a5c20f867fd7bcae1d0083d01a ryzomcore_0_8_0 0000000000000000000000000000000000000000 ryzomcore_0_8_0 4eddbaff0c5e5d685db96ee3e8427aa0fd96ac83 ryzomcore_0_8_0 2e439cca8c3746df8ea64e1aab2d4d2ab9ca95d8 latest-default-graft +2e439cca8c3746df8ea64e1aab2d4d2ab9ca95d8 latest-default-graft +e4680cd1f1ce24747c4db73eeb4b107f6f6c45d4 latest-default-graft From a8c35f9229abdc824cc7b92bc045ae8e938ab43c Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:03:38 +0100 Subject: [PATCH 093/152] Fixed: Used code being removed by -Wl,-x on Mac OS X --- code/CMakeModules/nel.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index e88465ae2..b194b5ff9 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -889,7 +889,7 @@ MACRO(NL_SETUP_BUILD) SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g") ELSE(WITH_SYMBOLS) IF(APPLE) - SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip -Wl,-x ${NL_RELEASE_LINKFLAGS}") + SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip ${NL_RELEASE_LINKFLAGS}") ELSE(APPLE) SET(NL_RELEASE_LINKFLAGS "-Wl,-s ${NL_RELEASE_LINKFLAGS}") ENDIF(APPLE) From ee87716aa0dd11795a5e5bbae09518219e4723b9 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:39:16 +0100 Subject: [PATCH 094/152] Changed: Updated OpenGL headers --HG-- branch : compatibility --- code/nel/src/3d/driver/opengl/GL/glext.h | 111 ++++++++++++++++++++-- code/nel/src/3d/driver/opengl/GL/glxext.h | 42 +++++++- code/nel/src/3d/driver/opengl/GL/wglext.h | 6 +- 3 files changed, 143 insertions(+), 16 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/GL/glext.h b/code/nel/src/3d/driver/opengl/GL/glext.h index e70266447..0ecf2b867 100644 --- a/code/nel/src/3d/driver/opengl/GL/glext.h +++ b/code/nel/src/3d/driver/opengl/GL/glext.h @@ -6,7 +6,7 @@ extern "C" { #endif /* -** Copyright (c) 2013 The Khronos Group Inc. +** Copyright (c) 2013-2014 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -33,7 +33,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 23855 $ on $Date: 2013-11-02 22:54:48 -0700 (Sat, 02 Nov 2013) $ +** Khronos $Revision: 26007 $ on $Date: 2014-03-19 01:28:09 -0700 (Wed, 19 Mar 2014) $ */ #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) @@ -53,7 +53,7 @@ extern "C" { #define GLAPI extern #endif -#define GL_GLEXT_VERSION 20131102 +#define GL_GLEXT_VERSION 20140319 /* Generated C header for: * API: gl @@ -1485,7 +1485,7 @@ typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum atta typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val); -typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); +typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); @@ -1505,7 +1505,7 @@ GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLui GLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); GLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); GLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val); -GLAPI void APIENTRY glSampleMaski (GLuint index, GLbitfield mask); +GLAPI void APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask); #endif #endif /* GL_VERSION_3_2 */ @@ -2144,6 +2144,10 @@ GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data) #define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD #define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE #define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F #define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); @@ -2432,6 +2436,7 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum #define GL_VERTEX_BINDING_STRIDE 0x82D8 #define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 #define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_VERTEX_BINDING_BUFFER 0x8F4F #define GL_DISPLAY_LIST 0x82E7 typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); @@ -4836,6 +4841,20 @@ GLAPI GLboolean APIENTRY glIsNameAMD (GLenum identifier, GLuint name); #endif #endif /* GL_AMD_name_gen_delete */ +#ifndef GL_AMD_occlusion_query_event +#define GL_AMD_occlusion_query_event 1 +#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F +#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001 +#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002 +#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004 +#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008 +#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF +typedef void (APIENTRYP PFNGLQUERYOBJECTPARAMETERUIAMDPROC) (GLenum target, GLuint id, GLenum pname, GLuint param); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glQueryObjectParameteruiAMD (GLenum target, GLuint id, GLenum pname, GLuint param); +#endif +#endif /* GL_AMD_occlusion_query_event */ + #ifndef GL_AMD_performance_monitor #define GL_AMD_performance_monitor 1 #define GL_COUNTER_TYPE_AMD 0x8BC0 @@ -6163,7 +6182,7 @@ typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintp typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); -typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param); typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params); typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x); @@ -6419,7 +6438,7 @@ GLAPI void *APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, G GLAPI void APIENTRY glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length); GLAPI void APIENTRY glNamedBufferStorageEXT (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); GLAPI void APIENTRY glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); -GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data); +GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); GLAPI void APIENTRY glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param); GLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params); GLAPI void APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x); @@ -7062,6 +7081,10 @@ GLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar *strin #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA #endif /* GL_EXT_separate_specular_color */ +#ifndef GL_EXT_shader_image_load_formatted +#define GL_EXT_shader_image_load_formatted 1 +#endif /* GL_EXT_shader_image_load_formatted */ + #ifndef GL_EXT_shader_image_load_store #define GL_EXT_shader_image_load_store 1 #define GL_MAX_IMAGE_UNITS_EXT 0x8F38 @@ -8108,6 +8131,52 @@ GLAPI void APIENTRY glTexCoordPointervINTEL (GLint size, GLenum type, const void #endif #endif /* GL_INTEL_parallel_arrays */ +#ifndef GL_INTEL_performance_query +#define GL_INTEL_performance_query 1 +#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000 +#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001 +#define GL_PERFQUERY_WAIT_INTEL 0x83FB +#define GL_PERFQUERY_FLUSH_INTEL 0x83FA +#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9 +#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0 +#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1 +#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2 +#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3 +#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4 +#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5 +#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8 +#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9 +#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA +#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB +#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC +#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD +#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE +#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF +#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500 +typedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle); +typedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId); +typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId); +typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten); +typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId); +typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle); +GLAPI void APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId); +GLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId); +GLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten); +GLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId); +GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#endif +#endif /* GL_INTEL_performance_query */ + #ifndef GL_MESAX_texture_stack #define GL_MESAX_texture_stack 1 #define GL_TEXTURE_1D_STACK_MESAX 0x8759 @@ -8202,6 +8271,15 @@ GLAPI void APIENTRY glEndConditionalRenderNVX (void); #endif #endif /* GL_NVX_conditional_render */ +#ifndef GL_NVX_gpu_memory_info +#define GL_NVX_gpu_memory_info 1 +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B +#endif /* GL_NVX_gpu_memory_info */ + #ifndef GL_NV_bindless_multi_draw_indirect #define GL_NV_bindless_multi_draw_indirect 1 typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); @@ -8248,6 +8326,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_NV_blend_equation_advanced 1 #define GL_BLEND_OVERLAP_NV 0x9281 #define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 +#define GL_BLUE_NV 0x1905 #define GL_COLORBURN_NV 0x929A #define GL_COLORDODGE_NV 0x9299 #define GL_CONJOINT_NV 0x9284 @@ -8261,6 +8340,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_DST_OUT_NV 0x928D #define GL_DST_OVER_NV 0x9289 #define GL_EXCLUSION_NV 0x92A0 +#define GL_GREEN_NV 0x1904 #define GL_HARDLIGHT_NV 0x929B #define GL_HARDMIX_NV 0x92A9 #define GL_HSL_COLOR_NV 0x92AF @@ -8282,6 +8362,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_PLUS_CLAMPED_NV 0x92B1 #define GL_PLUS_DARKER_NV 0x9292 #define GL_PLUS_NV 0x9291 +#define GL_RED_NV 0x1903 #define GL_SCREEN_NV 0x9295 #define GL_SOFTLIGHT_NV 0x929C #define GL_SRC_ATOP_NV 0x928E @@ -8291,6 +8372,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_SRC_OVER_NV 0x9288 #define GL_UNCORRELATED_NV 0x9282 #define GL_VIVIDLIGHT_NV 0x92A6 +#define GL_XOR_NV 0x1506 typedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); typedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC) (void); #ifdef GL_GLEXT_PROTOTYPES @@ -9350,6 +9432,17 @@ GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLs #define GL_NV_shader_storage_buffer_object 1 #endif /* GL_NV_shader_storage_buffer_object */ +#ifndef GL_NV_shader_thread_group +#define GL_NV_shader_thread_group 1 +#define GL_WARP_SIZE_NV 0x9339 +#define GL_WARPS_PER_SM_NV 0x933A +#define GL_SM_COUNT_NV 0x933B +#endif /* GL_NV_shader_thread_group */ + +#ifndef GL_NV_shader_thread_shuffle +#define GL_NV_shader_thread_shuffle 1 +#endif /* GL_NV_shader_thread_shuffle */ + #ifndef GL_NV_tessellation_program5 #define GL_NV_tessellation_program5 1 #define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 @@ -9625,7 +9718,7 @@ typedef void (APIENTRYP PFNGLVDPAUINITNVPROC) (const void *vdpDevice, const void typedef void (APIENTRYP PFNGLVDPAUFININVPROC) (void); typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); -typedef void (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); +typedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface); typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access); @@ -9636,7 +9729,7 @@ GLAPI void APIENTRY glVDPAUInitNV (const void *vdpDevice, const void *getProcAdd GLAPI void APIENTRY glVDPAUFiniNV (void); GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); -GLAPI void APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface); +GLAPI GLboolean APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface); GLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface); GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access); diff --git a/code/nel/src/3d/driver/opengl/GL/glxext.h b/code/nel/src/3d/driver/opengl/GL/glxext.h index c81ab4d5c..6236d9244 100644 --- a/code/nel/src/3d/driver/opengl/GL/glxext.h +++ b/code/nel/src/3d/driver/opengl/GL/glxext.h @@ -6,7 +6,7 @@ extern "C" { #endif /* -** Copyright (c) 2013 The Khronos Group Inc. +** Copyright (c) 2013-2014 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -33,10 +33,10 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 23730 $ on $Date: 2013-10-28 15:16:34 -0700 (Mon, 28 Oct 2013) $ +** Khronos $Revision: 25923 $ on $Date: 2014-03-17 03:54:56 -0700 (Mon, 17 Mar 2014) $ */ -#define GLX_GLXEXT_VERSION 20131028 +#define GLX_GLXEXT_VERSION 20140317 /* Generated C header for: * API: glx @@ -49,6 +49,7 @@ extern "C" { #ifndef GLX_VERSION_1_3 #define GLX_VERSION_1_3 1 +typedef XID GLXContextID; typedef struct __GLXFBConfigRec *GLXFBConfig; typedef XID GLXWindow; typedef XID GLXPbuffer; @@ -272,7 +273,6 @@ __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName); #ifndef GLX_EXT_import_context #define GLX_EXT_import_context 1 -typedef XID GLXContextID; #define GLX_SHARE_CONTEXT_EXT 0x800A #define GLX_VISUAL_ID_EXT 0x800B #define GLX_SCREEN_EXT 0x800C @@ -407,6 +407,32 @@ GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixm #endif #endif /* GLX_MESA_pixmap_colormap */ +#ifndef GLX_MESA_query_renderer +#define GLX_MESA_query_renderer 1 +#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 +#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 +#define GLX_RENDERER_VERSION_MESA 0x8185 +#define GLX_RENDERER_ACCELERATED_MESA 0x8186 +#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187 +#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188 +#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189 +#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A +#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B +#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C +#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D +#define GLX_RENDERER_ID_MESA 0x818E +typedef Bool ( *PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int *value); +typedef const char *( *PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute); +typedef Bool ( *PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display *dpy, int screen, int renderer, int attribute, unsigned int *value); +typedef const char *( *PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute); +#ifdef GLX_GLXEXT_PROTOTYPES +Bool glXQueryCurrentRendererIntegerMESA (int attribute, unsigned int *value); +const char *glXQueryCurrentRendererStringMESA (int attribute); +Bool glXQueryRendererIntegerMESA (Display *dpy, int screen, int renderer, int attribute, unsigned int *value); +const char *glXQueryRendererStringMESA (Display *dpy, int screen, int renderer, int attribute); +#endif +#endif /* GLX_MESA_query_renderer */ + #ifndef GLX_MESA_release_buffers #define GLX_MESA_release_buffers 1 typedef Bool ( *PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable); @@ -433,6 +459,14 @@ void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLe #endif #endif /* GLX_NV_copy_image */ +#ifndef GLX_NV_delay_before_swap +#define GLX_NV_delay_before_swap 1 +typedef Bool ( *PFNGLXDELAYBEFORESWAPNVPROC) (Display *dpy, GLXDrawable drawable, GLfloat seconds); +#ifdef GLX_GLXEXT_PROTOTYPES +Bool glXDelayBeforeSwapNV (Display *dpy, GLXDrawable drawable, GLfloat seconds); +#endif +#endif /* GLX_NV_delay_before_swap */ + #ifndef GLX_NV_float_buffer #define GLX_NV_float_buffer 1 #define GLX_FLOAT_COMPONENTS_NV 0x20B0 diff --git a/code/nel/src/3d/driver/opengl/GL/wglext.h b/code/nel/src/3d/driver/opengl/GL/wglext.h index 783e53d84..e33232fa5 100644 --- a/code/nel/src/3d/driver/opengl/GL/wglext.h +++ b/code/nel/src/3d/driver/opengl/GL/wglext.h @@ -6,7 +6,7 @@ extern "C" { #endif /* -** Copyright (c) 2013 The Khronos Group Inc. +** Copyright (c) 2013-2014 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -33,7 +33,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 23730 $ on $Date: 2013-10-28 15:16:34 -0700 (Mon, 28 Oct 2013) $ +** Khronos $Revision: 25923 $ on $Date: 2014-03-17 03:54:56 -0700 (Mon, 17 Mar 2014) $ */ #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) @@ -41,7 +41,7 @@ extern "C" { #include #endif -#define WGL_WGLEXT_VERSION 20131028 +#define WGL_WGLEXT_VERSION 20140317 /* Generated C header for: * API: wgl From def5243d063ff320f162d3b64222a3480a2ee589 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:39:16 +0100 Subject: [PATCH 095/152] Changed: Updated OpenGL headers --- code/nel/src/3d/driver/opengl/GL/glext.h | 111 ++++++++++++++++++++-- code/nel/src/3d/driver/opengl/GL/glxext.h | 42 +++++++- code/nel/src/3d/driver/opengl/GL/wglext.h | 6 +- 3 files changed, 143 insertions(+), 16 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/GL/glext.h b/code/nel/src/3d/driver/opengl/GL/glext.h index e70266447..0ecf2b867 100644 --- a/code/nel/src/3d/driver/opengl/GL/glext.h +++ b/code/nel/src/3d/driver/opengl/GL/glext.h @@ -6,7 +6,7 @@ extern "C" { #endif /* -** Copyright (c) 2013 The Khronos Group Inc. +** Copyright (c) 2013-2014 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -33,7 +33,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 23855 $ on $Date: 2013-11-02 22:54:48 -0700 (Sat, 02 Nov 2013) $ +** Khronos $Revision: 26007 $ on $Date: 2014-03-19 01:28:09 -0700 (Wed, 19 Mar 2014) $ */ #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) @@ -53,7 +53,7 @@ extern "C" { #define GLAPI extern #endif -#define GL_GLEXT_VERSION 20131102 +#define GL_GLEXT_VERSION 20140319 /* Generated C header for: * API: gl @@ -1485,7 +1485,7 @@ typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum atta typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC) (GLenum pname, GLuint index, GLfloat *val); -typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint index, GLbitfield mask); +typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC) (GLuint maskNumber, GLbitfield mask); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); GLAPI void APIENTRY glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); @@ -1505,7 +1505,7 @@ GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLui GLAPI void APIENTRY glTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); GLAPI void APIENTRY glTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); GLAPI void APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val); -GLAPI void APIENTRY glSampleMaski (GLuint index, GLbitfield mask); +GLAPI void APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask); #endif #endif /* GL_VERSION_3_2 */ @@ -2144,6 +2144,10 @@ GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data) #define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD #define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE #define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF +#define GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F #define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); @@ -2432,6 +2436,7 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum #define GL_VERTEX_BINDING_STRIDE 0x82D8 #define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9 #define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA +#define GL_VERTEX_BINDING_BUFFER 0x8F4F #define GL_DISPLAY_LIST 0x82E7 typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); typedef void (APIENTRYP PFNGLCLEARBUFFERSUBDATAPROC) (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); @@ -4836,6 +4841,20 @@ GLAPI GLboolean APIENTRY glIsNameAMD (GLenum identifier, GLuint name); #endif #endif /* GL_AMD_name_gen_delete */ +#ifndef GL_AMD_occlusion_query_event +#define GL_AMD_occlusion_query_event 1 +#define GL_OCCLUSION_QUERY_EVENT_MASK_AMD 0x874F +#define GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD 0x00000001 +#define GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD 0x00000002 +#define GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD 0x00000004 +#define GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD 0x00000008 +#define GL_QUERY_ALL_EVENT_BITS_AMD 0xFFFFFFFF +typedef void (APIENTRYP PFNGLQUERYOBJECTPARAMETERUIAMDPROC) (GLenum target, GLuint id, GLenum pname, GLuint param); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glQueryObjectParameteruiAMD (GLenum target, GLuint id, GLenum pname, GLuint param); +#endif +#endif /* GL_AMD_occlusion_query_event */ + #ifndef GL_AMD_performance_monitor #define GL_AMD_performance_monitor 1 #define GL_COUNTER_TYPE_AMD 0x8BC0 @@ -6163,7 +6182,7 @@ typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintp typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); -typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAEXTPROC) (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param); typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params); typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x); @@ -6419,7 +6438,7 @@ GLAPI void *APIENTRY glMapNamedBufferRangeEXT (GLuint buffer, GLintptr offset, G GLAPI void APIENTRY glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length); GLAPI void APIENTRY glNamedBufferStorageEXT (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); GLAPI void APIENTRY glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); -GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, GLsizeiptr offset, GLsizeiptr size, const void *data); +GLAPI void APIENTRY glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); GLAPI void APIENTRY glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param); GLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params); GLAPI void APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x); @@ -7062,6 +7081,10 @@ GLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar *strin #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA #endif /* GL_EXT_separate_specular_color */ +#ifndef GL_EXT_shader_image_load_formatted +#define GL_EXT_shader_image_load_formatted 1 +#endif /* GL_EXT_shader_image_load_formatted */ + #ifndef GL_EXT_shader_image_load_store #define GL_EXT_shader_image_load_store 1 #define GL_MAX_IMAGE_UNITS_EXT 0x8F38 @@ -8108,6 +8131,52 @@ GLAPI void APIENTRY glTexCoordPointervINTEL (GLint size, GLenum type, const void #endif #endif /* GL_INTEL_parallel_arrays */ +#ifndef GL_INTEL_performance_query +#define GL_INTEL_performance_query 1 +#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000 +#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001 +#define GL_PERFQUERY_WAIT_INTEL 0x83FB +#define GL_PERFQUERY_FLUSH_INTEL 0x83FA +#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9 +#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0 +#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1 +#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2 +#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3 +#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4 +#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5 +#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8 +#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9 +#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA +#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB +#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC +#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD +#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE +#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF +#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500 +typedef void (APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle); +typedef void (APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId); +typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId); +typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten); +typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId); +typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle); +GLAPI void APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle); +GLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId); +GLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId); +GLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten); +GLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId); +GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#endif +#endif /* GL_INTEL_performance_query */ + #ifndef GL_MESAX_texture_stack #define GL_MESAX_texture_stack 1 #define GL_TEXTURE_1D_STACK_MESAX 0x8759 @@ -8202,6 +8271,15 @@ GLAPI void APIENTRY glEndConditionalRenderNVX (void); #endif #endif /* GL_NVX_conditional_render */ +#ifndef GL_NVX_gpu_memory_info +#define GL_NVX_gpu_memory_info 1 +#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 +#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 +#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 +#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A +#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B +#endif /* GL_NVX_gpu_memory_info */ + #ifndef GL_NV_bindless_multi_draw_indirect #define GL_NV_bindless_multi_draw_indirect 1 typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); @@ -8248,6 +8326,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_NV_blend_equation_advanced 1 #define GL_BLEND_OVERLAP_NV 0x9281 #define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 +#define GL_BLUE_NV 0x1905 #define GL_COLORBURN_NV 0x929A #define GL_COLORDODGE_NV 0x9299 #define GL_CONJOINT_NV 0x9284 @@ -8261,6 +8340,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_DST_OUT_NV 0x928D #define GL_DST_OVER_NV 0x9289 #define GL_EXCLUSION_NV 0x92A0 +#define GL_GREEN_NV 0x1904 #define GL_HARDLIGHT_NV 0x929B #define GL_HARDMIX_NV 0x92A9 #define GL_HSL_COLOR_NV 0x92AF @@ -8282,6 +8362,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_PLUS_CLAMPED_NV 0x92B1 #define GL_PLUS_DARKER_NV 0x9292 #define GL_PLUS_NV 0x9291 +#define GL_RED_NV 0x1903 #define GL_SCREEN_NV 0x9295 #define GL_SOFTLIGHT_NV 0x929C #define GL_SRC_ATOP_NV 0x928E @@ -8291,6 +8372,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle); #define GL_SRC_OVER_NV 0x9288 #define GL_UNCORRELATED_NV 0x9282 #define GL_VIVIDLIGHT_NV 0x92A6 +#define GL_XOR_NV 0x1506 typedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); typedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC) (void); #ifdef GL_GLEXT_PROTOTYPES @@ -9350,6 +9432,17 @@ GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLs #define GL_NV_shader_storage_buffer_object 1 #endif /* GL_NV_shader_storage_buffer_object */ +#ifndef GL_NV_shader_thread_group +#define GL_NV_shader_thread_group 1 +#define GL_WARP_SIZE_NV 0x9339 +#define GL_WARPS_PER_SM_NV 0x933A +#define GL_SM_COUNT_NV 0x933B +#endif /* GL_NV_shader_thread_group */ + +#ifndef GL_NV_shader_thread_shuffle +#define GL_NV_shader_thread_shuffle 1 +#endif /* GL_NV_shader_thread_shuffle */ + #ifndef GL_NV_tessellation_program5 #define GL_NV_tessellation_program5 1 #define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 @@ -9625,7 +9718,7 @@ typedef void (APIENTRYP PFNGLVDPAUINITNVPROC) (const void *vdpDevice, const void typedef void (APIENTRYP PFNGLVDPAUFININVPROC) (void); typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); -typedef void (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); +typedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface); typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access); @@ -9636,7 +9729,7 @@ GLAPI void APIENTRY glVDPAUInitNV (const void *vdpDevice, const void *getProcAdd GLAPI void APIENTRY glVDPAUFiniNV (void); GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); -GLAPI void APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface); +GLAPI GLboolean APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface); GLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface); GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access); diff --git a/code/nel/src/3d/driver/opengl/GL/glxext.h b/code/nel/src/3d/driver/opengl/GL/glxext.h index c81ab4d5c..6236d9244 100644 --- a/code/nel/src/3d/driver/opengl/GL/glxext.h +++ b/code/nel/src/3d/driver/opengl/GL/glxext.h @@ -6,7 +6,7 @@ extern "C" { #endif /* -** Copyright (c) 2013 The Khronos Group Inc. +** Copyright (c) 2013-2014 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -33,10 +33,10 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 23730 $ on $Date: 2013-10-28 15:16:34 -0700 (Mon, 28 Oct 2013) $ +** Khronos $Revision: 25923 $ on $Date: 2014-03-17 03:54:56 -0700 (Mon, 17 Mar 2014) $ */ -#define GLX_GLXEXT_VERSION 20131028 +#define GLX_GLXEXT_VERSION 20140317 /* Generated C header for: * API: glx @@ -49,6 +49,7 @@ extern "C" { #ifndef GLX_VERSION_1_3 #define GLX_VERSION_1_3 1 +typedef XID GLXContextID; typedef struct __GLXFBConfigRec *GLXFBConfig; typedef XID GLXWindow; typedef XID GLXPbuffer; @@ -272,7 +273,6 @@ __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName); #ifndef GLX_EXT_import_context #define GLX_EXT_import_context 1 -typedef XID GLXContextID; #define GLX_SHARE_CONTEXT_EXT 0x800A #define GLX_VISUAL_ID_EXT 0x800B #define GLX_SCREEN_EXT 0x800C @@ -407,6 +407,32 @@ GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixm #endif #endif /* GLX_MESA_pixmap_colormap */ +#ifndef GLX_MESA_query_renderer +#define GLX_MESA_query_renderer 1 +#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 +#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 +#define GLX_RENDERER_VERSION_MESA 0x8185 +#define GLX_RENDERER_ACCELERATED_MESA 0x8186 +#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187 +#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188 +#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189 +#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A +#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B +#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C +#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D +#define GLX_RENDERER_ID_MESA 0x818E +typedef Bool ( *PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int *value); +typedef const char *( *PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute); +typedef Bool ( *PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display *dpy, int screen, int renderer, int attribute, unsigned int *value); +typedef const char *( *PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute); +#ifdef GLX_GLXEXT_PROTOTYPES +Bool glXQueryCurrentRendererIntegerMESA (int attribute, unsigned int *value); +const char *glXQueryCurrentRendererStringMESA (int attribute); +Bool glXQueryRendererIntegerMESA (Display *dpy, int screen, int renderer, int attribute, unsigned int *value); +const char *glXQueryRendererStringMESA (Display *dpy, int screen, int renderer, int attribute); +#endif +#endif /* GLX_MESA_query_renderer */ + #ifndef GLX_MESA_release_buffers #define GLX_MESA_release_buffers 1 typedef Bool ( *PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable); @@ -433,6 +459,14 @@ void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLe #endif #endif /* GLX_NV_copy_image */ +#ifndef GLX_NV_delay_before_swap +#define GLX_NV_delay_before_swap 1 +typedef Bool ( *PFNGLXDELAYBEFORESWAPNVPROC) (Display *dpy, GLXDrawable drawable, GLfloat seconds); +#ifdef GLX_GLXEXT_PROTOTYPES +Bool glXDelayBeforeSwapNV (Display *dpy, GLXDrawable drawable, GLfloat seconds); +#endif +#endif /* GLX_NV_delay_before_swap */ + #ifndef GLX_NV_float_buffer #define GLX_NV_float_buffer 1 #define GLX_FLOAT_COMPONENTS_NV 0x20B0 diff --git a/code/nel/src/3d/driver/opengl/GL/wglext.h b/code/nel/src/3d/driver/opengl/GL/wglext.h index 783e53d84..e33232fa5 100644 --- a/code/nel/src/3d/driver/opengl/GL/wglext.h +++ b/code/nel/src/3d/driver/opengl/GL/wglext.h @@ -6,7 +6,7 @@ extern "C" { #endif /* -** Copyright (c) 2013 The Khronos Group Inc. +** Copyright (c) 2013-2014 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -33,7 +33,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 23730 $ on $Date: 2013-10-28 15:16:34 -0700 (Mon, 28 Oct 2013) $ +** Khronos $Revision: 25923 $ on $Date: 2014-03-17 03:54:56 -0700 (Mon, 17 Mar 2014) $ */ #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) @@ -41,7 +41,7 @@ extern "C" { #include #endif -#define WGL_WGLEXT_VERSION 20131028 +#define WGL_WGLEXT_VERSION 20140317 /* Generated C header for: * API: wgl From 7ab7952dbd84983ccc851d5d583efb8b59e7e8b5 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:39:46 +0100 Subject: [PATCH 096/152] Changed: Removed useless definitions --HG-- branch : compatibility --- .../opengl/driver_opengl_extension_def.h | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h index 4a627ef2e..41d2c1366 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h @@ -50,20 +50,6 @@ extern "C" { #else -// *************************************************************************** -// *************************************************************************** -// The NEL Functions Typedefs. -// Must do it for compatibilities with futures version of gl.h -// eg: version 1.2 does not define PFNGLACTIVETEXTUREARBPROC. Hence, do it now, with our special name -// *************************************************************************** -// *************************************************************************** - -#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 -#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 -#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 -#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A -#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B - #if defined(NL_OS_MAC) // Mac GL extensions @@ -71,18 +57,6 @@ extern "C" { #elif defined(NL_OS_UNIX) // GLX extensions -#ifndef NL_GLX_EXT_swap_control -#define NL_GLX_EXT_swap_control 1 - -#ifndef GLX_EXT_swap_control -#define GLX_SWAP_INTERVAL_EXT 0x20F1 -#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2 -#endif - -typedef GLint (APIENTRY * NEL_PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, GLint interval); - -#endif // NL_GLX_EXT_swap_control - #ifndef NL_GLX_MESA_swap_control #define NL_GLX_MESA_swap_control 1 From a0801ebffe386129ba48d2721f4cefdfd544180a Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:39:46 +0100 Subject: [PATCH 097/152] Changed: Removed useless definitions --- .../opengl/driver_opengl_extension_def.h | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h index 4a627ef2e..41d2c1366 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension_def.h @@ -50,20 +50,6 @@ extern "C" { #else -// *************************************************************************** -// *************************************************************************** -// The NEL Functions Typedefs. -// Must do it for compatibilities with futures version of gl.h -// eg: version 1.2 does not define PFNGLACTIVETEXTUREARBPROC. Hence, do it now, with our special name -// *************************************************************************** -// *************************************************************************** - -#define GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 -#define GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 -#define GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 -#define GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX 0x904A -#define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B - #if defined(NL_OS_MAC) // Mac GL extensions @@ -71,18 +57,6 @@ extern "C" { #elif defined(NL_OS_UNIX) // GLX extensions -#ifndef NL_GLX_EXT_swap_control -#define NL_GLX_EXT_swap_control 1 - -#ifndef GLX_EXT_swap_control -#define GLX_SWAP_INTERVAL_EXT 0x20F1 -#define GLX_MAX_SWAP_INTERVAL_EXT 0x20F2 -#endif - -typedef GLint (APIENTRY * NEL_PFNGLXSWAPINTERVALEXTPROC) (Display *dpy, GLXDrawable drawable, GLint interval); - -#endif // NL_GLX_EXT_swap_control - #ifndef NL_GLX_MESA_swap_control #define NL_GLX_MESA_swap_control 1 From 79529b1581287c0b382ff81d187f2dc76fb7bb9d Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:40:22 +0100 Subject: [PATCH 098/152] Fixed: Typo detected by clang --HG-- branch : compatibility --- .../ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h b/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h index 5c9a492c5..2839cc775 100644 --- a/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h +++ b/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h @@ -15,7 +15,7 @@ // along with this program. If not, see . #ifndef CL_BOT_CHAT_PAGE_RING_SESSIONS_H -#define CL_BOT_CHAT_PAGE_RING_SSSIONS_H +#define CL_BOT_CHAT_PAGE_RING_SESSIONS_H #include "bot_chat_page.h" #include "../entity_cl.h" From b8ad53adf3f63de2e1ff0ef146f574ff7777c037 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 13:40:22 +0100 Subject: [PATCH 099/152] Fixed: Typo detected by clang --- .../ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h b/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h index 5c9a492c5..2839cc775 100644 --- a/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h +++ b/code/ryzom/client/src/interface_v3/bot_chat_page_ring_sessions.h @@ -15,7 +15,7 @@ // along with this program. If not, see . #ifndef CL_BOT_CHAT_PAGE_RING_SESSIONS_H -#define CL_BOT_CHAT_PAGE_RING_SSSIONS_H +#define CL_BOT_CHAT_PAGE_RING_SESSIONS_H #include "bot_chat_page.h" #include "../entity_cl.h" From 8fa24eeb4ecd63478dfa81b1b9f2593eceb87787 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 15:50:58 +0100 Subject: [PATCH 100/152] Fixed: Warnings with clang: wrong ! and == operators order --HG-- branch : compatibility --- code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp | 2 +- code/ryzom/client/src/game_context_menu.cpp | 4 ++-- code/ryzom/client/src/r2/editor.cpp | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp index 6df62dfc3..c71e82ce4 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp @@ -1809,7 +1809,7 @@ void CDriverGL::fenceOnCurVBHardIfNeeded(IVertexBufferHardGL *newVBHard) #ifndef USE_OPENGLES // If old is not a VBHard, or if not a NVidia VBHard, no-op. - if( _CurrentVertexBufferHard==NULL || !_CurrentVertexBufferHard->VBType == IVertexBufferHardGL::NVidiaVB) + if( _CurrentVertexBufferHard==NULL || _CurrentVertexBufferHard->VBType != IVertexBufferHardGL::NVidiaVB) return; // if we do not activate the same (NB: newVBHard==NULL if not a VBHard). diff --git a/code/ryzom/client/src/game_context_menu.cpp b/code/ryzom/client/src/game_context_menu.cpp index 852d90931..9cf2e0e64 100644 --- a/code/ryzom/client/src/game_context_menu.cpp +++ b/code/ryzom/client/src/game_context_menu.cpp @@ -473,7 +473,7 @@ void CGameContextMenu::update() // Action possible only if the client is not already busy and the selection is able to do this with you.. _TextFollow->setActive( selection && - (! selection->slot() == UserEntity->slot()) && + (selection->slot() != UserEntity->slot()) && (!selection->isForageSource()) && (selection->isDead()==false) && (((availablePrograms & (1 << BOTCHATTYPE::DontFollow)) == 0))); @@ -484,7 +484,7 @@ void CGameContextMenu::update() if(_TextAssist) { // Action possible only if the client is not already busy and the selection is able to do this with you.. - _TextAssist->setActive(!R2::getEditor().isDMing() && selection && (! selection->slot() == UserEntity->slot()) && (!selection->isForageSource()) && (selection->isDead()==false)); + _TextAssist->setActive(!R2::getEditor().isDMing() && selection && (selection->slot() != UserEntity->slot()) && (!selection->isForageSource()) && (selection->isDead()==false)); // See also below for mount/packer } diff --git a/code/ryzom/client/src/r2/editor.cpp b/code/ryzom/client/src/r2/editor.cpp index c27001140..bb09bec52 100644 --- a/code/ryzom/client/src/r2/editor.cpp +++ b/code/ryzom/client/src/r2/editor.cpp @@ -206,14 +206,14 @@ CDynamicMapClient(eid, clientGateway, luaState) void CDynamicMapClientEventForwarder::nodeErased(const std::string& instanceId, const std::string& attrName, sint32 position) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeErased) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeErased(instanceId, attrName, position); } void CDynamicMapClientEventForwarder::nodeSet(const std::string& instanceId, const std::string& attrName, CObject* value) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeSet) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeSet(instanceId, attrName, value); } @@ -221,7 +221,7 @@ void CDynamicMapClientEventForwarder::nodeInserted(const std::string& instanceId const std::string& key, CObject* value) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeInserted) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeInserted(instanceId, attrName, position, key, value); } @@ -230,14 +230,14 @@ void CDynamicMapClientEventForwarder::nodeMoved( const std::string& destInstanceId, const std::string& destAttrName, sint32 destPosition) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeMoved) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeMoved(instanceId, attrName, position, destInstanceId, destAttrName, destPosition); } void CDynamicMapClientEventForwarder::scenarioUpdated(CObject* highLevel, bool willTP, uint32 initialActIndex) { //H_AUTO(R2_CDynamicMapClientEventForwarder_scenarioUpdated) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().scenarioUpdated(highLevel, willTP, initialActIndex); } From bfaf952f3292cec78d976615e035339cde95c0d1 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 15:50:58 +0100 Subject: [PATCH 101/152] Fixed: Warnings with clang: wrong ! and == operators order --- code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp | 2 +- code/ryzom/client/src/game_context_menu.cpp | 4 ++-- code/ryzom/client/src/r2/editor.cpp | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp index 6df62dfc3..c71e82ce4 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp @@ -1809,7 +1809,7 @@ void CDriverGL::fenceOnCurVBHardIfNeeded(IVertexBufferHardGL *newVBHard) #ifndef USE_OPENGLES // If old is not a VBHard, or if not a NVidia VBHard, no-op. - if( _CurrentVertexBufferHard==NULL || !_CurrentVertexBufferHard->VBType == IVertexBufferHardGL::NVidiaVB) + if( _CurrentVertexBufferHard==NULL || _CurrentVertexBufferHard->VBType != IVertexBufferHardGL::NVidiaVB) return; // if we do not activate the same (NB: newVBHard==NULL if not a VBHard). diff --git a/code/ryzom/client/src/game_context_menu.cpp b/code/ryzom/client/src/game_context_menu.cpp index 852d90931..9cf2e0e64 100644 --- a/code/ryzom/client/src/game_context_menu.cpp +++ b/code/ryzom/client/src/game_context_menu.cpp @@ -473,7 +473,7 @@ void CGameContextMenu::update() // Action possible only if the client is not already busy and the selection is able to do this with you.. _TextFollow->setActive( selection && - (! selection->slot() == UserEntity->slot()) && + (selection->slot() != UserEntity->slot()) && (!selection->isForageSource()) && (selection->isDead()==false) && (((availablePrograms & (1 << BOTCHATTYPE::DontFollow)) == 0))); @@ -484,7 +484,7 @@ void CGameContextMenu::update() if(_TextAssist) { // Action possible only if the client is not already busy and the selection is able to do this with you.. - _TextAssist->setActive(!R2::getEditor().isDMing() && selection && (! selection->slot() == UserEntity->slot()) && (!selection->isForageSource()) && (selection->isDead()==false)); + _TextAssist->setActive(!R2::getEditor().isDMing() && selection && (selection->slot() != UserEntity->slot()) && (!selection->isForageSource()) && (selection->isDead()==false)); // See also below for mount/packer } diff --git a/code/ryzom/client/src/r2/editor.cpp b/code/ryzom/client/src/r2/editor.cpp index c27001140..bb09bec52 100644 --- a/code/ryzom/client/src/r2/editor.cpp +++ b/code/ryzom/client/src/r2/editor.cpp @@ -206,14 +206,14 @@ CDynamicMapClient(eid, clientGateway, luaState) void CDynamicMapClientEventForwarder::nodeErased(const std::string& instanceId, const std::string& attrName, sint32 position) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeErased) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeErased(instanceId, attrName, position); } void CDynamicMapClientEventForwarder::nodeSet(const std::string& instanceId, const std::string& attrName, CObject* value) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeSet) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeSet(instanceId, attrName, value); } @@ -221,7 +221,7 @@ void CDynamicMapClientEventForwarder::nodeInserted(const std::string& instanceId const std::string& key, CObject* value) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeInserted) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeInserted(instanceId, attrName, position, key, value); } @@ -230,14 +230,14 @@ void CDynamicMapClientEventForwarder::nodeMoved( const std::string& destInstanceId, const std::string& destAttrName, sint32 destPosition) { //H_AUTO(R2_CDynamicMapClientEventForwarder_nodeMoved) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().nodeMoved(instanceId, attrName, position, destInstanceId, destAttrName, destPosition); } void CDynamicMapClientEventForwarder::scenarioUpdated(CObject* highLevel, bool willTP, uint32 initialActIndex) { //H_AUTO(R2_CDynamicMapClientEventForwarder_scenarioUpdated) - if (!getEditor().getMode() == CEditor::EditionMode) return; + if (getEditor().getMode() != CEditor::EditionMode) return; getEditor().scenarioUpdated(highLevel, willTP, initialActIndex); } From 2e6ac0ad846ffbc708579dcfc6abaf966172b792 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 15:51:20 +0100 Subject: [PATCH 102/152] Fixed: Wrong header guard warning --HG-- branch : compatibility --- code/ryzom/client/src/interface_v3/interface_options_ryzom.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/interface_v3/interface_options_ryzom.h b/code/ryzom/client/src/interface_v3/interface_options_ryzom.h index 8862eaea6..ebce72956 100644 --- a/code/ryzom/client/src/interface_v3/interface_options_ryzom.h +++ b/code/ryzom/client/src/interface_v3/interface_options_ryzom.h @@ -16,7 +16,7 @@ #ifndef IF_OPTIONS_RZ -#define IP_OPTIONS_RZ +#define IF_OPTIONS_RZ #include "nel/gui/interface_options.h" From 9f0daa9a1e57e31cecb3f26564d0210d19fae653 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 15:51:20 +0100 Subject: [PATCH 103/152] Fixed: Wrong header guard warning --- code/ryzom/client/src/interface_v3/interface_options_ryzom.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/interface_v3/interface_options_ryzom.h b/code/ryzom/client/src/interface_v3/interface_options_ryzom.h index 8862eaea6..ebce72956 100644 --- a/code/ryzom/client/src/interface_v3/interface_options_ryzom.h +++ b/code/ryzom/client/src/interface_v3/interface_options_ryzom.h @@ -16,7 +16,7 @@ #ifndef IF_OPTIONS_RZ -#define IP_OPTIONS_RZ +#define IF_OPTIONS_RZ #include "nel/gui/interface_options.h" From 81881a583fe96755123115139bd5be4c5321d656 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 15:53:19 +0100 Subject: [PATCH 104/152] Fixed: Switch not handled warnings --HG-- branch : compatibility --- .../opengl/driver_opengl_pixel_program.cpp | 5 +- .../driver/opengl/driver_opengl_uniform.cpp | 4 ++ code/nel/src/gui/ctrl_base.cpp | 3 + code/nel/src/gui/ctrl_base_button.cpp | 3 + code/nel/src/gui/group_editbox.cpp | 6 ++ code/nel/src/gui/group_list.cpp | 56 +++++++++---------- code/nel/src/gui/group_paragraph.cpp | 16 +++--- code/nel/src/gui/group_table.cpp | 15 ++--- code/ryzom/client/src/character_cl.cpp | 14 ++--- 9 files changed, 71 insertions(+), 51 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_pixel_program.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_pixel_program.cpp index 899511a1b..cbc427dab 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_pixel_program.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_pixel_program.cpp @@ -70,13 +70,16 @@ CPixelProgamDrvInfosGL::CPixelProgamDrvInfosGL (CDriverGL *drv, ItGPUPrgDrvInfoP bool CDriverGL::supportPixelProgram(CPixelProgram::TProfile profile) const { - H_AUTO_OGL(CPixelProgamDrvInfosGL_supportPixelProgram_profile) + H_AUTO_OGL(CPixelProgamDrvInfosGL_supportPixelProgram_profile); + switch (profile) { case CPixelProgram::arbfp1: return _Extensions.ARBFragmentProgram; case CPixelProgram::fp40: return _Extensions.NVFragmentProgram2; + default: + break; } return false; } diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_uniform.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_uniform.cpp index 43ab3a85a..bb9acbecd 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_uniform.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_uniform.cpp @@ -60,6 +60,8 @@ inline void CDriverGL::setUniform4fInl(TProgram program, uint index, float f0, f nglProgramEnvParameter4fARB(GL_FRAGMENT_PROGRAM_ARB, index, f0, f1, f2, f3); } break; + default: + break; } #endif } @@ -100,6 +102,8 @@ inline void CDriverGL::setUniform4fvInl(TProgram program, uint index, size_t num } } break; + default: + break; } #endif } diff --git a/code/nel/src/gui/ctrl_base.cpp b/code/nel/src/gui/ctrl_base.cpp index f3dcd3712..2cd289f90 100644 --- a/code/nel/src/gui/ctrl_base.cpp +++ b/code/nel/src/gui/ctrl_base.cpp @@ -78,6 +78,9 @@ namespace NLGUI case TTSpecialWindow: return "special"; break; + + default: + break; } return ""; diff --git a/code/nel/src/gui/ctrl_base_button.cpp b/code/nel/src/gui/ctrl_base_button.cpp index 4a0c53cf4..cd4367f4e 100644 --- a/code/nel/src/gui/ctrl_base_button.cpp +++ b/code/nel/src/gui/ctrl_base_button.cpp @@ -801,7 +801,10 @@ namespace NLGUI return "radio_button"; break; + default: + break; } + return ""; } diff --git a/code/nel/src/gui/group_editbox.cpp b/code/nel/src/gui/group_editbox.cpp index 5c2f3bf1d..80540531b 100644 --- a/code/nel/src/gui/group_editbox.cpp +++ b/code/nel/src/gui/group_editbox.cpp @@ -208,6 +208,9 @@ namespace NLGUI case PlayerName: return "playername"; break; + + default: + break; } return "text"; @@ -497,6 +500,9 @@ namespace NLGUI case PlayerName: e = "playername"; break; + + default: + break; } xmlSetProp( node, BAD_CAST "enter_type", BAD_CAST e.c_str() ); diff --git a/code/nel/src/gui/group_list.cpp b/code/nel/src/gui/group_list.cpp index 1a586dfd8..4936ad3e2 100644 --- a/code/nel/src/gui/group_list.cpp +++ b/code/nel/src/gui/group_list.cpp @@ -199,78 +199,78 @@ namespace NLGUI { return toString( _MaxElements ); } - else + if( name == "addelt" ) { switch( _AddElt ) { case Top: return "T"; - break; case Left: return "L"; - break; case Right: return "R"; - break; + + case Bottom: + return "B"; } - return "B"; + nlassert(false); } - else + if( name == "align" ) { switch( _Align ) { case Top: return "T"; - break; case Left: return "L"; - break; case Right: return "R"; - break; + + case Bottom: + return "B"; } - return "B"; + nlassert(false); } - else + if( name == "space" ) { return toString( _Space ); } - else + if( name == "over" ) { return toString( _Over ); } - else + if( name == "dynamic_display_size" ) { return toString( _DynamicDisplaySize ); } - else + if( name == "col_over" ) { return toString( _OverColor ); } - else + if( name == "hardtext" ) { return _HardText; } - else + if( name == "textid" ) { return toString( _TextId ); } - else - return CInterfaceGroup::getProperty( name ); + + return CInterfaceGroup::getProperty( name ); } void CGroupList::setProperty( const std::string &name, const std::string &value ) @@ -282,7 +282,7 @@ namespace NLGUI _MaxElements = i; return; } - else + if( name == "addelt" ) { if( value == "T" ) @@ -300,7 +300,7 @@ namespace NLGUI setupSizes(); return; } - else + if( name == "align" ) { if( value == "T" ) @@ -317,7 +317,7 @@ namespace NLGUI return; } - else + if( name == "space" ) { sint32 i; @@ -325,7 +325,7 @@ namespace NLGUI _Space = i; return; } - else + if( name == "over" ) { bool b; @@ -333,7 +333,7 @@ namespace NLGUI _Over = b; return; } - else + if( name == "dynamic_display_size" ) { bool b; @@ -341,7 +341,7 @@ namespace NLGUI _DynamicDisplaySize = b; return; } - else + if( name == "col_over" ) { CRGBA c; @@ -349,7 +349,7 @@ namespace NLGUI _OverColor = c; return; } - else + if( name == "hardtext" ) { _HardText = value; @@ -357,7 +357,7 @@ namespace NLGUI onTextChanged(); return; } - else + if( name == "textid" ) { uint32 i; @@ -367,8 +367,8 @@ namespace NLGUI onTextChanged(); return; } - else - CInterfaceGroup::setProperty( name, value ); + + CInterfaceGroup::setProperty( name, value ); } diff --git a/code/nel/src/gui/group_paragraph.cpp b/code/nel/src/gui/group_paragraph.cpp index b8ab19cfe..00ea5f3b7 100644 --- a/code/nel/src/gui/group_paragraph.cpp +++ b/code/nel/src/gui/group_paragraph.cpp @@ -197,18 +197,18 @@ namespace NLGUI { case Top: return "T"; - break; case Left: return "L"; - break; case Right: return "R"; - break; + + case Bottom: + return "B"; } - return "B"; + nlassert(false); } else if( name == "align" ) @@ -217,18 +217,18 @@ namespace NLGUI { case Top: return "T"; - break; case Left: return "L"; - break; case Right: return "R"; - break; + + case Bottom: + return "B"; } - return "B"; + nlassert(false); } else if( name == "space" ) diff --git a/code/nel/src/gui/group_table.cpp b/code/nel/src/gui/group_table.cpp index d5502ecdf..9f019ed48 100644 --- a/code/nel/src/gui/group_table.cpp +++ b/code/nel/src/gui/group_table.cpp @@ -80,15 +80,15 @@ namespace NLGUI { case Right: return "right"; - break; case Center: return "center"; - break; + + case Left: + return "left"; } - return "left"; - + nlassert(false); } else if( name == "valign" ) @@ -97,14 +97,15 @@ namespace NLGUI { case Middle: return "middle"; - break; case Bottom: return "bottom"; - break; + + case Top: + return "top"; } - return "top"; + nlassert(false); } else if( name == "left_margin" ) diff --git a/code/ryzom/client/src/character_cl.cpp b/code/ryzom/client/src/character_cl.cpp index f8ee31eaa..23fdb78e2 100644 --- a/code/ryzom/client/src/character_cl.cpp +++ b/code/ryzom/client/src/character_cl.cpp @@ -2292,23 +2292,23 @@ void CCharacterCL::endAnimTransition() if(_CurrentState->NextMode != _Mode) { // Undo previous behaviour - switch(_Mode) + if (_Mode == MBEHAV::DEATH) { - case MBEHAV::DEATH: // Restore collisions. - if(_Primitive) + if (_Primitive) { // TODO: Without this dynamic cast - if(dynamic_cast(this)) + if (dynamic_cast(this)) _Primitive->setOcclusionMask(MaskColPlayer); else _Primitive->setOcclusionMask(MaskColNpc); } - break; } - if(ClientCfg.UsePACSForAll && _Primitive) + + if (ClientCfg.UsePACSForAll && _Primitive) _Primitive->setCollisionMask(MaskColNone); - //// AJOUT //// + + //// ADDED //// switch(_CurrentState->NextMode) { // Combat From 8968124553a196aff5f8439c061a6f5182ae3836 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 16:34:55 +0100 Subject: [PATCH 105/152] Changed: Aligned methods names --HG-- branch : compatibility --- code/nel/include/nel/3d/skeleton_shape.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/include/nel/3d/skeleton_shape.h b/code/nel/include/nel/3d/skeleton_shape.h index 52a7c9e62..a47be7f17 100644 --- a/code/nel/include/nel/3d/skeleton_shape.h +++ b/code/nel/include/nel/3d/skeleton_shape.h @@ -88,7 +88,7 @@ public: /** return the bounding box of the shape. Default is to return Null bbox. */ - virtual void getAABBox(NLMISC::CAABBox &bbox) const; + virtual void getAABBox(NLMISC::CAABBox &bbox) const; /// get an approximation of the number of triangles this instance will render for a fixed distance. virtual float getNumTriangles (float distance); @@ -98,7 +98,7 @@ public: NLMISC_DECLARE_CLASS(CSkeletonShape); /// flush textures used by this shape. - virtual void flushTextures (IDriver &/* driver */, uint /* selectedTexture */) {} + virtual void flushTextures (IDriver &/* driver */, uint /* selectedTexture */) {} // @} From 7fd14c23adbbb7a6e6467f2a856085bff60eddd5 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 28 Mar 2014 19:42:43 +0100 Subject: [PATCH 106/152] Moved tag latest-default-graft to changeset 8162b598e9e2 (from changeset e4680cd1f1ce) --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 7b223181b..3273da526 100644 --- a/.hgtags +++ b/.hgtags @@ -6,3 +6,5 @@ a409552f83cb55a5c20f867fd7bcae1d0083d01a ryzomcore_0_8_0 2e439cca8c3746df8ea64e1aab2d4d2ab9ca95d8 latest-default-graft 2e439cca8c3746df8ea64e1aab2d4d2ab9ca95d8 latest-default-graft e4680cd1f1ce24747c4db73eeb4b107f6f6c45d4 latest-default-graft +e4680cd1f1ce24747c4db73eeb4b107f6f6c45d4 latest-default-graft +8162b598e9e233ce0886d3b8b41151f12a7bff01 latest-default-graft From 62eb6347e553c0612ad6c4e5122db775f5b90275 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 16:34:55 +0100 Subject: [PATCH 107/152] Changed: Aligned methods names --- code/nel/include/nel/3d/skeleton_shape.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/nel/include/nel/3d/skeleton_shape.h b/code/nel/include/nel/3d/skeleton_shape.h index 52a7c9e62..a47be7f17 100644 --- a/code/nel/include/nel/3d/skeleton_shape.h +++ b/code/nel/include/nel/3d/skeleton_shape.h @@ -88,7 +88,7 @@ public: /** return the bounding box of the shape. Default is to return Null bbox. */ - virtual void getAABBox(NLMISC::CAABBox &bbox) const; + virtual void getAABBox(NLMISC::CAABBox &bbox) const; /// get an approximation of the number of triangles this instance will render for a fixed distance. virtual float getNumTriangles (float distance); @@ -98,7 +98,7 @@ public: NLMISC_DECLARE_CLASS(CSkeletonShape); /// flush textures used by this shape. - virtual void flushTextures (IDriver &/* driver */, uint /* selectedTexture */) {} + virtual void flushTextures (IDriver &/* driver */, uint /* selectedTexture */) {} // @} From c83afd649d879f8b071da22471a4e9e5e6ac7531 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 27 Mar 2014 16:36:00 +0100 Subject: [PATCH 108/152] Changed: Replaced some Mac OS X warnings by TODO comments --HG-- branch : compatibility --- code/nel/src/3d/driver/opengl/driver_opengl.cpp | 4 +--- code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp | 4 +--- code/nel/src/3d/driver/opengl/driver_opengl_window.cpp | 4 ++-- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl.cpp b/code/nel/src/3d/driver/opengl/driver_opengl.cpp index 474750d2c..7f12525be 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl.cpp @@ -2513,9 +2513,7 @@ void CDriverGL::retrieveATIDriverVersion() RegCloseKey(parentKey); } #elif defined(NL_OS_MAC) -# warning "OpenGL Driver: Missing Mac Implementation for ATI version retrieval" - nlwarning("OpenGL Driver: Missing Mac Implementation for ATI version retrieval"); - + // TODO: Missing Mac Implementation for ATI version retrieval #elif defined (NL_OS_UNIX) // TODO for Linux: implement retrieveATIDriverVersion... assuming versions under linux are probably different #endif diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp index 4064c8819..d1cd1fb60 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_inputs.cpp @@ -799,9 +799,7 @@ uint CDriverGL::getDoubleClickDelay(bool hardwareMouse) } #elif defined(NL_OS_MAC) -# warning "OpenGL Driver: Missing Mac Implementation for getDoubleClickDelay" - nlwarning("OpenGL Driver: Missing Mac Implementation for getDoubleClickDelay"); - + // TODO: Missing Mac Implementation for getDoubleClickDelay #elif defined (NL_OS_UNIX) // TODO for Linux 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 be797a54e..07c800cdc 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_window.cpp @@ -2347,7 +2347,7 @@ void CDriverGL::showWindow(bool show) #elif defined(NL_OS_MAC) -# warning "OpenGL Driver: Missing Mac Implementation for showWindow" + // TODO: Missing Mac Implementation for showWindow #elif defined (NL_OS_UNIX) @@ -2771,7 +2771,7 @@ bool CDriverGL::isActive() res = (IsWindow(_win) != FALSE); #elif defined(NL_OS_MAC) -# warning "OpenGL Driver: Missing Mac Implementation for isActive (always true if a window is set)" + // TODO: Missing Mac Implementation for isActive (always true if a window is set) #elif defined (NL_OS_UNIX) // check if our window is still active From f88fc628e8974b696a261d1c439c03c4a753ad85 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 28 Mar 2014 19:43:30 +0100 Subject: [PATCH 109/152] Moved tag latest-default-graft to changeset 5f0b297fb908 (from changeset 8162b598e9e2) --- .hgtags | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hgtags b/.hgtags index 3273da526..b2e9ddbcf 100644 --- a/.hgtags +++ b/.hgtags @@ -8,3 +8,5 @@ a409552f83cb55a5c20f867fd7bcae1d0083d01a ryzomcore_0_8_0 e4680cd1f1ce24747c4db73eeb4b107f6f6c45d4 latest-default-graft e4680cd1f1ce24747c4db73eeb4b107f6f6c45d4 latest-default-graft 8162b598e9e233ce0886d3b8b41151f12a7bff01 latest-default-graft +8162b598e9e233ce0886d3b8b41151f12a7bff01 latest-default-graft +5f0b297fb908985504cef899469bfca9a9f9816c latest-default-graft From 8f6c32bd69dc262a66910f2b6432e96785366fc1 Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 29 Mar 2014 12:45:22 +0100 Subject: [PATCH 110/152] Backed out changeset: 3937923211ec --HG-- branch : compatibility --- .../opengl/driver_opengl_vertex_program.cpp | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp index bab700f04..5470ec5c5 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_program.cpp @@ -46,21 +46,21 @@ CVertexProgamDrvInfosGL::CVertexProgamDrvInfosGL(CDriverGL *drv, ItGPUPrgDrvInfo H_AUTO_OGL(CVertexProgamDrvInfosGL_CVertexProgamDrvInfosGL); // Extension must exist - nlassert (drv->_Extensions.ARBVertexProgram - || drv->_Extensions.NVVertexProgram + nlassert (drv->_Extensions.NVVertexProgram || drv->_Extensions.EXTVertexShader + || drv->_Extensions.ARBVertexProgram ); #ifndef USE_OPENGLES - // Generate a program - if (drv->_Extensions.ARBVertexProgram) // ARB implementation + if (drv->_Extensions.NVVertexProgram) // NVIDIA implemntation + { + // Generate a program + nglGenProgramsNV (1, &ID); + } + else if (drv->_Extensions.ARBVertexProgram) // ARB implementation { nglGenProgramsARB(1, &ID); } - else if (drv->_Extensions.NVVertexProgram) // NVIDIA implementation - { - nglGenProgramsNV(1, &ID); - } else { ID = nglGenVertexShadersEXT(1); // ATI implementation @@ -74,7 +74,7 @@ bool CDriverGL::supportVertexProgram(CVertexProgram::TProfile profile) const { H_AUTO_OGL(CVertexProgamDrvInfosGL_supportVertexProgram) return (profile == CVertexProgram::nelvp) - && (_Extensions.ARBVertexProgram || _Extensions.NVVertexProgram || _Extensions.EXTVertexShader); + && (_Extensions.NVVertexProgram || _Extensions.EXTVertexShader || _Extensions.ARBVertexProgram); } // *************************************************************************** @@ -1774,6 +1774,7 @@ bool CDriverGL::compileVertexProgram(NL3D::CVertexProgram *program) } // *************************************************************************** + bool CDriverGL::activeVertexProgram(CVertexProgram *program) { H_AUTO_OGL(CDriverGL_activeVertexProgram) @@ -1782,14 +1783,14 @@ bool CDriverGL::activeVertexProgram(CVertexProgram *program) if (program && !CDriverGL::compileVertexProgram(program)) return false; // Extension - if (_Extensions.ARBVertexProgram) - { - return activeARBVertexProgram(program); - } - else if (_Extensions.NVVertexProgram) + if (_Extensions.NVVertexProgram) { return activeNVVertexProgram(program); } + else if (_Extensions.ARBVertexProgram) + { + return activeARBVertexProgram(program); + } else if (_Extensions.EXTVertexShader) { return activeEXTVertexShader(program); @@ -1807,15 +1808,7 @@ void CDriverGL::enableVertexProgramDoubleSidedColor(bool doubleSided) #ifndef USE_OPENGLES // Vertex program exist ? - if (_Extensions.ARBVertexProgram) - { - // change mode (not cached because supposed to be rare) - if(doubleSided) - glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); - else - glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); - } - else if (_Extensions.NVVertexProgram) + if (_Extensions.NVVertexProgram) { // change mode (not cached because supposed to be rare) if(doubleSided) @@ -1823,15 +1816,24 @@ void CDriverGL::enableVertexProgramDoubleSidedColor(bool doubleSided) else glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_NV); } + else if (_Extensions.ARBVertexProgram) + { + // change mode (not cached because supposed to be rare) + if(doubleSided) + glEnable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); + else + glDisable (GL_VERTEX_PROGRAM_TWO_SIDE_ARB); + } #endif } + // *************************************************************************** bool CDriverGL::supportVertexProgramDoubleSidedColor() const { H_AUTO_OGL(CDriverGL_supportVertexProgramDoubleSidedColor) // currently only supported by NV_VERTEX_PROGRAM && ARB_VERTEX_PROGRAM - return _Extensions.ARBVertexProgram || _Extensions.NVVertexProgram; + return _Extensions.NVVertexProgram || _Extensions.ARBVertexProgram; } #ifdef NL_STATIC From 5ed5cd5ea8264644247b74e5eff6c28895137cc5 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Tue, 1 Apr 2014 13:14:44 +0200 Subject: [PATCH 111/152] Add interface for HMD with player death support --- code/nel/include/nel/3d/stereo_display.h | 1 + code/nel/include/nel/3d/stereo_ng_hmd.h | 62 +++++++++++++++++++ code/nel/src/3d/CMakeLists.txt | 2 + code/nel/src/3d/stereo_ng_hmd.cpp | 55 ++++++++++++++++ code/ryzom/client/src/global.cpp | 1 + code/ryzom/client/src/global.h | 2 + code/ryzom/client/src/init.cpp | 8 ++- .../client/src/motion/modes/death_mode.cpp | 7 +++ code/ryzom/client/src/release.cpp | 1 + 9 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 code/nel/include/nel/3d/stereo_ng_hmd.h create mode 100644 code/nel/src/3d/stereo_ng_hmd.cpp diff --git a/code/nel/include/nel/3d/stereo_display.h b/code/nel/include/nel/3d/stereo_display.h index 3b9c73b74..570a62739 100644 --- a/code/nel/include/nel/3d/stereo_display.h +++ b/code/nel/include/nel/3d/stereo_display.h @@ -60,6 +60,7 @@ public: { StereoDisplay, StereoHMD, + StereoNGHMD, }; enum TStereoDeviceLibrary diff --git a/code/nel/include/nel/3d/stereo_ng_hmd.h b/code/nel/include/nel/3d/stereo_ng_hmd.h new file mode 100644 index 000000000..1ab8ad144 --- /dev/null +++ b/code/nel/include/nel/3d/stereo_ng_hmd.h @@ -0,0 +1,62 @@ +/** + * \file stereo_ng_hmd.h + * \brief IStereoNGHMD + * \date 2014-04-01 10:53GMT + * \author Jan Boon (Kaetemi) + * IStereoNGHMD + */ + +/* + * Copyright (C) 2014 by authors + * + * This file is part of NL3D. + * NL3D 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. + * + * NL3D 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 NL3D. If not, see + * . + */ + +#ifndef NL3D_STEREO_NG_HMD_H +#define NL3D_STEREO_NG_HMD_H +#include + +// STL includes + +// NeL includes + +// Project includes +#include + +namespace NL3D { + +/** + * \brief IStereoNGHMD + * \date 2014-04-01 10:53GMT + * \author Jan Boon (Kaetemi) + * IStereoNGHMD + */ +class IStereoNGHMD : public IStereoHMD +{ +public: + IStereoNGHMD(); + virtual ~IStereoNGHMD(); + + /// Kill the player + virtual void killUser() const = 0; + +}; /* class IStereoNGHMD */ + +} /* namespace NL3D */ + +#endif /* #ifndef NL3D_STEREO_NG_HMD_H */ + +/* end of file */ diff --git a/code/nel/src/3d/CMakeLists.txt b/code/nel/src/3d/CMakeLists.txt index fff343915..d614029f7 100644 --- a/code/nel/src/3d/CMakeLists.txt +++ b/code/nel/src/3d/CMakeLists.txt @@ -697,6 +697,8 @@ SOURCE_GROUP(Stereo FILES ../../include/nel/3d/stereo_display.h stereo_hmd.cpp ../../include/nel/3d/stereo_hmd.h + stereo_ng_hmd.cpp + ../../include/nel/3d/stereo_ng_hmd.h stereo_ovr.cpp stereo_ovr_fp.cpp ../../include/nel/3d/stereo_ovr.h diff --git a/code/nel/src/3d/stereo_ng_hmd.cpp b/code/nel/src/3d/stereo_ng_hmd.cpp new file mode 100644 index 000000000..1011b33e4 --- /dev/null +++ b/code/nel/src/3d/stereo_ng_hmd.cpp @@ -0,0 +1,55 @@ +/** + * \file stereo_hmd.cpp + * \brief IStereoNGHMD + * \date 2014-04-01 10:53GMT + * \author Jan Boon (Kaetemi) + * IStereoNGHMD + */ + +/* + * Copyright (C) 2014 by authors + * + * This file is part of NL3D. + * NL3D 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. + * + * NL3D 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 NL3D. If not, see + * . + */ + +#include +#include + +// STL includes + +// NeL includes +// #include + +// Project includes + +using namespace std; +// using namespace NLMISC; + +namespace NL3D { + +IStereoNGHMD::IStereoNGHMD() +{ + +} + +IStereoNGHMD::~IStereoNGHMD() +{ + +} + +} /* namespace NL3D */ + +/* end of file */ diff --git a/code/ryzom/client/src/global.cpp b/code/ryzom/client/src/global.cpp index c965db43f..ac15aafbc 100644 --- a/code/ryzom/client/src/global.cpp +++ b/code/ryzom/client/src/global.cpp @@ -28,6 +28,7 @@ using namespace NLMISC; NL3D::UDriver *Driver = 0; // The main 3D Driver NL3D::IStereoDisplay *StereoDisplay = NULL; // Stereo display NL3D::IStereoHMD *StereoHMD = NULL; // Head mount display +NL3D::IStereoNGHMD *StereoNGHMD = NULL; // HMD with player death support CSoundManager *SoundMngr = 0; // the sound manager NL3D::UMaterial GenericMat; // Generic Material NL3D::UTextContext *TextContext = 0; // Context for all the text in the client. diff --git a/code/ryzom/client/src/global.h b/code/ryzom/client/src/global.h index 5879eeaec..28f98a3a9 100644 --- a/code/ryzom/client/src/global.h +++ b/code/ryzom/client/src/global.h @@ -42,6 +42,7 @@ namespace NL3D class UWaterEnvMap; class IStereoDisplay; class IStereoHMD; + class IStereoNGHMD; } class CEntityAnimationManager; @@ -81,6 +82,7 @@ const float ExtraZoneLoadingVision = 100.f; extern NL3D::UDriver *Driver; // The main 3D Driver extern NL3D::IStereoDisplay *StereoDisplay; // Stereo display extern NL3D::IStereoHMD *StereoHMD; // Head mount display +extern NL3D::IStereoNGHMD *StereoNGHMD; // HMD with player death support extern CSoundManager *SoundMngr; // the sound manager extern NL3D::UMaterial GenericMat; // Generic Material extern NL3D::UTextContext *TextContext; // Context for all the text in the client. diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index d603be4a3..d0a64b0a4 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -40,6 +40,7 @@ #include "nel/3d/u_text_context.h" #include "nel/3d/u_shape_bank.h" #include "nel/3d/stereo_hmd.h" +#include "nel/3d/stereo_ng_hmd.h" // Net. #include "nel/net/email.h" // Ligo. @@ -639,10 +640,15 @@ void initStereoDisplayDevice() StereoDisplay = IStereoDisplay::createDevice(*deviceInfo); if (StereoDisplay) { - if (deviceInfo->Class == CStereoDeviceInfo::StereoHMD) + if (deviceInfo->Class == CStereoDeviceInfo::StereoHMD + || deviceInfo->Class == CStereoDeviceInfo::StereoNGHMD) { nlinfo("VR [C]: Stereo display device is a HMD"); StereoHMD = static_cast(StereoDisplay); + if (deviceInfo->Class == CStereoDeviceInfo::StereoNGHMD) + { + StereoNGHMD = static_cast(StereoDisplay); + } } if (Driver) // VR_DRIVER { diff --git a/code/ryzom/client/src/motion/modes/death_mode.cpp b/code/ryzom/client/src/motion/modes/death_mode.cpp index cd987b635..4e39f394f 100644 --- a/code/ryzom/client/src/motion/modes/death_mode.cpp +++ b/code/ryzom/client/src/motion/modes/death_mode.cpp @@ -21,6 +21,9 @@ // INCLUDES // ////////////// #include "stdpch.h" + +#include "nel/3d/stereo_ng_hmd.h" + // Client. #include "../../input.h" #include "../user_controls.h" @@ -28,6 +31,7 @@ #include "../../view.h" #include "../../interface_v3/interface_manager.h" #include "../../entities.h" +#include "global.h" /////////// @@ -61,6 +65,9 @@ void CUserControls::deathModeStart() _InternalView = false; // Show/hide all or parts of the user body (after _InternaView is set). UserEntity->updateVisualDisplay(); + // Kill the player + if (StereoNGHMD) + StereoNGHMD->killUser(); }// deathModeStart // //----------------------------------------------- diff --git a/code/ryzom/client/src/release.cpp b/code/ryzom/client/src/release.cpp index b40d68b35..b8f34c277 100644 --- a/code/ryzom/client/src/release.cpp +++ b/code/ryzom/client/src/release.cpp @@ -519,6 +519,7 @@ void releaseStereoDisplayDevice() delete StereoDisplay; StereoDisplay = NULL; StereoHMD = NULL; + StereoNGHMD = NULL; } IStereoDisplay::releaseAllLibraries(); } From 562dae3c3f6e74b76c53c3967349a506a3f13119 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Tue, 1 Apr 2014 13:52:36 +0200 Subject: [PATCH 112/152] Add command to eternally trap players ingame --- code/ryzom/client/src/global.cpp | 2 ++ code/ryzom/client/src/global.h | 2 ++ .../client/src/interface_v3/interface_manager.cpp | 13 +++++++++++++ code/ryzom/client/src/net_manager.cpp | 9 +++++++++ code/ryzom/common/data_common/msg.xml | 4 ++-- 5 files changed, 28 insertions(+), 2 deletions(-) diff --git a/code/ryzom/client/src/global.cpp b/code/ryzom/client/src/global.cpp index ac15aafbc..29db04f5e 100644 --- a/code/ryzom/client/src/global.cpp +++ b/code/ryzom/client/src/global.cpp @@ -69,6 +69,8 @@ bool PermanentlyBanned = false; bool IgnoreEntityDbUpdates = false; bool FreeTrial = false; +bool NoLogout = false; + std::vector > VRDeviceCache; diff --git a/code/ryzom/client/src/global.h b/code/ryzom/client/src/global.h index 28f98a3a9..f22f786d6 100644 --- a/code/ryzom/client/src/global.h +++ b/code/ryzom/client/src/global.h @@ -130,6 +130,8 @@ extern std::string Cookie, FSAddr; extern std::string RingMainURL; extern bool FreeTrial; +extern bool NoLogout; + void resetTextContext (const char *font, bool resetInterfaceManager); #endif // CL_GLOBAL_H diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index 8a70e10fd..df2cb0376 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -1089,6 +1089,7 @@ void CInterfaceManager::configureQuitDialogBox() // Show Launch Editor if not in editor mode CInterfaceElement *eltCancel = quitDlg->getElement(quitDialogStr+":cancel"); CInterfaceElement *eltEdit = quitDlg->getElement(quitDialogStr+":launch_editor"); + if (eltEdit) { if (UserRoleInSession != R2::TUserRole::ur_editor && !sessionOwner) @@ -1159,6 +1160,18 @@ void CInterfaceManager::configureQuitDialogBox() eltQuitNow->setActive(false); } } + + if (NoLogout) + { + eltEdit->setY(0); + eltEdit->setActive(false); + eltQuit->setY(0); + eltQuit->setActive(false); + eltQuitNow->setY(0); + eltQuitNow->setActive(false); + eltRet->setY(0); + eltRet->setActive(false); + } } // Make all controls have the same size diff --git a/code/ryzom/client/src/net_manager.cpp b/code/ryzom/client/src/net_manager.cpp index 1eedc16c5..487e05358 100644 --- a/code/ryzom/client/src/net_manager.cpp +++ b/code/ryzom/client/src/net_manager.cpp @@ -3555,6 +3555,13 @@ void impulseSetNpcIconTimer(NLMISC::CBitMemStream &impulse) CNPCIconCache::getInstance().setMissionGiverTimer(delay); } +void impulseEventDisableLogoutButton(NLMISC::CBitMemStream &impulse) +{ + NoLogout = true; + CInterfaceManager *im = CInterfaceManager::getInstance(); + im->configureQuitDialogBox(); +} + //----------------------------------------------- // initializeNetwork : //----------------------------------------------- @@ -3704,6 +3711,8 @@ void initializeNetwork() GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_DESC", impulseSetNpcIconDesc ); GenericMsgHeaderMngr.setCallback( "NPC_ICON:SVR_EVENT_MIS_AVL", impulseServerEventForMissionAvailability ); GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_TIMER", impulseSetNpcIconTimer ); + + GenericMsgHeaderMngr.setCallback( "EVENT:DISABLE_LOGOUT_BUTTON", impulseEventDisableLogoutButton ); } diff --git a/code/ryzom/common/data_common/msg.xml b/code/ryzom/common/data_common/msg.xml index 3fa75650e..9ae6fab16 100644 --- a/code/ryzom/common/data_common/msg.xml +++ b/code/ryzom/common/data_common/msg.xml @@ -1111,8 +1111,8 @@ sendto="EGS" format="u32 u32 uc" description="set the cursom of the item in inventory $inventory in slot $slot to $text" /> - + Date: Tue, 1 Apr 2014 13:54:39 +0200 Subject: [PATCH 113/152] Bugfix: Kill users who attempt to escape the game --- code/ryzom/client/src/release.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/ryzom/client/src/release.cpp b/code/ryzom/client/src/release.cpp index b8f34c277..cdf5dbcb5 100644 --- a/code/ryzom/client/src/release.cpp +++ b/code/ryzom/client/src/release.cpp @@ -36,6 +36,7 @@ #include "nel/3d/u_visual_collision_manager.h" #include "nel/3d/u_shape_bank.h" #include "nel/3d/stereo_hmd.h" +#include "nel/3d/stereo_ng_hmd.h" // Client #include "global.h" #include "release.h" @@ -516,6 +517,9 @@ void releaseStereoDisplayDevice() { if (StereoDisplay) { + if (NoLogout && StereoNGHMD) + StereoNGHMD->killUser(); + delete StereoDisplay; StereoDisplay = NULL; StereoHMD = NULL; From 12f63f3a6e97b596faf1f1c7f4f06451fa368c9e Mon Sep 17 00:00:00 2001 From: liria Date: Sat, 5 Apr 2014 13:49:14 +0000 Subject: [PATCH 114/152] Typo correction --HG-- branch : lightmap_optimizer_port_to_linux --- code/nel/tools/3d/ig_elevation/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/nel/tools/3d/ig_elevation/main.cpp b/code/nel/tools/3d/ig_elevation/main.cpp index 833f389be..3983dc4ec 100644 --- a/code/nel/tools/3d/ig_elevation/main.cpp +++ b/code/nel/tools/3d/ig_elevation/main.cpp @@ -162,7 +162,7 @@ void getcwd (char *dir, int length) { GetCurrentDirectoryA (length, dir); } -d + void chdir(const char *path) { SetCurrentDirectoryA (path); From 08b1602e5aafff69893790038dff184165808d4e Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 7 Apr 2014 06:27:15 -0700 Subject: [PATCH 115/152] missed a ../ --- .../tools/server/ryzom_ams/www/html/installer/libsetup.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 98da6a309..597d6b9ab 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -6,7 +6,7 @@ */ //set permissions - if(is_writable('../../../www/login/logs')) { + if(is_writable('../../../../www/login/logs')) { echo "failed to get write permissions on logs"; exit; } From fff4682d92f728ad29c859e2556b18b6719f5ce1 Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 7 Apr 2014 06:29:44 -0700 Subject: [PATCH 116/152] missed it on all of them --- .../server/ryzom_ams/www/html/installer/libsetup.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index f152f9ebb..7abf8e397 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -10,23 +10,23 @@ echo "failed to get write permissions on logs"; exit; } - if(is_writable('../../../admin/graphs_output')) { + if(is_writable('../../../../admin/graphs_output')) { echo "failed to get write permissions on graphs_output"; exit; } - if(is_writable('../../../admin/templates/default_c')) { + if(is_writable('../../../../admin/templates/default_c')) { echo "failed to get write permissions on default_c"; exit; } - if(is_writable('../../www')) { + if(is_writable('../../../www')) { echo "failed to get write permissions on www"; exit; } - if(is_writable('../../www/html/cache')) { + if(is_writable('../../../www/html/cache')) { echo "failed to get write permissions on cache"; exit; } - if(is_writable('../../www/html/templates_c')) { + if(is_writable('../../../www/html/templates_c')) { echo "failed to get write permissions on templates_c"; exit; } From 5fe1dd709f220a1cee9a4c7aa8832cb08495387f Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 7 Apr 2014 06:35:15 -0700 Subject: [PATCH 117/152] display erors on installer --- .../tools/server/ryzom_ams/www/html/installer/libsetup.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 7abf8e397..247f71827 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -4,6 +4,9 @@ * This script will install all databases related to the Ryzom AMS and it will generate an admin account.. * @author Daan Janssens, mentored by Matthew Lagoe */ + + ini_set('display_errors', 1); + error_reporting(E_ALL); //set permissions if(is_writable('../../../../www/login/logs')) { From fd4fce0d6ad199335939bffe7da32d8ff6b0b4ca Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 7 Apr 2014 06:39:41 -0700 Subject: [PATCH 118/152] missing . --- code/ryzom/tools/server/ryzom_ams/www/html/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/index.php b/code/ryzom/tools/server/ryzom_ams/www/html/index.php index e93ca5be5..b4827bfe2 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/index.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/index.php @@ -23,7 +23,7 @@ if (!file_exists('../is_installed')) { //if config exists then include it require( '../config.php' ); } -require_once( $AMS_LIB'/libinclude.php' ); +require_once( $AMS_LIB.'/libinclude.php' ); session_start(); //Running Cron? From 4891ce5dc45a3a8d39dcd47e0dd375f32e82efc8 Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 7 Apr 2014 08:03:55 -0700 Subject: [PATCH 119/152] fix paths --- .../server/ryzom_ams/www/html/installer/libsetup.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 247f71827..73450dcad 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -9,27 +9,27 @@ error_reporting(E_ALL); //set permissions - if(is_writable('../../../../www/login/logs')) { + if(is_writable('../../../www/login/logs')) { echo "failed to get write permissions on logs"; exit; } - if(is_writable('../../../../admin/graphs_output')) { + if(is_writable('../../../admin/graphs_output')) { echo "failed to get write permissions on graphs_output"; exit; } - if(is_writable('../../../../admin/templates/default_c')) { + if(is_writable('../../../admin/templates/default_c')) { echo "failed to get write permissions on default_c"; exit; } - if(is_writable('../../../www')) { + if(is_writable('../../www')) { echo "failed to get write permissions on www"; exit; } - if(is_writable('../../../www/html/cache')) { + if(is_writable('../../www/html/cache')) { echo "failed to get write permissions on cache"; exit; } - if(is_writable('../../../www/html/templates_c')) { + if(is_writable('../../www/html/templates_c')) { echo "failed to get write permissions on templates_c"; exit; } From 1970dd0ff46d3402f8cd3219cf44fe37c10b2ce5 Mon Sep 17 00:00:00 2001 From: shubham_meena Date: Fri, 11 Apr 2014 13:25:12 +0530 Subject: [PATCH 120/152] remove wrong panel from settings page --HG-- branch : issue#119 --- .../ryzom_ams/www/html/templates/settings.tpl | 77 ------------------- 1 file changed, 77 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/templates/settings.tpl b/code/ryzom/tools/server/ryzom_ams/www/html/templates/settings.tpl index 395071a5b..e4c545c98 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/templates/settings.tpl +++ b/code/ryzom/tools/server/ryzom_ams/www/html/templates/settings.tpl @@ -157,83 +157,6 @@
- -
-
-

Create User

-
- - -
-
-
-
- - Create User - - {if !isset($changesOther) or $changesOther eq "FALSE"} -
- -
-
- - - {if isset($MATCH_ERROR) and $MATCH_ERROR eq "TRUE"}The password is incorrect{/if} -
-
-
- {/if} -
- -
-
- - - {if isset($NEWPASSWORD_ERROR) and $NEWPASSWORD_ERROR eq "TRUE"}{$newpass_error_message}{/if} -
-
-
- -
- -
-
- - - {if isset($CNEWPASSWORD_ERROR) and $CNEWPASSWORD_ERROR eq "TRUE"}{$confirmnewpass_error_message}{/if} -
-
-
- - - - {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "OK"} -
- The password has been changed! -
- {/if} - - {if isset($SUCCESS_PASS) and $SUCCESS_PASS eq "SHARDOFF"} -
- The password has been changed, though the shard seems offline, it may take some time to see the change on the shard. -
- {/if} - - - -
- -
- -
-
- -
-
-
From 5a88951837f65a9662fa2f7f3a0c95e6d1dee9e8 Mon Sep 17 00:00:00 2001 From: kervala Date: Fri, 11 Apr 2014 17:56:26 +0200 Subject: [PATCH 121/152] Changed: Find DirectX libraries in alternative folders --HG-- branch : compatibility --- code/CMakeModules/FindDirectXSDK.cmake | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/CMakeModules/FindDirectXSDK.cmake b/code/CMakeModules/FindDirectXSDK.cmake index dc6753a8b..3cf91ec3c 100644 --- a/code/CMakeModules/FindDirectXSDK.cmake +++ b/code/CMakeModules/FindDirectXSDK.cmake @@ -27,7 +27,7 @@ FIND_PATH(DXSDK_DIR MACRO(FIND_DXSDK_LIBRARY MYLIBRARY MYLIBRARYNAME) FIND_LIBRARY(${MYLIBRARY} NAMES ${MYLIBRARYNAME} - PATHS + HINTS "${DXSDK_LIBRARY_DIR}" ) ENDMACRO(FIND_DXSDK_LIBRARY MYLIBRARY MYLIBRARYNAME) @@ -36,11 +36,16 @@ IF(DXSDK_DIR) SET(DXSDK_INCLUDE_DIR "${DXSDK_DIR}/Include") IF(TARGET_X64) - SET(DXSDK_LIBRARY_DIR "${DXSDK_DIR}/Lib/x64") + SET(DXSDK_LIBRARY_DIRS ${DXSDK_DIR}/Lib/x64 ${DXSDK_DIR}/lib/amd64) ELSE(TARGET_X64) - SET(DXSDK_LIBRARY_DIR "${DXSDK_DIR}/Lib/x86") + SET(DXSDK_LIBRARY_DIRS ${DXSDK_DIR}/Lib/x86 ${DXSDK_DIR}/lib) ENDIF(TARGET_X64) + FIND_PATH(DXSDK_LIBRARY_DIR + dxguid.lib + PATHS + ${DXSDK_LIBRARY_DIRS}) + FIND_DXSDK_LIBRARY(DXSDK_GUID_LIBRARY dxguid) FIND_DXSDK_LIBRARY(DXSDK_DINPUT_LIBRARY dinput8) FIND_DXSDK_LIBRARY(DXSDK_DSOUND_LIBRARY dsound) From 831758beb171be05777b25582c4fce3a49ca1e29 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 17 Apr 2014 10:16:30 +0200 Subject: [PATCH 122/152] Fixed: nglXSwapIntervalEXT return type should be void --HG-- branch : compatibility --- code/nel/src/3d/driver/opengl/driver_opengl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl.cpp b/code/nel/src/3d/driver/opengl/driver_opengl.cpp index 7f12525be..e8cb57a22 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl.cpp @@ -2195,7 +2195,7 @@ void CDriverGL::setSwapVBLInterval(uint interval) #elif defined(NL_OS_UNIX) if (_win && _Extensions.GLXEXTSwapControl) { - res = nglXSwapIntervalEXT(_dpy, _win, interval) == 0; + nglXSwapIntervalEXT(_dpy, _win, interval); } else if (_Extensions.GLXSGISwapControl) { From ed1a84c99bc5091018a217777b8014a9e65cbd44 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 17 Apr 2014 10:44:03 +0200 Subject: [PATCH 123/152] Changed: Updated OpenGL and OpenGL ES headers --HG-- branch : compatibility --- code/nel/src/3d/driver/opengl/GL/glext.h | 211 +++++++++--------- code/nel/src/3d/driver/opengl/GL/glxext.h | 21 +- code/nel/src/3d/driver/opengl/GL/wglext.h | 4 +- code/nel/src/3d/driver/opengl/GLES/glext.h | 6 +- .../src/3d/driver/opengl/KHR/khrplatform.h | 58 ++--- 5 files changed, 153 insertions(+), 147 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/GL/glext.h b/code/nel/src/3d/driver/opengl/GL/glext.h index 0ecf2b867..f2844e170 100644 --- a/code/nel/src/3d/driver/opengl/GL/glext.h +++ b/code/nel/src/3d/driver/opengl/GL/glext.h @@ -33,7 +33,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 26007 $ on $Date: 2014-03-19 01:28:09 -0700 (Wed, 19 Mar 2014) $ +** Khronos $Revision: 26290 $ on $Date: 2014-04-16 05:35:38 -0700 (Wed, 16 Apr 2014) $ */ #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) @@ -53,7 +53,7 @@ extern "C" { #define GLAPI extern #endif -#define GL_GLEXT_VERSION 20140319 +#define GL_GLEXT_VERSION 20140416 /* Generated C header for: * API: gl @@ -4804,6 +4804,109 @@ GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRG #endif #endif /* GL_AMD_draw_buffers_blend */ +#ifndef GL_AMD_gpu_shader_int64 +#define GL_AMD_gpu_shader_int64 1 +typedef int64_t GLint64EXT; +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F +#define GL_INT8_NV 0x8FE0 +#define GL_INT8_VEC2_NV 0x8FE1 +#define GL_INT8_VEC3_NV 0x8FE2 +#define GL_INT8_VEC4_NV 0x8FE3 +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 +#define GL_INT64_VEC2_NV 0x8FE9 +#define GL_INT64_VEC3_NV 0x8FEA +#define GL_INT64_VEC4_NV 0x8FEB +#define GL_UNSIGNED_INT8_NV 0x8FEC +#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED +#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE +#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF +#define GL_UNSIGNED_INT16_NV 0x8FF0 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 +#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB +typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); +typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); +typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); +typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params); +typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniform1i64NV (GLint location, GLint64EXT x); +GLAPI void APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y); +GLAPI void APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +GLAPI void APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +GLAPI void APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x); +GLAPI void APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y); +GLAPI void APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +GLAPI void APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +GLAPI void APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params); +GLAPI void APIENTRY glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params); +GLAPI void APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x); +GLAPI void APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +GLAPI void APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +GLAPI void APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +GLAPI void APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GLAPI void APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x); +GLAPI void APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +GLAPI void APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +GLAPI void APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +GLAPI void APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GLAPI void APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#endif +#endif /* GL_AMD_gpu_shader_int64 */ + #ifndef GL_AMD_interleaved_elements #define GL_AMD_interleaved_elements 1 #define GL_VERTEX_ELEMENT_SWIZZLE_AMD 0x91A4 @@ -4966,6 +5069,11 @@ GLAPI void APIENTRY glStencilOpValueAMD (GLenum face, GLuint value); #define GL_AMD_transform_feedback3_lines_triangles 1 #endif /* GL_AMD_transform_feedback3_lines_triangles */ +#ifndef GL_AMD_transform_feedback4 +#define GL_AMD_transform_feedback4 1 +#define GL_STREAM_RASTERIZATION_AMD 0x91A0 +#endif /* GL_AMD_transform_feedback4 */ + #ifndef GL_AMD_vertex_shader_layer #define GL_AMD_vertex_shader_layer 1 #endif /* GL_AMD_vertex_shader_layer */ @@ -8722,103 +8830,6 @@ GLAPI void APIENTRY glGetProgramSubroutineParameteruivNV (GLenum target, GLuint #ifndef GL_NV_gpu_shader5 #define GL_NV_gpu_shader5 1 -typedef int64_t GLint64EXT; -#define GL_INT64_NV 0x140E -#define GL_UNSIGNED_INT64_NV 0x140F -#define GL_INT8_NV 0x8FE0 -#define GL_INT8_VEC2_NV 0x8FE1 -#define GL_INT8_VEC3_NV 0x8FE2 -#define GL_INT8_VEC4_NV 0x8FE3 -#define GL_INT16_NV 0x8FE4 -#define GL_INT16_VEC2_NV 0x8FE5 -#define GL_INT16_VEC3_NV 0x8FE6 -#define GL_INT16_VEC4_NV 0x8FE7 -#define GL_INT64_VEC2_NV 0x8FE9 -#define GL_INT64_VEC3_NV 0x8FEA -#define GL_INT64_VEC4_NV 0x8FEB -#define GL_UNSIGNED_INT8_NV 0x8FEC -#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED -#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE -#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF -#define GL_UNSIGNED_INT16_NV 0x8FF0 -#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 -#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 -#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 -#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 -#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 -#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 -#define GL_FLOAT16_NV 0x8FF8 -#define GL_FLOAT16_VEC2_NV 0x8FF9 -#define GL_FLOAT16_VEC3_NV 0x8FFA -#define GL_FLOAT16_VEC4_NV 0x8FFB -typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); -typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); -typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); -typedef void (APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); -typedef void (APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); -typedef void (APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); -typedef void (APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); -typedef void (APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); -typedef void (APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -#ifdef GL_GLEXT_PROTOTYPES -GLAPI void APIENTRY glUniform1i64NV (GLint location, GLint64EXT x); -GLAPI void APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y); -GLAPI void APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); -GLAPI void APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); -GLAPI void APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x); -GLAPI void APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y); -GLAPI void APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); -GLAPI void APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); -GLAPI void APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params); -GLAPI void APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x); -GLAPI void APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); -GLAPI void APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); -GLAPI void APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); -GLAPI void APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); -GLAPI void APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x); -GLAPI void APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); -GLAPI void APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); -GLAPI void APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); -GLAPI void APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); -#endif #endif /* GL_NV_gpu_shader5 */ #ifndef GL_NV_half_float @@ -9402,7 +9413,6 @@ typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC) (GLuint buffer, typedef void (APIENTRYP PFNGLGETINTEGERUI64VNVPROC) (GLenum value, GLuint64EXT *result); typedef void (APIENTRYP PFNGLUNIFORMUI64NVPROC) (GLint location, GLuint64EXT value); typedef void (APIENTRYP PFNGLUNIFORMUI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); -typedef void (APIENTRYP PFNGLGETUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLuint64EXT *params); typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64NVPROC) (GLuint program, GLint location, GLuint64EXT value); typedef void (APIENTRYP PFNGLPROGRAMUNIFORMUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); #ifdef GL_GLEXT_PROTOTYPES @@ -9417,7 +9427,6 @@ GLAPI void APIENTRY glGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pnam GLAPI void APIENTRY glGetIntegerui64vNV (GLenum value, GLuint64EXT *result); GLAPI void APIENTRY glUniformui64NV (GLint location, GLuint64EXT value); GLAPI void APIENTRY glUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); -GLAPI void APIENTRY glGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params); GLAPI void APIENTRY glProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT value); GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); #endif diff --git a/code/nel/src/3d/driver/opengl/GL/glxext.h b/code/nel/src/3d/driver/opengl/GL/glxext.h index 6236d9244..7437d148c 100644 --- a/code/nel/src/3d/driver/opengl/GL/glxext.h +++ b/code/nel/src/3d/driver/opengl/GL/glxext.h @@ -33,10 +33,10 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 25923 $ on $Date: 2014-03-17 03:54:56 -0700 (Mon, 17 Mar 2014) $ +** Khronos $Revision: 26290 $ on $Date: 2014-04-16 05:35:38 -0700 (Wed, 16 Apr 2014) $ */ -#define GLX_GLXEXT_VERSION 20140317 +#define GLX_GLXEXT_VERSION 20140416 /* Generated C header for: * API: glx @@ -290,6 +290,23 @@ void glXFreeContextEXT (Display *dpy, GLXContext context); #endif #endif /* GLX_EXT_import_context */ +#ifndef GLX_EXT_stereo_tree +#define GLX_EXT_stereo_tree 1 +typedef struct { + int type; + unsigned long serial; + Bool send_event; + Display *display; + int extension; + int evtype; + GLXDrawable window; + Bool stereo_tree; +} GLXStereoNotifyEventEXT; +#define GLX_STEREO_TREE_EXT 0x20F5 +#define GLX_STEREO_NOTIFY_MASK_EXT 0x00000001 +#define GLX_STEREO_NOTIFY_EXT 0x00000000 +#endif /* GLX_EXT_stereo_tree */ + #ifndef GLX_EXT_swap_control #define GLX_EXT_swap_control 1 #define GLX_SWAP_INTERVAL_EXT 0x20F1 diff --git a/code/nel/src/3d/driver/opengl/GL/wglext.h b/code/nel/src/3d/driver/opengl/GL/wglext.h index e33232fa5..e9648c37c 100644 --- a/code/nel/src/3d/driver/opengl/GL/wglext.h +++ b/code/nel/src/3d/driver/opengl/GL/wglext.h @@ -33,7 +33,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.opengl.org/registry/ ** -** Khronos $Revision: 25923 $ on $Date: 2014-03-17 03:54:56 -0700 (Mon, 17 Mar 2014) $ +** Khronos $Revision: 26290 $ on $Date: 2014-04-16 05:35:38 -0700 (Wed, 16 Apr 2014) $ */ #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) @@ -41,7 +41,7 @@ extern "C" { #include #endif -#define WGL_WGLEXT_VERSION 20140317 +#define WGL_WGLEXT_VERSION 20140416 /* Generated C header for: * API: wgl diff --git a/code/nel/src/3d/driver/opengl/GLES/glext.h b/code/nel/src/3d/driver/opengl/GLES/glext.h index 5b46ae6d0..67092fdcb 100644 --- a/code/nel/src/3d/driver/opengl/GLES/glext.h +++ b/code/nel/src/3d/driver/opengl/GLES/glext.h @@ -1,7 +1,7 @@ #ifndef __glext_h_ #define __glext_h_ -/* $Revision: 19260 $ on $Date:: 2012-09-20 11:30:36 -0700 #$ */ +/* $Revision: 20798 $ on $Date:: 2013-03-07 01:19:34 -0800 #$ */ #ifdef __cplusplus extern "C" { @@ -1055,10 +1055,10 @@ typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum #ifndef GL_EXT_multi_draw_arrays #define GL_EXT_multi_draw_arrays 1 #ifdef GL_GLEXT_PROTOTYPES -GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei); +GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum, const GLint *, const GLsizei *, GLsizei); GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei); #endif /* GL_GLEXT_PROTOTYPES */ -typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount); #endif diff --git a/code/nel/src/3d/driver/opengl/KHR/khrplatform.h b/code/nel/src/3d/driver/opengl/KHR/khrplatform.h index ee2ab4fd7..c9e6f17d3 100644 --- a/code/nel/src/3d/driver/opengl/KHR/khrplatform.h +++ b/code/nel/src/3d/driver/opengl/KHR/khrplatform.h @@ -26,7 +26,7 @@ /* Khronos platform-specific types and definitions. * - * $Revision: 1.5 $ on $Date: 2010/06/03 16:51:55 $ + * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $ * * Adopters may modify this file to suit their platform. Adopters are * encouraged to submit platform specific modifications to the Khronos @@ -97,19 +97,10 @@ *------------------------------------------------------------------------- * This precedes the return type of the function in the function prototype. */ - -#if (defined(_WIN32) || defined(__VC32__)) && !defined(__SCITECH_SNAP__) && !defined(__WINSCW__) -# if defined (_DLL_EXPORTS) -# define KHRONOS_APICALL __declspec(dllexport) -# else -# define KHRONOS_APICALL __declspec(dllimport) -# endif +#if defined(_WIN32) && !defined(__SCITECH_SNAP__) +# define KHRONOS_APICALL __declspec(dllimport) #elif defined (__SYMBIAN32__) -# if defined (__GCC32__) -# define KHRONOS_APICALL __declspec(dllexport) -# else -# define KHRONOS_APICALL IMPORT_C -# endif +# define KHRONOS_APICALL IMPORT_C #else # define KHRONOS_APICALL #endif @@ -120,7 +111,7 @@ * This follows the return type of the function and precedes the function * name in the function prototype. */ -#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) && !defined(__WINSCW__) +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) /* Win32 but not WinCE */ # define KHRONOS_APIENTRY __stdcall #else @@ -141,18 +132,7 @@ /*------------------------------------------------------------------------- * basic type definitions *-----------------------------------------------------------------------*/ -#if defined(__SYMBIAN32__) - -#include - -typedef TInt32 khronos_int32_t; -typedef TUint32 khronos_uint32_t; -typedef TInt64 khronos_int64_t; -typedef TUint64 khronos_uint64_t; -#define KHRONOS_SUPPORT_INT64 1 -#define KHRONOS_SUPPORT_FLOAT 1 - -#elif (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) /* @@ -208,19 +188,6 @@ typedef unsigned long long int khronos_uint64_t; #define KHRONOS_SUPPORT_INT64 1 #define KHRONOS_SUPPORT_FLOAT 1 -#elif defined(_UITRON_) - -/* - * uITRON - */ -typedef signed int khronos_int32_t; -typedef unsigned int khronos_uint32_t; -typedef long long khronos_int64_t; -typedef unsigned long long khronos_uint64_t; -#define KHRONOS_SUPPORT_INT64 1 -#define KHRONOS_SUPPORT_FLOAT 1 - - #elif 0 /* @@ -254,10 +221,23 @@ typedef signed char khronos_int8_t; typedef unsigned char khronos_uint8_t; typedef signed short int khronos_int16_t; typedef unsigned short int khronos_uint16_t; + +/* + * Types that differ between LLP64 and LP64 architectures - in LLP64, + * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears + * to be the only LLP64 architecture in current use. + */ +#ifdef _WIN64 +typedef signed long long int khronos_intptr_t; +typedef unsigned long long int khronos_uintptr_t; +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else typedef signed long int khronos_intptr_t; typedef unsigned long int khronos_uintptr_t; typedef signed long int khronos_ssize_t; typedef unsigned long int khronos_usize_t; +#endif #if KHRONOS_SUPPORT_FLOAT /* From 18f72e37815bd8bb89caddec099f93cb1406bf7a Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 21 Apr 2014 02:39:29 -0700 Subject: [PATCH 124/152] php is_writable is not reliable --- .../ryzom_ams/www/html/installer/libsetup.php | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index 73450dcad..fda43c680 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -7,29 +7,48 @@ ini_set('display_errors', 1); error_reporting(E_ALL); + + function is__writable($path) { + + if ($path{strlen($path)-1}=='/') + return is__writable($path.uniqid(mt_rand()).'.tmp'); + + if (file_exists($path)) { + if (!($f = @fopen($path, 'r+'))) + return false; + fclose($f); + return true; + } + + if (!($f = @fopen($path, 'w'))) + return false; + fclose($f); + unlink($path); + return true; + } //set permissions - if(is_writable('../../../www/login/logs')) { + if(is__writable('../../../www/login/logs')) { echo "failed to get write permissions on logs"; exit; } - if(is_writable('../../../admin/graphs_output')) { + if(is__writable('../../../admin/graphs_output')) { echo "failed to get write permissions on graphs_output"; exit; } - if(is_writable('../../../admin/templates/default_c')) { + if(is__writable('../../../admin/templates/default_c')) { echo "failed to get write permissions on default_c"; exit; } - if(is_writable('../../www')) { + if(is__writable('../../www')) { echo "failed to get write permissions on www"; exit; } - if(is_writable('../../www/html/cache')) { + if(is__writable('../../www/html/cache')) { echo "failed to get write permissions on cache"; exit; } - if(is_writable('../../www/html/templates_c')) { + if(is__writable('../../www/html/templates_c')) { echo "failed to get write permissions on templates_c"; exit; } From bac99a881525fe9c2ed4210d6737c65959091448 Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 21 Apr 2014 03:00:19 -0700 Subject: [PATCH 125/152] fix for missing include --- .../tools/server/ryzom_ams/www/html/installer/libsetup.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index fda43c680..e51dc1872 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -56,7 +56,6 @@ if (!isset($_POST['function'])) { //require the pages that are being needed. require_once( '../config.default.php' ); - require_once( $AMS_LIB.'/libinclude.php' ); ini_set( "display_errors", true ); error_reporting( E_ALL ); @@ -85,6 +84,8 @@ } } + require_once( $AMS_LIB.'/libinclude.php' ); + //var used to access the DB; global $cfg; From db2f0435cdfaef0caf07e074a0e8a3178450a8f1 Mon Sep 17 00:00:00 2001 From: botanic Date: Mon, 21 Apr 2014 03:03:39 -0700 Subject: [PATCH 126/152] missing = --- .../ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php b/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php index 90730291a..ec09d9780 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/autoload/webusers.php @@ -78,7 +78,7 @@ class WebUsers extends Users{ public static function checkLoginMatch($value,$password){ $dbw = new DBLayer("web"); - $statement = $dbw->execute("SELECT * FROM ams_user WHERE Login=:value OR Email:value", array('value' => $value)); + $statement = $dbw->execute("SELECT * FROM ams_user WHERE Login=:value OR Email=:value", array('value' => $value)); $row = $statement->fetch(); $salt = substr($row['Password'],0,2); $hashed_input_pass = crypt($password, $salt); From 02cb53240144abae50497dc6b54ca1b36e7dbc57 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Wed, 23 Apr 2014 23:20:13 +0300 Subject: [PATCH 127/152] Properly restore saved camera distance from config file (issue #130) --HG-- branch : Issue#130 --- code/ryzom/client/src/client_cfg.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index 56decaa63..25229fc49 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -1726,10 +1726,7 @@ void CClientConfig::setValues() } // Initialize the camera distance (after camera dist max) - if (!ClientCfg.FPV) - { - View.cameraDistance(ClientCfg.CameraDistance); - } + View.setCameraDistanceMaxForPlayer(); // draw in client light? if(ClientCfg.Light) From 7cc1bf9f17c3aeb0ad0d1fb44c2ba27502055589 Mon Sep 17 00:00:00 2001 From: Nimetu Date: Wed, 23 Apr 2014 23:23:23 +0300 Subject: [PATCH 128/152] Fix compiling on linux with new OpenGL headers (issue #145) --HG-- branch : Issue#145 --- code/nel/src/3d/driver/opengl/driver_opengl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl.cpp b/code/nel/src/3d/driver/opengl/driver_opengl.cpp index 474750d2c..3dbed81ca 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl.cpp @@ -2195,7 +2195,7 @@ void CDriverGL::setSwapVBLInterval(uint interval) #elif defined(NL_OS_UNIX) if (_win && _Extensions.GLXEXTSwapControl) { - res = nglXSwapIntervalEXT(_dpy, _win, interval) == 0; + nglXSwapIntervalEXT(_dpy, _win, interval); } else if (_Extensions.GLXSGISwapControl) { From 3fff8fe467a2f5dc4bec1ae76e9d24c483230ae3 Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 24 Apr 2014 18:11:16 +0200 Subject: [PATCH 129/152] Changed: Replaced strlwr by toLower --HG-- branch : compatibility --- code/nel/src/gui/ctrl_col_pick.cpp | 4 ++-- code/nel/src/gui/interface_element.cpp | 3 +-- code/nel/src/gui/view_bitmap.cpp | 4 +--- code/nel/src/gui/view_renderer.cpp | 4 ++-- code/ryzom/client/src/client_sheets/sbrick_sheet.cpp | 3 +-- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/code/nel/src/gui/ctrl_col_pick.cpp b/code/nel/src/gui/ctrl_col_pick.cpp index 3b5145e20..3d248164d 100644 --- a/code/nel/src/gui/ctrl_col_pick.cpp +++ b/code/nel/src/gui/ctrl_col_pick.cpp @@ -205,12 +205,12 @@ namespace NLGUI CViewRenderer &rVR = *CViewRenderer::getInstance(); if(prop) { - string sTmp = NLMISC::strlwr((const char*)prop); + string sTmp = NLMISC::toLower((const char*)prop); _Texture = rVR.createTexture (sTmp, 0, 0, 256, 64, false, false); } prop = (char*) xmlGetProp( node, (xmlChar*)"onchange" ); - if (prop) _AHOnChange = NLMISC::strlwr(prop); + if (prop) _AHOnChange = NLMISC::toLower(prop); prop = (char*) xmlGetProp( node, (xmlChar*)"onchange_params" ); if (prop) _AHOnChangeParams = string((const char*)prop); diff --git a/code/nel/src/gui/interface_element.cpp b/code/nel/src/gui/interface_element.cpp index c7a0c234b..2907df471 100644 --- a/code/nel/src/gui/interface_element.cpp +++ b/code/nel/src/gui/interface_element.cpp @@ -993,8 +993,7 @@ namespace NLGUI // ------------------------------------------------------------------------------------------------ bool CInterfaceElement::convertBool (const char *ptr) { - std::string str = ptr; - NLMISC::strlwr( str ); + std::string str = toLower(ptr); bool b = false; fromString( str, b ); return b; diff --git a/code/nel/src/gui/view_bitmap.cpp b/code/nel/src/gui/view_bitmap.cpp index 01c2e8232..21c0c2cd4 100644 --- a/code/nel/src/gui/view_bitmap.cpp +++ b/code/nel/src/gui/view_bitmap.cpp @@ -307,8 +307,7 @@ namespace NLGUI prop = (char*) xmlGetProp( cur, (xmlChar*)"texture" ); if (prop) { - string TxName = (const char *) prop; - TxName = strlwr (TxName); + string TxName = toLower((const char *) prop); setTexture (TxName); //CInterfaceManager *pIM = CInterfaceManager::getInstance(); //CViewRenderer &rVR = *CViewRenderer::getInstance(); @@ -450,7 +449,6 @@ namespace NLGUI // ---------------------------------------------------------------------------- void CViewBitmap::setTexture(const std::string & TxName) { - _TextureId.setTexture (TxName.c_str (), _TxtOffsetX, _TxtOffsetY, _TxtWidth, _TxtHeight, false); } diff --git a/code/nel/src/gui/view_renderer.cpp b/code/nel/src/gui/view_renderer.cpp index 6d3ef62e7..b2758c634 100644 --- a/code/nel/src/gui/view_renderer.cpp +++ b/code/nel/src/gui/view_renderer.cpp @@ -894,11 +894,11 @@ namespace NLGUI { if (sGlobalTextureName.empty()) return -1; // Look if already existing - string sLwrGTName = strlwr(sGlobalTextureName); + string sLwrGTName = toLower(sGlobalTextureName); TGlobalTextureList::iterator ite = _GlobalTextures.begin(); while (ite != _GlobalTextures.end()) { - std::string sText = strlwr(ite->Name); + std::string sText = toLower(ite->Name); if (sText == sLwrGTName) break; ite++; diff --git a/code/ryzom/client/src/client_sheets/sbrick_sheet.cpp b/code/ryzom/client/src/client_sheets/sbrick_sheet.cpp index d48b82669..4d5901358 100644 --- a/code/ryzom/client/src/client_sheets/sbrick_sheet.cpp +++ b/code/ryzom/client/src/client_sheets/sbrick_sheet.cpp @@ -312,8 +312,7 @@ void CSBrickSheet::build (const NLGEORGES::UFormElm &root) BrickRequiredFlags= 0; for(i=0;i Date: Thu, 24 Apr 2014 19:31:53 +0200 Subject: [PATCH 130/152] Backed out changeset: 79980ce60498 --- code/ryzom/client/src/client_cfg.cpp | 43 ++++++++++++++++++++-------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index bb837b03b..5fe55a3ff 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -302,7 +302,7 @@ CClientConfig::CClientConfig() Contrast = 0.f; // Default Monitor Contrast. Luminosity = 0.f; // Default Monitor Luminosity. Gamma = 0.f; // Default Monitor Gamma. - + VREnable = false; VRDisplayDevice = "Auto"; VRDisplayDeviceId = ""; @@ -327,13 +327,13 @@ CClientConfig::CClientConfig() TexturesLoginInterface.push_back("texture_interfaces_v3_login"); DisplayAccountButtons = true; - CreateAccountURL = "https://secure.ryzom.com/signup/from_client.php"; + CreateAccountURL = "http://shard.ryzomcore.org/ams/index.php?page=register"; ConditionsTermsURL = "https://secure.ryzom.com/signup/terms_of_use.php"; - EditAccountURL = "https://secure.ryzom.com/payment_profile/index.php"; + EditAccountURL = "http://shard.ryzomcore.org/ams/index.php?page=settings"; BetaAccountURL = "http://www.ryzom.com/profile"; - ForgetPwdURL = "https://secure.ryzom.com/payment_profile/lost_secure_password.php"; + ForgetPwdURL = "http://shard.ryzomcore.org/ams/index.php?page=forgot_password"; FreeTrialURL = "http://www.ryzom.com/join/?freetrial=1"; - LoginSupportURL = "http://www.ryzom.com/en/support.html"; + LoginSupportURL = "http://shard.ryzomcore.org/ams/index.php"; Position = CVector(0.f, 0.f, 0.f); // Default Position. Heading = CVector(0.f, 1.f, 0.f); // Default Heading. EyesHeight = 1.5f; // Default User Eyes Height. @@ -888,6 +888,14 @@ void CClientConfig::setValues() READ_STRING_DEV(ForgetPwdURL) READ_STRING_DEV(FreeTrialURL) READ_STRING_DEV(LoginSupportURL) + + READ_STRING_FV(CreateAccountURL) + READ_STRING_FV(EditAccountURL) + READ_STRING_FV(ConditionsTermsURL) + READ_STRING_FV(BetaAccountURL) + READ_STRING_FV(ForgetPwdURL) + READ_STRING_FV(FreeTrialURL) + READ_STRING_FV(LoginSupportURL) #ifndef RZ_NO_CLIENT // if cookie is not empty, it means that the client was launch @@ -1051,17 +1059,24 @@ void CClientConfig::setValues() ///////////////////////// // NEW PATCHING SYSTEM // READ_BOOL_FV(PatchWanted) + READ_STRING_FV(PatchServer) + READ_STRING_FV(PatchUrl) + READ_STRING_FV(PatchVersion) + READ_STRING_FV(RingReleaseNotePath) + READ_STRING_FV(ReleaseNotePath) + READ_BOOL_DEV(PatchWanted) + READ_STRING_DEV(PatchServer) READ_STRING_DEV(PatchUrl) READ_STRING_DEV(PatchVersion) READ_STRING_DEV(RingReleaseNotePath) READ_STRING_DEV(ReleaseNotePath) - READ_STRING_FV(PatchServer) + ///////////////////////// - // NEW PATCHLET SYSTEM // + // NEW PATCHLET SYSTEM // READ_STRING_FV(PatchletUrl) - /////////// + //////////////////////// // WEBIG // READ_STRING_FV(WebIgMainDomain); READ_STRINGVECTOR_FV(WebIgTrustedDomains); @@ -2196,24 +2211,28 @@ bool CClientConfig::getDefaultConfigLocation(std::string& p_name) const std::string defaultConfigFileName = "client_default.cfg"; std::string defaultConfigPath; - p_name.clear(); + p_name = std::string(); #ifdef NL_OS_MAC // on mac, client_default.cfg should be searched in .app/Contents/Resources/ - defaultConfigPath = CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/"); + defaultConfigPath = + CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/"); + #elif defined(RYZOM_ETC_PREFIX) // if RYZOM_ETC_PREFIX is defined, client_default.cfg might be over there defaultConfigPath = CPath::standardizePath(RYZOM_ETC_PREFIX); + #else // some other prefix here :) + #endif // RYZOM_ETC_PREFIX // look in the current working directory first - if (CFile::isExists(defaultConfigFileName)) + if(CFile::isExists(defaultConfigFileName)) p_name = defaultConfigFileName; // if not in working directory, check using prefix path - else if (CFile::isExists(defaultConfigPath + defaultConfigFileName)) + else if(CFile::isExists(defaultConfigPath + defaultConfigFileName)) p_name = defaultConfigPath + defaultConfigFileName; // if some client_default.cfg was found return true From e84dd7b5f7382a9524f367f304a70b6153cc709c Mon Sep 17 00:00:00 2001 From: kervala Date: Thu, 24 Apr 2014 22:59:29 +0200 Subject: [PATCH 131/152] Changed: Replaced strlwr by toLower --- code/nel/src/gui/ctrl_col_pick.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/nel/src/gui/ctrl_col_pick.cpp b/code/nel/src/gui/ctrl_col_pick.cpp index 3d248164d..610f545c6 100644 --- a/code/nel/src/gui/ctrl_col_pick.cpp +++ b/code/nel/src/gui/ctrl_col_pick.cpp @@ -210,7 +210,7 @@ namespace NLGUI } prop = (char*) xmlGetProp( node, (xmlChar*)"onchange" ); - if (prop) _AHOnChange = NLMISC::toLower(prop); + if (prop) _AHOnChange = NLMISC::toLower((const char*)prop); prop = (char*) xmlGetProp( node, (xmlChar*)"onchange_params" ); if (prop) _AHOnChangeParams = string((const char*)prop); From 01bc4eeb929cffefa227c6c3047d6913ff8c6d14 Mon Sep 17 00:00:00 2001 From: kervala Date: Fri, 25 Apr 2014 11:58:35 +0200 Subject: [PATCH 132/152] Changed: Minor changes --- code/ryzom/client/src/client_cfg.cpp | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/code/ryzom/client/src/client_cfg.cpp b/code/ryzom/client/src/client_cfg.cpp index 5fe55a3ff..a42c7988b 100644 --- a/code/ryzom/client/src/client_cfg.cpp +++ b/code/ryzom/client/src/client_cfg.cpp @@ -302,7 +302,7 @@ CClientConfig::CClientConfig() Contrast = 0.f; // Default Monitor Contrast. Luminosity = 0.f; // Default Monitor Luminosity. Gamma = 0.f; // Default Monitor Gamma. - + VREnable = false; VRDisplayDevice = "Auto"; VRDisplayDeviceId = ""; @@ -888,7 +888,7 @@ void CClientConfig::setValues() READ_STRING_DEV(ForgetPwdURL) READ_STRING_DEV(FreeTrialURL) READ_STRING_DEV(LoginSupportURL) - + READ_STRING_FV(CreateAccountURL) READ_STRING_FV(EditAccountURL) READ_STRING_FV(ConditionsTermsURL) @@ -1073,10 +1073,10 @@ void CClientConfig::setValues() ///////////////////////// - // NEW PATCHLET SYSTEM // + // NEW PATCHLET SYSTEM // READ_STRING_FV(PatchletUrl) - //////////////////////// + /////////// // WEBIG // READ_STRING_FV(WebIgMainDomain); READ_STRINGVECTOR_FV(WebIgTrustedDomains); @@ -2211,28 +2211,24 @@ bool CClientConfig::getDefaultConfigLocation(std::string& p_name) const std::string defaultConfigFileName = "client_default.cfg"; std::string defaultConfigPath; - p_name = std::string(); + p_name.clear(); #ifdef NL_OS_MAC // on mac, client_default.cfg should be searched in .app/Contents/Resources/ - defaultConfigPath = - CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/"); - + defaultConfigPath = CPath::standardizePath(getAppBundlePath() + "/Contents/Resources/"); #elif defined(RYZOM_ETC_PREFIX) // if RYZOM_ETC_PREFIX is defined, client_default.cfg might be over there defaultConfigPath = CPath::standardizePath(RYZOM_ETC_PREFIX); - #else // some other prefix here :) - #endif // RYZOM_ETC_PREFIX // look in the current working directory first - if(CFile::isExists(defaultConfigFileName)) + if (CFile::isExists(defaultConfigFileName)) p_name = defaultConfigFileName; // if not in working directory, check using prefix path - else if(CFile::isExists(defaultConfigPath + defaultConfigFileName)) + else if (CFile::isExists(defaultConfigPath + defaultConfigFileName)) p_name = defaultConfigPath + defaultConfigFileName; // if some client_default.cfg was found return true From c66617627896e194faf3cbdd735ba49eef52ae1c Mon Sep 17 00:00:00 2001 From: sfb Date: Fri, 25 Apr 2014 14:00:46 -0500 Subject: [PATCH 133/152] Modified the CTestConfig to point at the new CI server. --- code/CTestConfig.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/CTestConfig.cmake b/code/CTestConfig.cmake index 88db044ea..eb459f4a2 100644 --- a/code/CTestConfig.cmake +++ b/code/CTestConfig.cmake @@ -8,6 +8,6 @@ set(CTEST_PROJECT_NAME "RyzomCore") set(CTEST_NIGHTLY_START_TIME "00:00:00 CST") set(CTEST_UPDATE_TYPE "hg") set(CTEST_DROP_METHOD "http") -set(CTEST_DROP_SITE "www.opennel.org") -set(CTEST_DROP_LOCATION "/cdash/submit.php?project=RyzomCore") +set(CTEST_DROP_SITE "ci.ryzomcore.org") +set(CTEST_DROP_LOCATION "/submit.php?project=RyzomCore") set(CTEST_DROP_SITE_CDASH TRUE) From 8972ecf1b3cb3a59f2c5a54fca85329a57f9778b Mon Sep 17 00:00:00 2001 From: kervala Date: Sat, 26 Apr 2014 22:51:03 +0200 Subject: [PATCH 134/152] Fixed: tmpFlagRemovedPatchCategories not needed anymore because RemovedPatchCategories defined in login_patch.cpp --- code/ryzom/tools/client/client_patcher/main.cpp | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/code/ryzom/tools/client/client_patcher/main.cpp b/code/ryzom/tools/client/client_patcher/main.cpp index 146da383c..cbd3ddc0b 100644 --- a/code/ryzom/tools/client/client_patcher/main.cpp +++ b/code/ryzom/tools/client/client_patcher/main.cpp @@ -28,9 +28,6 @@ string VersionName; string LoginLogin, LoginPassword; uint32 LoginShardId = 0xFFFFFFFF; -// stuff which is defined in other .cpp files -extern void tmpFlagRemovedPatchCategories(NLMISC::CConfigFile &cf); - bool useUtf8 = false; bool useEsc = false; @@ -270,20 +267,6 @@ int main(int argc, char *argv[]) printf("Checking %s files to patch...\n", convert(CI18N::get("TheSagaOfRyzom")).c_str()); -#ifdef NL_OS_UNIX - // don't use cfg, exe and dll from Windows version - CConfigFile::CVar var; - var.Type = CConfigFile::CVar::T_STRING; - std::vector cats; - cats.push_back("main_exedll"); - cats.push_back("main_cfg"); - var.setAsString(cats); - ClientCfg.ConfigFile.insertVar("RemovePatchCategories", var); - - // add categories to remove - tmpFlagRemovedPatchCategories(ClientCfg.ConfigFile); -#endif - // initialize patch manager and set the ryzom full path, before it's used CPatchManager *pPM = CPatchManager::getInstance(); From 50324ccd5544ca32e7c5f2a52d5c24d71ff8da18 Mon Sep 17 00:00:00 2001 From: kervala Date: Tue, 29 Apr 2014 10:31:02 +0200 Subject: [PATCH 135/152] Fixed #151: White box on character selection screen (a big thanks to nimetu for the patch!) --- .../src/interface_v3/interface_manager.cpp | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index df2cb0376..0228977a8 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -727,16 +727,6 @@ void CInterfaceManager::initOutGame() //NLMEMORY::CheckHeap (true); - // Initialize the web browser - { - CGroupHTML *pGH = dynamic_cast( CWidgetManager::getInstance()->getElementFromId(GROUP_BROWSER)); - if (pGH) - { - pGH->setActive(true); - pGH->browse(ClientCfg.PatchletUrl.c_str()); - } - } - if (ClientCfg.XMLOutGameInterfaceFiles.size()==0) { @@ -777,6 +767,17 @@ void CInterfaceManager::initOutGame() initActions(); } //NLMEMORY::CheckHeap (true); + + // Initialize the web browser + { + CGroupHTML *pGH = dynamic_cast( CWidgetManager::getInstance()->getElementFromId(GROUP_BROWSER)); + + if (pGH) + { + pGH->setActive(true); + pGH->browse(ClientCfg.PatchletUrl.c_str()); + } + } } // ------------------------------------------------------------------------------------------------ From 060347f2b982f85beef20811fe3e97e5d19291f4 Mon Sep 17 00:00:00 2001 From: kervala Date: Wed, 30 Apr 2014 09:18:31 +0200 Subject: [PATCH 136/152] Changed: Small typo --- code/ryzom/client/src/init_main_loop.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ryzom/client/src/init_main_loop.cpp b/code/ryzom/client/src/init_main_loop.cpp index e3e8680fb..b251689ea 100644 --- a/code/ryzom/client/src/init_main_loop.cpp +++ b/code/ryzom/client/src/init_main_loop.cpp @@ -148,7 +148,7 @@ bool UseEscapeDuringLoading = USE_ESCAPE_DURING_LOADING; #define ENTITY_TEXTURE_COARSE_LEVEL 3 #define ENTITY_TEXTURE_NORMAL_LEVEL 1 #define ENTITY_TEXTURE_HIGH_LEVEL 0 -// Size in Mo of the cache for entity texturing. +// Size in MB of the cache for entity texturing. #define ENTITY_TEXTURE_NORMAL_MEMORY 10 #define ENTITY_TEXTURE_HIGH_MEMORY 40 From 798d207d0df80e7262455558068200bd9a015a93 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Wed, 30 Apr 2014 12:53:06 +0200 Subject: [PATCH 137/152] Fix EOL --- .../include/nel/gui/widget_addition_watcher.h | 64 ++++---- .../plugins/gui_editor/add_widget_widget.cpp | 154 +++++++++--------- .../plugins/gui_editor/add_widget_widget.h | 64 ++++---- .../gui_editor/editor_message_processor.h | 92 +++++------ 4 files changed, 187 insertions(+), 187 deletions(-) diff --git a/code/nel/include/nel/gui/widget_addition_watcher.h b/code/nel/include/nel/gui/widget_addition_watcher.h index f4371ed5b..a2717e398 100644 --- a/code/nel/include/nel/gui/widget_addition_watcher.h +++ b/code/nel/include/nel/gui/widget_addition_watcher.h @@ -1,32 +1,32 @@ -// Ryzom - 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 . - -#ifndef WIDGET_ADD_WATCHER -#define WIDGET_ADD_WATCHER - -#include - -namespace NLGUI -{ - class IWidgetAdditionWatcher - { - public: - virtual void widgetAdded( const std::string &name ) = 0; - }; -} - -#endif - +// Ryzom - 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 . + +#ifndef WIDGET_ADD_WATCHER +#define WIDGET_ADD_WATCHER + +#include + +namespace NLGUI +{ + class IWidgetAdditionWatcher + { + public: + virtual void widgetAdded( const std::string &name ) = 0; + }; +} + +#endif + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp index 3f32586b6..98604bcb1 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.cpp @@ -1,77 +1,77 @@ -#include "add_widget_widget.h" -#include "widget_info_tree.h" -#include -#include -#include - -namespace GUIEditor -{ - - AddWidgetWidget::AddWidgetWidget( QWidget *parent ) : - QWidget( parent ) - { - setupUi( this ); - setupConnections(); - } - - AddWidgetWidget::~AddWidgetWidget() - { - } - - void AddWidgetWidget::setCurrentGroup( const QString &g ) - { - groupEdit->setText( g ); - } - - void AddWidgetWidget::setupWidgetInfo( const CWidgetInfoTree *tree ) - { - std::vector< std::string > names; - tree->getNames( names, false ); - - widgetCB->clear(); - - std::sort( names.begin(), names.end() ); - - std::vector< std::string >::const_iterator itr = names.begin(); - while( itr != names.end() ) - { - widgetCB->addItem( QString( itr->c_str() ) ); - ++itr; - } - - } - - void AddWidgetWidget::setupConnections() - { - connect( cancelButton, SIGNAL( clicked( bool ) ), this, SLOT( close() ) ); - connect( addButton, SIGNAL( clicked( bool ) ), this, SLOT( onAddClicked() ) ); - } - - void AddWidgetWidget::onAddClicked() - { - if( groupEdit->text().isEmpty() ) - { - QMessageBox::warning( NULL, - tr( "WARNING" ), - tr( "You need to be adding the new widget into a group!" ), - QMessageBox::Ok ); - - return; - } - - if( nameEdit->text().isEmpty() ) - { - QMessageBox::warning( NULL, - tr( "WARNING" ), - tr( "You need to specify a name for your new widget!" ), - QMessageBox::Ok ); - - return; - } - - close(); - - Q_EMIT adding( groupEdit->text(), widgetCB->currentText(), nameEdit->text() ); - } -} - +#include "add_widget_widget.h" +#include "widget_info_tree.h" +#include +#include +#include + +namespace GUIEditor +{ + + AddWidgetWidget::AddWidgetWidget( QWidget *parent ) : + QWidget( parent ) + { + setupUi( this ); + setupConnections(); + } + + AddWidgetWidget::~AddWidgetWidget() + { + } + + void AddWidgetWidget::setCurrentGroup( const QString &g ) + { + groupEdit->setText( g ); + } + + void AddWidgetWidget::setupWidgetInfo( const CWidgetInfoTree *tree ) + { + std::vector< std::string > names; + tree->getNames( names, false ); + + widgetCB->clear(); + + std::sort( names.begin(), names.end() ); + + std::vector< std::string >::const_iterator itr = names.begin(); + while( itr != names.end() ) + { + widgetCB->addItem( QString( itr->c_str() ) ); + ++itr; + } + + } + + void AddWidgetWidget::setupConnections() + { + connect( cancelButton, SIGNAL( clicked( bool ) ), this, SLOT( close() ) ); + connect( addButton, SIGNAL( clicked( bool ) ), this, SLOT( onAddClicked() ) ); + } + + void AddWidgetWidget::onAddClicked() + { + if( groupEdit->text().isEmpty() ) + { + QMessageBox::warning( NULL, + tr( "WARNING" ), + tr( "You need to be adding the new widget into a group!" ), + QMessageBox::Ok ); + + return; + } + + if( nameEdit->text().isEmpty() ) + { + QMessageBox::warning( NULL, + tr( "WARNING" ), + tr( "You need to specify a name for your new widget!" ), + QMessageBox::Ok ); + + return; + } + + close(); + + Q_EMIT adding( groupEdit->text(), widgetCB->currentText(), nameEdit->text() ); + } +} + diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h index 8f9f6a0be..0bf807f3b 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/add_widget_widget.h @@ -1,32 +1,32 @@ -#ifndef ADD_WIDGET_WIDGET_H -#define ADD_WIDGET_WIDGET_H - -#include "ui_add_widget_widget.h" - -namespace GUIEditor -{ - class CWidgetInfoTree; - - class AddWidgetWidget : public QWidget, public Ui::AddWidgetWidget - { - Q_OBJECT - public: - AddWidgetWidget( QWidget *parent = NULL ); - ~AddWidgetWidget(); - - void setCurrentGroup( const QString &g ); - void setupWidgetInfo( const CWidgetInfoTree *tree ); - - private: - void setupConnections(); - - private Q_SLOTS: - void onAddClicked(); - - Q_SIGNALS: - void adding( const QString &parentGroup, const QString &widgetType, const QString &name ); - }; - -} - -#endif +#ifndef ADD_WIDGET_WIDGET_H +#define ADD_WIDGET_WIDGET_H + +#include "ui_add_widget_widget.h" + +namespace GUIEditor +{ + class CWidgetInfoTree; + + class AddWidgetWidget : public QWidget, public Ui::AddWidgetWidget + { + Q_OBJECT + public: + AddWidgetWidget( QWidget *parent = NULL ); + ~AddWidgetWidget(); + + void setCurrentGroup( const QString &g ); + void setupWidgetInfo( const CWidgetInfoTree *tree ); + + private: + void setupConnections(); + + private Q_SLOTS: + void onAddClicked(); + + Q_SIGNALS: + void adding( const QString &parentGroup, const QString &widgetType, const QString &name ); + }; + +} + +#endif diff --git a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h index ffeedd7f1..5c19a03c2 100644 --- a/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h +++ b/code/nel/tools/3d/object_viewer_qt/src/plugins/gui_editor/editor_message_processor.h @@ -1,46 +1,46 @@ -// Object Viewer Qt GUI Editor plugin -// 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 . - -#include - -namespace GUIEditor -{ - class CWidgetInfoTree; - - /// Processes the GUI Editor's editor messages like delete, new, etc... - class CEditorMessageProcessor : public QObject - { - Q_OBJECT - public: - CEditorMessageProcessor( QObject *parent = NULL ) : - QObject( parent ) - { - tree = NULL; - } - - ~CEditorMessageProcessor(){} - - void setTree( CWidgetInfoTree *tree ){ this->tree = tree; } - - public Q_SLOTS: - void onDelete(); - void onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ); - - private: - CWidgetInfoTree *tree; - }; -} - +// Object Viewer Qt GUI Editor plugin +// 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 . + +#include + +namespace GUIEditor +{ + class CWidgetInfoTree; + + /// Processes the GUI Editor's editor messages like delete, new, etc... + class CEditorMessageProcessor : public QObject + { + Q_OBJECT + public: + CEditorMessageProcessor( QObject *parent = NULL ) : + QObject( parent ) + { + tree = NULL; + } + + ~CEditorMessageProcessor(){} + + void setTree( CWidgetInfoTree *tree ){ this->tree = tree; } + + public Q_SLOTS: + void onDelete(); + void onAdd( const QString &parentGroup, const QString &widgetType, const QString &name ); + + private: + CWidgetInfoTree *tree; + }; +} + From 1a4a7bafabe20410db9fe42b9c875415db448b7e Mon Sep 17 00:00:00 2001 From: kaetemi Date: Wed, 30 Apr 2014 12:54:20 +0200 Subject: [PATCH 138/152] Backed out changeset: 897087f1fa71, 7c3f1f0dc9d8, 61d11f94e3ea --- code/nel/include/nel/3d/stereo_display.h | 1 - code/nel/include/nel/3d/stereo_ng_hmd.h | 62 ------------------- code/nel/src/3d/CMakeLists.txt | 2 - code/nel/src/3d/stereo_ng_hmd.cpp | 55 ---------------- code/ryzom/client/src/global.cpp | 3 - code/ryzom/client/src/global.h | 4 -- code/ryzom/client/src/init.cpp | 8 +-- .../src/interface_v3/interface_manager.cpp | 13 ---- .../client/src/motion/modes/death_mode.cpp | 7 --- code/ryzom/client/src/net_manager.cpp | 9 --- code/ryzom/client/src/release.cpp | 5 -- code/ryzom/common/data_common/msg.xml | 4 +- 12 files changed, 3 insertions(+), 170 deletions(-) delete mode 100644 code/nel/include/nel/3d/stereo_ng_hmd.h delete mode 100644 code/nel/src/3d/stereo_ng_hmd.cpp diff --git a/code/nel/include/nel/3d/stereo_display.h b/code/nel/include/nel/3d/stereo_display.h index 570a62739..3b9c73b74 100644 --- a/code/nel/include/nel/3d/stereo_display.h +++ b/code/nel/include/nel/3d/stereo_display.h @@ -60,7 +60,6 @@ public: { StereoDisplay, StereoHMD, - StereoNGHMD, }; enum TStereoDeviceLibrary diff --git a/code/nel/include/nel/3d/stereo_ng_hmd.h b/code/nel/include/nel/3d/stereo_ng_hmd.h deleted file mode 100644 index 1ab8ad144..000000000 --- a/code/nel/include/nel/3d/stereo_ng_hmd.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - * \file stereo_ng_hmd.h - * \brief IStereoNGHMD - * \date 2014-04-01 10:53GMT - * \author Jan Boon (Kaetemi) - * IStereoNGHMD - */ - -/* - * Copyright (C) 2014 by authors - * - * This file is part of NL3D. - * NL3D 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. - * - * NL3D 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 NL3D. If not, see - * . - */ - -#ifndef NL3D_STEREO_NG_HMD_H -#define NL3D_STEREO_NG_HMD_H -#include - -// STL includes - -// NeL includes - -// Project includes -#include - -namespace NL3D { - -/** - * \brief IStereoNGHMD - * \date 2014-04-01 10:53GMT - * \author Jan Boon (Kaetemi) - * IStereoNGHMD - */ -class IStereoNGHMD : public IStereoHMD -{ -public: - IStereoNGHMD(); - virtual ~IStereoNGHMD(); - - /// Kill the player - virtual void killUser() const = 0; - -}; /* class IStereoNGHMD */ - -} /* namespace NL3D */ - -#endif /* #ifndef NL3D_STEREO_NG_HMD_H */ - -/* end of file */ diff --git a/code/nel/src/3d/CMakeLists.txt b/code/nel/src/3d/CMakeLists.txt index d614029f7..fff343915 100644 --- a/code/nel/src/3d/CMakeLists.txt +++ b/code/nel/src/3d/CMakeLists.txt @@ -697,8 +697,6 @@ SOURCE_GROUP(Stereo FILES ../../include/nel/3d/stereo_display.h stereo_hmd.cpp ../../include/nel/3d/stereo_hmd.h - stereo_ng_hmd.cpp - ../../include/nel/3d/stereo_ng_hmd.h stereo_ovr.cpp stereo_ovr_fp.cpp ../../include/nel/3d/stereo_ovr.h diff --git a/code/nel/src/3d/stereo_ng_hmd.cpp b/code/nel/src/3d/stereo_ng_hmd.cpp deleted file mode 100644 index 1011b33e4..000000000 --- a/code/nel/src/3d/stereo_ng_hmd.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/** - * \file stereo_hmd.cpp - * \brief IStereoNGHMD - * \date 2014-04-01 10:53GMT - * \author Jan Boon (Kaetemi) - * IStereoNGHMD - */ - -/* - * Copyright (C) 2014 by authors - * - * This file is part of NL3D. - * NL3D 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. - * - * NL3D 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 NL3D. If not, see - * . - */ - -#include -#include - -// STL includes - -// NeL includes -// #include - -// Project includes - -using namespace std; -// using namespace NLMISC; - -namespace NL3D { - -IStereoNGHMD::IStereoNGHMD() -{ - -} - -IStereoNGHMD::~IStereoNGHMD() -{ - -} - -} /* namespace NL3D */ - -/* end of file */ diff --git a/code/ryzom/client/src/global.cpp b/code/ryzom/client/src/global.cpp index 29db04f5e..c965db43f 100644 --- a/code/ryzom/client/src/global.cpp +++ b/code/ryzom/client/src/global.cpp @@ -28,7 +28,6 @@ using namespace NLMISC; NL3D::UDriver *Driver = 0; // The main 3D Driver NL3D::IStereoDisplay *StereoDisplay = NULL; // Stereo display NL3D::IStereoHMD *StereoHMD = NULL; // Head mount display -NL3D::IStereoNGHMD *StereoNGHMD = NULL; // HMD with player death support CSoundManager *SoundMngr = 0; // the sound manager NL3D::UMaterial GenericMat; // Generic Material NL3D::UTextContext *TextContext = 0; // Context for all the text in the client. @@ -69,8 +68,6 @@ bool PermanentlyBanned = false; bool IgnoreEntityDbUpdates = false; bool FreeTrial = false; -bool NoLogout = false; - std::vector > VRDeviceCache; diff --git a/code/ryzom/client/src/global.h b/code/ryzom/client/src/global.h index f22f786d6..5879eeaec 100644 --- a/code/ryzom/client/src/global.h +++ b/code/ryzom/client/src/global.h @@ -42,7 +42,6 @@ namespace NL3D class UWaterEnvMap; class IStereoDisplay; class IStereoHMD; - class IStereoNGHMD; } class CEntityAnimationManager; @@ -82,7 +81,6 @@ const float ExtraZoneLoadingVision = 100.f; extern NL3D::UDriver *Driver; // The main 3D Driver extern NL3D::IStereoDisplay *StereoDisplay; // Stereo display extern NL3D::IStereoHMD *StereoHMD; // Head mount display -extern NL3D::IStereoNGHMD *StereoNGHMD; // HMD with player death support extern CSoundManager *SoundMngr; // the sound manager extern NL3D::UMaterial GenericMat; // Generic Material extern NL3D::UTextContext *TextContext; // Context for all the text in the client. @@ -130,8 +128,6 @@ extern std::string Cookie, FSAddr; extern std::string RingMainURL; extern bool FreeTrial; -extern bool NoLogout; - void resetTextContext (const char *font, bool resetInterfaceManager); #endif // CL_GLOBAL_H diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index d0a64b0a4..d603be4a3 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -40,7 +40,6 @@ #include "nel/3d/u_text_context.h" #include "nel/3d/u_shape_bank.h" #include "nel/3d/stereo_hmd.h" -#include "nel/3d/stereo_ng_hmd.h" // Net. #include "nel/net/email.h" // Ligo. @@ -640,15 +639,10 @@ void initStereoDisplayDevice() StereoDisplay = IStereoDisplay::createDevice(*deviceInfo); if (StereoDisplay) { - if (deviceInfo->Class == CStereoDeviceInfo::StereoHMD - || deviceInfo->Class == CStereoDeviceInfo::StereoNGHMD) + if (deviceInfo->Class == CStereoDeviceInfo::StereoHMD) { nlinfo("VR [C]: Stereo display device is a HMD"); StereoHMD = static_cast(StereoDisplay); - if (deviceInfo->Class == CStereoDeviceInfo::StereoNGHMD) - { - StereoNGHMD = static_cast(StereoDisplay); - } } if (Driver) // VR_DRIVER { diff --git a/code/ryzom/client/src/interface_v3/interface_manager.cpp b/code/ryzom/client/src/interface_v3/interface_manager.cpp index df2cb0376..8a70e10fd 100644 --- a/code/ryzom/client/src/interface_v3/interface_manager.cpp +++ b/code/ryzom/client/src/interface_v3/interface_manager.cpp @@ -1089,7 +1089,6 @@ void CInterfaceManager::configureQuitDialogBox() // Show Launch Editor if not in editor mode CInterfaceElement *eltCancel = quitDlg->getElement(quitDialogStr+":cancel"); CInterfaceElement *eltEdit = quitDlg->getElement(quitDialogStr+":launch_editor"); - if (eltEdit) { if (UserRoleInSession != R2::TUserRole::ur_editor && !sessionOwner) @@ -1160,18 +1159,6 @@ void CInterfaceManager::configureQuitDialogBox() eltQuitNow->setActive(false); } } - - if (NoLogout) - { - eltEdit->setY(0); - eltEdit->setActive(false); - eltQuit->setY(0); - eltQuit->setActive(false); - eltQuitNow->setY(0); - eltQuitNow->setActive(false); - eltRet->setY(0); - eltRet->setActive(false); - } } // Make all controls have the same size diff --git a/code/ryzom/client/src/motion/modes/death_mode.cpp b/code/ryzom/client/src/motion/modes/death_mode.cpp index 4e39f394f..cd987b635 100644 --- a/code/ryzom/client/src/motion/modes/death_mode.cpp +++ b/code/ryzom/client/src/motion/modes/death_mode.cpp @@ -21,9 +21,6 @@ // INCLUDES // ////////////// #include "stdpch.h" - -#include "nel/3d/stereo_ng_hmd.h" - // Client. #include "../../input.h" #include "../user_controls.h" @@ -31,7 +28,6 @@ #include "../../view.h" #include "../../interface_v3/interface_manager.h" #include "../../entities.h" -#include "global.h" /////////// @@ -65,9 +61,6 @@ void CUserControls::deathModeStart() _InternalView = false; // Show/hide all or parts of the user body (after _InternaView is set). UserEntity->updateVisualDisplay(); - // Kill the player - if (StereoNGHMD) - StereoNGHMD->killUser(); }// deathModeStart // //----------------------------------------------- diff --git a/code/ryzom/client/src/net_manager.cpp b/code/ryzom/client/src/net_manager.cpp index 487e05358..1eedc16c5 100644 --- a/code/ryzom/client/src/net_manager.cpp +++ b/code/ryzom/client/src/net_manager.cpp @@ -3555,13 +3555,6 @@ void impulseSetNpcIconTimer(NLMISC::CBitMemStream &impulse) CNPCIconCache::getInstance().setMissionGiverTimer(delay); } -void impulseEventDisableLogoutButton(NLMISC::CBitMemStream &impulse) -{ - NoLogout = true; - CInterfaceManager *im = CInterfaceManager::getInstance(); - im->configureQuitDialogBox(); -} - //----------------------------------------------- // initializeNetwork : //----------------------------------------------- @@ -3711,8 +3704,6 @@ void initializeNetwork() GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_DESC", impulseSetNpcIconDesc ); GenericMsgHeaderMngr.setCallback( "NPC_ICON:SVR_EVENT_MIS_AVL", impulseServerEventForMissionAvailability ); GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_TIMER", impulseSetNpcIconTimer ); - - GenericMsgHeaderMngr.setCallback( "EVENT:DISABLE_LOGOUT_BUTTON", impulseEventDisableLogoutButton ); } diff --git a/code/ryzom/client/src/release.cpp b/code/ryzom/client/src/release.cpp index cdf5dbcb5..b40d68b35 100644 --- a/code/ryzom/client/src/release.cpp +++ b/code/ryzom/client/src/release.cpp @@ -36,7 +36,6 @@ #include "nel/3d/u_visual_collision_manager.h" #include "nel/3d/u_shape_bank.h" #include "nel/3d/stereo_hmd.h" -#include "nel/3d/stereo_ng_hmd.h" // Client #include "global.h" #include "release.h" @@ -517,13 +516,9 @@ void releaseStereoDisplayDevice() { if (StereoDisplay) { - if (NoLogout && StereoNGHMD) - StereoNGHMD->killUser(); - delete StereoDisplay; StereoDisplay = NULL; StereoHMD = NULL; - StereoNGHMD = NULL; } IStereoDisplay::releaseAllLibraries(); } diff --git a/code/ryzom/common/data_common/msg.xml b/code/ryzom/common/data_common/msg.xml index 9ae6fab16..3fa75650e 100644 --- a/code/ryzom/common/data_common/msg.xml +++ b/code/ryzom/common/data_common/msg.xml @@ -1111,8 +1111,8 @@ sendto="EGS" format="u32 u32 uc" description="set the cursom of the item in inventory $inventory in slot $slot to $text" /> - + Date: Wed, 30 Apr 2014 13:05:40 +0200 Subject: [PATCH 139/152] Remove graft tag --- .hgtags | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.hgtags b/.hgtags index b2e9ddbcf..872521985 100644 --- a/.hgtags +++ b/.hgtags @@ -3,10 +3,4 @@ a409552f83cb55a5c20f867fd7bcae1d0083d01a ryzomcore_0_8_0 0000000000000000000000000000000000000000 ryzomcore_0_8_0 0000000000000000000000000000000000000000 ryzomcore_0_8_0 4eddbaff0c5e5d685db96ee3e8427aa0fd96ac83 ryzomcore_0_8_0 -2e439cca8c3746df8ea64e1aab2d4d2ab9ca95d8 latest-default-graft -2e439cca8c3746df8ea64e1aab2d4d2ab9ca95d8 latest-default-graft -e4680cd1f1ce24747c4db73eeb4b107f6f6c45d4 latest-default-graft -e4680cd1f1ce24747c4db73eeb4b107f6f6c45d4 latest-default-graft -8162b598e9e233ce0886d3b8b41151f12a7bff01 latest-default-graft -8162b598e9e233ce0886d3b8b41151f12a7bff01 latest-default-graft -5f0b297fb908985504cef899469bfca9a9f9816c latest-default-graft + From fe6c9d7ba2cb4be935f3b73dd2ea01ee90bc1f3d Mon Sep 17 00:00:00 2001 From: kaetemi Date: Wed, 30 Apr 2014 13:06:48 +0200 Subject: [PATCH 140/152] Added tag latest-graft-to-default for changeset 950d650ca92e --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 872521985..60ba2662d 100644 --- a/.hgtags +++ b/.hgtags @@ -4,3 +4,4 @@ a409552f83cb55a5c20f867fd7bcae1d0083d01a ryzomcore_0_8_0 0000000000000000000000000000000000000000 ryzomcore_0_8_0 4eddbaff0c5e5d685db96ee3e8427aa0fd96ac83 ryzomcore_0_8_0 +950d650ca92e6041611258d7e5131ccf661e4ec2 latest-graft-to-default From db1f8221c30793038f81ff32c229eb3a4de5e9e3 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Wed, 30 Apr 2014 13:07:12 +0200 Subject: [PATCH 141/152] Added tag latest-merge-from-default for changeset 950d650ca92e --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 60ba2662d..cb11e3e8b 100644 --- a/.hgtags +++ b/.hgtags @@ -5,3 +5,4 @@ a409552f83cb55a5c20f867fd7bcae1d0083d01a ryzomcore_0_8_0 4eddbaff0c5e5d685db96ee3e8427aa0fd96ac83 ryzomcore_0_8_0 950d650ca92e6041611258d7e5131ccf661e4ec2 latest-graft-to-default +950d650ca92e6041611258d7e5131ccf661e4ec2 latest-merge-from-default From d7c9608d837f47559b2752154f5eb8ff9d1095c3 Mon Sep 17 00:00:00 2001 From: kervala Date: Fri, 9 May 2014 19:18:56 +0200 Subject: [PATCH 142/152] Fixed: Compilation error --- code/ryzom/tools/leveldesign/georges_dll/stdafx.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/ryzom/tools/leveldesign/georges_dll/stdafx.cpp b/code/ryzom/tools/leveldesign/georges_dll/stdafx.cpp index d4850a5aa..8178a3ed3 100644 --- a/code/ryzom/tools/leveldesign/georges_dll/stdafx.cpp +++ b/code/ryzom/tools/leveldesign/georges_dll/stdafx.cpp @@ -19,6 +19,3 @@ // stdafx.obj will contain the pre-compiled type information #include "stdafx.h" - - -void foo_std_afx_to_remove_warning() {}; From b57755b9ee49ddbd429193e06edd32e0859bad5d Mon Sep 17 00:00:00 2001 From: botanic Date: Sat, 10 May 2014 09:15:00 -0700 Subject: [PATCH 143/152] Fix for bug from de6f606 --- .../ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php | 1 + 1 file changed, 1 insertion(+) diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php index e51dc1872..2901918e2 100644 --- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php +++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php @@ -56,6 +56,7 @@ if (!isset($_POST['function'])) { //require the pages that are being needed. require_once( '../config.default.php' ); + require_once( $AMS_LIB.'/libinclude.php' ); ini_set( "display_errors", true ); error_reporting( E_ALL ); From 46e5c39e74b8a43c955fb8815fa27f90e8b9699b Mon Sep 17 00:00:00 2001 From: kervala Date: Tue, 13 May 2014 09:29:45 +0200 Subject: [PATCH 144/152] Changed: Replaced some spaces by tabulations --- code/ryzom/client/src/init.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index d603be4a3..aa18cee6a 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -333,8 +333,8 @@ void ExitClientError (const char *format, ...) // Exit extern void quitCrashReport (); quitCrashReport (); - NLMISC::NL3D_BlockMemoryAssertOnPurge = false; // at this point some object may remain allocated - // so don't want to fire an assert here + NLMISC::NL3D_BlockMemoryAssertOnPurge = false; // at this point some object may remain allocated + // so don't want to fire an assert here exit (EXIT_FAILURE); } @@ -558,11 +558,11 @@ static std::string replaceApplicationDirToken(const std::string &dir) { #ifdef NL_OS_MAC - // if client_default.cfg is not in current directory, and it's not an absolute path, use application default directory - if (!CFile::isExists("client_default.cfg") && dir.size()>0 && dir[0]!='/') - { - return getAppBundlePath() + "/Contents/Resources/" + dir; - } + // if client_default.cfg is not in current directory, and it's not an absolute path, use application default directory + if (!CFile::isExists("client_default.cfg") && dir.size()>0 && dir[0]!='/') + { + return getAppBundlePath() + "/Contents/Resources/" + dir; + } #else static const std::string token = ""; std::string::size_type pos = dir.find(token); @@ -695,7 +695,7 @@ void addPreDataPaths(NLMISC::IProgressCallback &progress) { NLMISC::TTime initPaths = ryzomGetLocalTime (); H_AUTO(InitRZAddSearchPaths) - for (uint i = 0; i < ClientCfg.PreDataPath.size(); i++) + for (uint i = 0; i < ClientCfg.PreDataPath.size(); i++) { progress.progress ((float)i/(float)ClientCfg.PreDataPath.size()); progress.pushCropedValues ((float)i/(float)ClientCfg.PreDataPath.size(), (float)(i+1)/(float)ClientCfg.PreDataPath.size()); @@ -771,7 +771,7 @@ void prelogInit() NLMISC_REGISTER_CLASS(CNamedEntityPositionState); NLMISC_REGISTER_CLASS(CAnimalPositionState); - // _CrtSetDbgFlag( _CRTDBG_CHECK_CRT_DF ); + // _CrtSetDbgFlag( _CRTDBG_CHECK_CRT_DF ); // Init XML Lib allocator // Due to Bug #906, we disable the stl xml allocation @@ -924,9 +924,9 @@ void prelogInit() // For login phase, MUST be in windowed UDriver::CMode mode; - mode.Width = 1024; - mode.Height = 768; - mode.Windowed = true; + mode.Width = 1024; + mode.Height = 768; + mode.Windowed = true; // Disable Hardware Vertex Program. if(ClientCfg.DisableVtxProgram) @@ -944,7 +944,7 @@ void prelogInit() else Driver->setSwapVBLInterval(0); - if (StereoDisplay) // VR_CONFIG // VR_DRIVER + if (StereoDisplay) // VR_CONFIG // VR_DRIVER { // override mode TODO } @@ -1000,7 +1000,7 @@ void prelogInit() // check if an icon is present in registered paths if(CPath::exists("ryzom.png")) - filenames.push_back(CPath::lookup("ryzom.png")); + filenames.push_back(CPath::lookup("ryzom.png")); vector bitmaps; From 0a41e6b3c4afa819a2a4bc965bd3011493f1f55e Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 23 May 2014 01:57:19 +0200 Subject: [PATCH 145/152] Fix Windows compilation of lightmap_optimizer --- code/nel/tools/3d/lightmap_optimizer/main.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/code/nel/tools/3d/lightmap_optimizer/main.cpp b/code/nel/tools/3d/lightmap_optimizer/main.cpp index 25b5678ea..3323cce40 100644 --- a/code/nel/tools/3d/lightmap_optimizer/main.cpp +++ b/code/nel/tools/3d/lightmap_optimizer/main.cpp @@ -33,12 +33,13 @@ #include "nel/3d/register_3d.h" #ifdef NL_OS_WINDOWS - #include +# include #else - #include /* for directories functions */ - #include - #include - #include /* getcwd, chdir -- replacement for getCurDiretory & setCurDirectory on windows */ +# define strnicmp NLMISC::strnicmp +# include /* for directories functions */ +# include +# include +# include /* getcwd, chdir -- replacement for getCurDiretory & setCurDirectory on windows */ #endif @@ -72,7 +73,8 @@ void dir (const std::string &sFilter, std::vector &sAllFiles, bool char sCurDir[MAX_PATH]; sAllFiles.clear (); GetCurrentDirectory (MAX_PATH, sCurDir); - hFind = FindFirstFile ("*"+sFilter.c_str(), &findData); + std::string sFilterAsx = std::string("*") + sFilter; + hFind = FindFirstFile (sFilterAsx.c_str(), &findData); while (hFind != INVALID_HANDLE_VALUE) { DWORD res = GetFileAttributes(findData.cFileName); @@ -626,7 +628,7 @@ int main(int nNbArg, char **ppArgs) outString(string("ERROR: lightmaps ")+sTmp2+"*.tga not all the same size\n"); for (k = 0; k < (sint32)AllLightmapNames.size(); ++k) { - if (NLMISC::strnicmp(AllLightmapNames[k].c_str(), sTmp2.c_str(), sTmp2.size()) == 0) + if (strnicmp(AllLightmapNames[k].c_str(), sTmp2.c_str(), sTmp2.size()) == 0) { for (j = k+1; j < (sint32)AllLightmapNames.size(); ++j) { From 4311da091f56cba943335b425861df5fc6760347 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 23 May 2014 17:25:52 +0200 Subject: [PATCH 146/152] Add --admininstall parameter to c1_shard_patch --- .../tools/build_gamedata/c1_shard_patch.py | 37 +++++++++++-------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/code/nel/tools/build_gamedata/c1_shard_patch.py b/code/nel/tools/build_gamedata/c1_shard_patch.py index a67613f67..b67b053a8 100644 --- a/code/nel/tools/build_gamedata/c1_shard_patch.py +++ b/code/nel/tools/build_gamedata/c1_shard_patch.py @@ -24,9 +24,13 @@ # along with this program. If not, see . # -import time, sys, os, shutil, subprocess, distutils.dir_util, tarfile +import time, sys, os, shutil, subprocess, distutils.dir_util, tarfile, argparse sys.path.append("configuration") +parser = argparse.ArgumentParser(description='Ryzom Core - Build Gamedata - Shard Patch') +parser.add_argument('--admininstall', '-ai', action='store_true') +args = parser.parse_args() + if os.path.isfile("log.log"): os.remove("log.log") log = open("log.log", "w") @@ -84,23 +88,24 @@ else: printLog(log, "SKIP " + adminInstallTgz) printLog(log, "") -printLog(log, ">>> Create new version <<<") -newVersion = 1 -vstr = str(newVersion).zfill(6) -vpath = PatchmanBridgeServerDirectory + "/" + vstr -while os.path.exists(vpath): - newVersion = newVersion + 1 +if not args.admininstall: + printLog(log, ">>> Create new version <<<") + newVersion = 1 vstr = str(newVersion).zfill(6) vpath = PatchmanBridgeServerDirectory + "/" + vstr -mkPath(log, vpath) -for dir in archiveDirectories: - mkPath(log, ShardInstallDirectory + "/" + dir) - tgzPath = vpath + "/" + dir + ".tgz" - printLog(log, "WRITE " + tgzPath) - tar = tarfile.open(tgzPath, "w:gz") - tar.add(ShardInstallDirectory + "/" + dir, arcname = dir) - tar.close() -printLog(log, "") + while os.path.exists(vpath): + newVersion = newVersion + 1 + vstr = str(newVersion).zfill(6) + vpath = PatchmanBridgeServerDirectory + "/" + vstr + mkPath(log, vpath) + for dir in archiveDirectories: + mkPath(log, ShardInstallDirectory + "/" + dir) + tgzPath = vpath + "/" + dir + ".tgz" + printLog(log, "WRITE " + tgzPath) + tar = tarfile.open(tgzPath, "w:gz") + tar.add(ShardInstallDirectory + "/" + dir, arcname = dir) + tar.close() + printLog(log, "") log.close() if os.path.isfile("c1_shard_patch.log"): From 47e5e587ad2ca60fa808cc641aef250e1f1c2e03 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 23 May 2014 19:13:08 +0200 Subject: [PATCH 147/152] Use vector instead of map to store sbrick sheets, it's faster --- .../src/interface_v3/sbrick_manager.cpp | 181 +++++++++--------- .../client/src/interface_v3/sbrick_manager.h | 38 ++-- 2 files changed, 114 insertions(+), 105 deletions(-) diff --git a/code/ryzom/client/src/interface_v3/sbrick_manager.cpp b/code/ryzom/client/src/interface_v3/sbrick_manager.cpp index a01e69f13..036a50052 100644 --- a/code/ryzom/client/src/interface_v3/sbrick_manager.cpp +++ b/code/ryzom/client/src/interface_v3/sbrick_manager.cpp @@ -50,55 +50,69 @@ CSBrickManager::CSBrickManager() : _NbFamily(0), _SabrinaCom(&_BrickContainer) // *************************************************************************** void CSBrickManager::init() { - // Read the Bricks from the SheetMngr. - const CSheetManager::TEntitySheetMap &sheetMap= SheetMngr.getSheets(); - for(CSheetManager::TEntitySheetMap::const_iterator it= sheetMap.begin(); it!=sheetMap.end(); it++) + const CSheetManager::TEntitySheetMap &sheetMap = SheetMngr.getSheets(); + _BrickVector.clear(); + _BrickVector.reserve(16 * 1024); + uint32 shtype = CSheetId::typeFromFileExtension("sbrick"); + for (CSheetManager::TEntitySheetMap::const_iterator it(sheetMap.begin()), end(sheetMap.end()); it != end; ++it) { // it's a brick? - CSBrickSheet *br= dynamic_cast(it->second.EntitySheet); - if(br) + CSBrickSheet *br = dynamic_cast(it->second.EntitySheet); // TODO: Avoid dynamic_cast, depend on getSheetType + if (br) { // ok, add it - _Bricks[it->first]= br; + uint32 shid = it->first.getShortId(); + nlassert(shtype == it->first.getSheetType()); + if (shid >= _BrickVector.size()) + _BrickVector.resize(shid + 1); + _BrickVector[shid] = br; } } // Process Bricks - if (_Bricks.empty()) return; + if (_BrickVector.empty()) return; - map::iterator itb; - - //build the vector of family bit fields, and the vector of existing bricks - for (itb = _Bricks.begin();itb != _Bricks.end();itb++) + // Build the vector of family bit fields, and the vector of existing bricks + for (std::vector::iterator itb(_BrickVector.begin()), endb(_BrickVector.end()); itb != endb; ++itb) { - //resize our vectors if necessary - if ( itb->second->BrickFamily >= (sint32)_NbFamily ) - { - _SheetsByFamilies.resize(itb->second->BrickFamily+1); - _FamiliesBits.resize(itb->second->BrickFamily+1, 0); - _NbBricksPerFamily.resize(itb->second->BrickFamily+1, 0); + CSBrickSheet *brickSheet = *itb; + if (!brickSheet) + continue; - _NbFamily = itb->second->BrickFamily+1; + // Resize our vectors if necessary + if (brickSheet->BrickFamily >= (sint32)_NbFamily) + { + _SheetsByFamilies.resize(brickSheet->BrickFamily + 1); + _FamiliesBits.resize(brickSheet->BrickFamily + 1, 0); + _NbBricksPerFamily.resize(brickSheet->BrickFamily + 1, 0); + + _NbFamily = brickSheet->BrickFamily + 1; } } // Since _SheetsByFamilies is a vector of vector, avoid long reallocation by building it in 2 pass - for (itb = _Bricks.begin();itb != _Bricks.end();itb++) + sint32 shidc = -1; + for (std::vector::iterator itb(_BrickVector.begin()), endb(_BrickVector.end()); itb != endb; ++itb) { - //resize our vectors if necessary - //the index in familly must be decremented because the values start at 1 in the sheets - if (itb->second->IndexInFamily<1) + ++shidc; + CSBrickSheet *brickSheet = *itb; + if (!brickSheet) + continue; + + // Resize our vectors if necessary + // The index in familly must be decremented because the values start at 1 in the sheets + if (brickSheet->IndexInFamily < 1) { - nlwarning("CSBrickManager::CSBrickManager(): Reading file: %s: IndexInFamily==0 but should be >=1 - entry ignored",itb->first.toString().c_str()); + nlwarning("CSBrickManager::CSBrickManager(): Reading file: %s: IndexInFamily==0 but should be >=1 - entry ignored", brickSheet->Id.toString().c_str()); continue; } - if (_NbBricksPerFamily[itb->second->BrickFamily] < (uint)(itb->second->IndexInFamily) ) + if (_NbBricksPerFamily[brickSheet->BrickFamily] < (uint)(brickSheet->IndexInFamily)) { - _SheetsByFamilies[itb->second->BrickFamily].resize(itb->second->IndexInFamily); - _NbBricksPerFamily[itb->second->BrickFamily]=itb->second->IndexInFamily; + _SheetsByFamilies[brickSheet->BrickFamily].resize(brickSheet->IndexInFamily); + _NbBricksPerFamily[brickSheet->BrickFamily] = brickSheet->IndexInFamily; } - _SheetsByFamilies[itb->second->BrickFamily][itb->second->IndexInFamily-1] = itb->first; + _SheetsByFamilies[brickSheet->BrickFamily][brickSheet->IndexInFamily - 1] = brickSheet->Id; } // check brick content for client. @@ -192,20 +206,17 @@ void CSBrickManager::makeRoots() { _Roots.clear(); - map::iterator it = _Bricks.begin(); - - while (it != _Bricks.end()) + for (std::vector::size_type ib = 0; ib < _BrickVector.size(); ++ib) { - const CSheetId &rSheet = it->first; - const CSBrickSheet &rBR = *it->second; + const CSBrickSheet *brickSheet = _BrickVector[ib]; + if (!brickSheet) + continue; // List only the Roots - if ( !rBR.isRoot() ) - { it++; continue; } + if (!brickSheet->isRoot()) + continue; - _Roots.push_back(rSheet); - - it++; + _Roots.push_back(brickSheet->Id); } } @@ -223,22 +234,20 @@ const std::vector &CSBrickManager::getFamilyBricks(uint famil // *************************************************************************** void CSBrickManager::checkBricks() { - map::iterator it = _Bricks.begin(); - - while (it != _Bricks.end()) + for (std::vector::size_type ib = 0; ib < _BrickVector.size(); ++ib) { - CSBrickSheet &rBR = *it->second; + CSBrickSheet *brickSheet = _BrickVector[ib]; + if (!brickSheet) + continue; - if(rBR.ParameterFamilies.size()>CDBGroupBuildPhrase::MaxParam) + if (brickSheet->ParameterFamilies.size() > CDBGroupBuildPhrase::MaxParam) { nlwarning("The Sheet %s has too many parameters for Client Composition: %d/%d", - rBR.Id.toString().c_str(), rBR.ParameterFamilies.size(), CDBGroupBuildPhrase::MaxParam); + brickSheet->Id.toString().c_str(), brickSheet->ParameterFamilies.size(), CDBGroupBuildPhrase::MaxParam); // reset them... don't crahs client, but won't work. - rBR.ParameterFamilies.clear(); + brickSheet->ParameterFamilies.clear(); } - - it++; } } @@ -340,28 +349,27 @@ TOOL_TYPE::TCraftingToolType CSBrickManager::CBrickContainer::getFaberPlanToolTy // *************************************************************************** void CSBrickManager::makeVisualBrickForSkill() { - map::iterator it = _Bricks.begin(); - // clear - for(uint i=0;i::size_type ib = 0; ib < _BrickVector.size(); ++ib) { - const CSheetId &rSheet = it->first; - const CSBrickSheet &rBR = *it->second; + const CSBrickSheet *brickSheet = _BrickVector[ib]; + if (!brickSheet) + continue; // List only bricks with family == BIF - if ( rBR.BrickFamily == BRICK_FAMILIES::BIF ) + if (brickSheet->BrickFamily == BRICK_FAMILIES::BIF) { - if(rBR.getSkill()getSkill() < SKILLS::NUM_SKILLS) + { + _VisualBrickForSkill[brickSheet->getSkill()] = brickSheet->Id; + } } - - it++; } } @@ -378,43 +386,40 @@ CSheetId CSBrickManager::getVisualBrickForSkill(SKILLS::ESkills s) // *************************************************************************** void CSBrickManager::compileBrickProperties() { - map::iterator it = _Bricks.begin(); - // clear _BrickPropIdMap.clear(); uint NumIds= 0; // **** for all bricks, compile props - while (it != _Bricks.end()) + for (std::vector::size_type ib = 0; ib < _BrickVector.size(); ++ib) { -// const CSheetId &rSheet = it->first; - CSBrickSheet &rBR = *it->second; + CSBrickSheet *brickSheet = _BrickVector[ib]; + if (!brickSheet) + continue; // For all properties of this brick, compile - for(uint i=0;iProperties.size(); ++i) { - CSBrickSheet::CProperty &prop= rBR.Properties[i]; + CSBrickSheet::CProperty &prop = brickSheet->Properties[i]; string::size_type pos = prop.Text.find(':'); - if(pos!=string::npos) + if (pos != string::npos) { - string key= prop.Text.substr(0, pos); + string key = prop.Text.substr(0, pos); strlwr(key); - string value= prop.Text.substr(pos+1); + string value = prop.Text.substr(pos + 1); // get key id. - if(_BrickPropIdMap.find(key)==_BrickPropIdMap.end()) + if (_BrickPropIdMap.find(key) == _BrickPropIdMap.end()) { // Inc before to leave 0 as "undefined" - _BrickPropIdMap[key]= ++NumIds; + _BrickPropIdMap[key] = ++NumIds; } - prop.PropId= _BrickPropIdMap[key]; + prop.PropId = _BrickPropIdMap[key]; fromString(value, prop.Value); - pos= value.find(':'); - if(pos!=string::npos) - fromString(value.substr(pos+1), prop.Value2); + pos = value.find(':'); + if (pos != string::npos) + fromString(value.substr(pos + 1), prop.Value2); } } - - it++; } // Get usual PropIds @@ -428,19 +433,19 @@ void CSBrickManager::compileBrickProperties() // **** for all bricks, recompute localized text with formated version - it= _Bricks.begin(); ucstring textTemp; textTemp.reserve(1000); - while (it != _Bricks.end()) + for (std::vector::size_type ib = 0; ib < _BrickVector.size(); ++ib) { - const CSheetId &rSheet = it->first; - const CSBrickSheet &rBR = *it->second; + CSBrickSheet *brickSheet = _BrickVector[ib]; + if (!brickSheet) + continue; // Get the Brick texts ucstring texts[3]; - texts[0]= STRING_MANAGER::CStringManagerClient::getSBrickLocalizedName(rSheet); - texts[1]= STRING_MANAGER::CStringManagerClient::getSBrickLocalizedDescription(rSheet); - texts[2]= STRING_MANAGER::CStringManagerClient::getSBrickLocalizedCompositionDescription(rSheet); + texts[0]= STRING_MANAGER::CStringManagerClient::getSBrickLocalizedName(brickSheet->Id); + texts[1]= STRING_MANAGER::CStringManagerClient::getSBrickLocalizedDescription(brickSheet->Id); + texts[2]= STRING_MANAGER::CStringManagerClient::getSBrickLocalizedCompositionDescription(brickSheet->Id); // For alls texts, parse format for(uint i=0;i<3;i++) @@ -506,13 +511,13 @@ void CSBrickManager::compileBrickProperties() // if propid exist if(propId) { - for(uint p=0;pProperties.size();p++) { - const CSBrickSheet::CProperty &prop= rBR.Properties[p]; + const CSBrickSheet::CProperty &prop= brickSheet->Properties[p]; if(prop.PropId==propId) { if(paramId==0) - value= rBR.Properties[p].Value; + value= brickSheet->Properties[p].Value; else { // must parse the initial text/ skip the identifier @@ -562,9 +567,7 @@ void CSBrickManager::compileBrickProperties() } // reset - STRING_MANAGER::CStringManagerClient::replaceSBrickName(rSheet, texts[0], texts[1], texts[2]); - - it++; + STRING_MANAGER::CStringManagerClient::replaceSBrickName(brickSheet->Id, texts[0], texts[1], texts[2]); } } diff --git a/code/ryzom/client/src/interface_v3/sbrick_manager.h b/code/ryzom/client/src/interface_v3/sbrick_manager.h index fb54fc88a..d963309bf 100644 --- a/code/ryzom/client/src/interface_v3/sbrick_manager.h +++ b/code/ryzom/client/src/interface_v3/sbrick_manager.h @@ -65,11 +65,15 @@ public: */ CSBrickSheet *getBrick(const NLMISC::CSheetId &id) const { - std::map::const_iterator it = _Bricks.find(id); - if (it == _Bricks.end()) - return NULL; - return it->second; + uint32 shid = id.getShortId(); + CSBrickSheet *result = NULL; + if (shid < _BrickVector.size()) + result = _BrickVector[shid]; + //if (!result) + // nlwarning("Missing brick '%s'", id.toString().c_str()); + return result; } + /** * \return a sheet id of a brick */ @@ -142,27 +146,29 @@ protected: /// Constructor CSBrickManager(); - ///singleton's instance + /// Singleton's instance static CSBrickManager* _Instance; - //number of families + /// Number of families uint _NbFamily; - //number of bricks in each family + /// Number of bricks in each family std::vector _NbBricksPerFamily; - ///map linking a sheet id to a brick record. - std::map _Bricks; + /// Map linking a sheet id to a brick record. + // std::map _Bricks; + std::vector _BrickVector; - ///structure storing all bricks. each entry of the vector represent a family, described by a vector containing all the bricks - ///of the family - std::vector > _SheetsByFamilies; + /// Structure storing all bricks. each entry of the vector + /// represent a family, described by a vector containing all + /// the bricks of the family + std::vector > _SheetsByFamilies; - ///vector of bit fields describing the known bricks of each family - std::vector _FamiliesBits; + /// Vector of bit fields describing the known bricks of each family + std::vector _FamiliesBits; - /// list of roots only - std::vector _Roots; + /// List of roots only + std::vector _Roots; /// Mapper of SkillToBrick NLMISC::CSheetId _VisualBrickForSkill[SKILLS::NUM_SKILLS]; From 1f786418a74af73dc87846e355579cd73123f4ac Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 23 May 2014 19:13:36 +0200 Subject: [PATCH 148/152] Crash safely with an error when sphrase is missing on client --- .../client/src/interface_v3/sphrase_manager.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/code/ryzom/client/src/interface_v3/sphrase_manager.cpp b/code/ryzom/client/src/interface_v3/sphrase_manager.cpp index 3d6155d23..7ef59dc1c 100644 --- a/code/ryzom/client/src/interface_v3/sphrase_manager.cpp +++ b/code/ryzom/client/src/interface_v3/sphrase_manager.cpp @@ -4504,17 +4504,19 @@ sint32 CSPhraseManager::getSheetFromPhrase(const CSPhraseCom &phrase) const uint32 CSPhraseManager::getTotalActionMalus(const CSPhraseCom &phrase) const { CInterfaceManager *pIM = CInterfaceManager::getInstance(); - CSBrickManager *pBM= CSBrickManager::getInstance(); - uint32 totalActionMalus= 0; + CSBrickManager *pBM = CSBrickManager::getInstance(); + uint32 totalActionMalus = 0; CCDBNodeLeaf *actMalus = _TotalMalusEquipLeaf ? &*_TotalMalusEquipLeaf : &*(_TotalMalusEquipLeaf = NLGUI::CDBManager::getInstance()->getDbProp("UI:VARIABLES:TOTAL_MALUS_EQUIP", false)); // root brick must not be Power or aura, because Action malus don't apply to them // (ie leave 0 ActionMalus for Aura or Powers if (!phrase.Bricks.empty()) { - CSBrickSheet *rootBrick= pBM->getBrick(phrase.Bricks[0]); - if(actMalus && !rootBrick->isSpecialPower()) - totalActionMalus= actMalus->getValue32(); + CSBrickSheet *rootBrick = pBM->getBrick(phrase.Bricks[0]); + if (!rootBrick) + nlerror("Invalid root sbrick in sphrase_com '%s'", phrase.Name.toUtf8().c_str()); + else if (actMalus && !rootBrick->isSpecialPower()) + totalActionMalus = actMalus->getValue32(); } return totalActionMalus; } From 0d67c420cd12279fa1d5fc03aafac4dbe8f058f3 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Fri, 23 May 2014 22:39:50 +0200 Subject: [PATCH 149/152] Set exec mode --- code/nel/tools/build_gamedata/0_setup.py | 0 code/nel/tools/build_gamedata/1_export.py | 0 code/nel/tools/build_gamedata/2_build.py | 0 code/nel/tools/build_gamedata/3_install.py | 0 code/nel/tools/build_gamedata/9_upload.py | 0 code/nel/tools/build_gamedata/a1_worldedit_data.py | 0 code/nel/tools/build_gamedata/b1_client_dev.py | 0 code/nel/tools/build_gamedata/b2_shard_data.py | 0 code/nel/tools/build_gamedata/c1_shard_patch.py | 0 code/nel/tools/build_gamedata/configuration/scripts.py | 0 code/nel/tools/build_gamedata/configuration/tools.py | 0 code/nel/tools/build_gamedata/d1_client_patch.py | 0 code/nel/tools/build_gamedata/d2_client_install.py | 0 code/nel/tools/build_gamedata/export_build_install.py | 0 .../generators/ecosystem_project_template/directories.py | 0 .../generators/ecosystem_project_template/process.py | 0 code/nel/tools/build_gamedata/generators/generate_all.py | 0 .../build_gamedata/generators/generate_ecosystem_projects.py | 0 .../build_gamedata/generators/generate_simple_max_exporters.py | 0 .../build_gamedata/generators/generate_tagged_max_exporters.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/anim.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/anim.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/clod.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/clod.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/cmb.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/cmb.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/ig.ms | 0 .../build_gamedata/generators/max_exporter_scripts/pacs_prim.ms | 0 .../build_gamedata/generators/max_exporter_scripts/pacs_prim.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/shape.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/skel.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/skel.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/swt.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/swt.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/veget.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/veget.py | 0 .../tools/build_gamedata/generators/max_exporter_scripts/zone.ms | 0 .../tools/build_gamedata/generators/max_exporter_scripts/zone.py | 0 .../generators/simple_max_exporter_template/0_setup.py | 0 .../generators/simple_max_exporter_template/1_export_footer.py | 0 .../generators/simple_max_exporter_template/1_export_header.py | 0 .../generators/simple_max_exporter_template/2_build.py | 0 .../generators/simple_max_exporter_template/3_install.py | 0 .../generators/simple_max_exporter_template/export_footer.ms | 0 .../generators/simple_max_exporter_template/export_header.ms | 0 .../generators/tagged_max_exporter_template/0_setup.py | 0 .../generators/tagged_max_exporter_template/1_export_footer.py | 0 .../generators/tagged_max_exporter_template/1_export_header.py | 0 .../generators/tagged_max_exporter_template/2_build.py | 0 .../generators/tagged_max_exporter_template/3_install.py | 0 .../generators/tagged_max_exporter_template/export_footer.ms | 0 .../generators/tagged_max_exporter_template/export_header.ms | 0 code/nel/tools/build_gamedata/processes/0_setup.py | 0 code/nel/tools/build_gamedata/processes/1_export.py | 0 code/nel/tools/build_gamedata/processes/2_build.py | 0 code/nel/tools/build_gamedata/processes/3_install.py | 0 code/nel/tools/build_gamedata/processes/_dummy/0_setup.py | 0 code/nel/tools/build_gamedata/processes/_dummy/1_export.py | 0 code/nel/tools/build_gamedata/processes/_dummy/2_build.py | 0 code/nel/tools/build_gamedata/processes/_dummy/3_install.py | 0 code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py | 0 code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py | 0 code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py | 0 code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py | 0 code/nel/tools/build_gamedata/processes/anim/0_setup.py | 0 code/nel/tools/build_gamedata/processes/anim/1_export.py | 0 code/nel/tools/build_gamedata/processes/anim/2_build.py | 0 code/nel/tools/build_gamedata/processes/anim/3_install.py | 0 .../tools/build_gamedata/processes/anim/maxscript/anim_export.ms | 0 code/nel/tools/build_gamedata/processes/cegui/0_setup.py | 0 code/nel/tools/build_gamedata/processes/cegui/1_export.py | 0 code/nel/tools/build_gamedata/processes/cegui/2_build.py | 0 code/nel/tools/build_gamedata/processes/cegui/3_install.py | 0 code/nel/tools/build_gamedata/processes/clodbank/0_setup.py | 0 code/nel/tools/build_gamedata/processes/clodbank/1_export.py | 0 code/nel/tools/build_gamedata/processes/clodbank/2_build.py | 0 code/nel/tools/build_gamedata/processes/clodbank/3_install.py | 0 .../build_gamedata/processes/clodbank/maxscript/clod_export.ms | 0 code/nel/tools/build_gamedata/processes/copy/0_setup.py | 0 code/nel/tools/build_gamedata/processes/copy/1_export.py | 0 code/nel/tools/build_gamedata/processes/copy/2_build.py | 0 code/nel/tools/build_gamedata/processes/copy/3_install.py | 0 code/nel/tools/build_gamedata/processes/displace/0_setup.py | 0 code/nel/tools/build_gamedata/processes/displace/1_export.py | 0 code/nel/tools/build_gamedata/processes/displace/2_build.py | 0 code/nel/tools/build_gamedata/processes/displace/3_install.py | 0 code/nel/tools/build_gamedata/processes/farbank/0_setup.py | 0 code/nel/tools/build_gamedata/processes/farbank/1_export.py | 0 code/nel/tools/build_gamedata/processes/farbank/2_build.py | 0 code/nel/tools/build_gamedata/processes/farbank/3_install.py | 0 code/nel/tools/build_gamedata/processes/font/0_setup.py | 0 code/nel/tools/build_gamedata/processes/font/1_export.py | 0 code/nel/tools/build_gamedata/processes/font/2_build.py | 0 code/nel/tools/build_gamedata/processes/font/3_install.py | 0 code/nel/tools/build_gamedata/processes/ig/0_setup.py | 0 code/nel/tools/build_gamedata/processes/ig/1_export.py | 0 code/nel/tools/build_gamedata/processes/ig/2_build.py | 0 code/nel/tools/build_gamedata/processes/ig/3_install.py | 0 code/nel/tools/build_gamedata/processes/ig/maxscript/ig_export.ms | 0 code/nel/tools/build_gamedata/processes/ig_light/0_setup.py | 0 code/nel/tools/build_gamedata/processes/ig_light/1_export.py | 0 code/nel/tools/build_gamedata/processes/ig_light/2_build.py | 0 code/nel/tools/build_gamedata/processes/ig_light/3_install.py | 0 code/nel/tools/build_gamedata/processes/interface/0_setup.py | 0 code/nel/tools/build_gamedata/processes/interface/1_export.py | 0 code/nel/tools/build_gamedata/processes/interface/2_build.py | 0 code/nel/tools/build_gamedata/processes/interface/3_install.py | 0 code/nel/tools/build_gamedata/processes/ligo/0_setup.py | 0 code/nel/tools/build_gamedata/processes/ligo/1_export.py | 0 code/nel/tools/build_gamedata/processes/ligo/2_build.py | 0 code/nel/tools/build_gamedata/processes/ligo/3_install.py | 0 .../build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms | 0 code/nel/tools/build_gamedata/processes/map/0_setup.py | 0 code/nel/tools/build_gamedata/processes/map/1_export.py | 0 code/nel/tools/build_gamedata/processes/map/2_build.py | 0 code/nel/tools/build_gamedata/processes/map/3_install.py | 0 code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py | 0 code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py | 0 code/nel/tools/build_gamedata/processes/pacs_prim/2_build.py | 0 code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py | 0 .../processes/pacs_prim/maxscript/pacs_prim_export.ms | 0 code/nel/tools/build_gamedata/processes/pacs_prim_list/0_setup.py | 0 .../nel/tools/build_gamedata/processes/pacs_prim_list/1_export.py | 0 code/nel/tools/build_gamedata/processes/pacs_prim_list/2_build.py | 0 .../tools/build_gamedata/processes/pacs_prim_list/3_install.py | 0 code/nel/tools/build_gamedata/processes/properties/0_setup.py | 0 code/nel/tools/build_gamedata/processes/properties/1_export.py | 0 code/nel/tools/build_gamedata/processes/properties/2_build.py | 0 code/nel/tools/build_gamedata/processes/properties/3_install.py | 0 code/nel/tools/build_gamedata/processes/ps/0_setup.py | 0 code/nel/tools/build_gamedata/processes/ps/1_export.py | 0 code/nel/tools/build_gamedata/processes/ps/2_build.py | 0 code/nel/tools/build_gamedata/processes/ps/3_install.py | 0 code/nel/tools/build_gamedata/processes/rbank/0_setup.py | 0 code/nel/tools/build_gamedata/processes/rbank/1_export.py | 0 code/nel/tools/build_gamedata/processes/rbank/2_build.py | 0 code/nel/tools/build_gamedata/processes/rbank/3_install.py | 0 .../tools/build_gamedata/processes/rbank/maxscript/cmb_export.ms | 0 code/nel/tools/build_gamedata/processes/shape/0_setup.py | 0 code/nel/tools/build_gamedata/processes/shape/1_export.py | 0 code/nel/tools/build_gamedata/processes/shape/2_build.py | 0 code/nel/tools/build_gamedata/processes/shape/3_install.py | 0 .../build_gamedata/processes/shape/maxscript/shape_export.ms | 0 code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py | 0 code/nel/tools/build_gamedata/processes/sheet_id/1_export.py | 0 code/nel/tools/build_gamedata/processes/sheet_id/2_build.py | 0 code/nel/tools/build_gamedata/processes/sheet_id/3_install.py | 0 code/nel/tools/build_gamedata/processes/sheets/0_setup.py | 0 code/nel/tools/build_gamedata/processes/sheets/1_export.py | 0 code/nel/tools/build_gamedata/processes/sheets/2_build.py | 0 code/nel/tools/build_gamedata/processes/sheets/3_install.py | 0 code/nel/tools/build_gamedata/processes/sheets_shard/0_setup.py | 0 code/nel/tools/build_gamedata/processes/sheets_shard/1_export.py | 0 code/nel/tools/build_gamedata/processes/sheets_shard/2_build.py | 0 code/nel/tools/build_gamedata/processes/sheets_shard/3_install.py | 0 code/nel/tools/build_gamedata/processes/skel/0_setup.py | 0 code/nel/tools/build_gamedata/processes/skel/1_export.py | 0 code/nel/tools/build_gamedata/processes/skel/2_build.py | 0 code/nel/tools/build_gamedata/processes/skel/3_install.py | 0 .../tools/build_gamedata/processes/skel/maxscript/skel_export.ms | 0 code/nel/tools/build_gamedata/processes/smallbank/0_setup.py | 0 code/nel/tools/build_gamedata/processes/smallbank/1_export.py | 0 code/nel/tools/build_gamedata/processes/smallbank/2_build.py | 0 code/nel/tools/build_gamedata/processes/smallbank/3_install.py | 0 code/nel/tools/build_gamedata/processes/sound/0_setup.py | 0 code/nel/tools/build_gamedata/processes/sound/1_export.py | 0 code/nel/tools/build_gamedata/processes/sound/2_build.py | 0 code/nel/tools/build_gamedata/processes/sound/3_install.py | 0 code/nel/tools/build_gamedata/processes/swt/0_setup.py | 0 code/nel/tools/build_gamedata/processes/swt/1_export.py | 0 code/nel/tools/build_gamedata/processes/swt/2_build.py | 0 code/nel/tools/build_gamedata/processes/swt/3_install.py | 0 .../tools/build_gamedata/processes/swt/maxscript/swt_export.ms | 0 code/nel/tools/build_gamedata/processes/tiles/0_setup.py | 0 code/nel/tools/build_gamedata/processes/tiles/1_export.py | 0 code/nel/tools/build_gamedata/processes/tiles/2_build.py | 0 code/nel/tools/build_gamedata/processes/tiles/3_install.py | 0 code/nel/tools/build_gamedata/processes/veget/0_setup.py | 0 code/nel/tools/build_gamedata/processes/veget/1_export.py | 0 code/nel/tools/build_gamedata/processes/veget/2_build.py | 0 code/nel/tools/build_gamedata/processes/veget/3_install.py | 0 .../build_gamedata/processes/veget/maxscript/veget_export.ms | 0 code/nel/tools/build_gamedata/processes/vegetset/0_setup.py | 0 code/nel/tools/build_gamedata/processes/vegetset/1_export.py | 0 code/nel/tools/build_gamedata/processes/vegetset/2_build.py | 0 code/nel/tools/build_gamedata/processes/vegetset/3_install.py | 0 code/nel/tools/build_gamedata/processes/zone/0_setup.py | 0 code/nel/tools/build_gamedata/processes/zone/1_export.py | 0 code/nel/tools/build_gamedata/processes/zone/2_build.py | 0 code/nel/tools/build_gamedata/processes/zone/3_install.py | 0 .../tools/build_gamedata/processes/zone/maxscript/zone_export.ms | 0 code/nel/tools/build_gamedata/processes/zone_light/0_setup.py | 0 code/nel/tools/build_gamedata/processes/zone_light/1_export.py | 0 code/nel/tools/build_gamedata/processes/zone_light/2_build.py | 0 code/nel/tools/build_gamedata/processes/zone_light/3_install.py | 0 code/nel/tools/build_gamedata/translation/a1_make_phrase_diff.py | 0 code/nel/tools/build_gamedata/translation/a2_merge_phrase_diff.py | 0 code/nel/tools/build_gamedata/translation/a3_make_clause_diff.py | 0 code/nel/tools/build_gamedata/translation/a4_merge_clause_diff.py | 0 code/nel/tools/build_gamedata/translation/b1_make_words_diff.py | 0 code/nel/tools/build_gamedata/translation/b2_merge_words_diff.py | 0 code/nel/tools/build_gamedata/translation/c1_make_string_diff.py | 0 code/nel/tools/build_gamedata/translation/c2_merge_string_diff.py | 0 .../nel/tools/build_gamedata/translation/d1_make_botnames_diff.py | 0 .../tools/build_gamedata/translation/d2_merge_botnames_diff.py | 0 code/nel/tools/build_gamedata/translation/e1_clean_string_diff.py | 0 code/nel/tools/build_gamedata/translation/e2_clean_words_diff.py | 0 code/nel/tools/build_gamedata/translation/e3_clean_clause_diff.py | 0 code/nel/tools/build_gamedata/translation/e4_clean_phrase_diff.py | 0 code/nel/tools/build_gamedata/translation/make_merge_all.py | 0 code/nel/tools/build_gamedata/translation/make_merge_wk.py | 0 211 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 code/nel/tools/build_gamedata/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/9_upload.py mode change 100644 => 100755 code/nel/tools/build_gamedata/a1_worldedit_data.py mode change 100644 => 100755 code/nel/tools/build_gamedata/b1_client_dev.py mode change 100644 => 100755 code/nel/tools/build_gamedata/b2_shard_data.py mode change 100644 => 100755 code/nel/tools/build_gamedata/c1_shard_patch.py mode change 100644 => 100755 code/nel/tools/build_gamedata/configuration/scripts.py mode change 100644 => 100755 code/nel/tools/build_gamedata/configuration/tools.py mode change 100644 => 100755 code/nel/tools/build_gamedata/d1_client_patch.py mode change 100644 => 100755 code/nel/tools/build_gamedata/d2_client_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/export_build_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/generate_all.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/generate_ecosystem_projects.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/anim.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/anim.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/clod.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/clod.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/cmb.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/cmb.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/ig.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/shape.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/skel.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/skel.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/swt.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/swt.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/veget.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/veget.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/zone.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/max_exporter_scripts/zone.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/simple_max_exporter_template/1_export_footer.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/simple_max_exporter_template/1_export_header.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/simple_max_exporter_template/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/simple_max_exporter_template/export_footer.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/simple_max_exporter_template/export_header.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/1_export_footer.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/1_export_header.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_footer.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_header.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/_dummy/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/_dummy/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/_dummy/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/_dummy/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/anim/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/anim/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/anim/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/anim/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/anim/maxscript/anim_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/cegui/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/cegui/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/cegui/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/cegui/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/clodbank/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/clodbank/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/clodbank/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/clodbank/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/clodbank/maxscript/clod_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/copy/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/copy/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/copy/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/copy/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/displace/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/displace/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/displace/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/displace/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/farbank/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/farbank/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/farbank/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/farbank/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/font/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/font/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/font/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/font/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig/maxscript/ig_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig_light/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig_light/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig_light/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ig_light/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/interface/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/interface/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/interface/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/interface/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ligo/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ligo/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ligo/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ligo/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/map/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/map/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/map/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/map/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim/maxscript/pacs_prim_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim_list/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim_list/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim_list/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/pacs_prim_list/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/properties/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/properties/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/properties/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/properties/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ps/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ps/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ps/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/ps/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/rbank/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/rbank/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/rbank/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/rbank/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/rbank/maxscript/cmb_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/shape/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/shape/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/shape/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/shape/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/shape/maxscript/shape_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheet_id/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheet_id/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheet_id/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets_shard/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets_shard/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets_shard/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sheets_shard/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/skel/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/skel/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/skel/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/skel/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/skel/maxscript/skel_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/smallbank/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/smallbank/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/smallbank/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/smallbank/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sound/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sound/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sound/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/sound/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/swt/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/swt/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/swt/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/swt/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/swt/maxscript/swt_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/tiles/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/tiles/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/tiles/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/tiles/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/veget/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/veget/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/veget/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/veget/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/veget/maxscript/veget_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/vegetset/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/vegetset/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/vegetset/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/vegetset/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone/maxscript/zone_export.ms mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone_light/0_setup.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone_light/1_export.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone_light/2_build.py mode change 100644 => 100755 code/nel/tools/build_gamedata/processes/zone_light/3_install.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/a1_make_phrase_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/a2_merge_phrase_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/a3_make_clause_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/a4_merge_clause_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/b1_make_words_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/b2_merge_words_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/c1_make_string_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/c2_merge_string_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/d1_make_botnames_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/d2_merge_botnames_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/e1_clean_string_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/e2_clean_words_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/e3_clean_clause_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/e4_clean_phrase_diff.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/make_merge_all.py mode change 100644 => 100755 code/nel/tools/build_gamedata/translation/make_merge_wk.py diff --git a/code/nel/tools/build_gamedata/0_setup.py b/code/nel/tools/build_gamedata/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/1_export.py b/code/nel/tools/build_gamedata/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/2_build.py b/code/nel/tools/build_gamedata/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/3_install.py b/code/nel/tools/build_gamedata/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/9_upload.py b/code/nel/tools/build_gamedata/9_upload.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/a1_worldedit_data.py b/code/nel/tools/build_gamedata/a1_worldedit_data.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/b1_client_dev.py b/code/nel/tools/build_gamedata/b1_client_dev.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/b2_shard_data.py b/code/nel/tools/build_gamedata/b2_shard_data.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/c1_shard_patch.py b/code/nel/tools/build_gamedata/c1_shard_patch.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/configuration/scripts.py b/code/nel/tools/build_gamedata/configuration/scripts.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/configuration/tools.py b/code/nel/tools/build_gamedata/configuration/tools.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/d1_client_patch.py b/code/nel/tools/build_gamedata/d1_client_patch.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/d2_client_install.py b/code/nel/tools/build_gamedata/d2_client_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/export_build_install.py b/code/nel/tools/build_gamedata/export_build_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/directories.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py b/code/nel/tools/build_gamedata/generators/ecosystem_project_template/process.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/generate_all.py b/code/nel/tools/build_gamedata/generators/generate_all.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/generate_ecosystem_projects.py b/code/nel/tools/build_gamedata/generators/generate_ecosystem_projects.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py b/code/nel/tools/build_gamedata/generators/generate_simple_max_exporters.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py b/code/nel/tools/build_gamedata/generators/generate_tagged_max_exporters.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/anim.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/anim.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/anim.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/anim.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/clod.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/clod.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/clod.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/clod.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/cmb.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/cmb.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/cmb.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/cmb.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/ig.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/ig.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/pacs_prim.ms old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/skel.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/skel.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/skel.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/skel.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/swt.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/swt.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/swt.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/swt.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/veget.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/veget.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/veget.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/veget.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/zone.ms b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/zone.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/max_exporter_scripts/zone.py b/code/nel/tools/build_gamedata/generators/max_exporter_scripts/zone.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/1_export_footer.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/1_export_footer.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/1_export_header.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/1_export_header.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/2_build.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/export_footer.ms b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/export_footer.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/export_header.ms b/code/nel/tools/build_gamedata/generators/simple_max_exporter_template/export_header.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/1_export_footer.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/1_export_footer.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/1_export_header.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/1_export_header.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/2_build.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/3_install.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_header.ms b/code/nel/tools/build_gamedata/generators/tagged_max_exporter_template/export_header.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/0_setup.py b/code/nel/tools/build_gamedata/processes/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/1_export.py b/code/nel/tools/build_gamedata/processes/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/2_build.py b/code/nel/tools/build_gamedata/processes/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/3_install.py b/code/nel/tools/build_gamedata/processes/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py b/code/nel/tools/build_gamedata/processes/_dummy/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/_dummy/1_export.py b/code/nel/tools/build_gamedata/processes/_dummy/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/_dummy/2_build.py b/code/nel/tools/build_gamedata/processes/_dummy/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/_dummy/3_install.py b/code/nel/tools/build_gamedata/processes/_dummy/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py b/code/nel/tools/build_gamedata/processes/ai_wmap/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py b/code/nel/tools/build_gamedata/processes/ai_wmap/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py b/code/nel/tools/build_gamedata/processes/ai_wmap/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py b/code/nel/tools/build_gamedata/processes/ai_wmap/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/anim/0_setup.py b/code/nel/tools/build_gamedata/processes/anim/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/anim/1_export.py b/code/nel/tools/build_gamedata/processes/anim/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/anim/2_build.py b/code/nel/tools/build_gamedata/processes/anim/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/anim/3_install.py b/code/nel/tools/build_gamedata/processes/anim/3_install.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/cegui/0_setup.py b/code/nel/tools/build_gamedata/processes/cegui/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/cegui/1_export.py b/code/nel/tools/build_gamedata/processes/cegui/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/cegui/2_build.py b/code/nel/tools/build_gamedata/processes/cegui/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/cegui/3_install.py b/code/nel/tools/build_gamedata/processes/cegui/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py b/code/nel/tools/build_gamedata/processes/clodbank/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/clodbank/1_export.py b/code/nel/tools/build_gamedata/processes/clodbank/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/clodbank/2_build.py b/code/nel/tools/build_gamedata/processes/clodbank/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/clodbank/3_install.py b/code/nel/tools/build_gamedata/processes/clodbank/3_install.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/copy/0_setup.py b/code/nel/tools/build_gamedata/processes/copy/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/copy/1_export.py b/code/nel/tools/build_gamedata/processes/copy/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/copy/2_build.py b/code/nel/tools/build_gamedata/processes/copy/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/copy/3_install.py b/code/nel/tools/build_gamedata/processes/copy/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/displace/0_setup.py b/code/nel/tools/build_gamedata/processes/displace/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/displace/1_export.py b/code/nel/tools/build_gamedata/processes/displace/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/displace/2_build.py b/code/nel/tools/build_gamedata/processes/displace/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/displace/3_install.py b/code/nel/tools/build_gamedata/processes/displace/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/farbank/0_setup.py b/code/nel/tools/build_gamedata/processes/farbank/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/farbank/1_export.py b/code/nel/tools/build_gamedata/processes/farbank/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/farbank/2_build.py b/code/nel/tools/build_gamedata/processes/farbank/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/farbank/3_install.py b/code/nel/tools/build_gamedata/processes/farbank/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/font/0_setup.py b/code/nel/tools/build_gamedata/processes/font/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/font/1_export.py b/code/nel/tools/build_gamedata/processes/font/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/font/2_build.py b/code/nel/tools/build_gamedata/processes/font/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/font/3_install.py b/code/nel/tools/build_gamedata/processes/font/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig/0_setup.py b/code/nel/tools/build_gamedata/processes/ig/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig/1_export.py b/code/nel/tools/build_gamedata/processes/ig/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig/2_build.py b/code/nel/tools/build_gamedata/processes/ig/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig/3_install.py b/code/nel/tools/build_gamedata/processes/ig/3_install.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py b/code/nel/tools/build_gamedata/processes/ig_light/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig_light/1_export.py b/code/nel/tools/build_gamedata/processes/ig_light/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig_light/2_build.py b/code/nel/tools/build_gamedata/processes/ig_light/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ig_light/3_install.py b/code/nel/tools/build_gamedata/processes/ig_light/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/interface/0_setup.py b/code/nel/tools/build_gamedata/processes/interface/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/interface/1_export.py b/code/nel/tools/build_gamedata/processes/interface/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/interface/2_build.py b/code/nel/tools/build_gamedata/processes/interface/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/interface/3_install.py b/code/nel/tools/build_gamedata/processes/interface/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ligo/0_setup.py b/code/nel/tools/build_gamedata/processes/ligo/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ligo/1_export.py b/code/nel/tools/build_gamedata/processes/ligo/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ligo/2_build.py b/code/nel/tools/build_gamedata/processes/ligo/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ligo/3_install.py b/code/nel/tools/build_gamedata/processes/ligo/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms b/code/nel/tools/build_gamedata/processes/ligo/maxscript/nel_ligo_export.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/map/0_setup.py b/code/nel/tools/build_gamedata/processes/map/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/map/1_export.py b/code/nel/tools/build_gamedata/processes/map/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/map/2_build.py b/code/nel/tools/build_gamedata/processes/map/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/map/3_install.py b/code/nel/tools/build_gamedata/processes/map/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py b/code/nel/tools/build_gamedata/processes/pacs_prim/0_setup.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/2_build.py b/code/nel/tools/build_gamedata/processes/pacs_prim/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py b/code/nel/tools/build_gamedata/processes/pacs_prim/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/pacs_prim/maxscript/pacs_prim_export.ms b/code/nel/tools/build_gamedata/processes/pacs_prim/maxscript/pacs_prim_export.ms old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/properties/0_setup.py b/code/nel/tools/build_gamedata/processes/properties/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/properties/1_export.py b/code/nel/tools/build_gamedata/processes/properties/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/properties/2_build.py b/code/nel/tools/build_gamedata/processes/properties/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/properties/3_install.py b/code/nel/tools/build_gamedata/processes/properties/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ps/0_setup.py b/code/nel/tools/build_gamedata/processes/ps/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ps/1_export.py b/code/nel/tools/build_gamedata/processes/ps/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ps/2_build.py b/code/nel/tools/build_gamedata/processes/ps/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/ps/3_install.py b/code/nel/tools/build_gamedata/processes/ps/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/rbank/0_setup.py b/code/nel/tools/build_gamedata/processes/rbank/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/rbank/1_export.py b/code/nel/tools/build_gamedata/processes/rbank/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/rbank/2_build.py b/code/nel/tools/build_gamedata/processes/rbank/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/rbank/3_install.py b/code/nel/tools/build_gamedata/processes/rbank/3_install.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/shape/0_setup.py b/code/nel/tools/build_gamedata/processes/shape/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/shape/1_export.py b/code/nel/tools/build_gamedata/processes/shape/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/shape/2_build.py b/code/nel/tools/build_gamedata/processes/shape/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/shape/3_install.py b/code/nel/tools/build_gamedata/processes/shape/3_install.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py b/code/nel/tools/build_gamedata/processes/sheet_id/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/1_export.py b/code/nel/tools/build_gamedata/processes/sheet_id/1_export.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py b/code/nel/tools/build_gamedata/processes/sheet_id/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets/0_setup.py b/code/nel/tools/build_gamedata/processes/sheets/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets/1_export.py b/code/nel/tools/build_gamedata/processes/sheets/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets/2_build.py b/code/nel/tools/build_gamedata/processes/sheets/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets/3_install.py b/code/nel/tools/build_gamedata/processes/sheets/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets_shard/0_setup.py b/code/nel/tools/build_gamedata/processes/sheets_shard/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets_shard/1_export.py b/code/nel/tools/build_gamedata/processes/sheets_shard/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets_shard/2_build.py b/code/nel/tools/build_gamedata/processes/sheets_shard/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sheets_shard/3_install.py b/code/nel/tools/build_gamedata/processes/sheets_shard/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/skel/0_setup.py b/code/nel/tools/build_gamedata/processes/skel/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/skel/1_export.py b/code/nel/tools/build_gamedata/processes/skel/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/skel/2_build.py b/code/nel/tools/build_gamedata/processes/skel/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/skel/3_install.py b/code/nel/tools/build_gamedata/processes/skel/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/skel/maxscript/skel_export.ms b/code/nel/tools/build_gamedata/processes/skel/maxscript/skel_export.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py b/code/nel/tools/build_gamedata/processes/smallbank/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/smallbank/1_export.py b/code/nel/tools/build_gamedata/processes/smallbank/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/smallbank/2_build.py b/code/nel/tools/build_gamedata/processes/smallbank/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/smallbank/3_install.py b/code/nel/tools/build_gamedata/processes/smallbank/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sound/0_setup.py b/code/nel/tools/build_gamedata/processes/sound/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sound/1_export.py b/code/nel/tools/build_gamedata/processes/sound/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sound/2_build.py b/code/nel/tools/build_gamedata/processes/sound/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/sound/3_install.py b/code/nel/tools/build_gamedata/processes/sound/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/swt/0_setup.py b/code/nel/tools/build_gamedata/processes/swt/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/swt/1_export.py b/code/nel/tools/build_gamedata/processes/swt/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/swt/2_build.py b/code/nel/tools/build_gamedata/processes/swt/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/swt/3_install.py b/code/nel/tools/build_gamedata/processes/swt/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/swt/maxscript/swt_export.ms b/code/nel/tools/build_gamedata/processes/swt/maxscript/swt_export.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/tiles/0_setup.py b/code/nel/tools/build_gamedata/processes/tiles/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/tiles/1_export.py b/code/nel/tools/build_gamedata/processes/tiles/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/tiles/2_build.py b/code/nel/tools/build_gamedata/processes/tiles/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/tiles/3_install.py b/code/nel/tools/build_gamedata/processes/tiles/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/veget/0_setup.py b/code/nel/tools/build_gamedata/processes/veget/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/veget/1_export.py b/code/nel/tools/build_gamedata/processes/veget/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/veget/2_build.py b/code/nel/tools/build_gamedata/processes/veget/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/veget/3_install.py b/code/nel/tools/build_gamedata/processes/veget/3_install.py old mode 100644 new mode 100755 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 old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py b/code/nel/tools/build_gamedata/processes/vegetset/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/vegetset/1_export.py b/code/nel/tools/build_gamedata/processes/vegetset/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/vegetset/2_build.py b/code/nel/tools/build_gamedata/processes/vegetset/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/vegetset/3_install.py b/code/nel/tools/build_gamedata/processes/vegetset/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone/0_setup.py b/code/nel/tools/build_gamedata/processes/zone/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone/1_export.py b/code/nel/tools/build_gamedata/processes/zone/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone/2_build.py b/code/nel/tools/build_gamedata/processes/zone/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone/3_install.py b/code/nel/tools/build_gamedata/processes/zone/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone/maxscript/zone_export.ms b/code/nel/tools/build_gamedata/processes/zone/maxscript/zone_export.ms old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py b/code/nel/tools/build_gamedata/processes/zone_light/0_setup.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone_light/1_export.py b/code/nel/tools/build_gamedata/processes/zone_light/1_export.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone_light/2_build.py b/code/nel/tools/build_gamedata/processes/zone_light/2_build.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/processes/zone_light/3_install.py b/code/nel/tools/build_gamedata/processes/zone_light/3_install.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/a1_make_phrase_diff.py b/code/nel/tools/build_gamedata/translation/a1_make_phrase_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/a2_merge_phrase_diff.py b/code/nel/tools/build_gamedata/translation/a2_merge_phrase_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/a3_make_clause_diff.py b/code/nel/tools/build_gamedata/translation/a3_make_clause_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/a4_merge_clause_diff.py b/code/nel/tools/build_gamedata/translation/a4_merge_clause_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/b1_make_words_diff.py b/code/nel/tools/build_gamedata/translation/b1_make_words_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/b2_merge_words_diff.py b/code/nel/tools/build_gamedata/translation/b2_merge_words_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/c1_make_string_diff.py b/code/nel/tools/build_gamedata/translation/c1_make_string_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/c2_merge_string_diff.py b/code/nel/tools/build_gamedata/translation/c2_merge_string_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/d1_make_botnames_diff.py b/code/nel/tools/build_gamedata/translation/d1_make_botnames_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/d2_merge_botnames_diff.py b/code/nel/tools/build_gamedata/translation/d2_merge_botnames_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/e1_clean_string_diff.py b/code/nel/tools/build_gamedata/translation/e1_clean_string_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/e2_clean_words_diff.py b/code/nel/tools/build_gamedata/translation/e2_clean_words_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/e3_clean_clause_diff.py b/code/nel/tools/build_gamedata/translation/e3_clean_clause_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/e4_clean_phrase_diff.py b/code/nel/tools/build_gamedata/translation/e4_clean_phrase_diff.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/make_merge_all.py b/code/nel/tools/build_gamedata/translation/make_merge_all.py old mode 100644 new mode 100755 diff --git a/code/nel/tools/build_gamedata/translation/make_merge_wk.py b/code/nel/tools/build_gamedata/translation/make_merge_wk.py old mode 100644 new mode 100755 From 766cace955535fa998e7fca231c29818927964a6 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Wed, 4 Jun 2014 18:59:54 +0200 Subject: [PATCH 150/152] Implement volatile vertex buffer for opengl driver, should provide considerable performance improvements for particle systems. Needs additional testing. --- .../driver/opengl/driver_opengl_extension.cpp | 20 +++++++++ .../driver/opengl/driver_opengl_extension.h | 7 ++- .../3d/driver/opengl/driver_opengl_vertex.cpp | 15 +++++-- .../driver_opengl_vertex_buffer_hard.cpp | 45 ++++++++++++++----- 4 files changed, 70 insertions(+), 17 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index 3ded67d62..ecb4a3a05 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -372,6 +372,10 @@ PFNGLUNMAPBUFFERARBPROC nglUnmapBufferARB; PFNGLGETBUFFERPARAMETERIVARBPROC nglGetBufferParameterivARB; PFNGLGETBUFFERPOINTERVARBPROC nglGetBufferPointervARB; +// GL_ARB_map_buffer_range +PFNGLMAPBUFFERRANGEPROC nglMapBufferRange; +PFNGLFLUSHMAPPEDBUFFERRANGEPROC nglFlushMappedBufferRange; + // GL_ARB_vertex_program PFNGLVERTEXATTRIB1SARBPROC nglVertexAttrib1sARB; PFNGLVERTEXATTRIB1FARBPROC nglVertexAttrib1fARB; @@ -1259,6 +1263,21 @@ static bool setupARBVertexBufferObject(const char *glext) return true; } +// *************************************************************************** +static bool setupARBMapBufferRange(const char *glext) +{ + H_AUTO_OGL(setupARBMapBufferRange); + +#ifndef USE_OPENGLES + CHECK_EXT("GL_ARB_map_buffer_range"); + + CHECK_ADDRESS(PFNGLMAPBUFFERRANGEPROC, glMapBufferRange); + CHECK_ADDRESS(PFNGLFLUSHMAPPEDBUFFERRANGEPROC, glFlushMappedBufferRange); +#endif + + return true; +} + // *************************************************************************** static bool setupARBVertexProgram(const char *glext) { @@ -1695,6 +1714,7 @@ void registerGlExtensions(CGlExtensions &ext) if(!ext.DisableHardwareVertexArrayAGP) { ext.ARBVertexBufferObject = setupARBVertexBufferObject(glext); + ext.ARBMapBufferRange = setupARBMapBufferRange(glext); } // fix for radeon 7200 -> disable agp diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index 938473029..7ed761aff 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -99,6 +99,7 @@ struct CGlExtensions bool ARBTextureCompression; bool ARBFragmentProgram; bool ARBVertexBufferObject; + bool ARBMapBufferRange; bool ARBVertexProgram; bool ARBTextureNonPowerOfTwo; bool ARBMultisample; @@ -262,6 +263,7 @@ public: result += ATIVertexArrayObject ? "ATIVertexArrayObject " : ""; result += ATIVertexAttribArrayObject ? "ATIVertexAttribArrayObject " : ""; result += ARBVertexBufferObject ? "ARBVertexBufferObject " : ""; + result += ARBMapBufferRange ? "ARBMapBufferRange " : ""; result += ATIMapObjectBuffer ? "ATIMapObjectBuffer " : ""; result += "\n FBO: "; @@ -654,7 +656,10 @@ extern PFNGLUNMAPBUFFERARBPROC nglUnmapBufferARB; extern PFNGLGETBUFFERPARAMETERIVARBPROC nglGetBufferParameterivARB; extern PFNGLGETBUFFERPOINTERVARBPROC nglGetBufferPointervARB; - +// GL_ARB_map_buffer_range +//================================== +extern PFNGLMAPBUFFERRANGEPROC nglMapBufferRange; +extern PFNGLFLUSHMAPPEDBUFFERRANGEPROC nglFlushMappedBufferRange; // GL_ARB_vertex_program //================================== diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp index c71e82ce4..cab62f094 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex.cpp @@ -147,9 +147,9 @@ bool CDriverGL::setupVertexBuffer(CVertexBuffer& VB) CVBDrvInfosGL *info = new CVBDrvInfosGL(this, it, &VB); *it= VB.DrvInfos = info; - // Preferred memory + // Preferred memory, AGPVolatile only goes through when ARBMapBufferRange is available CVertexBuffer::TPreferredMemory preferred = VB.getPreferredMemory (); - if ((preferred == CVertexBuffer::RAMVolatile) || (preferred == CVertexBuffer::AGPVolatile)) + if ((preferred == CVertexBuffer::RAMVolatile) || (preferred == CVertexBuffer::AGPVolatile && !_Extensions.ARBMapBufferRange)) preferred = CVertexBuffer::RAMPreferred; const uint size = VB.capacity()*VB.getVertexSize(); uint preferredMemory = _Extensions.DisableHardwareVertexArrayAGP ? CVertexBuffer::RAMPreferred : preferred; @@ -159,6 +159,12 @@ bool CDriverGL::setupVertexBuffer(CVertexBuffer& VB) info->_VBHard = createVertexBufferHard(size, VB.capacity(), (CVertexBuffer::TPreferredMemory)preferredMemory, &VB); if (info->_VBHard) break; + + if ((CVertexBuffer::TPreferredMemory)preferredMemory == CVertexBuffer::AGPVolatile) + { + preferredMemory = CVertexBuffer::RAMPreferred; + break; + } preferredMemory--; } @@ -170,7 +176,7 @@ bool CDriverGL::setupVertexBuffer(CVertexBuffer& VB) } // Upload the data - VB.setLocation ((CVertexBuffer::TLocation)preferredMemory); + VB.setLocation(preferredMemory == CVertexBuffer::AGPVolatile ? CVertexBuffer::AGPResident : (CVertexBuffer::TLocation)preferredMemory); } } @@ -740,7 +746,7 @@ bool CDriverGL::supportVertexBufferHard() const bool CDriverGL::supportVolatileVertexBuffer() const { H_AUTO_OGL(CDriverGL_supportVolatileVertexBuffer) - return false; + return _Extensions.ARBMapBufferRange; } @@ -769,6 +775,7 @@ IVertexBufferHardGL *CDriverGL::createVertexBufferHard(uint size, uint numVertic IVertexArrayRange *vertexArrayRange= NULL; switch(vbType) { + case CVertexBuffer::AGPVolatile: case CVertexBuffer::AGPPreferred: vertexArrayRange= _AGPVertexArrayRange; break; diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp index 79c55ea16..0556fad3e 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_vertex_buffer_hard.cpp @@ -1174,6 +1174,9 @@ bool CVertexArrayRangeARB::allocate(uint32 size, CVertexBuffer::TPreferredMemory switch(vbType) { + case CVertexBuffer::AGPVolatile: + glBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_STREAM_DRAW_ARB); + break; case CVertexBuffer::AGPPreferred: glBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB); break; @@ -1221,13 +1224,14 @@ IVertexBufferHardGL *CVertexArrayRangeARB::createVBHardGL(uint size, CVertexBuff if (glGetError() != GL_NO_ERROR) return NULL; _Driver->_DriverGLStates.forceBindARBVertexBuffer(vertexBufferID); - switch(_VBType) + CVertexBuffer::TPreferredMemory preferred = vb->getPreferredMemory(); + switch (preferred) { - case CVertexBuffer::AGPPreferred: + case CVertexBuffer::AGPVolatile: #ifdef USE_OPENGLES - glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_STREAM_DRAW); #else - nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB); + nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_STREAM_DRAW_ARB); #endif break; case CVertexBuffer::StaticPreferred: @@ -1244,8 +1248,13 @@ IVertexBufferHardGL *CVertexArrayRangeARB::createVBHardGL(uint size, CVertexBuff nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB); #endif break; + // case CVertexBuffer::AGPPreferred: default: - nlassert(0); +#ifdef USE_OPENGLES + glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW); +#else + nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB); +#endif break; } if (glGetError() != GL_NO_ERROR) @@ -1259,7 +1268,7 @@ IVertexBufferHardGL *CVertexArrayRangeARB::createVBHardGL(uint size, CVertexBuff return NULL; } CVertexBufferHardARB *newVbHard= new CVertexBufferHardARB(_Driver, vb); - newVbHard->initGL(vertexBufferID, this, _VBType); + newVbHard->initGL(vertexBufferID, this, preferred); _Driver->_DriverGLStates.forceBindARBVertexBuffer(0); return newVbHard; } @@ -1393,6 +1402,7 @@ void *CVertexBufferHardARB::lock() H_AUTO_OGL(CVertexBufferHardARB_lock); if (_VertexPtr) return _VertexPtr; // already locked + const uint size = VB->getNumVertices() * VB->getVertexSize(); if (_Invalid) { if (VB->getLocation() != CVertexBuffer::NotResident) @@ -1414,15 +1424,14 @@ void *CVertexBufferHardARB::lock() _Driver->incrementResetCounter(); return &_DummyVB[0]; } - const uint size = VB->getNumVertices() * VB->getVertexSize(); _Driver->_DriverGLStates.forceBindARBVertexBuffer(vertexBufferID); switch(_MemType) { - case CVertexBuffer::AGPPreferred: + case CVertexBuffer::AGPVolatile: #ifdef USE_OPENGLES - glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW); + glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_STREAM_DRAW); #else - nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB); + nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_STREAM_DRAW_ARB); #endif break; case CVertexBuffer::StaticPreferred: @@ -1439,8 +1448,13 @@ void *CVertexBufferHardARB::lock() nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB); #endif break; + // case CVertexBuffer::AGPPreferred: default: - nlassert(0); +#ifdef USE_OPENGLES + glBufferData(GL_ARRAY_BUFFER, size, NULL, GL_DYNAMIC_DRAW); +#else + nglBufferDataARB(GL_ARRAY_BUFFER_ARB, size, NULL, GL_DYNAMIC_DRAW_ARB); +#endif break; } if (glGetError() != GL_NO_ERROR) @@ -1499,7 +1513,14 @@ void *CVertexBufferHardARB::lock() _LastBufferSize = size; } #else - _VertexPtr = nglMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB); + if (_MemType == CVertexBuffer::AGPVolatile) + { + _VertexPtr = nglMapBufferRange(GL_ARRAY_BUFFER, 0, size, GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_BUFFER_BIT); + } + else + { + _VertexPtr = nglMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB); + } if (!_VertexPtr) { nglUnmapBufferARB(GL_ARRAY_BUFFER_ARB); From ad0bf64b18a72f39979a00311ef364d7d005f2b6 Mon Sep 17 00:00:00 2001 From: kaetemi Date: Thu, 5 Jun 2014 15:03:09 +0200 Subject: [PATCH 151/152] Cleanup extension initialization --- code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp | 7 +++++-- code/nel/src/3d/driver/opengl/driver_opengl_extension.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp index ecb4a3a05..f24855ea8 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.cpp @@ -1711,10 +1711,13 @@ void registerGlExtensions(CGlExtensions &ext) // ARB extensions // ------------- - if(!ext.DisableHardwareVertexArrayAGP) + if (!ext.DisableHardwareVertexArrayAGP) { ext.ARBVertexBufferObject = setupARBVertexBufferObject(glext); - ext.ARBMapBufferRange = setupARBMapBufferRange(glext); + if (ext.ARBVertexBufferObject) + { + ext.ARBMapBufferRange = setupARBMapBufferRange(glext); + } } // fix for radeon 7200 -> disable agp diff --git a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h index 7ed761aff..83d2d529f 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl_extension.h +++ b/code/nel/src/3d/driver/opengl/driver_opengl_extension.h @@ -168,6 +168,7 @@ public: EXTVertexShader= false; ARBFragmentProgram = false; ARBVertexBufferObject = false; + ARBMapBufferRange = false; ARBVertexProgram = false; NVTextureRectangle = false; EXTTextureRectangle = false; From 15dc49269057a73559d488df59e1243c5e44027f Mon Sep 17 00:00:00 2001 From: kaetemi Date: Thu, 5 Jun 2014 15:51:25 +0200 Subject: [PATCH 152/152] Set additional preferred memory --- code/nel/src/3d/deform_2d.cpp | 1 + code/nel/src/3d/dru.cpp | 13 +++++++++++++ code/nel/src/3d/motion_blur.cpp | 1 + code/nel/src/3d/ps_fan_light.cpp | 1 + code/nel/src/3d/ps_force.cpp | 2 ++ code/nel/src/3d/ps_ribbon.cpp | 1 + code/nel/src/3d/ps_ribbon_look_at.cpp | 1 + code/nel/src/3d/ps_shockwave.cpp | 1 + code/nel/src/3d/ps_tail_dot.cpp | 1 + code/nel/src/3d/ps_util.cpp | 3 +++ code/nel/src/3d/scene_group.cpp | 1 + code/ryzom/client/src/landscape_poly_drawer.cpp | 2 ++ 12 files changed, 28 insertions(+) diff --git a/code/nel/src/3d/deform_2d.cpp b/code/nel/src/3d/deform_2d.cpp index 7a4ffb507..988d43ff9 100644 --- a/code/nel/src/3d/deform_2d.cpp +++ b/code/nel/src/3d/deform_2d.cpp @@ -103,6 +103,7 @@ void CDeform2d::doDeform(const TPoint2DVect &surf, IDriver *drv, IPerturbUV *uvp static CVertexBuffer vb; vb.setName("CDeform2d"); vb.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag); + vb.setPreferredMemory(CVertexBuffer::RAMVolatile, false); diff --git a/code/nel/src/3d/dru.cpp b/code/nel/src/3d/dru.cpp index 321429b2d..503ebdc0f 100644 --- a/code/nel/src/3d/dru.cpp +++ b/code/nel/src/3d/dru.cpp @@ -253,6 +253,7 @@ void CDRU::drawBitmap (float x, float y, float width, float height, ITexture& te if (vb.getName().empty()) vb.setName("CDRU::drawBitmap"); vb.setVertexFormat (CVertexBuffer::PositionFlag|CVertexBuffer::TexCoord0Flag); vb.setNumVertices (4); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock (vba); @@ -271,6 +272,7 @@ void CDRU::drawBitmap (float x, float y, float width, float height, ITexture& te if (pb.getName().empty()) NL_SET_IB_NAME(pb, "CDRU::drawBitmap"); pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes (6); + pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false); { CIndexBufferReadWrite iba; pb.lock (iba); @@ -305,6 +307,7 @@ void CDRU::drawLine (float x0, float y0, float x1, float y1, IDriver& driver, CR if (vb.getName().empty()) vb.setName("CDRU::drawLine"); vb.setVertexFormat (CVertexBuffer::PositionFlag); vb.setNumVertices (2); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock (vba); @@ -317,6 +320,7 @@ void CDRU::drawLine (float x0, float y0, float x1, float y1, IDriver& driver, CR if (pb.getName().empty()) NL_SET_IB_NAME(pb, "CDRU::drawLine"); pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes (2); + pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false); { CIndexBufferReadWrite iba; pb.lock (iba); @@ -350,6 +354,7 @@ void CDRU::drawTriangle (float x0, float y0, float x1, float y1, float x2, float if (vb.getName().empty()) vb.setName("CDRU::drawTriangle"); vb.setVertexFormat (CVertexBuffer::PositionFlag); vb.setNumVertices (3); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock (vba); @@ -363,6 +368,7 @@ void CDRU::drawTriangle (float x0, float y0, float x1, float y1, float x2, float if (pb.getName().empty()) NL_SET_IB_NAME(pb, "CDRU::drawTriangle"); pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes (3); + pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false); { CIndexBufferReadWrite iba; pb.lock (iba); @@ -397,6 +403,7 @@ void CDRU::drawQuad (float x0, float y0, float x1, float y1, IDriver& driver, CR if (vb.getName().empty()) vb.setName("CDRU::drawQuad"); vb.setVertexFormat (CVertexBuffer::PositionFlag); vb.setNumVertices (4); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock (vba); @@ -433,6 +440,7 @@ void CDRU::drawQuad (float xcenter, float ycenter, float radius, IDriver& driver if (vb.getName().empty()) vb.setName("CDRU::drawQuad"); vb.setVertexFormat (CVertexBuffer::PositionFlag); vb.setNumVertices (4); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock (vba); @@ -482,10 +490,12 @@ void CDRU::drawTrianglesUnlit(const NLMISC::CTriangleUV *trilist, sint ntris, if (vb.getName().empty()) vb.setName("CDRU::drawTrianglesUnlit"); vb.setVertexFormat (CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag); vb.setNumVertices (ntris*3); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); static CIndexBuffer pb; pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes(ntris*3); + pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false); if (pb.getFormat() == CIndexBuffer::Indices16) { nlassert(ntris * 3 <= 0xffff); @@ -530,10 +540,12 @@ void CDRU::drawLinesUnlit(const NLMISC::CLine *linelist, sint nlines, CMateria if (vb.getName().empty()) vb.setName("CDRU::drawLinesUnlit"); vb.setVertexFormat (CVertexBuffer::PositionFlag); vb.setNumVertices (nlines*2); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); static CIndexBuffer pb; pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes(nlines*2); + pb.setPreferredMemory (CIndexBuffer::RAMVolatile, false); { @@ -601,6 +613,7 @@ void CDRU::drawQuad (float x0, float y0, float x1, float y1, CRGBA col0, CRGBA if (vb.getName().empty()) vb.setName("CDRU::drawQuad"); vb.setVertexFormat (CVertexBuffer::PositionFlag|CVertexBuffer::PrimaryColorFlag); vb.setNumVertices (4); + vb.setPreferredMemory (CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock (vba); diff --git a/code/nel/src/3d/motion_blur.cpp b/code/nel/src/3d/motion_blur.cpp index e9fe1fdab..2b158062d 100644 --- a/code/nel/src/3d/motion_blur.cpp +++ b/code/nel/src/3d/motion_blur.cpp @@ -59,6 +59,7 @@ void CMotionBlur::performMotionBlur(IDriver *driver, float motionBlurAmount) static CVertexBuffer vb ; vb.setVertexFormat(CVertexBuffer::PositionFlag | CVertexBuffer::TexCoord0Flag ) ; vb.setNumVertices(4) ; + vb.setPreferredMemory(CVertexBuffer::RAMVolatile, false); uint32 width, height ; driver->getWindowSize(width, height) ; diff --git a/code/nel/src/3d/ps_fan_light.cpp b/code/nel/src/3d/ps_fan_light.cpp index 055826749..cb33fcd20 100644 --- a/code/nel/src/3d/ps_fan_light.cpp +++ b/code/nel/src/3d/ps_fan_light.cpp @@ -519,6 +519,7 @@ void CPSFanLight::getVBnIB(CVertexBuffer *&retVb, CIndexBuffer *&retIb) vb.setName("CPSFanLight"); ib.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); ib.setNumIndexes(size * _NbFans * 3); + ib.setPreferredMemory(CIndexBuffer::AGPVolatile, false); // pointer on the current index to fill CIndexBufferReadWrite iba; ib.lock (iba); diff --git a/code/nel/src/3d/ps_force.cpp b/code/nel/src/3d/ps_force.cpp index bbef28663..cb3445619 100644 --- a/code/nel/src/3d/ps_force.cpp +++ b/code/nel/src/3d/ps_force.cpp @@ -421,6 +421,7 @@ void CPSGravity::show() vb.setVertexFormat(CVertexBuffer::PositionFlag); vb.setNumVertices(6); + vb.setPreferredMemory(CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock (vba); @@ -433,6 +434,7 @@ void CPSGravity::show() } pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes(2*4); + pb.setPreferredMemory(CIndexBuffer::RAMVolatile, false); { CIndexBufferReadWrite ibaWrite; pb.lock (ibaWrite); diff --git a/code/nel/src/3d/ps_ribbon.cpp b/code/nel/src/3d/ps_ribbon.cpp index af907313f..cc7d0bcd7 100644 --- a/code/nel/src/3d/ps_ribbon.cpp +++ b/code/nel/src/3d/ps_ribbon.cpp @@ -971,6 +971,7 @@ CPSRibbon::CVBnPB &CPSRibbon::getVBnPB() ); vb.setNumVertices((_UsedNbSegs + 1) * numRibbonInVB * numVerticesInSlice); // 1 seg = 1 line + terminal vertices pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); + pb.setPreferredMemory(CIndexBuffer::AGPVolatile, false); // set the primitive block size if (_BraceMode) { diff --git a/code/nel/src/3d/ps_ribbon_look_at.cpp b/code/nel/src/3d/ps_ribbon_look_at.cpp index 966e5a5b1..3b22f561e 100644 --- a/code/nel/src/3d/ps_ribbon_look_at.cpp +++ b/code/nel/src/3d/ps_ribbon_look_at.cpp @@ -582,6 +582,7 @@ CPSRibbonLookAt::CVBnPB &CPSRibbonLookAt::getVBnPB() CIndexBuffer &pb = VBnPB.PB; pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes((_UsedNbSegs << 1) * numRibbonInVB * 3); + pb.setPreferredMemory(CIndexBuffer::AGPVolatile, false); CIndexBufferReadWrite iba; pb.lock (iba); /// Setup the pb and vb parts. Not very fast but executed only once diff --git a/code/nel/src/3d/ps_shockwave.cpp b/code/nel/src/3d/ps_shockwave.cpp index 20069e175..607b2d03e 100644 --- a/code/nel/src/3d/ps_shockwave.cpp +++ b/code/nel/src/3d/ps_shockwave.cpp @@ -530,6 +530,7 @@ void CPSShockWave::getVBnPB(CVertexBuffer *&retVb, CIndexBuffer *&retPb) vb.lock (vba); pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes(2 * 3 * size * _NbSeg); + pb.setPreferredMemory(CIndexBuffer::AGPVolatile, false); CIndexBufferReadWrite ibaWrite; pb.lock (ibaWrite); uint finalIndex = 0; diff --git a/code/nel/src/3d/ps_tail_dot.cpp b/code/nel/src/3d/ps_tail_dot.cpp index 075c9a598..623b8e7f7 100644 --- a/code/nel/src/3d/ps_tail_dot.cpp +++ b/code/nel/src/3d/ps_tail_dot.cpp @@ -422,6 +422,7 @@ CPSTailDot::CVBnPB &CPSTailDot::getVBnPB() CIndexBuffer &pb = VBnPB.PB; pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes(2 * _UsedNbSegs * numRibbonInVB); + pb.setPreferredMemory(CIndexBuffer::AGPVolatile, false); /// Setup the pb and vb parts. Not very fast but executed only once uint vbIndex = 0; uint pbIndex = 0; diff --git a/code/nel/src/3d/ps_util.cpp b/code/nel/src/3d/ps_util.cpp index 84e8c096a..0f7600d0e 100644 --- a/code/nel/src/3d/ps_util.cpp +++ b/code/nel/src/3d/ps_util.cpp @@ -117,6 +117,7 @@ void CPSUtil::displayBBox(NL3D::IDriver *driver, const NLMISC::CAABBox &box, NLM CVertexBuffer vb; vb.setVertexFormat(CVertexBuffer::PositionFlag); vb.setNumVertices(8); + vb.setPreferredMemory(CVertexBuffer::AGPVolatile, false); { CVertexBufferReadWrite vba; @@ -145,6 +146,7 @@ void CPSUtil::displayBBox(NL3D::IDriver *driver, const NLMISC::CAABBox &box, NLM CIndexBuffer pb; pb.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); pb.setNumIndexes(2*12); + pb.setPreferredMemory(CIndexBuffer::RAMVolatile, false); { CIndexBufferReadWrite ibaWrite; pb.lock (ibaWrite); @@ -206,6 +208,7 @@ void CPSUtil::displayArrow(IDriver *driver, const CVector &start, const CVector CVertexBuffer vb; vb.setVertexFormat(CVertexBuffer::PositionFlag); vb.setNumVertices(5); + vb.setPreferredMemory(CVertexBuffer::AGPVolatile, false); { diff --git a/code/nel/src/3d/scene_group.cpp b/code/nel/src/3d/scene_group.cpp index d539278cd..7bd50e79b 100644 --- a/code/nel/src/3d/scene_group.cpp +++ b/code/nel/src/3d/scene_group.cpp @@ -1307,6 +1307,7 @@ void CInstanceGroup::displayDebugClusters(IDriver *drv, class CTextContext *tx const uint maxVertices= 10000; vb.setVertexFormat(CVertexBuffer::PositionFlag); vb.setNumVertices(maxVertices); + vb.setPreferredMemory(CVertexBuffer::RAMVolatile, false); CIndexBuffer clusterTriangles; CIndexBuffer clusterLines; CIndexBuffer portalTriangles; diff --git a/code/ryzom/client/src/landscape_poly_drawer.cpp b/code/ryzom/client/src/landscape_poly_drawer.cpp index 714684e26..e98f17dc7 100644 --- a/code/ryzom/client/src/landscape_poly_drawer.cpp +++ b/code/ryzom/client/src/landscape_poly_drawer.cpp @@ -396,6 +396,7 @@ void CLandscapePolyDrawer::buildShadowVolume(uint poly) // because they are calculated in camera location. vb.setVertexFormat(CVertexBuffer::PositionFlag); vb.setNumVertices(2*verticesNb + 2); + vb.setPreferredMemory(CVertexBuffer::RAMVolatile, false); { CVertexBufferReadWrite vba; vb.lock(vba); @@ -411,6 +412,7 @@ void CLandscapePolyDrawer::buildShadowVolume(uint poly) int index = 0; ib.setFormat(NL_DEFAULT_INDEX_BUFFER_FORMAT); ib.setNumIndexes(12*verticesNb); + ib.setPreferredMemory(CIndexBuffer::RAMVolatile, false); { CIndexBufferReadWrite iba; ib.lock (iba);