mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-23 09:28:45 +00:00
Merged in shubham_meena/ryzomcore/issue#119 (pull request #63)
removed wrong panel from settings page
This commit is contained in:
commit
35bdcba93b
116 changed files with 2931 additions and 1578 deletions
|
@ -236,8 +236,6 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS)
|
||||||
OPTION(WITH_COVERAGE "With Code Coverage Support" OFF)
|
OPTION(WITH_COVERAGE "With Code Coverage Support" OFF)
|
||||||
OPTION(WITH_PCH "With Precompiled Headers" ON )
|
OPTION(WITH_PCH "With Precompiled Headers" ON )
|
||||||
OPTION(FINAL_VERSION "Build in Final Version mode" 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.
|
# Default to static building on Windows.
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
|
@ -325,6 +323,7 @@ MACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
||||||
|
|
||||||
OPTION(WITH_LIBOVR "With LibOVR support" OFF)
|
OPTION(WITH_LIBOVR "With LibOVR support" OFF)
|
||||||
OPTION(WITH_LIBVR "With LibVR support" OFF)
|
OPTION(WITH_LIBVR "With LibVR support" OFF)
|
||||||
|
OPTION(WITH_PERFHUD "With NVIDIA PerfHUD support" OFF)
|
||||||
ENDMACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
ENDMACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
||||||
|
|
||||||
MACRO(NL_SETUP_NELNS_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_TOOLS "Build Ryzom Core Tools" ON )
|
||||||
OPTION(WITH_RYZOM_SERVER "Build Ryzom Core Services" ON )
|
OPTION(WITH_RYZOM_SERVER "Build Ryzom Core Services" ON )
|
||||||
OPTION(WITH_RYZOM_SOUND "Enable Ryzom Core Sound" ON )
|
OPTION(WITH_RYZOM_SOUND "Enable Ryzom Core Sound" ON )
|
||||||
|
OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF)
|
||||||
|
|
||||||
###
|
###
|
||||||
# Optional support
|
# Optional support
|
||||||
|
@ -889,7 +889,7 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g")
|
SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g")
|
||||||
ELSE(WITH_SYMBOLS)
|
ELSE(WITH_SYMBOLS)
|
||||||
IF(APPLE)
|
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)
|
ELSE(APPLE)
|
||||||
SET(NL_RELEASE_LINKFLAGS "-Wl,-s ${NL_RELEASE_LINKFLAGS}")
|
SET(NL_RELEASE_LINKFLAGS "-Wl,-s ${NL_RELEASE_LINKFLAGS}")
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
|
|
|
@ -60,6 +60,7 @@ public:
|
||||||
{
|
{
|
||||||
StereoDisplay,
|
StereoDisplay,
|
||||||
StereoHMD,
|
StereoHMD,
|
||||||
|
StereoNGHMD,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum TStereoDeviceLibrary
|
enum TStereoDeviceLibrary
|
||||||
|
|
62
code/nel/include/nel/3d/stereo_ng_hmd.h
Normal file
62
code/nel/include/nel/3d/stereo_ng_hmd.h
Normal file
|
@ -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
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef NL3D_STEREO_NG_HMD_H
|
||||||
|
#define NL3D_STEREO_NG_HMD_H
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
#include <nel/3d/stereo_hmd.h>
|
||||||
|
|
||||||
|
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 */
|
|
@ -68,9 +68,7 @@ namespace NLGUI
|
||||||
// special parse
|
// special parse
|
||||||
virtual bool parse(xmlNodePtr cur, CInterfaceGroup *parentGroup);
|
virtual bool parse(xmlNodePtr cur, CInterfaceGroup *parentGroup);
|
||||||
|
|
||||||
|
bool handleEvent (const NLGUI::CEventDescriptor &event);
|
||||||
/// Handle all events (implemented by derived classes) (return true to signal event handled)
|
|
||||||
virtual bool handleEvent (const NLGUI::CEventDescriptor &event);
|
|
||||||
|
|
||||||
virtual CCtrlBase *getSubCtrl (sint32 /* x */, sint32 /* y */) { return this; }
|
virtual CCtrlBase *getSubCtrl (sint32 /* x */, sint32 /* y */) { return this; }
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@ namespace NLGUI
|
||||||
|
|
||||||
/// Constructor
|
/// Constructor
|
||||||
CCtrlTextButton(const TCtorParam ¶m);
|
CCtrlTextButton(const TCtorParam ¶m);
|
||||||
|
~CCtrlTextButton();
|
||||||
|
|
||||||
std::string getProperty( const std::string &name ) const;
|
std::string getProperty( const std::string &name ) const;
|
||||||
void setProperty( const std::string &name, const std::string &value );
|
void setProperty( const std::string &name, const std::string &value );
|
||||||
|
@ -123,6 +124,9 @@ namespace NLGUI
|
||||||
REFLECT_LUA_METHOD("getViewText", luaGetViewText)
|
REFLECT_LUA_METHOD("getViewText", luaGetViewText)
|
||||||
REFLECT_EXPORT_END
|
REFLECT_EXPORT_END
|
||||||
|
|
||||||
|
void onRemoved();
|
||||||
|
void onWidgetDeleted( CInterfaceElement *e );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
enum {NumTexture= 3};
|
enum {NumTexture= 3};
|
||||||
|
|
30
code/nel/include/nel/gui/editor_selection_watcher.h
Normal file
30
code/nel/include/nel/gui/editor_selection_watcher.h
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace NLGUI
|
||||||
|
{
|
||||||
|
/// Watches the currently selected GUI widget
|
||||||
|
class IEditorSelectionWatcher
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
/// Notifies the watcher about the change
|
||||||
|
virtual void selectionChanged( std::string &newSelection ) = 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -70,6 +70,14 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
/// Watches CInterfaceElement deletions
|
||||||
|
class IDeletionWatcher
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
IDeletionWatcher(){}
|
||||||
|
virtual ~IDeletionWatcher(){}
|
||||||
|
virtual void onDeleted( const std::string &name ){}
|
||||||
|
};
|
||||||
|
|
||||||
enum EStrech
|
enum EStrech
|
||||||
{
|
{
|
||||||
|
@ -424,6 +432,8 @@ namespace NLGUI
|
||||||
|
|
||||||
void drawHotSpot(THotSpot hs, NLMISC::CRGBA col);
|
void drawHotSpot(THotSpot hs, NLMISC::CRGBA col);
|
||||||
|
|
||||||
|
void drawHighlight();
|
||||||
|
|
||||||
// Returns 'true' if that element can be downcasted to a view
|
// Returns 'true' if that element can be downcasted to a view
|
||||||
virtual bool isView() const { return false; }
|
virtual bool isView() const { return false; }
|
||||||
|
|
||||||
|
@ -473,6 +483,7 @@ namespace NLGUI
|
||||||
bool isInGroup( CInterfaceGroup *group );
|
bool isInGroup( CInterfaceGroup *group );
|
||||||
|
|
||||||
static void setEditorMode( bool b ){ editorMode = b; }
|
static void setEditorMode( bool b ){ editorMode = b; }
|
||||||
|
static bool getEditorMode(){ return editorMode; }
|
||||||
|
|
||||||
void setEditorSelected( bool b ){ editorSelected = b; }
|
void setEditorSelected( bool b ){ editorSelected = b; }
|
||||||
bool isEditorSelected() const{ return editorSelected; }
|
bool isEditorSelected() const{ return editorSelected; }
|
||||||
|
@ -483,6 +494,19 @@ namespace NLGUI
|
||||||
void setSerializable( bool b ){ serializable = b; }
|
void setSerializable( bool b ){ serializable = b; }
|
||||||
bool IsSerializable() const{ return serializable; }
|
bool IsSerializable() const{ return serializable; }
|
||||||
|
|
||||||
|
/// 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 );
|
||||||
|
|
||||||
|
/// 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:
|
protected:
|
||||||
|
|
||||||
bool editorSelected;
|
bool editorSelected;
|
||||||
|
@ -543,6 +567,11 @@ namespace NLGUI
|
||||||
void parseSizeRef(const char *sizeRefStr, sint32 &sizeref, sint32 &sizeDivW, sint32 &sizeDivH);
|
void parseSizeRef(const char *sizeRefStr, sint32 &sizeref, sint32 &sizeDivW, sint32 &sizeDivH);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
/// Notifies the deletion watchers that this interface element is being deleted
|
||||||
|
void notifyDeletionWatchers();
|
||||||
|
|
||||||
|
static std::vector< IDeletionWatcher* > deletionWatchers;
|
||||||
|
|
||||||
//void snapSize();
|
//void snapSize();
|
||||||
bool serializable;
|
bool serializable;
|
||||||
|
|
||||||
|
|
|
@ -322,6 +322,8 @@ namespace NLGUI
|
||||||
// Return the current Depth, with no ZBias applied.
|
// Return the current Depth, with no ZBias applied.
|
||||||
float getDepthForZSort() const { return _DepthForZSort; }
|
float getDepthForZSort() const { return _DepthForZSort; }
|
||||||
|
|
||||||
|
void onWidgetDeleted( CInterfaceElement *e );
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void makeNewClip (sint32 &oldClipX, sint32 &oldClipY, sint32 &oldClipW, sint32 &oldClipH);
|
void makeNewClip (sint32 &oldClipX, sint32 &oldClipY, sint32 &oldClipW, sint32 &oldClipH);
|
||||||
|
|
|
@ -382,6 +382,7 @@ namespace NLGUI
|
||||||
bool serializeProcs( xmlNodePtr parentNode ) const;
|
bool serializeProcs( xmlNodePtr parentNode ) const;
|
||||||
bool serializePointerSettings( xmlNodePtr parentNode ) const;
|
bool serializePointerSettings( xmlNodePtr parentNode ) const;
|
||||||
bool serializeKeySettings( xmlNodePtr parentNode ) const;
|
bool serializeKeySettings( xmlNodePtr parentNode ) const;
|
||||||
|
CViewBase* createClass( const std::string &name );
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
namespace NLGUI
|
namespace NLGUI
|
||||||
{
|
{
|
||||||
class CInterfaceElement;
|
class CInterfaceElement;
|
||||||
|
class CViewBase;
|
||||||
class CInterfaceGroup;
|
class CInterfaceGroup;
|
||||||
class CInterfaceAnim;
|
class CInterfaceAnim;
|
||||||
class CCtrlSheetSelection;
|
class CCtrlSheetSelection;
|
||||||
|
@ -86,6 +87,7 @@ namespace NLGUI
|
||||||
virtual bool serializeProcs( xmlNodePtr parentNode ) const = 0;
|
virtual bool serializeProcs( xmlNodePtr parentNode ) const = 0;
|
||||||
virtual bool serializePointerSettings( xmlNodePtr parentNode ) const = 0;
|
virtual bool serializePointerSettings( xmlNodePtr parentNode ) const = 0;
|
||||||
virtual bool serializeKeySettings( xmlNodePtr parentNode ) const = 0;
|
virtual bool serializeKeySettings( xmlNodePtr parentNode ) const = 0;
|
||||||
|
virtual CViewBase* createClass( const std::string &name ) = 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
namespace NLGUI
|
namespace NLGUI
|
||||||
{
|
{
|
||||||
|
class CEventDescriptor;
|
||||||
|
|
||||||
class CViewBase : public CInterfaceElement
|
class CViewBase : public CInterfaceElement
|
||||||
{
|
{
|
||||||
|
@ -77,6 +78,9 @@ namespace NLGUI
|
||||||
// special for mouse over : return true and fill the name of the cursor to display
|
// 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; }
|
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);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
32
code/nel/include/nel/gui/widget_addition_watcher.h
Normal file
32
code/nel/include/nel/gui/widget_addition_watcher.h
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef WIDGET_ADD_WATCHER
|
||||||
|
#define WIDGET_ADD_WATCHER
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace NLGUI
|
||||||
|
{
|
||||||
|
class IWidgetAdditionWatcher
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void widgetAdded( const std::string &name ) = 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -47,6 +47,8 @@ namespace NLGUI
|
||||||
class CInterfaceOptions;
|
class CInterfaceOptions;
|
||||||
class CInterfaceAnim;
|
class CInterfaceAnim;
|
||||||
class CProcedure;
|
class CProcedure;
|
||||||
|
class IEditorSelectionWatcher;
|
||||||
|
class IWidgetAdditionWatcher;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
GUI Widget Manager
|
GUI Widget Manager
|
||||||
|
@ -341,6 +343,7 @@ namespace NLGUI
|
||||||
/**
|
/**
|
||||||
* Capture
|
* Capture
|
||||||
*/
|
*/
|
||||||
|
CViewBase *getCapturedView(){ return _CapturedView; }
|
||||||
CCtrlBase *getCapturePointerLeft() { return _CapturePointerLeft; }
|
CCtrlBase *getCapturePointerLeft() { return _CapturePointerLeft; }
|
||||||
CCtrlBase *getCapturePointerRight() { return _CapturePointerRight; }
|
CCtrlBase *getCapturePointerRight() { return _CapturePointerRight; }
|
||||||
CCtrlBase *getCaptureKeyboard() { return _CaptureKeyboard; }
|
CCtrlBase *getCaptureKeyboard() { return _CaptureKeyboard; }
|
||||||
|
@ -484,7 +487,17 @@ namespace NLGUI
|
||||||
|
|
||||||
IParser* getParser() const{ return parser; }
|
IParser* getParser() const{ return parser; }
|
||||||
|
|
||||||
|
std::string& getCurrentEditorSelection(){ return currentEditorSelection; }
|
||||||
void setCurrentEditorSelection( const std::string &name );
|
void setCurrentEditorSelection( const std::string &name );
|
||||||
|
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:
|
private:
|
||||||
CWidgetManager();
|
CWidgetManager();
|
||||||
|
@ -511,6 +524,8 @@ namespace NLGUI
|
||||||
NLMISC::CRefPtr<CCtrlBase> _CapturePointerLeft;
|
NLMISC::CRefPtr<CCtrlBase> _CapturePointerLeft;
|
||||||
NLMISC::CRefPtr<CCtrlBase> _CapturePointerRight;
|
NLMISC::CRefPtr<CCtrlBase> _CapturePointerRight;
|
||||||
|
|
||||||
|
NLMISC::CRefPtr< CViewBase > _CapturedView;
|
||||||
|
|
||||||
// What is under pointer
|
// What is under pointer
|
||||||
std::vector< CViewBase* > _ViewsUnderPointer;
|
std::vector< CViewBase* > _ViewsUnderPointer;
|
||||||
std::vector< CCtrlBase* > _CtrlsUnderPointer;
|
std::vector< CCtrlBase* > _CtrlsUnderPointer;
|
||||||
|
@ -567,6 +582,9 @@ namespace NLGUI
|
||||||
|
|
||||||
std::vector< INewScreenSizeHandler* > newScreenSizeHandlers;
|
std::vector< INewScreenSizeHandler* > newScreenSizeHandlers;
|
||||||
std::vector< IOnWidgetsDrawnHandler* > onWidgetsDrawnHandlers;
|
std::vector< IOnWidgetsDrawnHandler* > onWidgetsDrawnHandlers;
|
||||||
|
std::vector< IEditorSelectionWatcher* > selectionWatchers;
|
||||||
|
std::vector< IWidgetAdditionWatcher* > additionWatchers;
|
||||||
|
|
||||||
|
|
||||||
std::string currentEditorSelection;
|
std::string currentEditorSelection;
|
||||||
};
|
};
|
||||||
|
|
|
@ -697,6 +697,8 @@ SOURCE_GROUP(Stereo FILES
|
||||||
../../include/nel/3d/stereo_display.h
|
../../include/nel/3d/stereo_display.h
|
||||||
stereo_hmd.cpp
|
stereo_hmd.cpp
|
||||||
../../include/nel/3d/stereo_hmd.h
|
../../include/nel/3d/stereo_hmd.h
|
||||||
|
stereo_ng_hmd.cpp
|
||||||
|
../../include/nel/3d/stereo_ng_hmd.h
|
||||||
stereo_ovr.cpp
|
stereo_ovr.cpp
|
||||||
stereo_ovr_fp.cpp
|
stereo_ovr_fp.cpp
|
||||||
../../include/nel/3d/stereo_ovr.h
|
../../include/nel/3d/stereo_ovr.h
|
||||||
|
|
|
@ -6,7 +6,7 @@ extern "C" {
|
||||||
#endif
|
#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
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
** copy of this software and/or associated documentation files (the
|
** 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
|
** used to make the header, and the header can be found at
|
||||||
** http://www.opengl.org/registry/
|
** 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__)
|
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||||
|
@ -53,7 +53,7 @@ extern "C" {
|
||||||
#define GLAPI extern
|
#define GLAPI extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GL_GLEXT_VERSION 20131102
|
#define GL_GLEXT_VERSION 20140319
|
||||||
|
|
||||||
/* Generated C header for:
|
/* Generated C header for:
|
||||||
* API: gl
|
* 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 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 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 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
|
#ifdef GL_GLEXT_PROTOTYPES
|
||||||
GLAPI void APIENTRY glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex);
|
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);
|
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 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 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 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
|
||||||
#endif /* GL_VERSION_3_2 */
|
#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_GEOMETRY_IMAGE_UNIFORMS 0x90CD
|
||||||
#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
|
#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
|
||||||
#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
|
#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
|
#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
|
||||||
typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance);
|
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);
|
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_VERTEX_BINDING_STRIDE 0x82D8
|
||||||
#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
|
#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
|
||||||
#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
|
#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
|
||||||
|
#define GL_VERTEX_BINDING_BUFFER 0x8F4F
|
||||||
#define GL_DISPLAY_LIST 0x82E7
|
#define GL_DISPLAY_LIST 0x82E7
|
||||||
typedef void (APIENTRYP PFNGLCLEARBUFFERDATAPROC) (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data);
|
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);
|
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
|
||||||
#endif /* GL_AMD_name_gen_delete */
|
#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
|
#ifndef GL_AMD_performance_monitor
|
||||||
#define GL_AMD_performance_monitor 1
|
#define GL_AMD_performance_monitor 1
|
||||||
#define GL_COUNTER_TYPE_AMD 0x8BC0
|
#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 PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length);
|
||||||
typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
|
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 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 PFNGLNAMEDFRAMEBUFFERPARAMETERIEXTPROC) (GLuint framebuffer, GLenum pname, GLint param);
|
||||||
typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
|
typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVEXTPROC) (GLuint framebuffer, GLenum pname, GLint *params);
|
||||||
typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1DEXTPROC) (GLuint program, GLint location, GLdouble x);
|
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 glFlushMappedNamedBufferRangeEXT (GLuint buffer, GLintptr offset, GLsizeiptr length);
|
||||||
GLAPI void APIENTRY glNamedBufferStorageEXT (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags);
|
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 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 glNamedFramebufferParameteriEXT (GLuint framebuffer, GLenum pname, GLint param);
|
||||||
GLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
|
GLAPI void APIENTRY glGetNamedFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
|
||||||
GLAPI void APIENTRY glProgramUniform1dEXT (GLuint program, GLint location, GLdouble x);
|
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
|
#define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA
|
||||||
#endif /* GL_EXT_separate_specular_color */
|
#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
|
#ifndef GL_EXT_shader_image_load_store
|
||||||
#define GL_EXT_shader_image_load_store 1
|
#define GL_EXT_shader_image_load_store 1
|
||||||
#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
|
#define GL_MAX_IMAGE_UNITS_EXT 0x8F38
|
||||||
|
@ -8108,6 +8131,52 @@ GLAPI void APIENTRY glTexCoordPointervINTEL (GLint size, GLenum type, const void
|
||||||
#endif
|
#endif
|
||||||
#endif /* GL_INTEL_parallel_arrays */
|
#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
|
#ifndef GL_MESAX_texture_stack
|
||||||
#define GL_MESAX_texture_stack 1
|
#define GL_MESAX_texture_stack 1
|
||||||
#define GL_TEXTURE_1D_STACK_MESAX 0x8759
|
#define GL_TEXTURE_1D_STACK_MESAX 0x8759
|
||||||
|
@ -8202,6 +8271,15 @@ GLAPI void APIENTRY glEndConditionalRenderNVX (void);
|
||||||
#endif
|
#endif
|
||||||
#endif /* GL_NVX_conditional_render */
|
#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
|
#ifndef GL_NV_bindless_multi_draw_indirect
|
||||||
#define GL_NV_bindless_multi_draw_indirect 1
|
#define GL_NV_bindless_multi_draw_indirect 1
|
||||||
typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount);
|
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_NV_blend_equation_advanced 1
|
||||||
#define GL_BLEND_OVERLAP_NV 0x9281
|
#define GL_BLEND_OVERLAP_NV 0x9281
|
||||||
#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
|
#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
|
||||||
|
#define GL_BLUE_NV 0x1905
|
||||||
#define GL_COLORBURN_NV 0x929A
|
#define GL_COLORBURN_NV 0x929A
|
||||||
#define GL_COLORDODGE_NV 0x9299
|
#define GL_COLORDODGE_NV 0x9299
|
||||||
#define GL_CONJOINT_NV 0x9284
|
#define GL_CONJOINT_NV 0x9284
|
||||||
|
@ -8261,6 +8340,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
|
||||||
#define GL_DST_OUT_NV 0x928D
|
#define GL_DST_OUT_NV 0x928D
|
||||||
#define GL_DST_OVER_NV 0x9289
|
#define GL_DST_OVER_NV 0x9289
|
||||||
#define GL_EXCLUSION_NV 0x92A0
|
#define GL_EXCLUSION_NV 0x92A0
|
||||||
|
#define GL_GREEN_NV 0x1904
|
||||||
#define GL_HARDLIGHT_NV 0x929B
|
#define GL_HARDLIGHT_NV 0x929B
|
||||||
#define GL_HARDMIX_NV 0x92A9
|
#define GL_HARDMIX_NV 0x92A9
|
||||||
#define GL_HSL_COLOR_NV 0x92AF
|
#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_CLAMPED_NV 0x92B1
|
||||||
#define GL_PLUS_DARKER_NV 0x9292
|
#define GL_PLUS_DARKER_NV 0x9292
|
||||||
#define GL_PLUS_NV 0x9291
|
#define GL_PLUS_NV 0x9291
|
||||||
|
#define GL_RED_NV 0x1903
|
||||||
#define GL_SCREEN_NV 0x9295
|
#define GL_SCREEN_NV 0x9295
|
||||||
#define GL_SOFTLIGHT_NV 0x929C
|
#define GL_SOFTLIGHT_NV 0x929C
|
||||||
#define GL_SRC_ATOP_NV 0x928E
|
#define GL_SRC_ATOP_NV 0x928E
|
||||||
|
@ -8291,6 +8372,7 @@ GLAPI GLboolean APIENTRY glIsImageHandleResidentNV (GLuint64 handle);
|
||||||
#define GL_SRC_OVER_NV 0x9288
|
#define GL_SRC_OVER_NV 0x9288
|
||||||
#define GL_UNCORRELATED_NV 0x9282
|
#define GL_UNCORRELATED_NV 0x9282
|
||||||
#define GL_VIVIDLIGHT_NV 0x92A6
|
#define GL_VIVIDLIGHT_NV 0x92A6
|
||||||
|
#define GL_XOR_NV 0x1506
|
||||||
typedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
|
typedef void (APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
|
||||||
typedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
|
typedef void (APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
|
||||||
#ifdef GL_GLEXT_PROTOTYPES
|
#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
|
#define GL_NV_shader_storage_buffer_object 1
|
||||||
#endif /* GL_NV_shader_storage_buffer_object */
|
#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
|
#ifndef GL_NV_tessellation_program5
|
||||||
#define GL_NV_tessellation_program5 1
|
#define GL_NV_tessellation_program5 1
|
||||||
#define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8
|
#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 void (APIENTRYP PFNGLVDPAUFININVPROC) (void);
|
||||||
typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
|
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 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 PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface);
|
||||||
typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||||
typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access);
|
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 void APIENTRY glVDPAUFiniNV (void);
|
||||||
GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames);
|
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 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 glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface);
|
||||||
GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||||
GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
|
GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access);
|
||||||
|
|
|
@ -6,7 +6,7 @@ extern "C" {
|
||||||
#endif
|
#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
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
** copy of this software and/or associated documentation files (the
|
** 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
|
** used to make the header, and the header can be found at
|
||||||
** http://www.opengl.org/registry/
|
** 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:
|
/* Generated C header for:
|
||||||
* API: glx
|
* API: glx
|
||||||
|
@ -49,6 +49,7 @@ extern "C" {
|
||||||
|
|
||||||
#ifndef GLX_VERSION_1_3
|
#ifndef GLX_VERSION_1_3
|
||||||
#define GLX_VERSION_1_3 1
|
#define GLX_VERSION_1_3 1
|
||||||
|
typedef XID GLXContextID;
|
||||||
typedef struct __GLXFBConfigRec *GLXFBConfig;
|
typedef struct __GLXFBConfigRec *GLXFBConfig;
|
||||||
typedef XID GLXWindow;
|
typedef XID GLXWindow;
|
||||||
typedef XID GLXPbuffer;
|
typedef XID GLXPbuffer;
|
||||||
|
@ -272,7 +273,6 @@ __GLXextFuncPtr glXGetProcAddressARB (const GLubyte *procName);
|
||||||
|
|
||||||
#ifndef GLX_EXT_import_context
|
#ifndef GLX_EXT_import_context
|
||||||
#define GLX_EXT_import_context 1
|
#define GLX_EXT_import_context 1
|
||||||
typedef XID GLXContextID;
|
|
||||||
#define GLX_SHARE_CONTEXT_EXT 0x800A
|
#define GLX_SHARE_CONTEXT_EXT 0x800A
|
||||||
#define GLX_VISUAL_ID_EXT 0x800B
|
#define GLX_VISUAL_ID_EXT 0x800B
|
||||||
#define GLX_SCREEN_EXT 0x800C
|
#define GLX_SCREEN_EXT 0x800C
|
||||||
|
@ -407,6 +407,32 @@ GLXPixmap glXCreateGLXPixmapMESA (Display *dpy, XVisualInfo *visual, Pixmap pixm
|
||||||
#endif
|
#endif
|
||||||
#endif /* GLX_MESA_pixmap_colormap */
|
#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
|
#ifndef GLX_MESA_release_buffers
|
||||||
#define GLX_MESA_release_buffers 1
|
#define GLX_MESA_release_buffers 1
|
||||||
typedef Bool ( *PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
|
typedef Bool ( *PFNGLXRELEASEBUFFERSMESAPROC) (Display *dpy, GLXDrawable drawable);
|
||||||
|
@ -433,6 +459,14 @@ void glXCopyImageSubDataNV (Display *dpy, GLXContext srcCtx, GLuint srcName, GLe
|
||||||
#endif
|
#endif
|
||||||
#endif /* GLX_NV_copy_image */
|
#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
|
#ifndef GLX_NV_float_buffer
|
||||||
#define GLX_NV_float_buffer 1
|
#define GLX_NV_float_buffer 1
|
||||||
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
|
#define GLX_FLOAT_COMPONENTS_NV 0x20B0
|
||||||
|
|
|
@ -6,7 +6,7 @@ extern "C" {
|
||||||
#endif
|
#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
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
** copy of this software and/or associated documentation files (the
|
** 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
|
** used to make the header, and the header can be found at
|
||||||
** http://www.opengl.org/registry/
|
** 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__)
|
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||||
|
@ -41,7 +41,7 @@ extern "C" {
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define WGL_WGLEXT_VERSION 20131028
|
#define WGL_WGLEXT_VERSION 20140317
|
||||||
|
|
||||||
/* Generated C header for:
|
/* Generated C header for:
|
||||||
* API: wgl
|
* API: wgl
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -109,6 +109,17 @@ struct CGlExtensions
|
||||||
bool OESDrawTexture;
|
bool OESDrawTexture;
|
||||||
bool OESMapBuffer;
|
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:
|
public:
|
||||||
|
|
||||||
/// \name Disable Hardware feature. False by default. setuped by IDriver
|
/// \name Disable Hardware feature. False by default. setuped by IDriver
|
||||||
|
@ -151,7 +162,6 @@ public:
|
||||||
ATIVertexArrayObject= false;
|
ATIVertexArrayObject= false;
|
||||||
ATIEnvMapBumpMap = false;
|
ATIEnvMapBumpMap = false;
|
||||||
ATIFragmentShader = false;
|
ATIFragmentShader = false;
|
||||||
ATIVertexArrayObject = false;
|
|
||||||
ATIMapObjectBuffer = false;
|
ATIMapObjectBuffer = false;
|
||||||
ATIVertexAttribArrayObject = false;
|
ATIVertexAttribArrayObject = false;
|
||||||
EXTVertexShader= false;
|
EXTVertexShader= false;
|
||||||
|
@ -176,6 +186,10 @@ public:
|
||||||
OESDrawTexture = false;
|
OESDrawTexture = false;
|
||||||
OESMapBuffer = false;
|
OESMapBuffer = false;
|
||||||
|
|
||||||
|
NVXGPUMemoryInfo = false;
|
||||||
|
ATIMeminfo = false;
|
||||||
|
WGLAMDGPUAssociation = false;
|
||||||
|
|
||||||
/// \name Disable Hardware feature. False by default. setuped by IDriver
|
/// \name Disable Hardware feature. False by default. setuped by IDriver
|
||||||
DisableHardwareVertexProgram= false;
|
DisableHardwareVertexProgram= false;
|
||||||
DisableHardwarePixelProgram= false;
|
DisableHardwarePixelProgram= false;
|
||||||
|
@ -225,12 +239,15 @@ public:
|
||||||
result += NVOcclusionQuery ? "NVOcclusionQuery " : "";
|
result += NVOcclusionQuery ? "NVOcclusionQuery " : "";
|
||||||
result += NVStateVARWithoutFlush ? "NVStateVARWithoutFlush " : "";
|
result += NVStateVARWithoutFlush ? "NVStateVARWithoutFlush " : "";
|
||||||
result += ARBMultisample ? "ARBMultisample " : "";
|
result += ARBMultisample ? "ARBMultisample " : "";
|
||||||
|
result += NVXGPUMemoryInfo ? "NVXGPUMemoryInfo " : "";
|
||||||
|
result += ATIMeminfo ? "ATIMeminfo " : "";
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
result += "\n WindowsGL: ";
|
result += "\n WindowsGL: ";
|
||||||
result += WGLARBPBuffer ? "WGLARBPBuffer " : "";
|
result += WGLARBPBuffer ? "WGLARBPBuffer " : "";
|
||||||
result += WGLARBPixelFormat ? "WGLARBPixelFormat " : "";
|
result += WGLARBPixelFormat ? "WGLARBPixelFormat " : "";
|
||||||
result += WGLEXTSwapControl ? "WGLEXTSwapControl " : "";
|
result += WGLEXTSwapControl ? "WGLEXTSwapControl " : "";
|
||||||
|
result += WGLAMDGPUAssociation ? "WGLAMDGPUAssociation " : "";
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
#elif defined(NL_OS_UNIX)
|
#elif defined(NL_OS_UNIX)
|
||||||
result += "\n GLX: ";
|
result += "\n GLX: ";
|
||||||
|
@ -294,230 +311,228 @@ void registerGlExtensions(CGlExtensions &ext);
|
||||||
|
|
||||||
// OES_mapbuffer.
|
// OES_mapbuffer.
|
||||||
//===============
|
//===============
|
||||||
extern NEL_PFNGLMAPBUFFEROESPROC nglMapBufferOES;
|
extern PFNGLMAPBUFFEROESPROC nglMapBufferOES;
|
||||||
extern NEL_PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES;
|
extern PFNGLUNMAPBUFFEROESPROC nglUnmapBufferOES;
|
||||||
extern NEL_PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES;
|
extern PFNGLGETBUFFERPOINTERVOESPROC nglGetBufferPointervOES;
|
||||||
|
|
||||||
extern NEL_PFNGLBUFFERSUBDATAPROC nglBufferSubData;
|
|
||||||
|
|
||||||
extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES;
|
extern PFNGLDRAWTEXFOESPROC nglDrawTexfOES;
|
||||||
|
|
||||||
// GL_OES_framebuffer_object
|
// GL_OES_framebuffer_object
|
||||||
extern NEL_PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES;
|
extern PFNGLISRENDERBUFFEROESPROC nglIsRenderbufferOES;
|
||||||
extern NEL_PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES;
|
extern PFNGLBINDRENDERBUFFEROESPROC nglBindRenderbufferOES;
|
||||||
extern NEL_PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES;
|
extern PFNGLDELETERENDERBUFFERSOESPROC nglDeleteRenderbuffersOES;
|
||||||
extern NEL_PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES;
|
extern PFNGLGENRENDERBUFFERSOESPROC nglGenRenderbuffersOES;
|
||||||
extern NEL_PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES;
|
extern PFNGLRENDERBUFFERSTORAGEOESPROC nglRenderbufferStorageOES;
|
||||||
extern NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES;
|
extern PFNGLGETRENDERBUFFERPARAMETERIVOESPROC nglGetRenderbufferParameterivOES;
|
||||||
extern NEL_PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES;
|
extern PFNGLISFRAMEBUFFEROESPROC nglIsFramebufferOES;
|
||||||
extern NEL_PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES;
|
extern PFNGLBINDFRAMEBUFFEROESPROC nglBindFramebufferOES;
|
||||||
extern NEL_PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES;
|
extern PFNGLDELETEFRAMEBUFFERSOESPROC nglDeleteFramebuffersOES;
|
||||||
extern NEL_PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES;
|
extern PFNGLGENFRAMEBUFFERSOESPROC nglGenFramebuffersOES;
|
||||||
extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES;
|
extern PFNGLCHECKFRAMEBUFFERSTATUSOESPROC nglCheckFramebufferStatusOES;
|
||||||
extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES;
|
extern PFNGLFRAMEBUFFERRENDERBUFFEROESPROC nglFramebufferRenderbufferOES;
|
||||||
extern NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES;
|
extern PFNGLFRAMEBUFFERTEXTURE2DOESPROC nglFramebufferTexture2DOES;
|
||||||
extern NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES;
|
extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC nglGetFramebufferAttachmentParameterivOES;
|
||||||
extern NEL_PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES;
|
extern PFNGLGENERATEMIPMAPOESPROC nglGenerateMipmapOES;
|
||||||
|
|
||||||
// GL_OES_texture_cube_map
|
// GL_OES_texture_cube_map
|
||||||
extern NEL_PFNGLTEXGENFOESPROC nglTexGenfOES;
|
extern PFNGLTEXGENFOESPROC nglTexGenfOES;
|
||||||
extern NEL_PFNGLTEXGENFVOESPROC nglTexGenfvOES;
|
extern PFNGLTEXGENFVOESPROC nglTexGenfvOES;
|
||||||
extern NEL_PFNGLTEXGENIOESPROC nglTexGeniOES;
|
extern PFNGLTEXGENIOESPROC nglTexGeniOES;
|
||||||
extern NEL_PFNGLTEXGENIVOESPROC nglTexGenivOES;
|
extern PFNGLTEXGENIVOESPROC nglTexGenivOES;
|
||||||
extern NEL_PFNGLTEXGENXOESPROC nglTexGenxOES;
|
extern PFNGLTEXGENXOESPROC nglTexGenxOES;
|
||||||
extern NEL_PFNGLTEXGENXVOESPROC nglTexGenxvOES;
|
extern PFNGLTEXGENXVOESPROC nglTexGenxvOES;
|
||||||
extern NEL_PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES;
|
extern PFNGLGETTEXGENFVOESPROC nglGetTexGenfvOES;
|
||||||
extern NEL_PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES;
|
extern PFNGLGETTEXGENIVOESPROC nglGetTexGenivOES;
|
||||||
extern NEL_PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES;
|
extern PFNGLGETTEXGENXVOESPROC nglGetTexGenxvOES;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// ARB_multitexture
|
// ARB_multitexture
|
||||||
//=================
|
//=================
|
||||||
extern NEL_PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB;
|
extern PFNGLACTIVETEXTUREARBPROC nglActiveTextureARB;
|
||||||
extern NEL_PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB;
|
extern PFNGLCLIENTACTIVETEXTUREARBPROC nglClientActiveTextureARB;
|
||||||
|
|
||||||
extern NEL_PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB;
|
extern PFNGLMULTITEXCOORD1SARBPROC nglMultiTexCoord1sARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB;
|
extern PFNGLMULTITEXCOORD1IARBPROC nglMultiTexCoord1iARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
extern PFNGLMULTITEXCOORD1FARBPROC nglMultiTexCoord1fARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB;
|
extern PFNGLMULTITEXCOORD1DARBPROC nglMultiTexCoord1dARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB;
|
extern PFNGLMULTITEXCOORD2SARBPROC nglMultiTexCoord2sARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB;
|
extern PFNGLMULTITEXCOORD2IARBPROC nglMultiTexCoord2iARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB;
|
extern PFNGLMULTITEXCOORD2FARBPROC nglMultiTexCoord2fARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB;
|
extern PFNGLMULTITEXCOORD2DARBPROC nglMultiTexCoord2dARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB;
|
extern PFNGLMULTITEXCOORD3SARBPROC nglMultiTexCoord3sARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB;
|
extern PFNGLMULTITEXCOORD3IARBPROC nglMultiTexCoord3iARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB;
|
extern PFNGLMULTITEXCOORD3FARBPROC nglMultiTexCoord3fARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB;
|
extern PFNGLMULTITEXCOORD3DARBPROC nglMultiTexCoord3dARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB;
|
extern PFNGLMULTITEXCOORD4SARBPROC nglMultiTexCoord4sARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB;
|
extern PFNGLMULTITEXCOORD4IARBPROC nglMultiTexCoord4iARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB;
|
extern PFNGLMULTITEXCOORD4FARBPROC nglMultiTexCoord4fARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB;
|
extern PFNGLMULTITEXCOORD4DARBPROC nglMultiTexCoord4dARB;
|
||||||
|
|
||||||
extern NEL_PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB;
|
extern PFNGLMULTITEXCOORD1SVARBPROC nglMultiTexCoord1svARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB;
|
extern PFNGLMULTITEXCOORD1IVARBPROC nglMultiTexCoord1ivARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB;
|
extern PFNGLMULTITEXCOORD1FVARBPROC nglMultiTexCoord1fvARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB;
|
extern PFNGLMULTITEXCOORD1DVARBPROC nglMultiTexCoord1dvARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB;
|
extern PFNGLMULTITEXCOORD2SVARBPROC nglMultiTexCoord2svARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB;
|
extern PFNGLMULTITEXCOORD2IVARBPROC nglMultiTexCoord2ivARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB;
|
extern PFNGLMULTITEXCOORD2FVARBPROC nglMultiTexCoord2fvARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB;
|
extern PFNGLMULTITEXCOORD2DVARBPROC nglMultiTexCoord2dvARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB;
|
extern PFNGLMULTITEXCOORD3SVARBPROC nglMultiTexCoord3svARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB;
|
extern PFNGLMULTITEXCOORD3IVARBPROC nglMultiTexCoord3ivARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB;
|
extern PFNGLMULTITEXCOORD3FVARBPROC nglMultiTexCoord3fvARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB;
|
extern PFNGLMULTITEXCOORD3DVARBPROC nglMultiTexCoord3dvARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB;
|
extern PFNGLMULTITEXCOORD4SVARBPROC nglMultiTexCoord4svARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB;
|
extern PFNGLMULTITEXCOORD4IVARBPROC nglMultiTexCoord4ivARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB;
|
extern PFNGLMULTITEXCOORD4FVARBPROC nglMultiTexCoord4fvARB;
|
||||||
extern NEL_PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB;
|
extern PFNGLMULTITEXCOORD4DVARBPROC nglMultiTexCoord4dvARB;
|
||||||
|
|
||||||
|
|
||||||
// ARB_TextureCompression.
|
// ARB_TextureCompression.
|
||||||
//========================
|
//========================
|
||||||
extern NEL_PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB;
|
extern PFNGLCOMPRESSEDTEXIMAGE3DARBPROC nglCompressedTexImage3DARB;
|
||||||
extern NEL_PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB;
|
extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC nglCompressedTexImage2DARB;
|
||||||
extern NEL_PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB;
|
extern PFNGLCOMPRESSEDTEXIMAGE1DARBPROC nglCompressedTexImage1DARB;
|
||||||
extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB;
|
extern PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC nglCompressedTexSubImage3DARB;
|
||||||
extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB;
|
extern PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC nglCompressedTexSubImage2DARB;
|
||||||
extern NEL_PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB;
|
extern PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC nglCompressedTexSubImage1DARB;
|
||||||
extern NEL_PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB;
|
extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC nglGetCompressedTexImageARB;
|
||||||
|
|
||||||
|
|
||||||
// VertexArrayRangeNV.
|
// VertexArrayRangeNV.
|
||||||
//====================
|
//====================
|
||||||
extern NEL_PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV;
|
extern PFNGLFLUSHVERTEXARRAYRANGENVPROC nglFlushVertexArrayRangeNV;
|
||||||
extern NEL_PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV;
|
extern PFNGLVERTEXARRAYRANGENVPROC nglVertexArrayRangeNV;
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
extern PFNWGLALLOCATEMEMORYNVPROC nwglAllocateMemoryNV;
|
extern PFNWGLALLOCATEMEMORYNVPROC nwglAllocateMemoryNV;
|
||||||
extern PFNWGLFREEMEMORYNVPROC nwglFreeMemoryNV;
|
extern PFNWGLFREEMEMORYNVPROC nwglFreeMemoryNV;
|
||||||
#elif defined(NL_OS_UNIX) && !defined(NL_OS_MAC)
|
#elif defined(NL_OS_UNIX) && !defined(NL_OS_MAC)
|
||||||
extern NEL_PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV;
|
extern PFNGLXALLOCATEMEMORYNVPROC nglXAllocateMemoryNV;
|
||||||
extern NEL_PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV;
|
extern PFNGLXFREEMEMORYNVPROC nglXFreeMemoryNV;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// FenceNV.
|
// FenceNV.
|
||||||
//====================
|
//====================
|
||||||
extern NEL_PFNGLDELETEFENCESNVPROC nglDeleteFencesNV;
|
extern PFNGLDELETEFENCESNVPROC nglDeleteFencesNV;
|
||||||
extern NEL_PFNGLGENFENCESNVPROC nglGenFencesNV;
|
extern PFNGLGENFENCESNVPROC nglGenFencesNV;
|
||||||
extern NEL_PFNGLISFENCENVPROC nglIsFenceNV;
|
extern PFNGLISFENCENVPROC nglIsFenceNV;
|
||||||
extern NEL_PFNGLTESTFENCENVPROC nglTestFenceNV;
|
extern PFNGLTESTFENCENVPROC nglTestFenceNV;
|
||||||
extern NEL_PFNGLGETFENCEIVNVPROC nglGetFenceivNV;
|
extern PFNGLGETFENCEIVNVPROC nglGetFenceivNV;
|
||||||
extern NEL_PFNGLFINISHFENCENVPROC nglFinishFenceNV;
|
extern PFNGLFINISHFENCENVPROC nglFinishFenceNV;
|
||||||
extern NEL_PFNGLSETFENCENVPROC nglSetFenceNV;
|
extern PFNGLSETFENCENVPROC nglSetFenceNV;
|
||||||
|
|
||||||
|
|
||||||
// VertexWeighting.
|
// VertexWeighting.
|
||||||
//==================
|
//==================
|
||||||
extern NEL_PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT;
|
extern PFNGLVERTEXWEIGHTFEXTPROC nglVertexWeightfEXT;
|
||||||
extern NEL_PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT;
|
extern PFNGLVERTEXWEIGHTFVEXTPROC nglVertexWeightfvEXT;
|
||||||
extern NEL_PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT;
|
extern PFNGLVERTEXWEIGHTPOINTEREXTPROC nglVertexWeightPointerEXT;
|
||||||
|
|
||||||
|
|
||||||
// VertexProgramExtension.
|
// VertexProgramExtension.
|
||||||
//========================
|
//========================
|
||||||
extern NEL_PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV;
|
extern PFNGLAREPROGRAMSRESIDENTNVPROC nglAreProgramsResidentNV;
|
||||||
extern NEL_PFNGLBINDPROGRAMNVPROC nglBindProgramNV;
|
extern PFNGLBINDPROGRAMNVPROC nglBindProgramNV;
|
||||||
extern NEL_PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV;
|
extern PFNGLDELETEPROGRAMSNVPROC nglDeleteProgramsNV;
|
||||||
extern NEL_PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV;
|
extern PFNGLEXECUTEPROGRAMNVPROC nglExecuteProgramNV;
|
||||||
extern NEL_PFNGLGENPROGRAMSNVPROC nglGenProgramsNV;
|
extern PFNGLGENPROGRAMSNVPROC nglGenProgramsNV;
|
||||||
extern NEL_PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV;
|
extern PFNGLGETPROGRAMPARAMETERDVNVPROC nglGetProgramParameterdvNV;
|
||||||
extern NEL_PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV;
|
extern PFNGLGETPROGRAMPARAMETERFVNVPROC nglGetProgramParameterfvNV;
|
||||||
extern NEL_PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV;
|
extern PFNGLGETPROGRAMIVNVPROC nglGetProgramivNV;
|
||||||
extern NEL_PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV;
|
extern PFNGLGETPROGRAMSTRINGNVPROC nglGetProgramStringNV;
|
||||||
extern NEL_PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV;
|
extern PFNGLGETTRACKMATRIXIVNVPROC nglGetTrackMatrixivNV;
|
||||||
extern NEL_PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV;
|
extern PFNGLGETVERTEXATTRIBDVNVPROC nglGetVertexAttribdvNV;
|
||||||
extern NEL_PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV;
|
extern PFNGLGETVERTEXATTRIBFVNVPROC nglGetVertexAttribfvNV;
|
||||||
extern NEL_PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV;
|
extern PFNGLGETVERTEXATTRIBIVNVPROC nglGetVertexAttribivNV;
|
||||||
extern NEL_PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV;
|
extern PFNGLGETVERTEXATTRIBPOINTERVNVPROC nglGetVertexAttribPointervNV;
|
||||||
extern NEL_PFNGLISPROGRAMNVPROC nglIsProgramNV;
|
extern PFNGLISPROGRAMNVPROC nglIsProgramNV;
|
||||||
extern NEL_PFNGLLOADPROGRAMNVPROC nglLoadProgramNV;
|
extern PFNGLLOADPROGRAMNVPROC nglLoadProgramNV;
|
||||||
extern NEL_PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV;
|
extern PFNGLPROGRAMPARAMETER4DNVPROC nglProgramParameter4dNV;
|
||||||
extern NEL_PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV;
|
extern PFNGLPROGRAMPARAMETER4DVNVPROC nglProgramParameter4dvNV;
|
||||||
extern NEL_PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV;
|
extern PFNGLPROGRAMPARAMETER4FNVPROC nglProgramParameter4fNV;
|
||||||
extern NEL_PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV;
|
extern PFNGLPROGRAMPARAMETER4FVNVPROC nglProgramParameter4fvNV;
|
||||||
extern NEL_PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV;
|
extern PFNGLPROGRAMPARAMETERS4DVNVPROC nglProgramParameters4dvNV;
|
||||||
extern NEL_PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV;
|
extern PFNGLPROGRAMPARAMETERS4FVNVPROC nglProgramParameters4fvNV;
|
||||||
extern NEL_PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV;
|
extern PFNGLREQUESTRESIDENTPROGRAMSNVPROC nglRequestResidentProgramsNV;
|
||||||
extern NEL_PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV;
|
extern PFNGLTRACKMATRIXNVPROC nglTrackMatrixNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV;
|
extern PFNGLVERTEXATTRIBPOINTERNVPROC nglVertexAttribPointerNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV;
|
extern PFNGLVERTEXATTRIB1DNVPROC nglVertexAttrib1dNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV;
|
extern PFNGLVERTEXATTRIB1DVNVPROC nglVertexAttrib1dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV;
|
extern PFNGLVERTEXATTRIB1FNVPROC nglVertexAttrib1fNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV;
|
extern PFNGLVERTEXATTRIB1FVNVPROC nglVertexAttrib1fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV;
|
extern PFNGLVERTEXATTRIB1SNVPROC nglVertexAttrib1sNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV;
|
extern PFNGLVERTEXATTRIB1SVNVPROC nglVertexAttrib1svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV;
|
extern PFNGLVERTEXATTRIB2DNVPROC nglVertexAttrib2dNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV;
|
extern PFNGLVERTEXATTRIB2DVNVPROC nglVertexAttrib2dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV;
|
extern PFNGLVERTEXATTRIB2FNVPROC nglVertexAttrib2fNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV;
|
extern PFNGLVERTEXATTRIB2FVNVPROC nglVertexAttrib2fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV;
|
extern PFNGLVERTEXATTRIB2SNVPROC nglVertexAttrib2sNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV;
|
extern PFNGLVERTEXATTRIB2SVNVPROC nglVertexAttrib2svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV;
|
extern PFNGLVERTEXATTRIB3DNVPROC nglVertexAttrib3dNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV;
|
extern PFNGLVERTEXATTRIB3DVNVPROC nglVertexAttrib3dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV;
|
extern PFNGLVERTEXATTRIB3FNVPROC nglVertexAttrib3fNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV;
|
extern PFNGLVERTEXATTRIB3FVNVPROC nglVertexAttrib3fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV;
|
extern PFNGLVERTEXATTRIB3SNVPROC nglVertexAttrib3sNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV;
|
extern PFNGLVERTEXATTRIB3SVNVPROC nglVertexAttrib3svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV;
|
extern PFNGLVERTEXATTRIB4DNVPROC nglVertexAttrib4dNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV;
|
extern PFNGLVERTEXATTRIB4DVNVPROC nglVertexAttrib4dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV;
|
extern PFNGLVERTEXATTRIB4FNVPROC nglVertexAttrib4fNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV;
|
extern PFNGLVERTEXATTRIB4FVNVPROC nglVertexAttrib4fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV;
|
extern PFNGLVERTEXATTRIB4SNVPROC nglVertexAttrib4sNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV;
|
extern PFNGLVERTEXATTRIB4SVNVPROC nglVertexAttrib4svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV;
|
extern PFNGLVERTEXATTRIB4UBVNVPROC nglVertexAttrib4ubvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV;
|
extern PFNGLVERTEXATTRIBS1DVNVPROC nglVertexAttribs1dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV;
|
extern PFNGLVERTEXATTRIBS1FVNVPROC nglVertexAttribs1fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV;
|
extern PFNGLVERTEXATTRIBS1SVNVPROC nglVertexAttribs1svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV;
|
extern PFNGLVERTEXATTRIBS2DVNVPROC nglVertexAttribs2dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV;
|
extern PFNGLVERTEXATTRIBS2FVNVPROC nglVertexAttribs2fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV;
|
extern PFNGLVERTEXATTRIBS2SVNVPROC nglVertexAttribs2svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV;
|
extern PFNGLVERTEXATTRIBS3DVNVPROC nglVertexAttribs3dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV;
|
extern PFNGLVERTEXATTRIBS3FVNVPROC nglVertexAttribs3fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV;
|
extern PFNGLVERTEXATTRIBS3SVNVPROC nglVertexAttribs3svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV;
|
extern PFNGLVERTEXATTRIBS4DVNVPROC nglVertexAttribs4dvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV;
|
extern PFNGLVERTEXATTRIBS4FVNVPROC nglVertexAttribs4fvNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV;
|
extern PFNGLVERTEXATTRIBS4SVNVPROC nglVertexAttribs4svNV;
|
||||||
extern NEL_PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV;
|
extern PFNGLVERTEXATTRIBS4UBVNVPROC nglVertexAttribs4ubvNV;
|
||||||
|
|
||||||
// VertexShaderExtension.
|
// VertexShaderExtension.
|
||||||
//========================
|
//========================
|
||||||
extern NEL_PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT;
|
extern PFNGLBEGINVERTEXSHADEREXTPROC nglBeginVertexShaderEXT;
|
||||||
extern NEL_PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT;
|
extern PFNGLENDVERTEXSHADEREXTPROC nglEndVertexShaderEXT;
|
||||||
extern NEL_PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT;
|
extern PFNGLBINDVERTEXSHADEREXTPROC nglBindVertexShaderEXT;
|
||||||
extern NEL_PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT;
|
extern PFNGLGENVERTEXSHADERSEXTPROC nglGenVertexShadersEXT;
|
||||||
extern NEL_PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT;
|
extern PFNGLDELETEVERTEXSHADEREXTPROC nglDeleteVertexShaderEXT;
|
||||||
extern NEL_PFNGLSHADEROP1EXTPROC nglShaderOp1EXT;
|
extern PFNGLSHADEROP1EXTPROC nglShaderOp1EXT;
|
||||||
extern NEL_PFNGLSHADEROP2EXTPROC nglShaderOp2EXT;
|
extern PFNGLSHADEROP2EXTPROC nglShaderOp2EXT;
|
||||||
extern NEL_PFNGLSHADEROP3EXTPROC nglShaderOp3EXT;
|
extern PFNGLSHADEROP3EXTPROC nglShaderOp3EXT;
|
||||||
extern NEL_PFNGLSWIZZLEEXTPROC nglSwizzleEXT;
|
extern PFNGLSWIZZLEEXTPROC nglSwizzleEXT;
|
||||||
extern NEL_PFNGLWRITEMASKEXTPROC nglWriteMaskEXT;
|
extern PFNGLWRITEMASKEXTPROC nglWriteMaskEXT;
|
||||||
extern NEL_PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT;
|
extern PFNGLINSERTCOMPONENTEXTPROC nglInsertComponentEXT;
|
||||||
extern NEL_PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT;
|
extern PFNGLEXTRACTCOMPONENTEXTPROC nglExtractComponentEXT;
|
||||||
extern NEL_PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT;
|
extern PFNGLGENSYMBOLSEXTPROC nglGenSymbolsEXT;
|
||||||
extern NEL_PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT;
|
extern PFNGLSETINVARIANTEXTPROC nglSetInvariantEXT;
|
||||||
extern NEL_PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT;
|
extern PFNGLSETLOCALCONSTANTEXTPROC nglSetLocalConstantEXT;
|
||||||
extern NEL_PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT;
|
extern PFNGLVARIANTPOINTEREXTPROC nglVariantPointerEXT;
|
||||||
extern NEL_PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT;
|
extern PFNGLENABLEVARIANTCLIENTSTATEEXTPROC nglEnableVariantClientStateEXT;
|
||||||
extern NEL_PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT;
|
extern PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC nglDisableVariantClientStateEXT;
|
||||||
extern NEL_PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT;
|
extern PFNGLBINDLIGHTPARAMETEREXTPROC nglBindLightParameterEXT;
|
||||||
extern NEL_PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT;
|
extern PFNGLBINDMATERIALPARAMETEREXTPROC nglBindMaterialParameterEXT;
|
||||||
extern NEL_PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT;
|
extern PFNGLBINDTEXGENPARAMETEREXTPROC nglBindTexGenParameterEXT;
|
||||||
extern NEL_PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT;
|
extern PFNGLBINDTEXTUREUNITPARAMETEREXTPROC nglBindTextureUnitParameterEXT;
|
||||||
extern NEL_PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT;
|
extern PFNGLBINDPARAMETEREXTPROC nglBindParameterEXT;
|
||||||
extern NEL_PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT;
|
extern PFNGLISVARIANTENABLEDEXTPROC nglIsVariantEnabledEXT;
|
||||||
extern NEL_PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT;
|
extern PFNGLGETVARIANTBOOLEANVEXTPROC nglGetVariantBooleanvEXT;
|
||||||
extern NEL_PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT;
|
extern PFNGLGETVARIANTINTEGERVEXTPROC nglGetVariantIntegervEXT;
|
||||||
extern NEL_PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT;
|
extern PFNGLGETVARIANTFLOATVEXTPROC nglGetVariantFloatvEXT;
|
||||||
extern NEL_PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT;
|
extern PFNGLGETVARIANTPOINTERVEXTPROC nglGetVariantPointervEXT;
|
||||||
extern NEL_PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT;
|
extern PFNGLGETINVARIANTBOOLEANVEXTPROC nglGetInvariantBooleanvEXT;
|
||||||
extern NEL_PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT;
|
extern PFNGLGETINVARIANTINTEGERVEXTPROC nglGetInvariantIntegervEXT;
|
||||||
extern NEL_PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT;
|
extern PFNGLGETINVARIANTFLOATVEXTPROC nglGetInvariantFloatvEXT;
|
||||||
extern NEL_PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT;
|
extern PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC nglGetLocalConstantBooleanvEXT;
|
||||||
extern NEL_PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT;
|
extern PFNGLGETLOCALCONSTANTINTEGERVEXTPROC nglGetLocalConstantIntegervEXT;
|
||||||
extern NEL_PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT;
|
extern PFNGLGETLOCALCONSTANTFLOATVEXTPROC nglGetLocalConstantFloatvEXT;
|
||||||
|
|
||||||
|
|
||||||
// ATI_envmap_bumpmap extension
|
// ATI_envmap_bumpmap extension
|
||||||
|
@ -530,100 +545,100 @@ extern PFNGLGETTEXBUMPPARAMETERFVATIPROC nglGetTexBumpParameterfvATI;
|
||||||
|
|
||||||
// SecondaryColor extension
|
// SecondaryColor extension
|
||||||
//========================
|
//========================
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT;
|
extern PFNGLSECONDARYCOLOR3BEXTPROC nglSecondaryColor3bEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT;
|
extern PFNGLSECONDARYCOLOR3BVEXTPROC nglSecondaryColor3bvEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT;
|
extern PFNGLSECONDARYCOLOR3DEXTPROC nglSecondaryColor3dEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT;
|
extern PFNGLSECONDARYCOLOR3DVEXTPROC nglSecondaryColor3dvEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT;
|
extern PFNGLSECONDARYCOLOR3FEXTPROC nglSecondaryColor3fEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT;
|
extern PFNGLSECONDARYCOLOR3FVEXTPROC nglSecondaryColor3fvEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT;
|
extern PFNGLSECONDARYCOLOR3IEXTPROC nglSecondaryColor3iEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT;
|
extern PFNGLSECONDARYCOLOR3IVEXTPROC nglSecondaryColor3ivEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT;
|
extern PFNGLSECONDARYCOLOR3SEXTPROC nglSecondaryColor3sEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT;
|
extern PFNGLSECONDARYCOLOR3SVEXTPROC nglSecondaryColor3svEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT;
|
extern PFNGLSECONDARYCOLOR3UBEXTPROC nglSecondaryColor3ubEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT;
|
extern PFNGLSECONDARYCOLOR3UBVEXTPROC nglSecondaryColor3ubvEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT;
|
extern PFNGLSECONDARYCOLOR3UIEXTPROC nglSecondaryColor3uiEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT;
|
extern PFNGLSECONDARYCOLOR3UIVEXTPROC nglSecondaryColor3uivEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT;
|
extern PFNGLSECONDARYCOLOR3USEXTPROC nglSecondaryColor3usEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT;
|
extern PFNGLSECONDARYCOLOR3USVEXTPROC nglSecondaryColor3usvEXT;
|
||||||
extern NEL_PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT;
|
extern PFNGLSECONDARYCOLORPOINTEREXTPROC nglSecondaryColorPointerEXT;
|
||||||
|
|
||||||
|
|
||||||
// BlendColor extension
|
// BlendColor extension
|
||||||
//========================
|
//========================
|
||||||
extern NEL_PFNGLBLENDCOLOREXTPROC nglBlendColorEXT;
|
extern PFNGLBLENDCOLOREXTPROC nglBlendColorEXT;
|
||||||
|
|
||||||
|
|
||||||
// GL_ATI_vertex_array_object extension
|
// GL_ATI_vertex_array_object extension
|
||||||
//========================
|
//========================
|
||||||
extern NEL_PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI;
|
extern PFNGLNEWOBJECTBUFFERATIPROC nglNewObjectBufferATI;
|
||||||
extern NEL_PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI;
|
extern PFNGLISOBJECTBUFFERATIPROC nglIsObjectBufferATI;
|
||||||
extern NEL_PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI;
|
extern PFNGLUPDATEOBJECTBUFFERATIPROC nglUpdateObjectBufferATI;
|
||||||
extern NEL_PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI;
|
extern PFNGLGETOBJECTBUFFERFVATIPROC nglGetObjectBufferfvATI;
|
||||||
extern NEL_PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI;
|
extern PFNGLGETOBJECTBUFFERIVATIPROC nglGetObjectBufferivATI;
|
||||||
extern NEL_PFNGLDELETEOBJECTBUFFERATIPROC nglDeleteObjectBufferATI;
|
extern PFNGLFREEOBJECTBUFFERATIPROC nglFreeObjectBufferATI;
|
||||||
extern NEL_PFNGLARRAYOBJECTATIPROC nglArrayObjectATI;
|
extern PFNGLARRAYOBJECTATIPROC nglArrayObjectATI;
|
||||||
extern NEL_PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI;
|
extern PFNGLGETARRAYOBJECTFVATIPROC nglGetArrayObjectfvATI;
|
||||||
extern NEL_PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI;
|
extern PFNGLGETARRAYOBJECTIVATIPROC nglGetArrayObjectivATI;
|
||||||
extern NEL_PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI;
|
extern PFNGLVARIANTARRAYOBJECTATIPROC nglVariantArrayObjectATI;
|
||||||
extern NEL_PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI;
|
extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC nglGetVariantArrayObjectfvATI;
|
||||||
extern NEL_PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI;
|
extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC nglGetVariantArrayObjectivATI;
|
||||||
|
|
||||||
// GL_ATI_map_object_buffer
|
// GL_ATI_map_object_buffer
|
||||||
//===================================
|
//===================================
|
||||||
|
|
||||||
extern NEL_PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI;
|
extern PFNGLMAPOBJECTBUFFERATIPROC nglMapObjectBufferATI;
|
||||||
extern NEL_PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI;
|
extern PFNGLUNMAPOBJECTBUFFERATIPROC nglUnmapObjectBufferATI;
|
||||||
|
|
||||||
|
|
||||||
// GL_ATI_fragment_shader extension
|
// GL_ATI_fragment_shader extension
|
||||||
//===================================
|
//===================================
|
||||||
|
|
||||||
extern NEL_PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI;
|
extern PFNGLGENFRAGMENTSHADERSATIPROC nglGenFragmentShadersATI;
|
||||||
extern NEL_PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI;
|
extern PFNGLBINDFRAGMENTSHADERATIPROC nglBindFragmentShaderATI;
|
||||||
extern NEL_PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI;
|
extern PFNGLDELETEFRAGMENTSHADERATIPROC nglDeleteFragmentShaderATI;
|
||||||
extern NEL_PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI;
|
extern PFNGLBEGINFRAGMENTSHADERATIPROC nglBeginFragmentShaderATI;
|
||||||
extern NEL_PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI;
|
extern PFNGLENDFRAGMENTSHADERATIPROC nglEndFragmentShaderATI;
|
||||||
extern NEL_PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI;
|
extern PFNGLPASSTEXCOORDATIPROC nglPassTexCoordATI;
|
||||||
extern NEL_PFNGLSAMPLEMAPATIPROC nglSampleMapATI;
|
extern PFNGLSAMPLEMAPATIPROC nglSampleMapATI;
|
||||||
extern NEL_PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI;
|
extern PFNGLCOLORFRAGMENTOP1ATIPROC nglColorFragmentOp1ATI;
|
||||||
extern NEL_PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI;
|
extern PFNGLCOLORFRAGMENTOP2ATIPROC nglColorFragmentOp2ATI;
|
||||||
extern NEL_PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI;
|
extern PFNGLCOLORFRAGMENTOP3ATIPROC nglColorFragmentOp3ATI;
|
||||||
extern NEL_PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI;
|
extern PFNGLALPHAFRAGMENTOP1ATIPROC nglAlphaFragmentOp1ATI;
|
||||||
extern NEL_PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI;
|
extern PFNGLALPHAFRAGMENTOP2ATIPROC nglAlphaFragmentOp2ATI;
|
||||||
extern NEL_PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI;
|
extern PFNGLALPHAFRAGMENTOP3ATIPROC nglAlphaFragmentOp3ATI;
|
||||||
extern NEL_PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI;
|
extern PFNGLSETFRAGMENTSHADERCONSTANTATIPROC nglSetFragmentShaderConstantATI;
|
||||||
|
|
||||||
// GL_ATI_vertex_attrib_array_object
|
// GL_ATI_vertex_attrib_array_object
|
||||||
//==================================
|
//==================================
|
||||||
extern NEL_PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI;
|
extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC nglVertexAttribArrayObjectATI;
|
||||||
extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI;
|
extern PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC nglGetVertexAttribArrayObjectfvATI;
|
||||||
extern NEL_PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI;
|
extern PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC nglGetVertexAttribArrayObjectivATI;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// GL_ARB_fragment_shader_extension
|
// GL_ARB_fragment_shader_extension
|
||||||
//==================================
|
//==================================
|
||||||
extern NEL_PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB;
|
extern PFNGLPROGRAMSTRINGARBPROC nglProgramStringARB;
|
||||||
extern NEL_PFNGLBINDPROGRAMARBPROC nglBindProgramARB;
|
extern PFNGLBINDPROGRAMARBPROC nglBindProgramARB;
|
||||||
extern NEL_PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB;
|
extern PFNGLDELETEPROGRAMSARBPROC nglDeleteProgramsARB;
|
||||||
extern NEL_PFNGLGENPROGRAMSARBPROC nglGenProgramsARB;
|
extern PFNGLGENPROGRAMSARBPROC nglGenProgramsARB;
|
||||||
extern NEL_PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB;
|
extern PFNGLPROGRAMENVPARAMETER4DARBPROC nglProgramEnvParameter4dARB;
|
||||||
extern NEL_PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB;
|
extern PFNGLPROGRAMENVPARAMETER4DVARBPROC nglProgramEnvParameter4dvARB;
|
||||||
extern NEL_PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB;
|
extern PFNGLPROGRAMENVPARAMETER4FARBPROC nglProgramEnvParameter4fARB;
|
||||||
extern NEL_PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB;
|
extern PFNGLPROGRAMENVPARAMETER4FVARBPROC nglProgramEnvParameter4fvARB;
|
||||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB;
|
extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC nglGetProgramLocalParameter4dARB;
|
||||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB;
|
extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC nglGetProgramLocalParameter4dvARB;
|
||||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB;
|
extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC nglGetProgramLocalParameter4fARB;
|
||||||
extern NEL_PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB;
|
extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC nglGetProgramLocalParameter4fvARB;
|
||||||
extern NEL_PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB;
|
extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC nglGetProgramEnvParameterdvARB;
|
||||||
extern NEL_PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB;
|
extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC nglGetProgramEnvParameterfvARB;
|
||||||
extern NEL_PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB;
|
extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC nglGetProgramLocalParameterdvARB;
|
||||||
extern NEL_PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB;
|
extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC nglGetProgramLocalParameterfvARB;
|
||||||
extern NEL_PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB;
|
extern PFNGLGETPROGRAMIVARBPROC nglGetProgramivARB;
|
||||||
extern NEL_PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB;
|
extern PFNGLGETPROGRAMSTRINGARBPROC nglGetProgramStringARB;
|
||||||
extern NEL_PFNGLISPROGRAMARBPROC nglIsProgramARB;
|
extern PFNGLISPROGRAMARBPROC nglIsProgramARB;
|
||||||
|
|
||||||
// GL_ARB_vertex_buffer_object
|
// GL_ARB_vertex_buffer_object
|
||||||
//==================================
|
//==================================
|
||||||
|
@ -708,13 +723,13 @@ extern PFNGLISPROGRAMARBPROC nglIsProgramARB;
|
||||||
|
|
||||||
// GL_NV_occlusion_query
|
// GL_NV_occlusion_query
|
||||||
//==================================
|
//==================================
|
||||||
extern NEL_PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV;
|
extern PFNGLGENOCCLUSIONQUERIESNVPROC nglGenOcclusionQueriesNV;
|
||||||
extern NEL_PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV;
|
extern PFNGLDELETEOCCLUSIONQUERIESNVPROC nglDeleteOcclusionQueriesNV;
|
||||||
extern NEL_PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV;
|
extern PFNGLISOCCLUSIONQUERYNVPROC nglIsOcclusionQueryNV;
|
||||||
extern NEL_PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV;
|
extern PFNGLBEGINOCCLUSIONQUERYNVPROC nglBeginOcclusionQueryNV;
|
||||||
extern NEL_PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV;
|
extern PFNGLENDOCCLUSIONQUERYNVPROC nglEndOcclusionQueryNV;
|
||||||
extern NEL_PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV;
|
extern PFNGLGETOCCLUSIONQUERYIVNVPROC nglGetOcclusionQueryivNV;
|
||||||
extern NEL_PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV;
|
extern PFNGLGETOCCLUSIONQUERYUIVNVPROC nglGetOcclusionQueryuivNV;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -745,44 +760,58 @@ extern PFNWGLGETSWAPINTERVALEXTPROC nwglGetSwapIntervalEXT;
|
||||||
// WGL_ARB_extensions_string
|
// 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_MAC)
|
||||||
#elif defined(NL_OS_UNIX)
|
#elif defined(NL_OS_UNIX)
|
||||||
|
|
||||||
// Swap control extensions
|
// Swap control extensions
|
||||||
//===========================
|
//===========================
|
||||||
extern NEL_PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT;
|
extern PFNGLXSWAPINTERVALEXTPROC nglXSwapIntervalEXT;
|
||||||
|
|
||||||
extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI;
|
extern PFNGLXSWAPINTERVALSGIPROC nglXSwapIntervalSGI;
|
||||||
|
|
||||||
extern NEL_PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA;
|
extern PFNGLXSWAPINTERVALMESAPROC nglXSwapIntervalMESA;
|
||||||
extern NEL_PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA;
|
extern PFNGLXGETSWAPINTERVALMESAPROC nglXGetSwapIntervalMESA;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// GL_EXT_framebuffer_object
|
// GL_EXT_framebuffer_object
|
||||||
extern NEL_PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT;
|
extern PFNGLISRENDERBUFFEREXTPROC nglIsRenderbufferEXT;
|
||||||
extern NEL_PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT;
|
extern PFNGLISFRAMEBUFFEREXTPROC nglIsFramebufferEXT;
|
||||||
extern NEL_PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT;
|
extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC nglCheckFramebufferStatusEXT;
|
||||||
extern NEL_PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT;
|
extern PFNGLGENFRAMEBUFFERSEXTPROC nglGenFramebuffersEXT;
|
||||||
extern NEL_PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT;
|
extern PFNGLBINDFRAMEBUFFEREXTPROC nglBindFramebufferEXT;
|
||||||
extern NEL_PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT;
|
extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC nglFramebufferTexture2DEXT;
|
||||||
extern NEL_PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT;
|
extern PFNGLGENRENDERBUFFERSEXTPROC nglGenRenderbuffersEXT;
|
||||||
extern NEL_PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT;
|
extern PFNGLBINDRENDERBUFFEREXTPROC nglBindRenderbufferEXT;
|
||||||
extern NEL_PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT;
|
extern PFNGLRENDERBUFFERSTORAGEEXTPROC nglRenderbufferStorageEXT;
|
||||||
extern NEL_PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT;
|
extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC nglFramebufferRenderbufferEXT;
|
||||||
extern NEL_PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT;
|
extern PFNGLDELETERENDERBUFFERSEXTPROC nglDeleteRenderbuffersEXT;
|
||||||
extern NEL_PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT;
|
extern PFNGLDELETEFRAMEBUFFERSEXTPROC nglDeleteFramebuffersEXT;
|
||||||
extern NEL_PFNGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT;
|
extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC nglGetRenderbufferParameterivEXT;
|
||||||
extern NEL_PFNGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT;
|
extern PFNGLGENERATEMIPMAPEXTPROC nglGenerateMipmapEXT;
|
||||||
|
|
||||||
// GL_EXT_framebuffer_blit
|
// GL_EXT_framebuffer_blit
|
||||||
extern NEL_PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT;
|
extern PFNGLBLITFRAMEBUFFEREXTPROC nglBlitFramebufferEXT;
|
||||||
|
|
||||||
// GL_EXT_framebuffer_multisample
|
// GL_EXT_framebuffer_multisample
|
||||||
extern NEL_PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT;
|
extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC nglRenderbufferStorageMultisampleEXT;
|
||||||
|
|
||||||
// GL_ARB_multisample
|
// GL_ARB_multisample
|
||||||
extern NEL_PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB;
|
extern PFNGLSAMPLECOVERAGEARBPROC nglSampleCoverageARB;
|
||||||
|
|
||||||
#endif // USE_OPENGLES
|
#endif // USE_OPENGLES
|
||||||
|
|
||||||
|
|
|
@ -25,44 +25,8 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_OPENGLES
|
#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_MULTISAMPLE_ARB GL_MULTISAMPLE
|
||||||
#define GL_TEXTURE_CUBE_MAP_ARB GL_TEXTURE_CUBE_MAP_OES
|
#define GL_TEXTURE_CUBE_MAP_ARB GL_TEXTURE_CUBE_MAP_OES
|
||||||
#define GL_NONE 0
|
#define GL_NONE 0
|
||||||
|
@ -86,346 +50,6 @@ typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pnam
|
||||||
|
|
||||||
#else
|
#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 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
|
|
||||||
|
|
||||||
#if defined(NL_OS_MAC)
|
#if defined(NL_OS_MAC)
|
||||||
|
|
||||||
// Mac GL extensions
|
// Mac GL extensions
|
||||||
|
@ -433,18 +57,6 @@ typedef GLvoid (APIENTRY * NEL_PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, G
|
||||||
#elif defined(NL_OS_UNIX)
|
#elif defined(NL_OS_UNIX)
|
||||||
|
|
||||||
// GLX extensions
|
// 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
|
#ifndef NL_GLX_MESA_swap_control
|
||||||
#define NL_GLX_MESA_swap_control 1
|
#define NL_GLX_MESA_swap_control 1
|
||||||
|
|
||||||
|
|
|
@ -1809,7 +1809,7 @@ void CDriverGL::fenceOnCurVBHardIfNeeded(IVertexBufferHardGL *newVBHard)
|
||||||
|
|
||||||
#ifndef USE_OPENGLES
|
#ifndef USE_OPENGLES
|
||||||
// If old is not a VBHard, or if not a NVidia VBHard, no-op.
|
// 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;
|
return;
|
||||||
|
|
||||||
// if we do not activate the same (NB: newVBHard==NULL if not a VBHard).
|
// if we do not activate the same (NB: newVBHard==NULL if not a VBHard).
|
||||||
|
|
|
@ -551,7 +551,7 @@ void CVertexArrayRangeATI::free()
|
||||||
_HeapMemory.reset();
|
_HeapMemory.reset();
|
||||||
|
|
||||||
// Free special memory.
|
// Free special memory.
|
||||||
nglDeleteObjectBufferATI(_VertexObjectId);
|
nglFreeObjectBufferATI(_VertexObjectId);
|
||||||
|
|
||||||
_Allocated= false;
|
_Allocated= false;
|
||||||
_VertexArraySize= 0;
|
_VertexArraySize= 0;
|
||||||
|
@ -839,7 +839,7 @@ bool CVertexArrayRangeMapObjectATI::allocate(uint32 size, CVertexBuffer::TPrefer
|
||||||
if (vertexObjectId)
|
if (vertexObjectId)
|
||||||
{
|
{
|
||||||
// free the object
|
// free the object
|
||||||
nglDeleteObjectBufferATI(vertexObjectId);
|
nglFreeObjectBufferATI(vertexObjectId);
|
||||||
//
|
//
|
||||||
_SizeAllocated = size;
|
_SizeAllocated = size;
|
||||||
_VBType = vbType;
|
_VBType = vbType;
|
||||||
|
@ -924,7 +924,7 @@ CVertexBufferHardGLMapObjectATI::CVertexBufferHardGLMapObjectATI(CDriverGL *drv,
|
||||||
CVertexBufferHardGLMapObjectATI::~CVertexBufferHardGLMapObjectATI()
|
CVertexBufferHardGLMapObjectATI::~CVertexBufferHardGLMapObjectATI()
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(CVertexBufferHardGLMapObjectATI_CVertexBufferHardGLMapObjectATIDtor)
|
H_AUTO_OGL(CVertexBufferHardGLMapObjectATI_CVertexBufferHardGLMapObjectATIDtor)
|
||||||
if (_VertexObjectId) nglDeleteObjectBufferATI(_VertexObjectId);
|
if (_VertexObjectId) nglFreeObjectBufferATI(_VertexObjectId);
|
||||||
#ifdef NL_DEBUG
|
#ifdef NL_DEBUG
|
||||||
if (_VertexPtr)
|
if (_VertexPtr)
|
||||||
{
|
{
|
||||||
|
@ -1114,7 +1114,7 @@ void CVertexArrayRangeMapObjectATI::updateLostBuffers()
|
||||||
{
|
{
|
||||||
nlassert((*it)->_VertexObjectId);
|
nlassert((*it)->_VertexObjectId);
|
||||||
nlassert(nglIsObjectBufferATI((*it)->_VertexObjectId));
|
nlassert(nglIsObjectBufferATI((*it)->_VertexObjectId));
|
||||||
nglDeleteObjectBufferATI((*it)->_VertexObjectId);
|
nglFreeObjectBufferATI((*it)->_VertexObjectId);
|
||||||
(*it)->_VertexObjectId = 0;
|
(*it)->_VertexObjectId = 0;
|
||||||
(*it)->VB->setLocation(CVertexBuffer::NotResident);
|
(*it)->VB->setLocation(CVertexBuffer::NotResident);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#ifndef STDOPENGL_H
|
||||||
|
#define STDOPENGL_H
|
||||||
|
|
||||||
#include "nel/misc/types_nl.h"
|
#include "nel/misc/types_nl.h"
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
@ -67,5 +70,33 @@
|
||||||
#include "nel/misc/mem_stream.h"
|
#include "nel/misc/mem_stream.h"
|
||||||
#include "nel/misc/time_nl.h"
|
#include "nel/misc/time_nl.h"
|
||||||
#include "nel/misc/command.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/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
|
||||||
|
|
55
code/nel/src/3d/stereo_ng_hmd.cpp
Normal file
55
code/nel/src/3d/stereo_ng_hmd.cpp
Normal file
|
@ -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
|
||||||
|
* <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <nel/misc/types_nl.h>
|
||||||
|
#include <nel/3d/stereo_ng_hmd.h>
|
||||||
|
|
||||||
|
// STL includes
|
||||||
|
|
||||||
|
// NeL includes
|
||||||
|
// #include <nel/misc/debug.h>
|
||||||
|
|
||||||
|
// Project includes
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
// using namespace NLMISC;
|
||||||
|
|
||||||
|
namespace NL3D {
|
||||||
|
|
||||||
|
IStereoNGHMD::IStereoNGHMD()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
IStereoNGHMD::~IStereoNGHMD()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
} /* namespace NL3D */
|
||||||
|
|
||||||
|
/* end of file */
|
|
@ -39,6 +39,9 @@ namespace NLGUI
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
bool CCtrlBase::handleEvent(const NLGUI::CEventDescriptor &event)
|
bool CCtrlBase::handleEvent(const NLGUI::CEventDescriptor &event)
|
||||||
{
|
{
|
||||||
|
if( CViewBase::handleEvent( event ) )
|
||||||
|
return true;
|
||||||
|
|
||||||
if (event.getType() == NLGUI::CEventDescriptor::system)
|
if (event.getType() == NLGUI::CEventDescriptor::system)
|
||||||
{
|
{
|
||||||
NLGUI::CEventDescriptorSystem &eds = (NLGUI::CEventDescriptorSystem&)event;
|
NLGUI::CEventDescriptorSystem &eds = (NLGUI::CEventDescriptorSystem&)event;
|
||||||
|
|
|
@ -669,12 +669,6 @@ namespace NLGUI
|
||||||
if (CWidgetManager::getInstance()->getCapturePointerLeft() != this)
|
if (CWidgetManager::getInstance()->getCapturePointerLeft() != this)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if( editorMode )
|
|
||||||
{
|
|
||||||
CWidgetManager::getInstance()->setCurrentEditorSelection( getId() );
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_LeftDblClickHandled) // no effect on mouse up after double click has been handled
|
if (_LeftDblClickHandled) // no effect on mouse up after double click has been handled
|
||||||
{
|
{
|
||||||
_LeftDblClickHandled = false;
|
_LeftDblClickHandled = false;
|
||||||
|
|
|
@ -356,7 +356,7 @@ namespace NLGUI
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ( ( _Over && !editorMode ) || editorSelected )
|
if ( ( _Over && !editorMode ) )
|
||||||
{
|
{
|
||||||
|
|
||||||
if( !editorMode && (lastOver == false) && (_AHOnOver != NULL))
|
if( !editorMode && (lastOver == false) && (_AHOnOver != NULL))
|
||||||
|
|
|
@ -62,6 +62,17 @@ namespace NLGUI
|
||||||
_ForceTextOver = false;
|
_ForceTextOver = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CCtrlTextButton::~CCtrlTextButton()
|
||||||
|
{
|
||||||
|
if( _ViewText != NULL )
|
||||||
|
{
|
||||||
|
if( _Parent != NULL )
|
||||||
|
_Parent->delView( _ViewText, true );
|
||||||
|
delete _ViewText;
|
||||||
|
_ViewText = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
std::string CCtrlTextButton::getProperty( const std::string &name ) const
|
std::string CCtrlTextButton::getProperty( const std::string &name ) const
|
||||||
{
|
{
|
||||||
std::string prop;
|
std::string prop;
|
||||||
|
@ -113,7 +124,10 @@ namespace NLGUI
|
||||||
else
|
else
|
||||||
if( name == "hardtext" )
|
if( name == "hardtext" )
|
||||||
{
|
{
|
||||||
|
if( _ViewText != NULL )
|
||||||
return _ViewText->getText().toString();
|
return _ViewText->getText().toString();
|
||||||
|
else
|
||||||
|
return std::string( "" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if( name == "text_y" )
|
if( name == "text_y" )
|
||||||
|
@ -128,7 +142,10 @@ namespace NLGUI
|
||||||
else
|
else
|
||||||
if( name == "text_underlined" )
|
if( name == "text_underlined" )
|
||||||
{
|
{
|
||||||
|
if( _ViewText != NULL )
|
||||||
return toString( _ViewText->getUnderlined() );
|
return toString( _ViewText->getUnderlined() );
|
||||||
|
else
|
||||||
|
return std::string( "" );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if( name == "text_posref" )
|
if( name == "text_posref" )
|
||||||
|
@ -220,6 +237,11 @@ namespace NLGUI
|
||||||
_TextureIdNormal[ 0 ].setTexture( std::string( value + "_l.tga" ).c_str() );
|
_TextureIdNormal[ 0 ].setTexture( std::string( value + "_l.tga" ).c_str() );
|
||||||
_TextureIdNormal[ 1 ].setTexture( std::string( value + "_m.tga" ).c_str() );
|
_TextureIdNormal[ 1 ].setTexture( std::string( value + "_m.tga" ).c_str() );
|
||||||
_TextureIdNormal[ 2 ].setTexture( std::string( value + "_r.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;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -269,6 +291,7 @@ namespace NLGUI
|
||||||
else
|
else
|
||||||
if( name == "hardtext" )
|
if( name == "hardtext" )
|
||||||
{
|
{
|
||||||
|
if( _ViewText != NULL )
|
||||||
_ViewText->setText( value );
|
_ViewText->setText( value );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -292,8 +315,10 @@ namespace NLGUI
|
||||||
if( name == "text_underlined" )
|
if( name == "text_underlined" )
|
||||||
{
|
{
|
||||||
bool b;
|
bool b;
|
||||||
|
if( _ViewText != NULL )
|
||||||
if( fromString( value, b ) )
|
if( fromString( value, b ) )
|
||||||
_ViewText->setUnderlined( b );
|
_ViewText->setUnderlined( b );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -766,8 +791,7 @@ namespace NLGUI
|
||||||
CCtrlBase *capturePointerLeft = CWidgetManager::getInstance()->getCapturePointerLeft();
|
CCtrlBase *capturePointerLeft = CWidgetManager::getInstance()->getCapturePointerLeft();
|
||||||
|
|
||||||
// *** Draw Over
|
// *** Draw Over
|
||||||
if( editorSelected ||
|
if( ( !editorMode && _Over && (_OverWhenPushed || !(_Pushed || capturePointerLeft == this ) ) )
|
||||||
( !editorMode && _Over && (_OverWhenPushed || !(_Pushed || capturePointerLeft == this ) ) )
|
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if( !editorMode && (lastOver == false) && (_AHOnOver != NULL) )
|
if( !editorMode && (lastOver == false) && (_AHOnOver != NULL) )
|
||||||
|
@ -803,6 +827,8 @@ namespace NLGUI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Setup ViewText color
|
// Setup ViewText color
|
||||||
|
if( _ViewText != NULL )
|
||||||
|
{
|
||||||
if ( pTxId==_TextureIdNormal || editorMode )
|
if ( pTxId==_TextureIdNormal || editorMode )
|
||||||
{
|
{
|
||||||
if(_TextHeaderColor) viewTextColor.A= _TextColorNormal.A;
|
if(_TextHeaderColor) viewTextColor.A= _TextColorNormal.A;
|
||||||
|
@ -830,6 +856,7 @@ namespace NLGUI
|
||||||
if(getFrozen() && getFrozenHalfTone())
|
if(getFrozen() && getFrozenHalfTone())
|
||||||
_ViewText->setAlpha(_ViewText->getAlpha()>>2);
|
_ViewText->setAlpha(_ViewText->getAlpha()>>2);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
@ -864,6 +891,16 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
_Setuped= true;
|
_Setuped= true;
|
||||||
|
|
||||||
|
if( _ViewText == NULL )
|
||||||
|
{
|
||||||
|
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
|
// setup the viewText and add to parent
|
||||||
_ViewText->setParent (getParent());
|
_ViewText->setParent (getParent());
|
||||||
_ViewText->setParentPos (this);
|
_ViewText->setParentPos (this);
|
||||||
|
@ -960,6 +997,19 @@ namespace NLGUI
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
void CCtrlTextButton::onRemoved()
|
||||||
|
{
|
||||||
|
if( _ViewText != NULL )
|
||||||
|
{
|
||||||
|
if( _Parent != NULL )
|
||||||
|
_Parent->delView( _ViewText, true );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCtrlTextButton::onWidgetDeleted( CInterfaceElement *e )
|
||||||
|
{
|
||||||
|
if( e == _ViewText )
|
||||||
|
_ViewText = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1411,6 +1411,7 @@ namespace NLGUI
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
void CGroupEditBox::checkCoords()
|
void CGroupEditBox::checkCoords()
|
||||||
{
|
{
|
||||||
|
if( !editorMode )
|
||||||
setupDisplayText();
|
setupDisplayText();
|
||||||
|
|
||||||
CInterfaceGroup::checkCoords();
|
CInterfaceGroup::checkCoords();
|
||||||
|
@ -1530,7 +1531,29 @@ namespace NLGUI
|
||||||
_ViewText = dynamic_cast<CViewText *>(CInterfaceGroup::getView("edit_text"));
|
_ViewText = dynamic_cast<CViewText *>(CInterfaceGroup::getView("edit_text"));
|
||||||
|
|
||||||
if(_ViewText == NULL)
|
if(_ViewText == NULL)
|
||||||
|
{
|
||||||
nlwarning("Interface: CGroupEditBox: text 'edit_text' missing or bad type");
|
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)
|
// For MultiLine editbox, clip the end space, else weird when edit space at end of line (nothing happens)
|
||||||
if(_ViewText)
|
if(_ViewText)
|
||||||
|
|
|
@ -4094,7 +4094,8 @@ namespace NLGUI
|
||||||
void CGroupHTML::requestTerminated(HTRequest * request )
|
void CGroupHTML::requestTerminated(HTRequest * request )
|
||||||
{
|
{
|
||||||
// this callback is being called for every request terminated
|
// this callback is being called for every request terminated
|
||||||
if( request == _LibWWW->Request ){
|
if (request == _LibWWW->Request)
|
||||||
|
{
|
||||||
// set the browser as complete
|
// set the browser as complete
|
||||||
_Browsing = false;
|
_Browsing = false;
|
||||||
updateRefreshButton();
|
updateRefreshButton();
|
||||||
|
|
|
@ -34,6 +34,7 @@ using namespace NLMISC;
|
||||||
namespace NLGUI
|
namespace NLGUI
|
||||||
{
|
{
|
||||||
bool CInterfaceElement::editorMode = false;
|
bool CInterfaceElement::editorMode = false;
|
||||||
|
std::vector< CInterfaceElement::IDeletionWatcher* > CInterfaceElement::deletionWatchers;
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
CInterfaceElement::~CInterfaceElement()
|
CInterfaceElement::~CInterfaceElement()
|
||||||
|
@ -46,6 +47,13 @@ namespace NLGUI
|
||||||
}
|
}
|
||||||
delete _Links;
|
delete _Links;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( editorMode )
|
||||||
|
{
|
||||||
|
notifyDeletionWatchers();
|
||||||
|
if( _Parent != NULL )
|
||||||
|
_Parent->onWidgetDeleted( this );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
|
@ -1296,6 +1304,11 @@ namespace NLGUI
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CInterfaceElement::drawHighlight()
|
||||||
|
{
|
||||||
|
CViewRenderer::getInstance()->drawWiredQuad( _XReal, _YReal, _WReal, _HReal );
|
||||||
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CInterfaceElement::invalidateContent()
|
void CInterfaceElement::invalidateContent()
|
||||||
{
|
{
|
||||||
|
@ -1542,6 +1555,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;
|
CStringMapper* CStringShared::_UIStringMapper = NULL;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -143,12 +143,12 @@ namespace NLGUI
|
||||||
// initStart = ryzomGetLocalTime ();
|
// initStart = ryzomGetLocalTime ();
|
||||||
clearGroups();
|
clearGroups();
|
||||||
// nlinfo ("%d seconds for clearGroups '%s'", (uint32)(ryzomGetLocalTime ()-initStart)/1000, _Id.c_str());
|
// 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 ();
|
// initStart = ryzomGetLocalTime ();
|
||||||
clearControls();
|
clearControls();
|
||||||
// nlinfo ("%d seconds for clearControls '%s'", (uint32)(ryzomGetLocalTime ()-initStart)/1000, _Id.c_str());
|
// 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);
|
CWidgetManager::getInstance()->removeRefOnGroup (this);
|
||||||
|
|
||||||
#ifdef AJM_DEBUG_TRACK_INTERFACE_GROUPS
|
#ifdef AJM_DEBUG_TRACK_INTERFACE_GROUPS
|
||||||
|
@ -1086,9 +1086,11 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
if (_Views[i] == child)
|
if (_Views[i] == child)
|
||||||
{
|
{
|
||||||
if (!dontDelete) delete _Views[i];
|
CViewBase *v = _Views[i];
|
||||||
_Views.erase(_Views.begin()+i);
|
_Views.erase(_Views.begin()+i);
|
||||||
delEltOrder (child);
|
delEltOrder (child);
|
||||||
|
child->onRemoved();
|
||||||
|
if (!dontDelete) delete v;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1102,9 +1104,11 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
if (_Controls[i] == child)
|
if (_Controls[i] == child)
|
||||||
{
|
{
|
||||||
if (!dontDelete) delete _Controls[i];
|
CCtrlBase *c = _Controls[i];
|
||||||
_Controls.erase(_Controls.begin()+i);
|
_Controls.erase(_Controls.begin()+i);
|
||||||
delEltOrder (child);
|
delEltOrder (child);
|
||||||
|
child->onRemoved();
|
||||||
|
if (!dontDelete) delete c;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1118,9 +1122,11 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
if (_ChildrenGroups[i] == child)
|
if (_ChildrenGroups[i] == child)
|
||||||
{
|
{
|
||||||
if (!dontDelete) delete _ChildrenGroups[i];
|
CInterfaceGroup *g = _ChildrenGroups[i];
|
||||||
_ChildrenGroups.erase(_ChildrenGroups.begin()+i);
|
_ChildrenGroups.erase(_ChildrenGroups.begin()+i);
|
||||||
delEltOrder (child);
|
delEltOrder (child);
|
||||||
|
child->onRemoved();
|
||||||
|
if (!dontDelete) delete g;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2471,4 +2477,16 @@ namespace NLGUI
|
||||||
return "IMPLEMENT ME!";
|
return "IMPLEMENT ME!";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3149,5 +3149,10 @@ namespace NLGUI
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CViewBase* CInterfaceParser::createClass( const std::string &name )
|
||||||
|
{
|
||||||
|
return NLMISC_GET_FACTORY( CViewBase, std::string ).createObject( std::string( name ) , CViewBase::TCtorParam() );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,5 +47,23 @@ namespace NLGUI
|
||||||
CInterfaceElement::visit(visitor);
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,8 @@
|
||||||
#include "nel/gui/proc.h"
|
#include "nel/gui/proc.h"
|
||||||
#include "nel/gui/interface_expr.h"
|
#include "nel/gui/interface_expr.h"
|
||||||
#include "nel/gui/reflect_register.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"
|
#include "nel/misc/events.h"
|
||||||
|
|
||||||
namespace NLGUI
|
namespace NLGUI
|
||||||
|
@ -1033,6 +1035,7 @@ namespace NLGUI
|
||||||
_OldCaptureKeyboard = NULL;
|
_OldCaptureKeyboard = NULL;
|
||||||
setCapturePointerLeft(NULL);
|
setCapturePointerLeft(NULL);
|
||||||
setCapturePointerRight(NULL);
|
setCapturePointerRight(NULL);
|
||||||
|
_CapturedView = NULL;
|
||||||
|
|
||||||
resetColorProps();
|
resetColorProps();
|
||||||
resetAlphaRolloverSpeedProps();
|
resetAlphaRolloverSpeedProps();
|
||||||
|
@ -2067,6 +2070,16 @@ namespace NLGUI
|
||||||
getPointer()->draw ();
|
getPointer()->draw ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( CInterfaceElement::getEditorMode() )
|
||||||
|
{
|
||||||
|
if( !currentEditorSelection.empty() )
|
||||||
|
{
|
||||||
|
CInterfaceElement *e = getElementFromId( currentEditorSelection );
|
||||||
|
if( e != NULL )
|
||||||
|
e->drawHighlight();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// flush layers
|
// flush layers
|
||||||
CViewRenderer::getInstance()->flush();
|
CViewRenderer::getInstance()->flush();
|
||||||
|
|
||||||
|
@ -2099,6 +2112,12 @@ namespace NLGUI
|
||||||
getCapturePointerRight()->handleEvent( evnt );
|
getCapturePointerRight()->handleEvent( evnt );
|
||||||
setCapturePointerRight( NULL );
|
setCapturePointerRight( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( _CapturedView != NULL )
|
||||||
|
{
|
||||||
|
_CapturedView->handleEvent( evnt );
|
||||||
|
_CapturedView = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2262,6 +2281,9 @@ namespace NLGUI
|
||||||
getCapturePointerLeft() != getCapturePointerRight() )
|
getCapturePointerLeft() != getCapturePointerRight() )
|
||||||
handled|= getCapturePointerRight()->handleEvent(evnt);
|
handled|= getCapturePointerRight()->handleEvent(evnt);
|
||||||
|
|
||||||
|
if( _CapturedView != NULL )
|
||||||
|
_CapturedView->handleEvent( evnt );
|
||||||
|
|
||||||
CInterfaceGroup *ptr = getWindowUnder (eventDesc.getX(), eventDesc.getY());
|
CInterfaceGroup *ptr = getWindowUnder (eventDesc.getX(), eventDesc.getY());
|
||||||
setCurrentWindowUnder( ptr );
|
setCurrentWindowUnder( ptr );
|
||||||
|
|
||||||
|
@ -2339,6 +2361,8 @@ namespace NLGUI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool captured = false;
|
||||||
|
|
||||||
// must not capture a new element if a sheet is currentlty being dragged.
|
// 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
|
// This may happen when alt-tab has been used => the sheet is dragged but the left button is up
|
||||||
if (!CCtrlDraggable::getDraggedSheet())
|
if (!CCtrlDraggable::getDraggedSheet())
|
||||||
|
@ -2356,9 +2380,25 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
nMaxDepth = d;
|
nMaxDepth = d;
|
||||||
setCapturePointerLeft( ctrl );
|
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() );
|
notifyElementCaptured( getCapturePointerLeft() );
|
||||||
if (clickedOutModalWindow && !clickedOutModalWindow->OnPostClickOut.empty())
|
if (clickedOutModalWindow && !clickedOutModalWindow->OnPostClickOut.empty())
|
||||||
{
|
{
|
||||||
|
@ -2366,13 +2406,16 @@ namespace NLGUI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//if found
|
//if found
|
||||||
if ( getCapturePointerLeft() != NULL)
|
if ( captured )
|
||||||
{
|
{
|
||||||
// consider clicking on a control implies handling of the event.
|
// consider clicking on a control implies handling of the event.
|
||||||
handled= true;
|
handled= true;
|
||||||
|
|
||||||
// handle the capture
|
// handle the capture
|
||||||
|
if( getCapturePointerLeft() != NULL )
|
||||||
getCapturePointerLeft()->handleEvent(evnt);
|
getCapturePointerLeft()->handleEvent(evnt);
|
||||||
|
else
|
||||||
|
_CapturedView->handleEvent( evnt );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2601,6 +2644,8 @@ namespace NLGUI
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CWidgetManager::setCapturePointerLeft(CCtrlBase *c)
|
void CWidgetManager::setCapturePointerLeft(CCtrlBase *c)
|
||||||
{
|
{
|
||||||
|
_CapturedView = NULL;
|
||||||
|
|
||||||
// additionally, abort any dragging
|
// additionally, abort any dragging
|
||||||
if( CCtrlDraggable::getDraggedSheet() != NULL )
|
if( CCtrlDraggable::getDraggedSheet() != NULL )
|
||||||
CCtrlDraggable::getDraggedSheet()->abortDragging();
|
CCtrlDraggable::getDraggedSheet()->abortDragging();
|
||||||
|
@ -3179,8 +3224,114 @@ namespace NLGUI
|
||||||
prev->setEditorSelected( false );
|
prev->setEditorSelected( false );
|
||||||
}
|
}
|
||||||
e->setEditorSelected( true );
|
e->setEditorSelected( true );
|
||||||
currentEditorSelection = name;
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
if( !name.empty() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
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 );
|
||||||
|
}
|
||||||
|
|
||||||
|
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( widgetClass );
|
||||||
|
if( v == NULL )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
v->setId( std::string( g->getId() + ":" + widgetName ) );
|
||||||
|
v->setParent( g );
|
||||||
|
|
||||||
|
if( v->isGroup() )
|
||||||
|
g->addGroup( dynamic_cast< CInterfaceGroup* >( v ) );
|
||||||
|
else
|
||||||
|
if( v->isCtrl() )
|
||||||
|
g->addCtrl( dynamic_cast< CCtrlBase* >( v ) );
|
||||||
|
else
|
||||||
|
g->addView( v );
|
||||||
|
|
||||||
|
notifyAdditionWatchers( v->getId() );
|
||||||
|
|
||||||
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,9 @@ SET(OVQT_PLUGIN_GUI_EDITOR_HDR
|
||||||
nelgui_widget.h
|
nelgui_widget.h
|
||||||
new_property_widget.h
|
new_property_widget.h
|
||||||
new_widget_widget.h
|
new_widget_widget.h
|
||||||
|
add_widget_widget.h
|
||||||
|
editor_selection_watcher.h
|
||||||
|
editor_message_processor.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(OVQT_PLUGIN_GUI_EDITOR_UIS
|
SET(OVQT_PLUGIN_GUI_EDITOR_UIS
|
||||||
|
@ -42,6 +45,7 @@ SET(OVQT_PLUGIN_GUI_EDITOR_UIS
|
||||||
project_window.ui
|
project_window.ui
|
||||||
new_property_widget.ui
|
new_property_widget.ui
|
||||||
new_widget_widget.ui
|
new_widget_widget.ui
|
||||||
|
add_widget_widget.ui
|
||||||
)
|
)
|
||||||
|
|
||||||
SET(QT_USE_QTGUI TRUE)
|
SET(QT_USE_QTGUI TRUE)
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
#include "add_widget_widget.h"
|
||||||
|
#include "widget_info_tree.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
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() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +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
|
|
@ -0,0 +1,79 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>AddWidgetWidget</class>
|
||||||
|
<widget class="QWidget" name="AddWidgetWidget">
|
||||||
|
<property name="windowModality">
|
||||||
|
<enum>Qt::ApplicationModal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>318</width>
|
||||||
|
<height>132</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Add new widget</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>Group</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="groupEdit">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Widget</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QComboBox" name="widgetCB"/>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Name</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLineEdit" name="nameEdit"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QPushButton" name="addButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Add</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QPushButton" name="cancelButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Cancel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
|
@ -0,0 +1,134 @@
|
||||||
|
// Object Viewer Qt GUI Editor plugin <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include <QMessageBox>
|
||||||
|
#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;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string pgName = std::string( parentGroup.toUtf8() );
|
||||||
|
std::string wName = std::string( name.toUtf8() );
|
||||||
|
|
||||||
|
CInterfaceElement *e =
|
||||||
|
CWidgetManager::getInstance()->addWidgetToGroup(
|
||||||
|
pgName,
|
||||||
|
className,
|
||||||
|
wName
|
||||||
|
);
|
||||||
|
|
||||||
|
// 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 );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
// Object Viewer Qt GUI Editor plugin <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include "editor_selection_watcher.h"
|
||||||
|
|
||||||
|
namespace GUIEditor
|
||||||
|
{
|
||||||
|
void CEditorSelectionWatcher::selectionChanged( std::string &newSelection )
|
||||||
|
{
|
||||||
|
Q_EMIT sgnSelectionChanged( newSelection );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
||||||
|
// 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#include "nel/gui/editor_selection_watcher.h"
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
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 );
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -41,6 +41,9 @@
|
||||||
#include "project_file_serializer.h"
|
#include "project_file_serializer.h"
|
||||||
#include "project_window.h"
|
#include "project_window.h"
|
||||||
#include "nelgui_widget.h"
|
#include "nelgui_widget.h"
|
||||||
|
#include "editor_selection_watcher.h"
|
||||||
|
#include "editor_message_processor.h"
|
||||||
|
#include "add_widget_widget.h"
|
||||||
|
|
||||||
namespace GUIEditor
|
namespace GUIEditor
|
||||||
{
|
{
|
||||||
|
@ -53,11 +56,13 @@ namespace GUIEditor
|
||||||
QMainWindow(parent)
|
QMainWindow(parent)
|
||||||
{
|
{
|
||||||
m_ui.setupUi(this);
|
m_ui.setupUi(this);
|
||||||
|
messageProcessor = new CEditorMessageProcessor;
|
||||||
m_undoStack = new QUndoStack(this);
|
m_undoStack = new QUndoStack(this);
|
||||||
widgetProps = new CWidgetProperties;
|
widgetProps = new CWidgetProperties;
|
||||||
linkList = new LinkList;
|
linkList = new LinkList;
|
||||||
procList = new ProcList;
|
procList = new ProcList;
|
||||||
projectWindow = new ProjectWindow;
|
projectWindow = new ProjectWindow;
|
||||||
|
addWidgetWidget = new AddWidgetWidget;
|
||||||
connect( projectWindow, SIGNAL( projectFilesChanged() ), this, SLOT( onProjectFilesChanged() ) );
|
connect( projectWindow, SIGNAL( projectFilesChanged() ), this, SLOT( onProjectFilesChanged() ) );
|
||||||
viewPort = new NelGUIWidget;
|
viewPort = new NelGUIWidget;
|
||||||
setCentralWidget( viewPort );
|
setCentralWidget( viewPort );
|
||||||
|
@ -73,6 +78,8 @@ namespace GUIEditor
|
||||||
parser.setWidgetInfoTree( widgetInfoTree );
|
parser.setWidgetInfoTree( widgetInfoTree );
|
||||||
parser.parseGUIWidgets();
|
parser.parseGUIWidgets();
|
||||||
widgetProps->setupWidgetInfo( widgetInfoTree );
|
widgetProps->setupWidgetInfo( widgetInfoTree );
|
||||||
|
addWidgetWidget->setupWidgetInfo( widgetInfoTree );
|
||||||
|
messageProcessor->setTree( widgetInfoTree );
|
||||||
|
|
||||||
QDockWidget *dock = new QDockWidget( "Widget Hierarchy", this );
|
QDockWidget *dock = new QDockWidget( "Widget Hierarchy", this );
|
||||||
dock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
dock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
|
||||||
|
@ -91,17 +98,23 @@ namespace GUIEditor
|
||||||
|
|
||||||
viewPort->init();
|
viewPort->init();
|
||||||
|
|
||||||
connect( viewPort, SIGNAL( guiLoadComplete() ), hierarchyView, SLOT( onGUILoaded() ) );
|
connect( viewPort, SIGNAL( guiLoadComplete() ), this, SLOT( onGUILoaded() ) );
|
||||||
connect( viewPort, SIGNAL( guiLoadComplete() ), procList, SLOT( onGUILoaded() ) );
|
connect( widgetProps, SIGNAL( treeChanged() ), this, SLOT( onTreeChanged() ) );
|
||||||
connect( viewPort, SIGNAL( guiLoadComplete() ), linkList, SLOT( onGUILoaded() ) );
|
connect(
|
||||||
connect( hierarchyView, SIGNAL( selectionChanged( std::string& ) ),
|
addWidgetWidget,
|
||||||
&browserCtrl, SLOT( onSelectionChanged( std::string& ) ) );
|
SIGNAL( adding( const QString&, const QString&, const QString& ) ),
|
||||||
|
messageProcessor,
|
||||||
|
SLOT( onAdd( const QString&, const QString&, const QString& ) )
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
GUIEditorWindow::~GUIEditorWindow()
|
GUIEditorWindow::~GUIEditorWindow()
|
||||||
{
|
{
|
||||||
writeSettings();
|
writeSettings();
|
||||||
|
|
||||||
|
delete messageProcessor;
|
||||||
|
messageProcessor = NULL;
|
||||||
|
|
||||||
delete widgetProps;
|
delete widgetProps;
|
||||||
widgetProps = NULL;
|
widgetProps = NULL;
|
||||||
|
|
||||||
|
@ -117,6 +130,9 @@ namespace GUIEditor
|
||||||
delete viewPort;
|
delete viewPort;
|
||||||
viewPort = NULL;
|
viewPort = NULL;
|
||||||
|
|
||||||
|
delete addWidgetWidget;
|
||||||
|
addWidgetWidget = NULL;
|
||||||
|
|
||||||
// no deletion needed for these, since dockwidget owns them
|
// no deletion needed for these, since dockwidget owns them
|
||||||
hierarchyView = NULL;
|
hierarchyView = NULL;
|
||||||
propBrowser = NULL;
|
propBrowser = NULL;
|
||||||
|
@ -262,6 +278,11 @@ namespace GUIEditor
|
||||||
if( reply != QMessageBox::Yes )
|
if( reply != QMessageBox::Yes )
|
||||||
return false;
|
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();
|
projectFiles.clearAll();
|
||||||
projectWindow->clear();
|
projectWindow->clear();
|
||||||
hierarchyView->clearHierarchy();
|
hierarchyView->clearHierarchy();
|
||||||
|
@ -291,6 +312,30 @@ namespace GUIEditor
|
||||||
setCursor( Qt::ArrowCursor );
|
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::onAddWidgetClicked()
|
||||||
|
{
|
||||||
|
QString g;
|
||||||
|
hierarchyView->getCurrentGroup( g );
|
||||||
|
|
||||||
|
addWidgetWidget->setCurrentGroup( g );
|
||||||
|
addWidgetWidget->show();
|
||||||
|
}
|
||||||
|
|
||||||
|
void GUIEditorWindow::onTreeChanged()
|
||||||
|
{
|
||||||
|
addWidgetWidget->setupWidgetInfo( widgetInfoTree );
|
||||||
|
}
|
||||||
|
|
||||||
void GUIEditorWindow::createMenus()
|
void GUIEditorWindow::createMenus()
|
||||||
{
|
{
|
||||||
|
@ -299,6 +344,7 @@ namespace GUIEditor
|
||||||
QAction *saveAction = mm->action( Core::Constants::SAVE );
|
QAction *saveAction = mm->action( Core::Constants::SAVE );
|
||||||
QAction *saveAsAction = mm->action( Core::Constants::SAVE_AS );
|
QAction *saveAsAction = mm->action( Core::Constants::SAVE_AS );
|
||||||
QAction *closeAction = mm->action( Core::Constants::CLOSE );
|
QAction *closeAction = mm->action( Core::Constants::CLOSE );
|
||||||
|
QAction *delAction = mm->action( Core::Constants::DEL );
|
||||||
|
|
||||||
//if( newAction != NULL )
|
//if( newAction != NULL )
|
||||||
// newAction->setEnabled( true );
|
// newAction->setEnabled( true );
|
||||||
|
@ -308,6 +354,11 @@ namespace GUIEditor
|
||||||
saveAsAction->setEnabled( true );
|
saveAsAction->setEnabled( true );
|
||||||
if( closeAction != NULL )
|
if( closeAction != NULL )
|
||||||
closeAction->setEnabled( true );
|
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 );
|
QMenu *menu = mm->menu( Core::Constants::M_TOOLS );
|
||||||
if( menu != NULL )
|
if( menu != NULL )
|
||||||
|
@ -329,6 +380,10 @@ namespace GUIEditor
|
||||||
a = new QAction( "Project Window", this );
|
a = new QAction( "Project Window", this );
|
||||||
connect( a, SIGNAL( triggered( bool ) ), projectWindow, SLOT( show() ) );
|
connect( a, SIGNAL( triggered( bool ) ), projectWindow, SLOT( show() ) );
|
||||||
m->addAction( a );
|
m->addAction( a );
|
||||||
|
|
||||||
|
a = new QAction( "Add Widget", this );
|
||||||
|
connect( a, SIGNAL( triggered( bool ) ), this, SLOT( onAddWidgetClicked() ) );
|
||||||
|
m->addAction( a );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,8 @@ namespace GUIEditor
|
||||||
class ProjectWindow;
|
class ProjectWindow;
|
||||||
class NelGUIWidget;
|
class NelGUIWidget;
|
||||||
class CWidgetInfoTree;
|
class CWidgetInfoTree;
|
||||||
|
class CEditorMessageProcessor;
|
||||||
|
class AddWidgetWidget;
|
||||||
|
|
||||||
class GUIEditorWindow: public QMainWindow
|
class GUIEditorWindow: public QMainWindow
|
||||||
{
|
{
|
||||||
|
@ -58,6 +60,9 @@ public Q_SLOTS:
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void onProjectFilesChanged();
|
void onProjectFilesChanged();
|
||||||
|
void onGUILoaded();
|
||||||
|
void onAddWidgetClicked();
|
||||||
|
void onTreeChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createMenus();
|
void createMenus();
|
||||||
|
@ -76,8 +81,9 @@ private:
|
||||||
ProcList *procList;
|
ProcList *procList;
|
||||||
ProjectWindow *projectWindow;
|
ProjectWindow *projectWindow;
|
||||||
NelGUIWidget *viewPort;
|
NelGUIWidget *viewPort;
|
||||||
|
|
||||||
CWidgetInfoTree *widgetInfoTree;
|
CWidgetInfoTree *widgetInfoTree;
|
||||||
|
CEditorMessageProcessor *messageProcessor;
|
||||||
|
AddWidgetWidget *addWidgetWidget;
|
||||||
|
|
||||||
CPropBrowserCtrl browserCtrl;
|
CPropBrowserCtrl browserCtrl;
|
||||||
QString currentProject;
|
QString currentProject;
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <QTimerEvent>
|
#include <QTimerEvent>
|
||||||
|
#include "editor_selection_watcher.h"
|
||||||
|
|
||||||
namespace GUIEditor
|
namespace GUIEditor
|
||||||
{
|
{
|
||||||
|
@ -37,6 +38,7 @@ namespace GUIEditor
|
||||||
{
|
{
|
||||||
timerID = 0;
|
timerID = 0;
|
||||||
guiLoaded = false;
|
guiLoaded = false;
|
||||||
|
watcher = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
NelGUIWidget::~NelGUIWidget()
|
NelGUIWidget::~NelGUIWidget()
|
||||||
|
@ -70,6 +72,8 @@ namespace GUIEditor
|
||||||
NLGUI::CViewRenderer::getInstance()->init();
|
NLGUI::CViewRenderer::getInstance()->init();
|
||||||
|
|
||||||
CWidgetManager::getInstance()->getParser()->setEditorMode( true );
|
CWidgetManager::getInstance()->getParser()->setEditorMode( true );
|
||||||
|
|
||||||
|
watcher = new CEditorSelectionWatcher();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool NelGUIWidget::parse( SProjectFiles &files )
|
bool NelGUIWidget::parse( SProjectFiles &files )
|
||||||
|
@ -106,6 +110,8 @@ namespace GUIEditor
|
||||||
guiLoaded = true;
|
guiLoaded = true;
|
||||||
Q_EMIT guiLoadComplete();
|
Q_EMIT guiLoadComplete();
|
||||||
|
|
||||||
|
CWidgetManager::getInstance()->registerSelectionWatcher( watcher );
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,6 +121,7 @@ namespace GUIEditor
|
||||||
if( timerID != 0 )
|
if( timerID != 0 )
|
||||||
killTimer( timerID );
|
killTimer( timerID );
|
||||||
timerID = 0;
|
timerID = 0;
|
||||||
|
CWidgetManager::getInstance()->unregisterSelectionWatcher( watcher );
|
||||||
CWidgetManager::getInstance()->reset();
|
CWidgetManager::getInstance()->reset();
|
||||||
CWidgetManager::getInstance()->getParser()->removeAll();
|
CWidgetManager::getInstance()->getParser()->removeAll();
|
||||||
CViewRenderer::getInstance()->reset();
|
CViewRenderer::getInstance()->reset();
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
|
|
||||||
namespace GUIEditor
|
namespace GUIEditor
|
||||||
{
|
{
|
||||||
|
class CEditorSelectionWatcher;
|
||||||
|
|
||||||
/// Qt viewport for the Nel GUI library
|
/// Qt viewport for the Nel GUI library
|
||||||
class NelGUIWidget : public Nel3DWidget
|
class NelGUIWidget : public Nel3DWidget
|
||||||
{
|
{
|
||||||
|
@ -35,6 +37,7 @@ namespace GUIEditor
|
||||||
bool parse( SProjectFiles &files );
|
bool parse( SProjectFiles &files );
|
||||||
void draw();
|
void draw();
|
||||||
void reset();
|
void reset();
|
||||||
|
CEditorSelectionWatcher* getWatcher(){ return watcher; }
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void guiLoadComplete();
|
void guiLoadComplete();
|
||||||
|
@ -49,6 +52,7 @@ Q_SIGNALS:
|
||||||
private:
|
private:
|
||||||
int timerID;
|
int timerID;
|
||||||
bool guiLoaded;
|
bool guiLoaded;
|
||||||
|
CEditorSelectionWatcher *watcher;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,12 @@ namespace GUIEditor
|
||||||
|
|
||||||
CInterfaceElement *e = CWidgetManager::getInstance()->getElementFromId( id );
|
CInterfaceElement *e = CWidgetManager::getInstance()->getElementFromId( id );
|
||||||
if( e == NULL )
|
if( e == NULL )
|
||||||
|
{
|
||||||
|
connect( propertyMgr, SIGNAL( propertyChanged( QtProperty* ) ),
|
||||||
|
this, SLOT( onPropertyChanged( QtProperty* ) ) );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
currentElement = id;
|
currentElement = id;
|
||||||
|
|
||||||
|
@ -106,6 +111,12 @@ namespace GUIEditor
|
||||||
if( e == NULL )
|
if( e == NULL )
|
||||||
return;
|
return;
|
||||||
e->setProperty( propName.toUtf8().constData(), propValue.toUtf8().constData() );
|
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 )
|
void CPropBrowserCtrl::setupProperties( const std::string &type, const CInterfaceElement *element )
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include "widget_hierarchy.h"
|
#include "widget_hierarchy.h"
|
||||||
#include "nel/gui/interface_group.h"
|
#include "nel/gui/interface_group.h"
|
||||||
#include "nel/gui/widget_manager.h"
|
#include "nel/gui/widget_manager.h"
|
||||||
|
#include "nel/gui/widget_addition_watcher.h"
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
@ -56,6 +57,45 @@ namespace
|
||||||
name = s.toUtf8().constData();
|
name = s.toUtf8().constData();
|
||||||
return name;
|
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;
|
||||||
|
};
|
||||||
|
|
||||||
|
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
|
namespace GUIEditor
|
||||||
|
@ -66,6 +106,8 @@ namespace GUIEditor
|
||||||
setupUi( this );
|
setupUi( this );
|
||||||
connect( widgetHT, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int ) ),
|
connect( widgetHT, SIGNAL( itemDoubleClicked( QTreeWidgetItem*, int ) ),
|
||||||
this, SLOT( onItemDblClicked( QTreeWidgetItem* ) ) );
|
this, SLOT( onItemDblClicked( QTreeWidgetItem* ) ) );
|
||||||
|
deletionWatcher.setWidgetHierarchy( this );
|
||||||
|
additionWatcher.setWidgetHierarchy( this );
|
||||||
}
|
}
|
||||||
|
|
||||||
WidgetHierarchy::~WidgetHierarchy()
|
WidgetHierarchy::~WidgetHierarchy()
|
||||||
|
@ -74,12 +116,17 @@ namespace GUIEditor
|
||||||
|
|
||||||
void WidgetHierarchy::clearHierarchy()
|
void WidgetHierarchy::clearHierarchy()
|
||||||
{
|
{
|
||||||
|
CInterfaceElement::unregisterDeletionWatcher( &deletionWatcher );
|
||||||
|
CWidgetManager::getInstance()->unregisterAdditionWatcher( &additionWatcher );
|
||||||
widgetHT->clear();
|
widgetHT->clear();
|
||||||
|
widgetHierarchyMap.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WidgetHierarchy::buildHierarchy( std::string &masterGroup )
|
void WidgetHierarchy::buildHierarchy( std::string &masterGroup )
|
||||||
{
|
{
|
||||||
clearHierarchy();
|
clearHierarchy();
|
||||||
|
CInterfaceElement::registerDeletionWatcher( &deletionWatcher );
|
||||||
|
CWidgetManager::getInstance()->registerAdditionWatcher( &additionWatcher );
|
||||||
|
|
||||||
CInterfaceGroup *mg = CWidgetManager::getInstance()->getMasterGroupFromId( masterGroup );
|
CInterfaceGroup *mg = CWidgetManager::getInstance()->getMasterGroupFromId( masterGroup );
|
||||||
if( mg != NULL )
|
if( mg != NULL )
|
||||||
|
@ -87,6 +134,7 @@ namespace GUIEditor
|
||||||
QTreeWidgetItem *item = new QTreeWidgetItem( static_cast<QTreeWidgetItem*>(NULL) );
|
QTreeWidgetItem *item = new QTreeWidgetItem( static_cast<QTreeWidgetItem*>(NULL) );
|
||||||
item->setText( 0, "ui" );
|
item->setText( 0, "ui" );
|
||||||
widgetHT->addTopLevelItem( item );
|
widgetHT->addTopLevelItem( item );
|
||||||
|
widgetHierarchyMap[ "ui" ] = item;
|
||||||
|
|
||||||
buildHierarchy( item, mg );
|
buildHierarchy( item, mg );
|
||||||
}
|
}
|
||||||
|
@ -96,7 +144,9 @@ namespace GUIEditor
|
||||||
{
|
{
|
||||||
// First add ourselves
|
// First add ourselves
|
||||||
QTreeWidgetItem *item = new QTreeWidgetItem( parent );
|
QTreeWidgetItem *item = new QTreeWidgetItem( parent );
|
||||||
|
|
||||||
item->setText( 0, makeNodeName( group->getId() ).c_str() );
|
item->setText( 0, makeNodeName( group->getId() ).c_str() );
|
||||||
|
widgetHierarchyMap[ group->getId() ] = item;
|
||||||
|
|
||||||
// Then add recursively our subgroups
|
// Then add recursively our subgroups
|
||||||
const std::vector< CInterfaceGroup* > &groups = group->getGroups();
|
const std::vector< CInterfaceGroup* > &groups = group->getGroups();
|
||||||
|
@ -113,6 +163,7 @@ namespace GUIEditor
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *subItem = new QTreeWidgetItem( item );
|
QTreeWidgetItem *subItem = new QTreeWidgetItem( item );
|
||||||
subItem->setText( 0, makeNodeName( (*citr)->getId() ).c_str() );
|
subItem->setText( 0, makeNodeName( (*citr)->getId() ).c_str() );
|
||||||
|
widgetHierarchyMap[ (*citr)->getId() ] = subItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add our views
|
// Add our views
|
||||||
|
@ -122,14 +173,134 @@ namespace GUIEditor
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *subItem = new QTreeWidgetItem( item );
|
QTreeWidgetItem *subItem = new QTreeWidgetItem( item );
|
||||||
subItem->setText( 0, makeNodeName( (*vitr)->getId() ).c_str() );
|
subItem->setText( 0, makeNodeName( (*vitr)->getId() ).c_str() );
|
||||||
|
widgetHierarchyMap[ (*vitr)->getId() ] = subItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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::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();
|
||||||
|
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()
|
void WidgetHierarchy::onGUILoaded()
|
||||||
{
|
{
|
||||||
if( masterGroup.empty() )
|
if( masterGroup.empty() )
|
||||||
return;
|
return;
|
||||||
buildHierarchy( masterGroup );
|
buildHierarchy( masterGroup );
|
||||||
|
currentSelection.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void WidgetHierarchy::onSelectionChanged( std::string &newSelection )
|
||||||
|
{
|
||||||
|
if( newSelection == currentSelection )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if( newSelection.empty() )
|
||||||
|
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 )
|
||||||
|
{
|
||||||
|
currItem->setExpanded( true );
|
||||||
|
currItem = currItem->parent();
|
||||||
|
}
|
||||||
|
|
||||||
|
// select the current item
|
||||||
|
item->setSelected( true );
|
||||||
|
widgetHT->setCurrentItem( item );
|
||||||
|
currentSelection = newSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
void WidgetHierarchy::onItemDblClicked( QTreeWidgetItem *item )
|
void WidgetHierarchy::onItemDblClicked( QTreeWidgetItem *item )
|
||||||
|
@ -138,9 +309,7 @@ namespace GUIEditor
|
||||||
return;
|
return;
|
||||||
|
|
||||||
std::string n = item->text( 0 ).toUtf8().constData();
|
std::string n = item->text( 0 ).toUtf8().constData();
|
||||||
std::string selection = makeFullName( item, n );
|
currentSelection = makeFullName( item, n );
|
||||||
CWidgetManager::getInstance()->setCurrentEditorSelection( selection );
|
CWidgetManager::getInstance()->setCurrentEditorSelection( currentSelection );
|
||||||
|
|
||||||
Q_EMIT selectionChanged( selection );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
#define WIDGET_HA_H
|
#define WIDGET_HA_H
|
||||||
|
|
||||||
#include "ui_widget_hierarchy.h"
|
#include "ui_widget_hierarchy.h"
|
||||||
|
#include <string>
|
||||||
|
#include <map>
|
||||||
|
|
||||||
namespace NLGUI
|
namespace NLGUI
|
||||||
{
|
{
|
||||||
|
@ -40,11 +42,17 @@ namespace GUIEditor
|
||||||
void clearHierarchy();
|
void clearHierarchy();
|
||||||
void buildHierarchy( std::string &masterGroup );
|
void buildHierarchy( std::string &masterGroup );
|
||||||
|
|
||||||
|
void onWidgetDeleted( const std::string &id );
|
||||||
|
void onWidgetAdded( const std::string &id );
|
||||||
|
|
||||||
|
void getCurrentGroup( QString &g );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void buildHierarchy( QTreeWidgetItem *parent, NLGUI::CInterfaceGroup *group );
|
void buildHierarchy( QTreeWidgetItem *parent, NLGUI::CInterfaceGroup *group );
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void onGUILoaded();
|
void onGUILoaded();
|
||||||
|
void onSelectionChanged( std::string &newSelection );
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void onItemDblClicked( QTreeWidgetItem *item );
|
void onItemDblClicked( QTreeWidgetItem *item );
|
||||||
|
@ -52,9 +60,7 @@ namespace GUIEditor
|
||||||
private:
|
private:
|
||||||
std::string currentSelection;
|
std::string currentSelection;
|
||||||
std::string masterGroup;
|
std::string masterGroup;
|
||||||
|
std::map< std::string, QTreeWidgetItem* > widgetHierarchyMap;
|
||||||
Q_SIGNALS:
|
|
||||||
void selectionChanged( std::string &id );
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@ namespace GUIEditor
|
||||||
{
|
{
|
||||||
std::string name;
|
std::string name;
|
||||||
std::string GUIName;
|
std::string GUIName;
|
||||||
|
std::string className;
|
||||||
std::string ancestor;
|
std::string ancestor;
|
||||||
std::string description;
|
std::string description;
|
||||||
bool isAbstract;
|
bool isAbstract;
|
||||||
|
|
|
@ -63,6 +63,7 @@ namespace GUIEditor
|
||||||
f << "\t<header>" << std::endl;
|
f << "\t<header>" << std::endl;
|
||||||
f << "\t\t<name>" << info.name << "</name>" << std::endl;
|
f << "\t\t<name>" << info.name << "</name>" << std::endl;
|
||||||
f << "\t\t<guiname>" << info.GUIName << "</guiname>" << std::endl;
|
f << "\t\t<guiname>" << info.GUIName << "</guiname>" << std::endl;
|
||||||
|
f << "\t\t<classname>" << info.className << "</classname>" << std::endl;
|
||||||
f << "\t\t<ancestor>" << info.ancestor << "</ancestor>" << std::endl;
|
f << "\t\t<ancestor>" << info.ancestor << "</ancestor>" << std::endl;
|
||||||
f << "\t\t<description>" << info.description << "</description>" << std::endl;
|
f << "\t\t<description>" << info.description << "</description>" << std::endl;
|
||||||
|
|
||||||
|
|
|
@ -93,11 +93,11 @@ namespace GUIEditor
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the node names and put them into the vector
|
/// 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 )
|
if( root == NULL )
|
||||||
return;
|
return;
|
||||||
root->getNames( v );
|
root->getNames( v, includeAbstract );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -215,11 +215,13 @@ namespace GUIEditor
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the node names and put them into the vector
|
/// 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( !info.isAbstract || ( info.isAbstract && includeAbstract ) )
|
||||||
v.push_back( info.name );
|
v.push_back( info.name );
|
||||||
|
|
||||||
for( std::vector< CWidgetInfoTreeNode* >::const_iterator itr = children.begin(); itr != children.end(); ++itr )
|
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
|
/// Accepts a visitor to itself and to the children nodes
|
||||||
|
|
|
@ -84,6 +84,7 @@ namespace GUIEditor{
|
||||||
return;
|
return;
|
||||||
|
|
||||||
tree->removeNode( widgetName.toUtf8().constData() );
|
tree->removeNode( widgetName.toUtf8().constData() );
|
||||||
|
Q_EMIT treeChanged();
|
||||||
widgetPropTree->clear();
|
widgetPropTree->clear();
|
||||||
buildWidgetList();
|
buildWidgetList();
|
||||||
}
|
}
|
||||||
|
@ -156,6 +157,7 @@ namespace GUIEditor{
|
||||||
void CWidgetProperties::onWidgetAdded()
|
void CWidgetProperties::onWidgetAdded()
|
||||||
{
|
{
|
||||||
buildWidgetList();
|
buildWidgetList();
|
||||||
|
Q_EMIT treeChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWidgetProperties::buildWidgetList()
|
void CWidgetProperties::buildWidgetList()
|
||||||
|
|
|
@ -74,6 +74,9 @@ namespace GUIEditor
|
||||||
CWidgetInfoTree *tree;
|
CWidgetInfoTree *tree;
|
||||||
NewPropertyWidget *newPropertyWidget;
|
NewPropertyWidget *newPropertyWidget;
|
||||||
NewWidgetWidget *newWidgetWidget;
|
NewWidgetWidget *newWidgetWidget;
|
||||||
|
|
||||||
|
Q_SIGNALS:
|
||||||
|
void treeChanged();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -131,6 +131,9 @@ namespace GUIEditor
|
||||||
if( key == "guiname" )
|
if( key == "guiname" )
|
||||||
info.GUIName = value.toUtf8().constData();
|
info.GUIName = value.toUtf8().constData();
|
||||||
else
|
else
|
||||||
|
if( key == "classname" )
|
||||||
|
info.className = value.toUtf8().constData();
|
||||||
|
else
|
||||||
if( key == "ancestor" )
|
if( key == "ancestor" )
|
||||||
info.ancestor = value.toUtf8().constData();
|
info.ancestor = value.toUtf8().constData();
|
||||||
else
|
else
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<property>
|
<property>
|
||||||
<name>button_type</name>
|
<name>button_type</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default>toggle_button</default>
|
<default>push_button</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>pushed</name>
|
<name>pushed</name>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>CtrlButton</name>
|
<name>CtrlButton</name>
|
||||||
<guiname>CCtrlButton</guiname>
|
<guiname>CCtrlButton</guiname>
|
||||||
|
<classname>button</classname>
|
||||||
<ancestor>CtrlBaseButton</ancestor>
|
<ancestor>CtrlBaseButton</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
@ -11,17 +12,17 @@
|
||||||
<property>
|
<property>
|
||||||
<name>tx_normal</name>
|
<name>tx_normal</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>log_but_r.tga</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>tx_pushed</name>
|
<name>tx_pushed</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>log_but_r.tga</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>tx_over</name>
|
<name>tx_over</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>log_but_over_r.tga</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>scale</name>
|
<name>scale</name>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>CtrlColPick</name>
|
<name>CtrlColPick</name>
|
||||||
<guiname>CCtrlColPick</guiname>
|
<guiname>CCtrlColPick</guiname>
|
||||||
|
<classname>colpick</classname>
|
||||||
<ancestor>CtrlBase</ancestor>
|
<ancestor>CtrlBase</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>CtrlScroll</name>
|
<name>CtrlScroll</name>
|
||||||
<guiname>CCtrlScroll</guiname>
|
<guiname>CCtrlScroll</guiname>
|
||||||
|
<classname>scroll</classname>
|
||||||
<ancestor>CtrlBase</ancestor>
|
<ancestor>CtrlBase</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>CtrlTextButton</name>
|
<name>CtrlTextButton</name>
|
||||||
<guiname>CCtrlTextButton</guiname>
|
<guiname>CCtrlTextButton</guiname>
|
||||||
|
<classname>text_button</classname>
|
||||||
<ancestor>CtrlBaseButton</ancestor>
|
<ancestor>CtrlBaseButton</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
@ -11,27 +12,27 @@
|
||||||
<property>
|
<property>
|
||||||
<name>tx_normal</name>
|
<name>tx_normal</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>but</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>tx_pushed</name>
|
<name>tx_pushed</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>but</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>tx_over</name>
|
<name>tx_over</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>but_over</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>hardtext</name>
|
<name>hardtext</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>text</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>wmargin</name>
|
<name>wmargin</name>
|
||||||
<type>int</type>
|
<type>int</type>
|
||||||
<default>0</default>
|
<default>20</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>wmin</name>
|
<name>wmin</name>
|
||||||
|
@ -151,7 +152,7 @@
|
||||||
<property>
|
<property>
|
||||||
<name>line_maxw</name>
|
<name>line_maxw</name>
|
||||||
<type>int</type>
|
<type>int</type>
|
||||||
<default>0</default>
|
<default>200</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>multi_line_space</name>
|
<name>multi_line_space</name>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>DBGroupSelectNumber</name>
|
<name>DBGroupSelectNumber</name>
|
||||||
<guiname>CDBGroupSelectNumber</guiname>
|
<guiname>CDBGroupSelectNumber</guiname>
|
||||||
|
<classname>select_number</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>DBViewBar</name>
|
<name>DBViewBar</name>
|
||||||
<guiname>CDBViewBar</guiname>
|
<guiname>CDBViewBar</guiname>
|
||||||
|
<classname>bar</classname>
|
||||||
<ancestor>ViewBitmap</ancestor>
|
<ancestor>ViewBitmap</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>DBViewBar3</name>
|
<name>DBViewBar3</name>
|
||||||
<guiname>CDBViewBar3</guiname>
|
<guiname>CDBViewBar3</guiname>
|
||||||
|
<classname>bar3</classname>
|
||||||
<ancestor>ViewBitmap</ancestor>
|
<ancestor>ViewBitmap</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>DBViewDigit</name>
|
<name>DBViewDigit</name>
|
||||||
<guiname>CDBViewDigit</guiname>
|
<guiname>CDBViewDigit</guiname>
|
||||||
|
<classname>digit</classname>
|
||||||
<ancestor>CtrlBase</ancestor>
|
<ancestor>CtrlBase</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
@ -11,7 +12,7 @@
|
||||||
<property>
|
<property>
|
||||||
<name>value</name>
|
<name>value</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>0</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>numdigit</name>
|
<name>numdigit</name>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>DBViewNumber</name>
|
<name>DBViewNumber</name>
|
||||||
<guiname>CDBViewNumber</guiname>
|
<guiname>CDBViewNumber</guiname>
|
||||||
|
<classname>text_number</classname>
|
||||||
<ancestor>ViewText</ancestor>
|
<ancestor>ViewText</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
@ -11,7 +12,7 @@
|
||||||
<property>
|
<property>
|
||||||
<name>value</name>
|
<name>value</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>0</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>positive</name>
|
<name>positive</name>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>DBViewQuantity</name>
|
<name>DBViewQuantity</name>
|
||||||
<guiname>CDBViewQuantity</guiname>
|
<guiname>CDBViewQuantity</guiname>
|
||||||
|
<classname>text_quantity</classname>
|
||||||
<ancestor>ViewText</ancestor>
|
<ancestor>ViewText</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
@ -11,17 +12,17 @@
|
||||||
<property>
|
<property>
|
||||||
<name>value</name>
|
<name>value</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>0</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>valuemax</name>
|
<name>valuemax</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>100</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>emptytext</name>
|
<name>emptytext</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>empty text</default>
|
||||||
</property>
|
</property>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupContainer</name>
|
<name>GroupContainer</name>
|
||||||
<guiname>CGroupContainer</guiname>
|
<guiname>CGroupContainer</guiname>
|
||||||
|
<classname>container</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupEditBox</name>
|
<name>GroupEditBox</name>
|
||||||
<guiname>CGroupEditBox</guiname>
|
<guiname>CGroupEditBox</guiname>
|
||||||
|
<classname>edit_box</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupHTML</name>
|
<name>GroupHTML</name>
|
||||||
<guiname>CGroupHTML</guiname>
|
<guiname>CGroupHTML</guiname>
|
||||||
|
<classname>html</classname>
|
||||||
<ancestor>GroupScrollText</ancestor>
|
<ancestor>GroupScrollText</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupHeader</name>
|
<name>GroupHeader</name>
|
||||||
<guiname>CGroupHeader</guiname>
|
<guiname>CGroupHeader</guiname>
|
||||||
|
<classname>header</classname>
|
||||||
<ancestor>GroupList</ancestor>
|
<ancestor>GroupList</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupList</name>
|
<name>GroupList</name>
|
||||||
<guiname>CGroupList</guiname>
|
<guiname>CGroupList</guiname>
|
||||||
|
<classname>list</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupMenu</name>
|
<name>GroupMenu</name>
|
||||||
<guiname>CGroupMenu</guiname>
|
<guiname>CGroupMenu</guiname>
|
||||||
|
<classname>menu</classname>
|
||||||
<ancestor>GroupModal</ancestor>
|
<ancestor>GroupModal</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupModal</name>
|
<name>GroupModal</name>
|
||||||
<guiname>CGroupModal</guiname>
|
<guiname>CGroupModal</guiname>
|
||||||
|
<classname>modal</classname>
|
||||||
<ancestor>GroupFrame</ancestor>
|
<ancestor>GroupFrame</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupScrollText</name>
|
<name>GroupScrollText</name>
|
||||||
<guiname>CGroupScrollText</guiname>
|
<guiname>CGroupScrollText</guiname>
|
||||||
|
<classname>scroll_text</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupTab</name>
|
<name>GroupTab</name>
|
||||||
<guiname>CGroupTab</guiname>
|
<guiname>CGroupTab</guiname>
|
||||||
|
<classname>tab</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupTable</name>
|
<name>GroupTable</name>
|
||||||
<guiname>CGroupTable</guiname>
|
<guiname>CGroupTable</guiname>
|
||||||
|
<classname>table</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>GroupTree</name>
|
<name>GroupTree</name>
|
||||||
<guiname>CGroupTree</guiname>
|
<guiname>CGroupTree</guiname>
|
||||||
|
<classname>tree</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>InterfaceGroup</name>
|
<name>InterfaceGroup</name>
|
||||||
<guiname>CInterfaceGroup</guiname>
|
<guiname>CInterfaceGroup</guiname>
|
||||||
|
<classname>interface_group</classname>
|
||||||
<ancestor>CtrlBase</ancestor>
|
<ancestor>CtrlBase</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>InterfaceGroupWheel</name>
|
<name>InterfaceGroupWheel</name>
|
||||||
<guiname>CInterfaceGroupWheel</guiname>
|
<guiname>CInterfaceGroupWheel</guiname>
|
||||||
|
<classname>group_wheel</classname>
|
||||||
<ancestor>InterfaceGroup</ancestor>
|
<ancestor>InterfaceGroup</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>ViewBitmap</name>
|
<name>ViewBitmap</name>
|
||||||
<guiname>CViewBitmap</guiname>
|
<guiname>CViewBitmap</guiname>
|
||||||
|
<classname>bitmap</classname>
|
||||||
<ancestor>CtrlBase</ancestor>
|
<ancestor>CtrlBase</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>ViewBitmapCombo</name>
|
<name>ViewBitmapCombo</name>
|
||||||
<guiname>CViewBitmapCombo</guiname>
|
<guiname>CViewBitmapCombo</guiname>
|
||||||
|
<classname>bitmap_combo</classname>
|
||||||
<ancestor>CtrlBase</ancestor>
|
<ancestor>CtrlBase</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>ViewText</name>
|
<name>ViewText</name>
|
||||||
<guiname>CViewText</guiname>
|
<guiname>CViewText</guiname>
|
||||||
|
<classname>text</classname>
|
||||||
<ancestor>InterfaceElement</ancestor>
|
<ancestor>InterfaceElement</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
@ -46,7 +47,7 @@
|
||||||
<property>
|
<property>
|
||||||
<name>line_maxw</name>
|
<name>line_maxw</name>
|
||||||
<type>int</type>
|
<type>int</type>
|
||||||
<default>0</default>
|
<default>100</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>multi_line_space</name>
|
<name>multi_line_space</name>
|
||||||
|
@ -101,7 +102,7 @@
|
||||||
<property>
|
<property>
|
||||||
<name>hardtext</name>
|
<name>hardtext</name>
|
||||||
<type>string</type>
|
<type>string</type>
|
||||||
<default></default>
|
<default>some text</default>
|
||||||
</property>
|
</property>
|
||||||
<property>
|
<property>
|
||||||
<name>hardtext_format</name>
|
<name>hardtext_format</name>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>ViewTextFormated</name>
|
<name>ViewTextFormated</name>
|
||||||
<guiname>CViewTextFormated</guiname>
|
<guiname>CViewTextFormated</guiname>
|
||||||
|
<classname>text_formated</classname>
|
||||||
<ancestor>ViewText</ancestor>
|
<ancestor>ViewText</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>ViewTextID</name>
|
<name>ViewTextID</name>
|
||||||
<guiname>CViewTextID</guiname>
|
<guiname>CViewTextID</guiname>
|
||||||
|
<classname>text_id</classname>
|
||||||
<ancestor>ViewText</ancestor>
|
<ancestor>ViewText</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<header>
|
<header>
|
||||||
<name>ViewTextIDFormated</name>
|
<name>ViewTextIDFormated</name>
|
||||||
<guiname>CViewTextIDFormated</guiname>
|
<guiname>CViewTextIDFormated</guiname>
|
||||||
|
<classname>text_id_formated</classname>
|
||||||
<ancestor>ViewTextID</ancestor>
|
<ancestor>ViewTextID</ancestor>
|
||||||
<description></description>
|
<description></description>
|
||||||
<abstract>false</abstract>
|
<abstract>false</abstract>
|
||||||
|
|
|
@ -5,10 +5,14 @@ ADD_SUBDIRECTORY(client_sheets)
|
||||||
IF(WITH_RYZOM_CLIENT)
|
IF(WITH_RYZOM_CLIENT)
|
||||||
|
|
||||||
# These are Windows/MFC apps
|
# These are Windows/MFC apps
|
||||||
SET(SEVENZIP_LIBRARY "ryzom_sevenzip")
|
SET(SEVENZIP_LIBRARY "ryzom_sevenzip")
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(seven_zip)
|
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 CFG ../*.cfg ../*.cfg.in)
|
||||||
FILE(GLOB SRC *.cpp *.h motion/*.cpp motion/*.h client.rc)
|
FILE(GLOB SRC *.cpp *.h motion/*.cpp motion/*.h client.rc)
|
||||||
FILE(GLOB SRC_INTERFACE interface_v3/*.h interface_v3/*.cpp)
|
FILE(GLOB SRC_INTERFACE interface_v3/*.h interface_v3/*.cpp)
|
||||||
|
|
|
@ -536,15 +536,17 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
strcpy(filename, argv[0]);
|
strcpy(filename, argv[0]);
|
||||||
|
|
||||||
|
|
||||||
// ignore signal SIGPIPE generated by libwww
|
// ignore signal SIGPIPE generated by libwww
|
||||||
signal(SIGPIPE, sigHandler);
|
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
|
#endif
|
||||||
|
|
||||||
// initialize patch manager and set the ryzom full path, before it's used
|
// initialize patch manager and set the ryzom full path, before it's used
|
||||||
CPatchManager *pPM = CPatchManager::getInstance();
|
CPatchManager *pPM = CPatchManager::getInstance();
|
||||||
pPM->setRyzomFilename(NLMISC::CFile::getFilename(filename));
|
pPM->setRyzomFilename(filename);
|
||||||
|
|
||||||
/////////////////////////////////
|
/////////////////////////////////
|
||||||
// Initialize the application. //
|
// Initialize the application. //
|
||||||
|
|
|
@ -422,16 +422,16 @@ CClientConfig::CClientConfig()
|
||||||
MouseOverFX = "sfx_selection_mouseover.ps";
|
MouseOverFX = "sfx_selection_mouseover.ps";
|
||||||
SelectionFXSize = 0.8f;
|
SelectionFXSize = 0.8f;
|
||||||
|
|
||||||
// only force patching under Windows by default
|
#if RZ_USE_PATCH
|
||||||
#if WITH_PATCH_SUPPORT
|
|
||||||
PatchWanted = true;
|
PatchWanted = true;
|
||||||
#else
|
#else
|
||||||
PatchWanted = false;
|
PatchWanted = false;
|
||||||
#endif
|
#endif
|
||||||
PatchUrl = "";
|
|
||||||
PatchletUrl = "";
|
PatchUrl.clear();
|
||||||
PatchVersion = "";
|
PatchletUrl.clear();
|
||||||
PatchServer = "";
|
PatchVersion.clear();
|
||||||
|
PatchServer.clear();
|
||||||
|
|
||||||
WebIgMainDomain = "atys.ryzom.com";
|
WebIgMainDomain = "atys.ryzom.com";
|
||||||
WebIgTrustedDomains.push_back(WebIgMainDomain);
|
WebIgTrustedDomains.push_back(WebIgMainDomain);
|
||||||
|
|
|
@ -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..
|
// Action possible only if the client is not already busy and the selection is able to do this with you..
|
||||||
_TextFollow->setActive(
|
_TextFollow->setActive(
|
||||||
selection &&
|
selection &&
|
||||||
(! selection->slot() == UserEntity->slot()) &&
|
(selection->slot() != UserEntity->slot()) &&
|
||||||
(!selection->isForageSource()) &&
|
(!selection->isForageSource()) &&
|
||||||
(selection->isDead()==false) &&
|
(selection->isDead()==false) &&
|
||||||
(((availablePrograms & (1 << BOTCHATTYPE::DontFollow)) == 0)));
|
(((availablePrograms & (1 << BOTCHATTYPE::DontFollow)) == 0)));
|
||||||
|
@ -484,7 +484,7 @@ void CGameContextMenu::update()
|
||||||
if(_TextAssist)
|
if(_TextAssist)
|
||||||
{
|
{
|
||||||
// Action possible only if the client is not already busy and the selection is able to do this with you..
|
// 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
|
// See also below for mount/packer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ using namespace NLMISC;
|
||||||
NL3D::UDriver *Driver = 0; // The main 3D Driver
|
NL3D::UDriver *Driver = 0; // The main 3D Driver
|
||||||
NL3D::IStereoDisplay *StereoDisplay = NULL; // Stereo display
|
NL3D::IStereoDisplay *StereoDisplay = NULL; // Stereo display
|
||||||
NL3D::IStereoHMD *StereoHMD = NULL; // Head mount display
|
NL3D::IStereoHMD *StereoHMD = NULL; // Head mount display
|
||||||
|
NL3D::IStereoNGHMD *StereoNGHMD = NULL; // HMD with player death support
|
||||||
CSoundManager *SoundMngr = 0; // the sound manager
|
CSoundManager *SoundMngr = 0; // the sound manager
|
||||||
NL3D::UMaterial GenericMat; // Generic Material
|
NL3D::UMaterial GenericMat; // Generic Material
|
||||||
NL3D::UTextContext *TextContext = 0; // Context for all the text in the client.
|
NL3D::UTextContext *TextContext = 0; // Context for all the text in the client.
|
||||||
|
@ -68,6 +69,8 @@ bool PermanentlyBanned = false;
|
||||||
bool IgnoreEntityDbUpdates = false;
|
bool IgnoreEntityDbUpdates = false;
|
||||||
bool FreeTrial = false;
|
bool FreeTrial = false;
|
||||||
|
|
||||||
|
bool NoLogout = false;
|
||||||
|
|
||||||
std::vector<std::pair<
|
std::vector<std::pair<
|
||||||
std::string, std::string> > VRDeviceCache;
|
std::string, std::string> > VRDeviceCache;
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@ namespace NL3D
|
||||||
class UWaterEnvMap;
|
class UWaterEnvMap;
|
||||||
class IStereoDisplay;
|
class IStereoDisplay;
|
||||||
class IStereoHMD;
|
class IStereoHMD;
|
||||||
|
class IStereoNGHMD;
|
||||||
}
|
}
|
||||||
|
|
||||||
class CEntityAnimationManager;
|
class CEntityAnimationManager;
|
||||||
|
@ -81,6 +82,7 @@ const float ExtraZoneLoadingVision = 100.f;
|
||||||
extern NL3D::UDriver *Driver; // The main 3D Driver
|
extern NL3D::UDriver *Driver; // The main 3D Driver
|
||||||
extern NL3D::IStereoDisplay *StereoDisplay; // Stereo display
|
extern NL3D::IStereoDisplay *StereoDisplay; // Stereo display
|
||||||
extern NL3D::IStereoHMD *StereoHMD; // Head mount display
|
extern NL3D::IStereoHMD *StereoHMD; // Head mount display
|
||||||
|
extern NL3D::IStereoNGHMD *StereoNGHMD; // HMD with player death support
|
||||||
extern CSoundManager *SoundMngr; // the sound manager
|
extern CSoundManager *SoundMngr; // the sound manager
|
||||||
extern NL3D::UMaterial GenericMat; // Generic Material
|
extern NL3D::UMaterial GenericMat; // Generic Material
|
||||||
extern NL3D::UTextContext *TextContext; // Context for all the text in the client.
|
extern NL3D::UTextContext *TextContext; // Context for all the text in the client.
|
||||||
|
@ -128,6 +130,8 @@ extern std::string Cookie, FSAddr;
|
||||||
extern std::string RingMainURL;
|
extern std::string RingMainURL;
|
||||||
extern bool FreeTrial;
|
extern bool FreeTrial;
|
||||||
|
|
||||||
|
extern bool NoLogout;
|
||||||
|
|
||||||
void resetTextContext (const char *font, bool resetInterfaceManager);
|
void resetTextContext (const char *font, bool resetInterfaceManager);
|
||||||
|
|
||||||
#endif // CL_GLOBAL_H
|
#endif // CL_GLOBAL_H
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
#include "nel/3d/u_text_context.h"
|
#include "nel/3d/u_text_context.h"
|
||||||
#include "nel/3d/u_shape_bank.h"
|
#include "nel/3d/u_shape_bank.h"
|
||||||
#include "nel/3d/stereo_hmd.h"
|
#include "nel/3d/stereo_hmd.h"
|
||||||
|
#include "nel/3d/stereo_ng_hmd.h"
|
||||||
// Net.
|
// Net.
|
||||||
#include "nel/net/email.h"
|
#include "nel/net/email.h"
|
||||||
// Ligo.
|
// Ligo.
|
||||||
|
@ -639,10 +640,15 @@ void initStereoDisplayDevice()
|
||||||
StereoDisplay = IStereoDisplay::createDevice(*deviceInfo);
|
StereoDisplay = IStereoDisplay::createDevice(*deviceInfo);
|
||||||
if (StereoDisplay)
|
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");
|
nlinfo("VR [C]: Stereo display device is a HMD");
|
||||||
StereoHMD = static_cast<IStereoHMD *>(StereoDisplay);
|
StereoHMD = static_cast<IStereoHMD *>(StereoDisplay);
|
||||||
|
if (deviceInfo->Class == CStereoDeviceInfo::StereoNGHMD)
|
||||||
|
{
|
||||||
|
StereoNGHMD = static_cast<IStereoNGHMD *>(StereoDisplay);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (Driver) // VR_DRIVER
|
if (Driver) // VR_DRIVER
|
||||||
{
|
{
|
||||||
|
@ -829,13 +835,6 @@ void prelogInit()
|
||||||
|
|
||||||
CLoginProgressPostThread::getInstance().init(ClientCfg.ConfigFile);
|
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
|
// check "BuildName" in ClientCfg
|
||||||
//nlassert(!ClientCfg.BuildName.empty()); // TMP comment by nico do not commit
|
//nlassert(!ClientCfg.BuildName.empty()); // TMP comment by nico do not commit
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#ifndef CL_BOT_CHAT_PAGE_RING_SESSIONS_H
|
#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 "bot_chat_page.h"
|
||||||
#include "../entity_cl.h"
|
#include "../entity_cl.h"
|
||||||
|
|
|
@ -21,8 +21,6 @@
|
||||||
// Memory
|
// Memory
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
#include "game_share/ryzom_version.h"
|
|
||||||
|
|
||||||
#include "nel/misc/i_xml.h"
|
#include "nel/misc/i_xml.h"
|
||||||
#include "nel/misc/o_xml.h"
|
#include "nel/misc/o_xml.h"
|
||||||
#include "nel/misc/algo.h"
|
#include "nel/misc/algo.h"
|
||||||
|
@ -131,29 +129,7 @@ using namespace NLGUI;
|
||||||
#include "parser_modules.h"
|
#include "parser_modules.h"
|
||||||
|
|
||||||
#include "../global.h"
|
#include "../global.h"
|
||||||
|
#include "user_agent.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
|
|
||||||
|
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
|
|
||||||
|
@ -489,18 +465,10 @@ CInterfaceManager::CInterfaceManager()
|
||||||
CViewTextID::setTextProvider( &SMTextProvider );
|
CViewTextID::setTextProvider( &SMTextProvider );
|
||||||
CViewTextFormated::setFormatter( &RyzomTextFormatter );
|
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.trustedDomains = ClientCfg.WebIgTrustedDomains;
|
||||||
CGroupHTML::options.languageCode = ClientCfg.getHtmlLanguageCode();
|
CGroupHTML::options.languageCode = ClientCfg.getHtmlLanguageCode();
|
||||||
CGroupHTML::options.appName = "Ryzom";
|
CGroupHTML::options.appName = "Ryzom";
|
||||||
CGroupHTML::options.appVersion = buffer;
|
CGroupHTML::options.appVersion = getUserAgent();
|
||||||
|
|
||||||
NLGUI::CDBManager::getInstance()->resizeBanks( NB_CDB_BANKS );
|
NLGUI::CDBManager::getInstance()->resizeBanks( NB_CDB_BANKS );
|
||||||
interfaceLinkUpdater = new CInterfaceLink::CInterfaceLinkUpdater();
|
interfaceLinkUpdater = new CInterfaceLink::CInterfaceLinkUpdater();
|
||||||
|
@ -1121,6 +1089,7 @@ void CInterfaceManager::configureQuitDialogBox()
|
||||||
// Show Launch Editor if not in editor mode
|
// Show Launch Editor if not in editor mode
|
||||||
CInterfaceElement *eltCancel = quitDlg->getElement(quitDialogStr+":cancel");
|
CInterfaceElement *eltCancel = quitDlg->getElement(quitDialogStr+":cancel");
|
||||||
CInterfaceElement *eltEdit = quitDlg->getElement(quitDialogStr+":launch_editor");
|
CInterfaceElement *eltEdit = quitDlg->getElement(quitDialogStr+":launch_editor");
|
||||||
|
|
||||||
if (eltEdit)
|
if (eltEdit)
|
||||||
{
|
{
|
||||||
if (UserRoleInSession != R2::TUserRole::ur_editor && !sessionOwner)
|
if (UserRoleInSession != R2::TUserRole::ur_editor && !sessionOwner)
|
||||||
|
@ -1191,6 +1160,18 @@ void CInterfaceManager::configureQuitDialogBox()
|
||||||
eltQuitNow->setActive(false);
|
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
|
// Make all controls have the same size
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
|
|
||||||
#ifndef IF_OPTIONS_RZ
|
#ifndef IF_OPTIONS_RZ
|
||||||
#define IP_OPTIONS_RZ
|
#define IF_OPTIONS_RZ
|
||||||
|
|
||||||
#include "nel/gui/interface_options.h"
|
#include "nel/gui/interface_options.h"
|
||||||
|
|
||||||
|
|
|
@ -18,16 +18,14 @@
|
||||||
// Includes
|
// Includes
|
||||||
//
|
//
|
||||||
|
|
||||||
|
#include "stdpch.h"
|
||||||
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifndef NL_OS_WINDOWS
|
||||||
//windows doesnt have unistd.h
|
|
||||||
#else
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "stdpch.h"
|
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
|
@ -36,8 +34,8 @@
|
||||||
#ifdef USE_CURL
|
#ifdef USE_CURL
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
#endif
|
#endif
|
||||||
#include <zlib.h>
|
|
||||||
|
|
||||||
|
#include <zlib.h>
|
||||||
|
|
||||||
#include "nel/misc/debug.h"
|
#include "nel/misc/debug.h"
|
||||||
#include "nel/misc/path.h"
|
#include "nel/misc/path.h"
|
||||||
|
@ -46,10 +44,10 @@
|
||||||
#include "nel/misc/big_file.h"
|
#include "nel/misc/big_file.h"
|
||||||
#include "nel/misc/i18n.h"
|
#include "nel/misc/i18n.h"
|
||||||
|
|
||||||
#define NL_USE_SEVENZIP 1
|
#define RZ_USE_SEVENZIP 1
|
||||||
|
|
||||||
// 7 zip includes
|
// 7 zip includes
|
||||||
#ifdef NL_USE_SEVENZIP
|
#ifdef RZ_USE_SEVENZIP
|
||||||
#include "seven_zip/7zCrc.h"
|
#include "seven_zip/7zCrc.h"
|
||||||
#include "seven_zip/7zIn.h"
|
#include "seven_zip/7zIn.h"
|
||||||
#include "seven_zip/7zExtract.h"
|
#include "seven_zip/7zExtract.h"
|
||||||
|
@ -70,7 +68,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -81,35 +79,6 @@
|
||||||
static std::vector<std::string> ForceMainlandPatchCategories;
|
static std::vector<std::string> ForceMainlandPatchCategories;
|
||||||
static std::vector<std::string> ForceRemovePatchCategories;
|
static std::vector<std::string> 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 std;
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
|
|
||||||
|
@ -118,11 +87,12 @@ extern string VersionName;
|
||||||
extern string R2ServerVersion;
|
extern string R2ServerVersion;
|
||||||
|
|
||||||
#ifdef __CLIENT_INSTALL_EXE__
|
#ifdef __CLIENT_INSTALL_EXE__
|
||||||
extern std::string TheTmpInstallDirectory;
|
extern std::string TheTmpInstallDirectory;
|
||||||
extern std::string ClientLauncherUrl;
|
extern std::string ClientLauncherUrl;
|
||||||
#else
|
#else
|
||||||
std::string TheTmpInstallDirectory ="patch/client_install";
|
std::string TheTmpInstallDirectory = "patch/client_install";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ****************************************************************************
|
// ****************************************************************************
|
||||||
// ****************************************************************************
|
// ****************************************************************************
|
||||||
// ****************************************************************************
|
// ****************************************************************************
|
||||||
|
@ -141,7 +111,7 @@ struct EPatchDownloadException : public Exception
|
||||||
|
|
||||||
CPatchManager *CPatchManager::_Instance = NULL;
|
CPatchManager *CPatchManager::_Instance = NULL;
|
||||||
|
|
||||||
#ifdef NL_USE_SEVENZIP
|
#ifdef RZ_USE_SEVENZIP
|
||||||
/// Input stream class for 7zip archive
|
/// Input stream class for 7zip archive
|
||||||
class CNel7ZipInStream : public _ISzInStream
|
class CNel7ZipInStream : public _ISzInStream
|
||||||
{
|
{
|
||||||
|
@ -199,7 +169,11 @@ CPatchManager::CPatchManager() : State("t_state"), DataScanState("t_data_scan_st
|
||||||
{
|
{
|
||||||
DescFilename = "ryzom_xxxxx.idx";
|
DescFilename = "ryzom_xxxxx.idx";
|
||||||
|
|
||||||
|
#ifdef NL_OS_WINDOWS
|
||||||
UpdateBatchFilename = "updt_nl.bat";
|
UpdateBatchFilename = "updt_nl.bat";
|
||||||
|
#else
|
||||||
|
UpdateBatchFilename = "updt_nl.sh";
|
||||||
|
#endif
|
||||||
|
|
||||||
// use current directory by default
|
// use current directory by default
|
||||||
setClientRootPath("./");
|
setClientRootPath("./");
|
||||||
|
@ -221,6 +195,13 @@ CPatchManager::CPatchManager() : State("t_state"), DataScanState("t_data_scan_st
|
||||||
_AsyncDownloader = NULL;
|
_AsyncDownloader = NULL;
|
||||||
_StateListener = NULL;
|
_StateListener = NULL;
|
||||||
_StartRyzomAtEnd = true;
|
_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
|
||||||
}
|
}
|
||||||
|
|
||||||
// ****************************************************************************
|
// ****************************************************************************
|
||||||
|
@ -279,16 +260,20 @@ void CPatchManager::init(const std::vector<std::string>& patchURIs, const std::s
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
CConfigFile *cf;
|
CConfigFile *cf;
|
||||||
#ifdef RY_BG_DOWNLOADER
|
|
||||||
|
#ifdef RY_BG_DOWNLOADER
|
||||||
cf = &theApp.ConfigFile;
|
cf = &theApp.ConfigFile;
|
||||||
#else
|
#else
|
||||||
cf = &ClientCfg.ConfigFile;
|
cf = &ClientCfg.ConfigFile;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::string appName = "ryzom_live";
|
std::string appName = "ryzom_live";
|
||||||
|
|
||||||
if (cf->getVarPtr("Application"))
|
if (cf->getVarPtr("Application"))
|
||||||
{
|
{
|
||||||
appName = cf->getVar("Application").asString(0);
|
appName = cf->getVar("Application").asString(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string versionFileName = appName + ".version";
|
std::string versionFileName = appName + ".version";
|
||||||
getServerFile(versionFileName);
|
getServerFile(versionFileName);
|
||||||
|
|
||||||
|
@ -300,13 +285,14 @@ void CPatchManager::init(const std::vector<std::string>& patchURIs, const std::s
|
||||||
versionFile.getline(buffer, 1024);
|
versionFile.getline(buffer, 1024);
|
||||||
CSString line(buffer);
|
CSString line(buffer);
|
||||||
|
|
||||||
#ifdef NL_DEBUG
|
#ifdef NL_DEBUG
|
||||||
CConfigFile::CVar *forceVersion = cf->getVarPtr("ForceVersion");
|
CConfigFile::CVar *forceVersion = cf->getVarPtr("ForceVersion");
|
||||||
|
|
||||||
if (forceVersion != NULL)
|
if (forceVersion != NULL)
|
||||||
{
|
{
|
||||||
line = forceVersion->asString();
|
line = forceVersion->asString();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ServerVersion = line.firstWord(true);
|
ServerVersion = line.firstWord(true);
|
||||||
VersionName = line.firstWord(true);
|
VersionName = line.firstWord(true);
|
||||||
|
@ -314,7 +300,7 @@ void CPatchManager::init(const std::vector<std::string>& patchURIs, const std::s
|
||||||
// force the R2ServerVersion
|
// force the R2ServerVersion
|
||||||
R2ServerVersion = ServerVersion;
|
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
|
//The install program load a the url of the mini web site in the patch directory
|
||||||
|
|
||||||
|
@ -352,7 +338,7 @@ void CPatchManager::init(const std::vector<std::string>& patchURIs, const std::s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
|
@ -422,6 +408,7 @@ void CPatchManager::startCheckThread(bool includeBackgroundPatch)
|
||||||
nlassert (thread != NULL);
|
nlassert (thread != NULL);
|
||||||
thread->start ();
|
thread->start ();
|
||||||
}
|
}
|
||||||
|
|
||||||
// ****************************************************************************
|
// ****************************************************************************
|
||||||
bool CPatchManager::isCheckThreadEnded(bool &ok)
|
bool CPatchManager::isCheckThreadEnded(bool &ok)
|
||||||
{
|
{
|
||||||
|
@ -746,7 +733,6 @@ void CPatchManager::deleteBatchFile()
|
||||||
// ****************************************************************************
|
// ****************************************************************************
|
||||||
void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool wantRyzomRestart, bool useBatchFile)
|
void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool wantRyzomRestart, bool useBatchFile)
|
||||||
{
|
{
|
||||||
|
|
||||||
uint nblab = 0;
|
uint nblab = 0;
|
||||||
|
|
||||||
FILE *fp = NULL;
|
FILE *fp = NULL;
|
||||||
|
@ -760,14 +746,13 @@ 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));
|
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);
|
throw Exception (err);
|
||||||
}
|
}
|
||||||
|
|
||||||
//use bat if windows if not use sh
|
//use bat if windows if not use sh
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
fprintf(fp, "@echo off\n");
|
fprintf(fp, "@echo off\n");
|
||||||
#elif NL_OS_MAC
|
#else
|
||||||
//mac patcher doesn't work yet
|
fprintf(fp, "#!/bin/sh\n");
|
||||||
#else
|
#endif
|
||||||
fprintf(fp, "#!/bin/sh\npwd\n");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unpack files with category ExtractPath non empty
|
// Unpack files with category ExtractPath non empty
|
||||||
|
@ -799,6 +784,7 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool
|
||||||
|
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
//:TODO: handle exception?
|
//:TODO: handle exception?
|
||||||
|
@ -818,19 +804,17 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool
|
||||||
string SrcPath = ClientPatchPath;
|
string SrcPath = ClientPatchPath;
|
||||||
string DstPath = rCat.getUnpackTo();
|
string DstPath = rCat.getUnpackTo();
|
||||||
NLMISC::CFile::createDirectoryTree(DstPath);
|
NLMISC::CFile::createDirectoryTree(DstPath);
|
||||||
// this file must be moved
|
|
||||||
|
|
||||||
|
// this file must be moved
|
||||||
if (useBatchFile)
|
if (useBatchFile)
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
SrcPath = CPath::standardizeDosPath(SrcPath);
|
SrcPath = CPath::standardizeDosPath(SrcPath);
|
||||||
DstPath = CPath::standardizeDosPath(DstPath);
|
DstPath = CPath::standardizeDosPath(DstPath);
|
||||||
#elif NL_OS_MAC
|
#else
|
||||||
//no patcher on mac yet
|
|
||||||
#else
|
|
||||||
SrcPath = CPath::standardizePath(SrcPath);
|
SrcPath = CPath::standardizePath(SrcPath);
|
||||||
DstPath = CPath::standardizePath(DstPath);
|
DstPath = CPath::standardizePath(DstPath);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string SrcName = SrcPath + vFilenames[fff];
|
std::string SrcName = SrcPath + vFilenames[fff];
|
||||||
|
@ -838,21 +822,17 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool
|
||||||
|
|
||||||
if (useBatchFile)
|
if (useBatchFile)
|
||||||
{
|
{
|
||||||
//write windows .bat format else write sh format
|
// write windows .bat format else write sh format
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
fprintf(fp, ":loop%u\n", nblab);
|
fprintf(fp, ":loop%u\n", nblab);
|
||||||
fprintf(fp, "attrib -r -a -s -h %s\n", DstName.c_str());
|
fprintf(fp, "attrib -r -a -s -h %s\n", DstName.c_str());
|
||||||
fprintf(fp, "del %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, "if exist %s goto loop%u\n", DstName.c_str(), nblab);
|
||||||
fprintf(fp, "move %s %s\n", SrcName.c_str(), DstPath.c_str());
|
fprintf(fp, "move %s %s\n", SrcName.c_str(), DstPath.c_str());
|
||||||
#elif NL_OS_MAC
|
#else
|
||||||
//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, "rm -rf %s\n", DstName.c_str());
|
||||||
fprintf(fp, "mv %s %s\n", SrcName.c_str(), DstPath.c_str());
|
fprintf(fp, "mv %s %s\n", SrcName.c_str(), DstPath.c_str());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -869,26 +849,25 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool
|
||||||
// Finalize batch file
|
// Finalize batch file
|
||||||
if (NLMISC::CFile::isExists("patch") && NLMISC::CFile::isDirectory("patch"))
|
if (NLMISC::CFile::isExists("patch") && NLMISC::CFile::isDirectory("patch"))
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
if (useBatchFile)
|
if (useBatchFile)
|
||||||
{
|
{
|
||||||
fprintf(fp, ":looppatch\n");
|
fprintf(fp, ":looppatch\n");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
vector<string> vFileList;
|
vector<string> vFileList;
|
||||||
CPath::getPathContent ("patch", false, false, true, vFileList, NULL, false);
|
CPath::getPathContent ("patch", false, false, true, vFileList, NULL, false);
|
||||||
|
|
||||||
for(uint32 i = 0; i < vFileList.size(); ++i)
|
for(uint32 i = 0; i < vFileList.size(); ++i)
|
||||||
{
|
{
|
||||||
if (useBatchFile)
|
if (useBatchFile)
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
fprintf(fp, "del %s\n", CPath::standardizeDosPath(vFileList[i]).c_str());
|
fprintf(fp, "del %s\n", CPath::standardizeDosPath(vFileList[i]).c_str());
|
||||||
#elif NL_OS_MAC
|
#else
|
||||||
//no patcher on MAC yet
|
|
||||||
#else
|
|
||||||
fprintf(fp, "rm -f %s\n", CPath::standardizePath(vFileList[i]).c_str());
|
fprintf(fp, "rm -f %s\n", CPath::standardizePath(vFileList[i]).c_str());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -898,14 +877,12 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool
|
||||||
|
|
||||||
if (useBatchFile)
|
if (useBatchFile)
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
fprintf(fp, "rd /Q /S patch\n");
|
fprintf(fp, "rd /Q /S patch\n");
|
||||||
fprintf(fp, "if exist patch goto looppatch\n");
|
fprintf(fp, "if exist patch goto looppatch\n");
|
||||||
#elif NL_OS_MAC
|
#else
|
||||||
//no patcher on mac yet
|
|
||||||
#else
|
|
||||||
fprintf(fp, "rm -rf patch\n");
|
fprintf(fp, "rm -rf patch\n");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -917,11 +894,11 @@ void CPatchManager::createBatchFile(CProductDescriptionForClient &descFile, bool
|
||||||
{
|
{
|
||||||
if (wantRyzomRestart)
|
if (wantRyzomRestart)
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
fprintf(fp, "start %s %%1 %%2 %%3\n", RyzomFilename.c_str());
|
fprintf(fp, "start %s %%1 %%2 %%3\n", RyzomFilename.c_str());
|
||||||
#else
|
#else
|
||||||
fprintf(fp, "/opt/tita/%s $1 $2 $3\n", RyzomFilename.c_str());
|
fprintf(fp, "%s $1 $2 $3\n", RyzomFilename.c_str());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool writeError = ferror(fp) != 0;
|
bool writeError = ferror(fp) != 0;
|
||||||
|
@ -996,9 +973,11 @@ void CPatchManager::executeBatchFile()
|
||||||
#else
|
#else
|
||||||
// Start the child process.
|
// Start the child process.
|
||||||
bool r2Mode = false;
|
bool r2Mode = false;
|
||||||
#ifndef RY_BG_DOWNLOADER
|
|
||||||
|
#ifndef RY_BG_DOWNLOADER
|
||||||
r2Mode = ClientCfg.R2Mode;
|
r2Mode = ClientCfg.R2Mode;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
string strCmdLine;
|
string strCmdLine;
|
||||||
|
|
||||||
strCmdLine = "./" + UpdateBatchFilename;
|
strCmdLine = "./" + UpdateBatchFilename;
|
||||||
|
@ -1006,21 +985,25 @@ void CPatchManager::executeBatchFile()
|
||||||
chmod(strCmdLine.c_str(), S_IRWXU);
|
chmod(strCmdLine.c_str(), S_IRWXU);
|
||||||
if (r2Mode)
|
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;
|
int errsv = errno;
|
||||||
nlerror("Execl Error: %d %s", errsv, strCmdLine.c_str(), (char *) NULL);
|
nlerror("Execl Error: %d %s", errsv, strCmdLine.c_str(), (char *) NULL);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
nlinfo("Ran batch file r2Mode Success");
|
nlinfo("Ran batch file r2Mode Success");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
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;
|
int errsv = errno;
|
||||||
nlerror("Execl r2mode Error: %d %s", errsv, strCmdLine.c_str());
|
nlerror("Execl r2mode Error: %d %s", errsv, strCmdLine.c_str());
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
nlinfo("Ran batch file Success");
|
nlinfo("Ran batch file Success");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1340,7 +1323,7 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de
|
||||||
DownloadInProgress = true;
|
DownloadInProgress = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
#ifdef USE_CURL
|
#ifdef USE_CURL
|
||||||
ucstring s = CI18N::get("uiDLWithCurl") + " " + dest;
|
ucstring s = CI18N::get("uiDLWithCurl") + " " + dest;
|
||||||
setState(true, s);
|
setState(true, s);
|
||||||
|
|
||||||
|
@ -1395,7 +1378,7 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
curl_global_cleanup();
|
curl_global_cleanup();
|
||||||
|
|
||||||
CurrentFile = "";
|
CurrentFile.clear();
|
||||||
|
|
||||||
if (diskFull)
|
if (diskFull)
|
||||||
{
|
{
|
||||||
|
@ -1437,9 +1420,9 @@ void CPatchManager::downloadFileWithCurl (const string &source, const string &de
|
||||||
throw EPatchDownloadException (NLMISC::toString("curl download failed: (ec %d %d)", res, r));
|
throw EPatchDownloadException (NLMISC::toString("curl download failed: (ec %d %d)", res, r));
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
throw Exception("USE_CURL is not defined, no curl method");
|
throw Exception("USE_CURL is not defined, no curl method");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
catch(...)
|
catch(...)
|
||||||
{
|
{
|
||||||
|
@ -2153,10 +2136,8 @@ void CPatchManager::getCorruptedFileInfo(const SFileToPatch &ftp, ucstring &sTra
|
||||||
|
|
||||||
bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::string &destFileName)
|
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'",
|
nlinfo("Uncompressing 7zip archive '%s' to '%s'", sevenZipFile.c_str(), destFileName.c_str());
|
||||||
sevenZipFile.c_str(),
|
|
||||||
destFileName.c_str());
|
|
||||||
|
|
||||||
// init seven zip
|
// init seven zip
|
||||||
ISzAlloc allocImp;
|
ISzAlloc allocImp;
|
||||||
|
@ -2245,7 +2226,7 @@ bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::strin
|
||||||
|
|
||||||
bool CPatchManager::unpackLZMA(const std::string &lzmaFile, const std::string &destFileName)
|
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());
|
nldebug("unpackLZMA : decompression the lzma file '%s' into output file '%s", lzmaFile.c_str(), destFileName.c_str());
|
||||||
CIFile inStream(lzmaFile);
|
CIFile inStream(lzmaFile);
|
||||||
uint32 inSize = inStream.getFileSize();
|
uint32 inSize = inStream.getFileSize();
|
||||||
|
@ -2357,10 +2338,24 @@ void CCheckThread::run ()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sint32 nServerVersion;
|
sint32 nServerVersion, nClientVersion;
|
||||||
fromString(sServerVersion, nServerVersion);
|
fromString(sServerVersion, nServerVersion);
|
||||||
|
fromString(sClientVersion, nClientVersion);
|
||||||
|
|
||||||
if (sClientVersion != sServerVersion)
|
#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)
|
||||||
|
{
|
||||||
|
nServerVersion = nClientNewVersion;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (nClientVersion != nServerVersion)
|
||||||
{
|
{
|
||||||
// first, try in the version subdirectory
|
// first, try in the version subdirectory
|
||||||
try
|
try
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
// INCLUDES //
|
// INCLUDES //
|
||||||
//////////////
|
//////////////
|
||||||
#include "stdpch.h"
|
#include "stdpch.h"
|
||||||
|
|
||||||
|
#include "nel/3d/stereo_ng_hmd.h"
|
||||||
|
|
||||||
// Client.
|
// Client.
|
||||||
#include "../../input.h"
|
#include "../../input.h"
|
||||||
#include "../user_controls.h"
|
#include "../user_controls.h"
|
||||||
|
@ -28,6 +31,7 @@
|
||||||
#include "../../view.h"
|
#include "../../view.h"
|
||||||
#include "../../interface_v3/interface_manager.h"
|
#include "../../interface_v3/interface_manager.h"
|
||||||
#include "../../entities.h"
|
#include "../../entities.h"
|
||||||
|
#include "global.h"
|
||||||
|
|
||||||
|
|
||||||
///////////
|
///////////
|
||||||
|
@ -61,6 +65,9 @@ void CUserControls::deathModeStart()
|
||||||
_InternalView = false;
|
_InternalView = false;
|
||||||
// Show/hide all or parts of the user body (after _InternaView is set).
|
// Show/hide all or parts of the user body (after _InternaView is set).
|
||||||
UserEntity->updateVisualDisplay();
|
UserEntity->updateVisualDisplay();
|
||||||
|
// Kill the player
|
||||||
|
if (StereoNGHMD)
|
||||||
|
StereoNGHMD->killUser();
|
||||||
}// deathModeStart //
|
}// deathModeStart //
|
||||||
|
|
||||||
//-----------------------------------------------
|
//-----------------------------------------------
|
||||||
|
|
|
@ -3555,6 +3555,13 @@ void impulseSetNpcIconTimer(NLMISC::CBitMemStream &impulse)
|
||||||
CNPCIconCache::getInstance().setMissionGiverTimer(delay);
|
CNPCIconCache::getInstance().setMissionGiverTimer(delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void impulseEventDisableLogoutButton(NLMISC::CBitMemStream &impulse)
|
||||||
|
{
|
||||||
|
NoLogout = true;
|
||||||
|
CInterfaceManager *im = CInterfaceManager::getInstance();
|
||||||
|
im->configureQuitDialogBox();
|
||||||
|
}
|
||||||
|
|
||||||
//-----------------------------------------------
|
//-----------------------------------------------
|
||||||
// initializeNetwork :
|
// initializeNetwork :
|
||||||
//-----------------------------------------------
|
//-----------------------------------------------
|
||||||
|
@ -3704,6 +3711,8 @@ void initializeNetwork()
|
||||||
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_DESC", impulseSetNpcIconDesc );
|
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_DESC", impulseSetNpcIconDesc );
|
||||||
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SVR_EVENT_MIS_AVL", impulseServerEventForMissionAvailability );
|
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SVR_EVENT_MIS_AVL", impulseServerEventForMissionAvailability );
|
||||||
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_TIMER", impulseSetNpcIconTimer );
|
GenericMsgHeaderMngr.setCallback( "NPC_ICON:SET_TIMER", impulseSetNpcIconTimer );
|
||||||
|
|
||||||
|
GenericMsgHeaderMngr.setCallback( "EVENT:DISABLE_LOGOUT_BUTTON", impulseEventDisableLogoutButton );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue