mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-16 22:38:42 +00:00
merge from default
This commit is contained in:
parent
2a4d753a35
commit
e8dd943258
366 changed files with 5072 additions and 1707 deletions
|
@ -90,27 +90,11 @@ NL_CONFIGURE_CHECKS()
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
#Platform specifics
|
#Platform specifics
|
||||||
|
|
||||||
|
SETUP_EXTERNAL()
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
|
|
||||||
SET(WINSOCK2_LIB ws2_32.lib)
|
SET(WINSOCK2_LIB ws2_32.lib)
|
||||||
|
|
||||||
FIND_PACKAGE(External REQUIRED)
|
|
||||||
|
|
||||||
IF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
|
|
||||||
# convert IDE fullpath to VC++ path
|
|
||||||
STRING(REGEX REPLACE "Common7/IDE/.+" "VC" VC_DIR ${CMAKE_MAKE_PROGRAM})
|
|
||||||
ELSE(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
|
|
||||||
IF(${CMAKE_CXX_COMPILER} MATCHES "VC")
|
|
||||||
# convert compiler fullpath to VC++ path
|
|
||||||
STRING(REGEX REPLACE "VC/bin/.+" "VC" VC_DIR ${CMAKE_CXX_COMPILER})
|
|
||||||
ELSE(${CMAKE_CXX_COMPILER} MATCHES "VC")
|
|
||||||
# Hack for Visual C++ 2010
|
|
||||||
GET_FILENAME_COMPONENT(VC_ROOT_PATH "[HKEY_CURRENT_USER\\Software\\Microsoft\\VCExpress\\10.0_Config;InstallDir]" ABSOLUTE)
|
|
||||||
# convert IDE fullpath to VC++ path
|
|
||||||
STRING(REGEX REPLACE "Common7/.*" "VC" VC_DIR ${VC_ROOT_PATH})
|
|
||||||
ENDIF(${CMAKE_CXX_COMPILER} MATCHES "VC")
|
|
||||||
ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
|
|
||||||
|
|
||||||
IF(WITH_MFC)
|
IF(WITH_MFC)
|
||||||
FIND_PACKAGE(CustomMFC REQUIRED)
|
FIND_PACKAGE(CustomMFC REQUIRED)
|
||||||
ENDIF(WITH_MFC)
|
ENDIF(WITH_MFC)
|
||||||
|
@ -130,21 +114,10 @@ IF(WITH_STATIC)
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
FIND_PACKAGE(Iconv REQUIRED)
|
FIND_PACKAGE(Iconv REQUIRED)
|
||||||
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES})
|
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES})
|
||||||
|
INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
ENDIF(WITH_STATIC)
|
ENDIF(WITH_STATIC)
|
||||||
|
|
||||||
IF(WITH_STLPORT)
|
|
||||||
FIND_PACKAGE(STLport REQUIRED)
|
|
||||||
INCLUDE_DIRECTORIES(${STLPORT_INCLUDE_DIR})
|
|
||||||
IF(WIN32)
|
|
||||||
SET(VC_INCLUDE_DIR "${VC_DIR}/include")
|
|
||||||
|
|
||||||
FIND_PACKAGE(WindowsSDK REQUIRED)
|
|
||||||
# use VC++ and Windows SDK include paths
|
|
||||||
INCLUDE_DIRECTORIES(${VC_INCLUDE_DIR} ${WINSDK_INCLUDE_DIR})
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ENDIF(WITH_STLPORT)
|
|
||||||
|
|
||||||
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake)
|
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake)
|
||||||
|
|
||||||
IF(FINAL_VERSION)
|
IF(FINAL_VERSION)
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
# The following values are defined
|
# The following values are defined
|
||||||
# EXTERNAL_PATH - where to find external
|
# EXTERNAL_PATH - where to find external
|
||||||
# EXTERNAL_INCLUDE_PATH - where to find external includes
|
# EXTERNAL_INCLUDE_PATH - where to find external includes
|
||||||
|
# EXTERNAL_BINARY_PATH - where to find external binaries
|
||||||
# EXTERNAL_LIBRARY_PATH - where to find external libraries
|
# EXTERNAL_LIBRARY_PATH - where to find external libraries
|
||||||
# EXTERNAL_FOUND - True if the external libraries are available
|
# EXTERNAL_FOUND - True if the external libraries are available
|
||||||
|
|
||||||
|
@ -34,6 +35,13 @@ IF(EXTERNAL_PATH)
|
||||||
SET(EXTERNAL_FOUND TRUE)
|
SET(EXTERNAL_FOUND TRUE)
|
||||||
SET(EXTERNAL_INCLUDE_PATH "${EXTERNAL_PATH}/include")
|
SET(EXTERNAL_INCLUDE_PATH "${EXTERNAL_PATH}/include")
|
||||||
|
|
||||||
|
# Using 32 or 64 bits binaries
|
||||||
|
IF(TARGET_X64)
|
||||||
|
SET(EXTERNAL_BINARY_PATH "${EXTERNAL_PATH}/bin64")
|
||||||
|
ELSE(TARGET_X64)
|
||||||
|
SET(EXTERNAL_BINARY_PATH "${EXTERNAL_PATH}/bin")
|
||||||
|
ENDIF(TARGET_X64)
|
||||||
|
|
||||||
# Using 32 or 64 bits libraries
|
# Using 32 or 64 bits libraries
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
SET(EXTERNAL_LIBRARY_PATH "${EXTERNAL_PATH}/lib64")
|
SET(EXTERNAL_LIBRARY_PATH "${EXTERNAL_PATH}/lib64")
|
||||||
|
@ -61,4 +69,4 @@ ELSE(EXTERNAL_FOUND)
|
||||||
ENDIF(External_FIND_REQUIRED)
|
ENDIF(External_FIND_REQUIRED)
|
||||||
ENDIF(EXTERNAL_FOUND)
|
ENDIF(EXTERNAL_FOUND)
|
||||||
|
|
||||||
MARK_AS_ADVANCED(EXTERNAL_INCLUDE_PATH EXTERNAL_LIBRARY_PATH)
|
MARK_AS_ADVANCED(EXTERNAL_INCLUDE_PATH EXTERNAL_BINARY_PATH EXTERNAL_LIBRARY_PATH)
|
||||||
|
|
|
@ -52,13 +52,23 @@ MACRO(_PCH_GET_COMPILE_FLAGS _out_compile_flags)
|
||||||
LIST(APPEND ${_out_compile_flags} " ${_PCH_include_prefix}\"${item}\"")
|
LIST(APPEND ${_out_compile_flags} " ${_PCH_include_prefix}\"${item}\"")
|
||||||
ENDFOREACH(item)
|
ENDFOREACH(item)
|
||||||
|
|
||||||
|
# Required for CMake 2.6
|
||||||
|
SET(GLOBAL_DEFINITIONS "")
|
||||||
|
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS)
|
||||||
|
FOREACH(item ${DEFINITIONS})
|
||||||
|
LIST(APPEND GLOBAL_DEFINITIONS -D${item})
|
||||||
|
ENDFOREACH(item)
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS)
|
||||||
GET_DIRECTORY_PROPERTY(_global_definitions DIRECTORY ${CMAKE_SOURCE_DIR} DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(_directory_definitions DIRECTORY ${CMAKE_SOURCE_DIR} DEFINITIONS)
|
||||||
|
LIST(APPEND ${_out_compile_flags} ${GLOBAL_DEFINITIONS})
|
||||||
LIST(APPEND ${_out_compile_flags} ${_directory_flags})
|
LIST(APPEND ${_out_compile_flags} ${_directory_flags})
|
||||||
LIST(APPEND ${_out_compile_flags} ${_global_definitions})
|
LIST(APPEND ${_out_compile_flags} ${_directory_definitions})
|
||||||
LIST(APPEND ${_out_compile_flags} ${CMAKE_CXX_FLAGS})
|
LIST(APPEND ${_out_compile_flags} ${CMAKE_CXX_FLAGS})
|
||||||
|
|
||||||
|
# Format definitions and remove duplicates
|
||||||
SEPARATE_ARGUMENTS(${_out_compile_flags})
|
SEPARATE_ARGUMENTS(${_out_compile_flags})
|
||||||
|
LIST(REMOVE_DUPLICATES ${_out_compile_flags})
|
||||||
ENDMACRO(_PCH_GET_COMPILE_FLAGS)
|
ENDMACRO(_PCH_GET_COMPILE_FLAGS)
|
||||||
|
|
||||||
MACRO(_PCH_GET_PDB_FILENAME out_filename _target)
|
MACRO(_PCH_GET_PDB_FILENAME out_filename _target)
|
||||||
|
@ -134,7 +144,9 @@ MACRO(ADD_PRECOMPILED_HEADER_TO_TARGET _targetName _input _pch_output_to_use )
|
||||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
|
||||||
SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS ${_target_cflags})
|
SET_TARGET_PROPERTIES(${_targetName} PROPERTIES COMPILE_FLAGS ${_target_cflags})
|
||||||
SET_TARGET_PROPERTIES(${_targetName}_pch_dephelp PROPERTIES COMPILE_FLAGS ${_target_cflags})
|
IF(oldProps)
|
||||||
|
SET_TARGET_PROPERTIES(${_targetName}_pch_dephelp PROPERTIES COMPILE_FLAGS ${oldProps})
|
||||||
|
ENDIF(oldProps)
|
||||||
ADD_CUSTOM_TARGET(pch_Generate_${_targetName} DEPENDS ${_pch_output_to_use})
|
ADD_CUSTOM_TARGET(pch_Generate_${_targetName} DEPENDS ${_pch_output_to_use})
|
||||||
ADD_DEPENDENCIES(${_targetName} pch_Generate_${_targetName})
|
ADD_DEPENDENCIES(${_targetName} pch_Generate_${_targetName})
|
||||||
ENDMACRO(ADD_PRECOMPILED_HEADER_TO_TARGET)
|
ENDMACRO(ADD_PRECOMPILED_HEADER_TO_TARGET)
|
||||||
|
|
|
@ -496,3 +496,44 @@ MACRO(RYZOM_SETUP_PREFIX_PATHS)
|
||||||
ENDIF(NOT RYZOM_GAMES_PREFIX)
|
ENDIF(NOT RYZOM_GAMES_PREFIX)
|
||||||
|
|
||||||
ENDMACRO(RYZOM_SETUP_PREFIX_PATHS)
|
ENDMACRO(RYZOM_SETUP_PREFIX_PATHS)
|
||||||
|
|
||||||
|
MACRO(SETUP_EXTERNAL)
|
||||||
|
IF(WIN32)
|
||||||
|
FIND_PACKAGE(External REQUIRED)
|
||||||
|
|
||||||
|
INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
|
||||||
|
IF(MSVC10)
|
||||||
|
GET_FILENAME_COMPONENT(VC_ROOT_DIR "[HKEY_CURRENT_USER\\Software\\Microsoft\\VisualStudio\\10.0_Config;InstallDir]" ABSOLUTE)
|
||||||
|
# VC_ROOT_DIR is set to "registry" when a key is not found
|
||||||
|
IF(VC_ROOT_DIR MATCHES "registry")
|
||||||
|
GET_FILENAME_COMPONENT(VC_ROOT_DIR "[HKEY_CURRENT_USER\\Software\\Microsoft\\VCExpress\\10.0_Config;InstallDir]" ABSOLUTE)
|
||||||
|
IF(VC_ROOT_DIR MATCHES "registry")
|
||||||
|
MESSAGE(FATAL_ERROR "Unable to find VC++ 2010 directory!")
|
||||||
|
ENDIF(VC_ROOT_DIR MATCHES "registry")
|
||||||
|
ENDIF(VC_ROOT_DIR MATCHES "registry")
|
||||||
|
# convert IDE fullpath to VC++ path
|
||||||
|
STRING(REGEX REPLACE "Common7/.*" "VC" VC_DIR ${VC_ROOT_DIR})
|
||||||
|
ELSE(MSVC10)
|
||||||
|
IF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
|
||||||
|
# convert IDE fullpath to VC++ path
|
||||||
|
STRING(REGEX REPLACE "Common7/.*" "VC" VC_DIR ${CMAKE_MAKE_PROGRAM})
|
||||||
|
ELSE(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
|
||||||
|
# convert compiler fullpath to VC++ path
|
||||||
|
STRING(REGEX REPLACE "VC/bin/.+" "VC" VC_DIR ${CMAKE_CXX_COMPILER})
|
||||||
|
ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
|
||||||
|
ENDIF(MSVC10)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
IF(WITH_STLPORT)
|
||||||
|
FIND_PACKAGE(STLport REQUIRED)
|
||||||
|
INCLUDE_DIRECTORIES(${STLPORT_INCLUDE_DIR})
|
||||||
|
IF(WIN32)
|
||||||
|
SET(VC_INCLUDE_DIR "${VC_DIR}/include")
|
||||||
|
|
||||||
|
FIND_PACKAGE(WindowsSDK REQUIRED)
|
||||||
|
# use VC++ and Windows SDK include paths
|
||||||
|
INCLUDE_DIRECTORIES(${VC_INCLUDE_DIR} ${WINSDK_INCLUDE_DIR})
|
||||||
|
ENDIF(WIN32)
|
||||||
|
ENDIF(WITH_STLPORT)
|
||||||
|
|
||||||
|
ENDMACRO(SETUP_EXTERNAL)
|
||||||
|
|
|
@ -107,7 +107,7 @@ public:
|
||||||
bool Visible;
|
bool Visible;
|
||||||
|
|
||||||
/// Precomputed Lighting.
|
/// Precomputed Lighting.
|
||||||
// If true (false by default), then the instance don't cast shadow (used by ig_lighter.exe).
|
// If true (false by default), then the instance don't cast shadow (used by ig_lighter).
|
||||||
bool DontCastShadow;
|
bool DontCastShadow;
|
||||||
// If true (false by default), then the instance's lighting will not be precomputed.
|
// If true (false by default), then the instance's lighting will not be precomputed.
|
||||||
bool AvoidStaticLightPreCompute;
|
bool AvoidStaticLightPreCompute;
|
||||||
|
@ -120,7 +120,7 @@ public:
|
||||||
* If 0xFF => take Ambient of the sun.
|
* If 0xFF => take Ambient of the sun.
|
||||||
*/
|
*/
|
||||||
uint8 LocalAmbientId;
|
uint8 LocalAmbientId;
|
||||||
/** if true (false by default), the instance don't cast shadow, but ONLY FOR ig_lighter.exe (ig_lighter_lib)
|
/** if true (false by default), the instance don't cast shadow, but ONLY FOR ig_lighter (ig_lighter_lib)
|
||||||
* (zone_lighter and zone_ig_lighter ignore it).
|
* (zone_lighter and zone_ig_lighter ignore it).
|
||||||
* This is a special trick for the "Matis Serre" where the exterior mesh cast shadow in the interior, but
|
* This is a special trick for the "Matis Serre" where the exterior mesh cast shadow in the interior, but
|
||||||
* is not visible in the interior in realTime because of cluster clipping.... omg :(
|
* is not visible in the interior in realTime because of cluster clipping.... omg :(
|
||||||
|
|
|
@ -697,6 +697,7 @@ public:
|
||||||
virtual bool addLinearFloatKey(const UKeyLinearFloat &key)
|
virtual bool addLinearFloatKey(const UKeyLinearFloat &key)
|
||||||
{
|
{
|
||||||
CKeyFloat k;
|
CKeyFloat k;
|
||||||
|
k.OODeltaTime= 0.f;
|
||||||
k.Value= key.Value;
|
k.Value= key.Value;
|
||||||
addKey(k, key.Time);
|
addKey(k, key.Time);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -142,11 +142,14 @@ namespace CEGUI
|
||||||
|
|
||||||
void captureCursor(bool capture) {
|
void captureCursor(bool capture) {
|
||||||
m_Captured=capture;
|
m_Captured=capture;
|
||||||
if(capture) {
|
if(capture)
|
||||||
|
{
|
||||||
m_Driver->setCapture(true);
|
m_Driver->setCapture(true);
|
||||||
m_Driver->showCursor(false);
|
m_Driver->showCursor(false);
|
||||||
m_InputDriver.activateMouse();
|
m_InputDriver.activateMouse();
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
m_Driver->setCapture(false);
|
m_Driver->setCapture(false);
|
||||||
m_Driver->showCursor(true);
|
m_Driver->showCursor(true);
|
||||||
m_InputDriver.deactivateMouse();
|
m_InputDriver.deactivateMouse();
|
||||||
|
@ -178,7 +181,8 @@ namespace CEGUI
|
||||||
class NeLInputDriver : public NLMISC::IEventListener
|
class NeLInputDriver : public NLMISC::IEventListener
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
NeLInputDriver() {
|
NeLInputDriver()
|
||||||
|
{
|
||||||
m_MouseX=0.5f;
|
m_MouseX=0.5f;
|
||||||
m_MouseY=0.5f;
|
m_MouseY=0.5f;
|
||||||
m_Active=false;
|
m_Active=false;
|
||||||
|
@ -189,7 +193,8 @@ namespace CEGUI
|
||||||
}
|
}
|
||||||
virtual ~NeLInputDriver() { ; }
|
virtual ~NeLInputDriver() { ; }
|
||||||
|
|
||||||
void addToServer(NLMISC::CEventServer& server) {
|
void addToServer(NLMISC::CEventServer& server)
|
||||||
|
{
|
||||||
server.addListener(NLMISC::EventMouseMoveId, this);
|
server.addListener(NLMISC::EventMouseMoveId, this);
|
||||||
server.addListener(NLMISC::EventMouseDownId, this);
|
server.addListener(NLMISC::EventMouseDownId, this);
|
||||||
server.addListener(NLMISC::EventMouseUpId, this);
|
server.addListener(NLMISC::EventMouseUpId, this);
|
||||||
|
@ -200,7 +205,8 @@ namespace CEGUI
|
||||||
m_AsyncListener.addToServer(server);
|
m_AsyncListener.addToServer(server);
|
||||||
}
|
}
|
||||||
|
|
||||||
void removeFromServer(NLMISC::CEventServer& server) {
|
void removeFromServer(NLMISC::CEventServer& server)
|
||||||
|
{
|
||||||
server.removeListener(NLMISC::EventMouseMoveId, this);
|
server.removeListener(NLMISC::EventMouseMoveId, this);
|
||||||
server.removeListener(NLMISC::EventMouseDownId, this);
|
server.removeListener(NLMISC::EventMouseDownId, this);
|
||||||
server.removeListener(NLMISC::EventMouseUpId, this);
|
server.removeListener(NLMISC::EventMouseUpId, this);
|
||||||
|
@ -226,9 +232,11 @@ namespace CEGUI
|
||||||
*
|
*
|
||||||
* \param event An event, probably a CEventMouse or CEventKey/Char.
|
* \param event An event, probably a CEventMouse or CEventKey/Char.
|
||||||
*/
|
*/
|
||||||
virtual void operator ()(const NLMISC::CEvent& event) {
|
virtual void operator ()(const NLMISC::CEvent& event)
|
||||||
|
{
|
||||||
// don't process any input if we're inactive.
|
// don't process any input if we're inactive.
|
||||||
if(m_Active==false) {
|
if(m_Active==false)
|
||||||
|
{
|
||||||
return; // not processing ANY input
|
return; // not processing ANY input
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,36 +244,51 @@ namespace CEGUI
|
||||||
{
|
{
|
||||||
// otherwise, on with the festivities.
|
// otherwise, on with the festivities.
|
||||||
// catch ALL mouse event, just in case.
|
// catch ALL mouse event, just in case.
|
||||||
if(event==NLMISC::EventMouseDownId||event==NLMISC::EventMouseUpId||event==NLMISC::EventMouseMoveId||event==NLMISC::EventMouseDblClkId||event==NLMISC::EventMouseWheelId) {
|
if(event==NLMISC::EventMouseDownId||event==NLMISC::EventMouseUpId||event==NLMISC::EventMouseMoveId||event==NLMISC::EventMouseDblClkId||event==NLMISC::EventMouseWheelId)
|
||||||
if(!m_MouseActive) {
|
{
|
||||||
|
if(!m_MouseActive)
|
||||||
|
{
|
||||||
// we're not processing any mouse activity. The cursor isn't captured maybe?
|
// we're not processing any mouse activity. The cursor isn't captured maybe?
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NLMISC::CEventMouse *mouseEvent=(NLMISC::CEventMouse *)&event;
|
NLMISC::CEventMouse *mouseEvent=(NLMISC::CEventMouse *)&event;
|
||||||
// a mouse button was pressed.
|
// a mouse button was pressed.
|
||||||
if(event == NLMISC::EventMouseDownId) {
|
if(event == NLMISC::EventMouseDownId)
|
||||||
|
{
|
||||||
// it was the left button...
|
// it was the left button...
|
||||||
if (mouseEvent->Button & NLMISC::leftButton) {
|
if (mouseEvent->Button & NLMISC::leftButton)
|
||||||
|
{
|
||||||
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::LeftButton);
|
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::LeftButton);
|
||||||
// it was the right button...
|
// it was the right button...
|
||||||
} else if (mouseEvent->Button & NLMISC::rightButton) {
|
}
|
||||||
|
else if (mouseEvent->Button & NLMISC::rightButton)
|
||||||
|
{
|
||||||
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::RightButton);
|
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::RightButton);
|
||||||
} else if (mouseEvent->Button & NLMISC::middleButton) {
|
}
|
||||||
|
else if (mouseEvent->Button & NLMISC::middleButton)
|
||||||
|
{
|
||||||
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::MiddleButton);
|
CEGUI::System::getSingleton().injectMouseButtonDown(CEGUI::MiddleButton);
|
||||||
}
|
}
|
||||||
// a mouse button was released
|
// a mouse button was released
|
||||||
} else if (event == NLMISC::EventMouseUpId) {
|
}
|
||||||
|
else if (event == NLMISC::EventMouseUpId)
|
||||||
|
{
|
||||||
// it was the left button...
|
// it was the left button...
|
||||||
if(mouseEvent->Button & NLMISC::leftButton) {
|
if(mouseEvent->Button & NLMISC::leftButton)
|
||||||
|
{
|
||||||
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::LeftButton);
|
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::LeftButton);
|
||||||
// it was the right button...
|
// it was the right button...
|
||||||
} else if (mouseEvent->Button & NLMISC::rightButton) {
|
}
|
||||||
|
else if (mouseEvent->Button & NLMISC::rightButton)
|
||||||
|
{
|
||||||
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::RightButton);
|
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::RightButton);
|
||||||
} else if (mouseEvent->Button & NLMISC::middleButton) {
|
} else if (mouseEvent->Button & NLMISC::middleButton) {
|
||||||
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::MiddleButton);
|
CEGUI::System::getSingleton().injectMouseButtonUp(CEGUI::MiddleButton);
|
||||||
}
|
}
|
||||||
} else if (event == NLMISC::EventMouseMoveId) {
|
}
|
||||||
|
else if (event == NLMISC::EventMouseMoveId)
|
||||||
|
{
|
||||||
// convert into screen coordinates.
|
// convert into screen coordinates.
|
||||||
float delta_x=(float)(mouseEvent->X - m_MouseX)*m_Width;
|
float delta_x=(float)(mouseEvent->X - m_MouseX)*m_Width;
|
||||||
float delta_y=(float)((1.0f-mouseEvent->Y) - m_MouseY)*m_Height;
|
float delta_y=(float)((1.0f-mouseEvent->Y) - m_MouseY)*m_Height;
|
||||||
|
@ -276,18 +299,26 @@ namespace CEGUI
|
||||||
// and save for delta.
|
// and save for delta.
|
||||||
m_MouseX=mouseEvent->X;
|
m_MouseX=mouseEvent->X;
|
||||||
m_MouseY=1.0f-mouseEvent->Y;
|
m_MouseY=1.0f-mouseEvent->Y;
|
||||||
} else if (event == NLMISC::EventMouseWheelId) {
|
}
|
||||||
|
else if (event == NLMISC::EventMouseWheelId)
|
||||||
|
{
|
||||||
NLMISC::CEventMouseWheel *ev=(NLMISC::CEventMouseWheel *)&event;
|
NLMISC::CEventMouseWheel *ev=(NLMISC::CEventMouseWheel *)&event;
|
||||||
float dir=0.0f;
|
float dir=0.0f;
|
||||||
if(ev->Direction) dir=0.5f;
|
if(ev->Direction) dir=0.5f;
|
||||||
else dir=-0.5f;
|
else dir=-0.5f;
|
||||||
CEGUI::System::getSingleton().injectMouseWheelChange(dir);
|
CEGUI::System::getSingleton().injectMouseWheelChange(dir);
|
||||||
}
|
}
|
||||||
} else { // assume otherwise that it's a character.
|
}
|
||||||
if(event==NLMISC::EventCharId) {
|
else
|
||||||
|
{
|
||||||
|
// assume otherwise that it's a character.
|
||||||
|
if(event==NLMISC::EventCharId)
|
||||||
|
{
|
||||||
unsigned char c = (char)((NLMISC::CEventChar&)event).Char;
|
unsigned char c = (char)((NLMISC::CEventChar&)event).Char;
|
||||||
CEGUI::System::getSingleton().injectChar((CEGUI::utf32)c);
|
CEGUI::System::getSingleton().injectChar((CEGUI::utf32)c);
|
||||||
} else if(event==NLMISC::EventKeyDownId) {
|
}
|
||||||
|
else if(event==NLMISC::EventKeyDownId)
|
||||||
|
{
|
||||||
NLMISC::CEventKeyDown *keyvent=(NLMISC::CEventKeyDown *)&event;
|
NLMISC::CEventKeyDown *keyvent=(NLMISC::CEventKeyDown *)&event;
|
||||||
CEGUI::System::getSingleton().injectKeyDown(m_KeyMap[keyvent->Key]);
|
CEGUI::System::getSingleton().injectKeyDown(m_KeyMap[keyvent->Key]);
|
||||||
}
|
}
|
||||||
|
@ -296,7 +327,8 @@ namespace CEGUI
|
||||||
catch (CEGUI::Exception) { }
|
catch (CEGUI::Exception) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
void initKeyMap() {
|
void initKeyMap()
|
||||||
|
{
|
||||||
m_KeyMap[NLMISC::Key0 ]=CEGUI::Key::Zero;
|
m_KeyMap[NLMISC::Key0 ]=CEGUI::Key::Zero;
|
||||||
m_KeyMap[NLMISC::Key1 ]=CEGUI::Key::One;
|
m_KeyMap[NLMISC::Key1 ]=CEGUI::Key::One;
|
||||||
m_KeyMap[NLMISC::Key2 ]=CEGUI::Key::Two;
|
m_KeyMap[NLMISC::Key2 ]=CEGUI::Key::Two;
|
||||||
|
|
|
@ -201,7 +201,7 @@ void loadForm (const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
ifile.serialCont (container);
|
ifile.serialCont (container);
|
||||||
ifile.close ();
|
ifile.close ();
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
// clear the container because it can contains partially loaded sheet so we must clean it before continue
|
// clear the container because it can contains partially loaded sheet so we must clean it before continue
|
||||||
container.clear ();
|
container.clear ();
|
||||||
|
@ -456,7 +456,7 @@ void loadForm (const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
ofile.close ();
|
ofile.close ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlinfo ("loadForm(): Exception during saving the packed file, it will be recreated next launch (%s)", e.what());
|
nlinfo ("loadForm(): Exception during saving the packed file, it will be recreated next launch (%s)", e.what());
|
||||||
}
|
}
|
||||||
|
@ -564,7 +564,7 @@ void loadForm2(const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
ifile.serialPtrCont (container);
|
ifile.serialPtrCont (container);
|
||||||
ifile.close ();
|
ifile.close ();
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
// clear the container because it can contains partially loaded sheet so we must clean it before continue
|
// clear the container because it can contains partially loaded sheet so we must clean it before continue
|
||||||
container.clear ();
|
container.clear ();
|
||||||
|
@ -819,7 +819,7 @@ void loadForm2(const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
ofile.close ();
|
ofile.close ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlinfo ("loadForm(): Exception during saving the packed file, it will be recreated next launch (%s)", e.what());
|
nlinfo ("loadForm(): Exception during saving the packed file, it will be recreated next launch (%s)", e.what());
|
||||||
}
|
}
|
||||||
|
@ -925,7 +925,7 @@ void loadForm (const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
ifile.serialCont (container);
|
ifile.serialCont (container);
|
||||||
ifile.close ();
|
ifile.close ();
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
// clear the container because it can contains partially loaded sheet so we must clean it before continue
|
// clear the container because it can contains partially loaded sheet so we must clean it before continue
|
||||||
container.clear ();
|
container.clear ();
|
||||||
|
@ -1183,7 +1183,7 @@ void loadForm (const std::vector<std::string> &sheetFilters, const std::string &
|
||||||
ofile.close ();
|
ofile.close ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlinfo ("loadForm(): Exception during saving the packed file, it will be recreated next launch (%s)", e.what());
|
nlinfo ("loadForm(): Exception during saving the packed file, it will be recreated next launch (%s)", e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -261,7 +261,7 @@ inline bool loadXmlPrimitiveFile(CPrimitives &primDoc, const std::string &fileNa
|
||||||
// Read it
|
// Read it
|
||||||
return primDoc.read (xmlIn.getRootNode (), NLMISC::CFile::getFilename(fileName).c_str(), ligoConfig);
|
return primDoc.read (xmlIn.getRootNode (), NLMISC::CFile::getFilename(fileName).c_str(), ligoConfig);
|
||||||
}
|
}
|
||||||
catch(NLMISC::Exception e)
|
catch(const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("Error reading input file '%s': '%s'", fileName.c_str(), e.what());
|
nlwarning("Error reading input file '%s': '%s'", fileName.c_str(), e.what());
|
||||||
return false;
|
return false;
|
||||||
|
@ -294,7 +294,7 @@ inline bool saveXmlPrimitiveFile(CPrimitives &primDoc, const std::string &fileNa
|
||||||
|
|
||||||
// return xmlSaveFile(fileName.c_str(), xmlDoc) != -1;
|
// return xmlSaveFile(fileName.c_str(), xmlDoc) != -1;
|
||||||
}
|
}
|
||||||
catch(NLMISC::Exception e)
|
catch(const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("Error writing output file '%s': '%s'", fileName.c_str(), e.what());
|
nlwarning("Error writing output file '%s': '%s'", fileName.c_str(), e.what());
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -63,7 +63,7 @@ namespace NLMISC
|
||||||
* printf ("%d ", bar.asInt (i));
|
* printf ("%d ", bar.asInt (i));
|
||||||
* printf("\n");
|
* printf("\n");
|
||||||
* }
|
* }
|
||||||
* catch (EConfigFile &e)
|
* catch (const EConfigFile &e)
|
||||||
* {
|
* {
|
||||||
* // Something goes wrong... catch that
|
* // Something goes wrong... catch that
|
||||||
* printf ("%s\n", e.what ());
|
* printf ("%s\n", e.what ());
|
||||||
|
|
|
@ -238,11 +238,11 @@ namespace STRING_MANAGER
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool findCol(ucstring colName, uint &colIndex)
|
bool findCol(const ucstring &colName, uint &colIndex)
|
||||||
{
|
{
|
||||||
if (Data.empty())
|
if (Data.empty())
|
||||||
return false;
|
return false;
|
||||||
TWorksheet::TRow::iterator it = std::find(Data[0].begin(), Data[0].end(), ucstring(colName));
|
TWorksheet::TRow::iterator it = std::find(Data[0].begin(), Data[0].end(), colName);
|
||||||
if (it == Data[0].end())
|
if (it == Data[0].end())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ struct EXmlParsingError : public EStream
|
||||||
// File not found
|
// File not found
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
// Something wrong appends
|
// Something wrong appends
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ namespace NLMISC {
|
||||||
// Close the file
|
// Close the file
|
||||||
file.close ();
|
file.close ();
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
\endcode
|
\endcode
|
||||||
|
|
|
@ -524,7 +524,7 @@ namespace NLNET
|
||||||
// run the module task command control to module task method
|
// run the module task command control to module task method
|
||||||
(_Module->*_TaskMethod)();
|
(_Module->*_TaskMethod)();
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("In module task '%s', exception '%e' thrown", typeid(this).name(), e.what());
|
nlwarning("In module task '%s', exception '%e' thrown", typeid(this).name(), e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ CInstanceGroup* LoadInstanceGroup(const char* sFilename)
|
||||||
newIG->serial (file);
|
newIG->serial (file);
|
||||||
// All is good
|
// All is good
|
||||||
}
|
}
|
||||||
catch (Exception &)
|
catch (const Exception &)
|
||||||
{
|
{
|
||||||
// Cannot save the file
|
// Cannot save the file
|
||||||
delete newIG;
|
delete newIG;
|
||||||
|
|
|
@ -116,7 +116,7 @@ int main (int /* argc */, char ** /* argv */)
|
||||||
int val = cf.getVar ("unknown_variable").asInt();
|
int val = cf.getVar ("unknown_variable").asInt();
|
||||||
nlinfo("unknown_variable = %d", val);
|
nlinfo("unknown_variable = %d", val);
|
||||||
}
|
}
|
||||||
catch (EConfigFile &e)
|
catch (const EConfigFile &e)
|
||||||
{
|
{
|
||||||
nlinfo("something goes wrong with configfile: %s", e.what());
|
nlinfo("something goes wrong with configfile: %s", e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ int main (int /* argc */, char ** /* argv */)
|
||||||
{
|
{
|
||||||
nlerror ("nlerror() %d", 4);
|
nlerror ("nlerror() %d", 4);
|
||||||
}
|
}
|
||||||
catch(EFatalError &)
|
catch(const EFatalError &)
|
||||||
{
|
{
|
||||||
// just continue...
|
// just continue...
|
||||||
nlinfo ("nlerror() generated an EFatalError exception, just ignore it");
|
nlinfo ("nlerror() generated an EFatalError exception, just ignore it");
|
||||||
|
|
|
@ -109,7 +109,7 @@ int main (int argc, char **argv)
|
||||||
CInetAddress addr(LSHost+":3333");
|
CInetAddress addr(LSHost+":3333");
|
||||||
Client->connect(addr);
|
Client->connect(addr);
|
||||||
}
|
}
|
||||||
catch(ESocket &e)
|
catch(const ESocket &e)
|
||||||
{
|
{
|
||||||
printf("%s\n", e.what());
|
printf("%s\n", e.what());
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -101,7 +101,7 @@ public:
|
||||||
{
|
{
|
||||||
fsPort = IService::ConfigFile.getVar("FSPort").asInt();
|
fsPort = IService::ConfigFile.getVar("FSPort").asInt();
|
||||||
}
|
}
|
||||||
catch ( EUnknownVar& )
|
catch (const EUnknownVar&)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
_FServer.init(fsPort);
|
_FServer.init(fsPort);
|
||||||
|
@ -148,7 +148,7 @@ public:
|
||||||
{
|
{
|
||||||
fesPort = IService5::ConfigFile.getVar("FESPort").asInt();
|
fesPort = IService5::ConfigFile.getVar("FESPort").asInt();
|
||||||
}
|
}
|
||||||
catch ( EUnknownVar& )
|
catch (const EUnknownVar&)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ void cbInit (CMessage &msgin, TSockId from, CCallbackNetBase &netbase)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &)
|
catch (const Exception &)
|
||||||
{
|
{
|
||||||
// bad client version, disconnect it
|
// bad client version, disconnect it
|
||||||
CallbackServer->disconnect (from);
|
CallbackServer->disconnect (from);
|
||||||
|
@ -530,7 +530,7 @@ void handleReceivedPong (CClient *client, sint64 pongTime)
|
||||||
// init the UDP connection
|
// init the UDP connection
|
||||||
if (client == NULL)
|
if (client == NULL)
|
||||||
{
|
{
|
||||||
uint32 session;
|
uint32 session = 0;
|
||||||
msgin.serial (session);
|
msgin.serial (session);
|
||||||
|
|
||||||
// Find a new udp connection, find the linked
|
// Find a new udp connection, find the linked
|
||||||
|
@ -568,13 +568,13 @@ void handleReceivedPong (CClient *client, sint64 pongTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read the message
|
// Read the message
|
||||||
sint64 pingTime;
|
sint64 pingTime = 0;
|
||||||
msgin.serial(pingTime);
|
msgin.serial(pingTime);
|
||||||
|
|
||||||
uint32 pongNumber;
|
uint32 pongNumber = 0;
|
||||||
msgin.serial(pongNumber);
|
msgin.serial(pongNumber);
|
||||||
|
|
||||||
uint32 blockNumber;
|
uint32 blockNumber = 0;
|
||||||
msgin.serial(blockNumber);
|
msgin.serial(blockNumber);
|
||||||
|
|
||||||
// nlinfo ("receive a pong from %s pongnb %d %"NL_I64"d", CurrentInMsg->AddrFrom.asString().c_str(), pongNumber, pongTime - pingTime);
|
// nlinfo ("receive a pong from %s pongnb %d %"NL_I64"d", CurrentInMsg->AddrFrom.asString().c_str(), pongNumber, pongTime - pingTime);
|
||||||
|
@ -611,7 +611,7 @@ void sendPing ()
|
||||||
// send the new ping to the client
|
// send the new ping to the client
|
||||||
ReceiveTask->DataSock->sendTo (msgout.buffer(), size, GETCLIENTA(it)->Address);
|
ReceiveTask->DataSock->sendTo (msgout.buffer(), size, GETCLIENTA(it)->Address);
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning ("Can't send UDP packet to '%s' (%s)", GETCLIENTA(it)->Address.asString().c_str(), e.what());
|
nlwarning ("Can't send UDP packet to '%s' (%s)", GETCLIENTA(it)->Address.asString().c_str(), e.what());
|
||||||
}
|
}
|
||||||
|
@ -734,7 +734,7 @@ public:
|
||||||
updateStat ();
|
updateStat ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
nlerrornoex ("Exception not catched: '%s'", e.what());
|
nlerrornoex ("Exception not catched: '%s'", e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -232,7 +232,7 @@ void cbInit (CMessage &msgin, TSockId from, CCallbackNetBase &netbase)
|
||||||
{
|
{
|
||||||
UdpSock->connect( CInetAddress (ServerAddr, UDPPort) );
|
UdpSock->connect( CInetAddress (ServerAddr, UDPPort) );
|
||||||
}
|
}
|
||||||
catch ( Exception& e )
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
InfoLog->displayRawNL ("Cannot connect to remote UDP host '%s': %s", ServerAddr.c_str(), e.what() );
|
InfoLog->displayRawNL ("Cannot connect to remote UDP host '%s': %s", ServerAddr.c_str(), e.what() );
|
||||||
exit ("");
|
exit ("");
|
||||||
|
@ -291,7 +291,7 @@ int main( int argc, char **argv )
|
||||||
|
|
||||||
InfoLog->displayRawNL ("Waiting the server answer...");
|
InfoLog->displayRawNL ("Waiting the server answer...");
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
InfoLog->displayRawNL ("Can't connect to %s:%d (%s)\n", ServerAddr.c_str(), TCPPort, e.what());
|
InfoLog->displayRawNL ("Can't connect to %s:%d (%s)\n", ServerAddr.c_str(), TCPPort, e.what());
|
||||||
exit ("");
|
exit ("");
|
||||||
|
|
|
@ -108,7 +108,7 @@ void CReceiveTask::run()
|
||||||
DataSock->receivedFrom( _ReceivedMessage.userDataW(), _DatagramLength, _ReceivedMessage.AddrFrom );
|
DataSock->receivedFrom( _ReceivedMessage.userDataW(), _DatagramLength, _ReceivedMessage.AddrFrom );
|
||||||
d = CTime::getLocalTime ();
|
d = CTime::getLocalTime ();
|
||||||
}
|
}
|
||||||
catch ( ESocket& )
|
catch (const ESocket&)
|
||||||
{
|
{
|
||||||
// Remove the client corresponding to the address
|
// Remove the client corresponding to the address
|
||||||
_ReceivedMessage.setTypeEvent( TReceivedMessage::RemoveClient );
|
_ReceivedMessage.setTypeEvent( TReceivedMessage::RemoveClient );
|
||||||
|
|
|
@ -371,7 +371,7 @@ int main ()
|
||||||
// Remove mouse listener
|
// Remove mouse listener
|
||||||
pDriver->delete3dMouseListener (plistener);
|
pDriver->delete3dMouseListener (plistener);
|
||||||
}
|
}
|
||||||
catch (Exception& e)
|
catch (const Exception& e)
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
::MessageBox (NULL, e.what(), "Test collision move", MB_OK|MB_ICONEXCLAMATION);
|
::MessageBox (NULL, e.what(), "Test collision move", MB_OK|MB_ICONEXCLAMATION);
|
||||||
|
|
|
@ -85,7 +85,7 @@ void Init()
|
||||||
AudioMixer->getListener()->setOrientation( frontvec, upvec );
|
AudioMixer->getListener()->setOrientation( frontvec, upvec );
|
||||||
|
|
||||||
}
|
}
|
||||||
catch( Exception& e )
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
nlerror( "Error: %s", e.what() );
|
nlerror( "Error: %s", e.what() );
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,7 +227,7 @@ bool CAnimationSet::loadFromFiles(const std::string &path, bool recurse /* = tru
|
||||||
iFile.close();
|
iFile.close();
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (NLMISC::EStream &e)
|
catch (const NLMISC::EStream &e)
|
||||||
{
|
{
|
||||||
if (wantWarningMessage)
|
if (wantWarningMessage)
|
||||||
{
|
{
|
||||||
|
|
|
@ -338,7 +338,7 @@ void CAsyncFileManager3D::CMeshLoad::run()
|
||||||
// Finally affect the pointer (Trans-Thread operation -> this operation must be atomic)
|
// Finally affect the pointer (Trans-Thread operation -> this operation must be atomic)
|
||||||
*_ppShp = mesh.getShapePointer();
|
*_ppShp = mesh.getShapePointer();
|
||||||
}
|
}
|
||||||
catch(EPathNotFound &)
|
catch(const EPathNotFound &)
|
||||||
{
|
{
|
||||||
nlwarning ("Couldn't load '%s'", MeshName.c_str());
|
nlwarning ("Couldn't load '%s'", MeshName.c_str());
|
||||||
*_ppShp = (IShape*)-1;
|
*_ppShp = (IShape*)-1;
|
||||||
|
@ -382,7 +382,7 @@ void CAsyncFileManager3D::CIGLoad::run (void)
|
||||||
|
|
||||||
*_ppIG = pIG;
|
*_ppIG = pIG;
|
||||||
}
|
}
|
||||||
catch(EPathNotFound &)
|
catch(const EPathNotFound &)
|
||||||
{
|
{
|
||||||
nlwarning ("Couldn't load '%s'", _IGName.c_str());
|
nlwarning ("Couldn't load '%s'", _IGName.c_str());
|
||||||
*_ppIG = (CInstanceGroup*)-1;
|
*_ppIG = (CInstanceGroup*)-1;
|
||||||
|
@ -429,7 +429,7 @@ void CAsyncFileManager3D::CIGLoadUser::run (void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(EPathNotFound &)
|
catch(const EPathNotFound &)
|
||||||
{
|
{
|
||||||
nlwarning ("Couldn't load '%s'", _IGName.c_str());
|
nlwarning ("Couldn't load '%s'", _IGName.c_str());
|
||||||
delete pIG;
|
delete pIG;
|
||||||
|
|
|
@ -1600,7 +1600,7 @@ bool CDriverD3D::setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool r
|
||||||
_EventEmitter.addEmitter(diee, true);
|
_EventEmitter.addEmitter(diee, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(EDirectInput &e)
|
catch(const EDirectInput &e)
|
||||||
{
|
{
|
||||||
nlinfo(e.what());
|
nlinfo(e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -485,7 +485,7 @@ NLMISC::IMouseDevice* CDriverD3D::enableLowLevelMouse(bool enable, bool exclusiv
|
||||||
if (diee)
|
if (diee)
|
||||||
res = diee->getMouseDevice(exclusive);
|
res = diee->getMouseDevice(exclusive);
|
||||||
}
|
}
|
||||||
catch (EDirectInput &)
|
catch (const EDirectInput &)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -517,7 +517,7 @@ NLMISC::IKeyboardDevice* CDriverD3D::enableLowLevelKeyboard(bool enable)
|
||||||
if (diee)
|
if (diee)
|
||||||
res = diee->getKeyboardDevice();
|
res = diee->getKeyboardDevice();
|
||||||
}
|
}
|
||||||
catch (EDirectInput &)
|
catch (const EDirectInput &)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -561,7 +561,7 @@ uint CDriverD3D::getDoubleClickDelay(bool hardwareMouse)
|
||||||
{
|
{
|
||||||
md = diee->getMouseDevice(hardwareMouse);
|
md = diee->getMouseDevice(hardwareMouse);
|
||||||
}
|
}
|
||||||
catch (EDirectInput &)
|
catch (const EDirectInput &)
|
||||||
{
|
{
|
||||||
// could not get device ..
|
// could not get device ..
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
FILE(GLOB SRC *.cpp *.h *.def)
|
FILE(GLOB SRC *.cpp *.h *.def)
|
||||||
|
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
FILE(GLOB MAC_SRC mac/*.h mac/*.m mac/*.mm mac/*.cpp)
|
FILE(GLOB MAC_SRC mac/*.h mac/*.m mac/*.mm mac/*.cpp)
|
||||||
SET(SRC ${SRC} ${MAC_SRC})
|
SET(SRC ${SRC} ${MAC_SRC})
|
||||||
|
|
|
@ -20,22 +20,67 @@
|
||||||
|
|
||||||
#include "nel/misc/types_nl.h"
|
#include "nel/misc/types_nl.h"
|
||||||
|
|
||||||
#ifdef NL_OS_MAC
|
#ifdef USE_OPENGLES
|
||||||
|
# include <GLES/gl.h>
|
||||||
|
# include <GLES/glext.h>
|
||||||
|
#else
|
||||||
|
# ifdef NL_OS_MAC
|
||||||
# define GL_GLEXT_LEGACY
|
# define GL_GLEXT_LEGACY
|
||||||
# include <OpenGL/gl.h>
|
# include <OpenGL/gl.h>
|
||||||
# include "mac/glext.h"
|
# include "mac/glext.h"
|
||||||
#else
|
# else
|
||||||
# include <GL/gl.h>
|
# include <GL/gl.h>
|
||||||
# include <GL/glext.h> // Please download it from http://www.opengl.org/registry/
|
# include <GL/glext.h>
|
||||||
# if defined(NL_OS_WINDOWS)
|
# if defined(NL_OS_WINDOWS)
|
||||||
# include <GL/wglext.h>
|
# include <GL/wglext.h>
|
||||||
# endif
|
# endif
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef USE_OPENGLES
|
||||||
|
// OES_mapbuffer
|
||||||
|
//==============
|
||||||
|
typedef void* (APIENTRY * NEL_PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
|
||||||
|
typedef GLboolean (APIENTRY * NEL_PFNGLUNMAPBUFFEROESPROC) (GLenum target);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
|
||||||
|
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
|
||||||
|
|
||||||
|
// GL_OES_framebuffer_object
|
||||||
|
//==================================
|
||||||
|
typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
|
||||||
|
typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
|
||||||
|
typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
|
||||||
|
|
||||||
|
// GL_OES_texture_cube_map
|
||||||
|
//==================================
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
|
||||||
|
typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
|
||||||
|
#endif
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// The NEL Functions Typedefs.
|
// The NEL Functions Typedefs.
|
||||||
|
|
|
@ -684,7 +684,7 @@ NLMISC::IMouseDevice* CDriverGL::enableLowLevelMouse(bool enable, bool exclusive
|
||||||
if (diee)
|
if (diee)
|
||||||
res = diee->getMouseDevice(exclusive);
|
res = diee->getMouseDevice(exclusive);
|
||||||
}
|
}
|
||||||
catch (EDirectInput &)
|
catch (const EDirectInput &)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -722,7 +722,7 @@ NLMISC::IKeyboardDevice* CDriverGL::enableLowLevelKeyboard(bool enable)
|
||||||
if (diee)
|
if (diee)
|
||||||
res = diee->getKeyboardDevice();
|
res = diee->getKeyboardDevice();
|
||||||
}
|
}
|
||||||
catch (EDirectInput &)
|
catch (const EDirectInput &)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -778,7 +778,7 @@ uint CDriverGL::getDoubleClickDelay(bool hardwareMouse)
|
||||||
{
|
{
|
||||||
md = diee->getMouseDevice(hardwareMouse);
|
md = diee->getMouseDevice(hardwareMouse);
|
||||||
}
|
}
|
||||||
catch (EDirectInput &)
|
catch (const EDirectInput &)
|
||||||
{
|
{
|
||||||
// could not get device ..
|
// could not get device ..
|
||||||
}
|
}
|
||||||
|
|
|
@ -819,7 +819,7 @@ void CDriverGL::setupLightMapPass(uint pass)
|
||||||
// fallBack if extension MulAdd not found. just mul factor with (Ambient+Diffuse)
|
// fallBack if extension MulAdd not found. just mul factor with (Ambient+Diffuse)
|
||||||
if(_LightMapNoMulAddFallBack)
|
if(_LightMapNoMulAddFallBack)
|
||||||
{
|
{
|
||||||
// do not use consant color to blend lightmap, but incoming diffuse color, for stage0 only.
|
// do not use constant color to blend lightmap, but incoming diffuse color, for stage0 only.
|
||||||
GLfloat glcol[4];
|
GLfloat glcol[4];
|
||||||
convColor(lmapFactor, glcol);
|
convColor(lmapFactor, glcol);
|
||||||
_DriverGLStates.setEmissive(lmapFactor.getPacked(), glcol);
|
_DriverGLStates.setEmissive(lmapFactor.getPacked(), glcol);
|
||||||
|
@ -2191,7 +2191,7 @@ static const float IdentityTexMat[4] = { 1.f, 0.f, 0.f, 1.f };
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CDriverGL::setupWaterPassNV20(const CMaterial &mat)
|
void CDriverGL::setupWaterPassNV20(const CMaterial &mat)
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(CDriverGL_setupWaterPassNV20)
|
H_AUTO_OGL(CDriverGL_setupWaterPassNV20);
|
||||||
|
|
||||||
#ifndef USE_OPENGLES
|
#ifndef USE_OPENGLES
|
||||||
static bool setupDone = false;
|
static bool setupDone = false;
|
||||||
|
|
|
@ -201,7 +201,7 @@ bool CTextureDrvInfosGL::initFrameBufferObject(ITexture * tex)
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
nlwarning("Framebuffer incomplete\n");
|
nlwarning("Framebuffer incomplete status %d", (sint)status);
|
||||||
//nlassert(0);
|
//nlassert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -505,7 +505,7 @@ static inline GLenum translateMinFilterToGl(CTextureDrvInfosGL *glText)
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
static inline bool sameDXTCFormat(ITexture &tex, GLint glfmt)
|
static inline bool sameDXTCFormat(ITexture &tex, GLint glfmt)
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(sameDXTCFormat)
|
H_AUTO_OGL(sameDXTCFormat);
|
||||||
if(glfmt==GL_COMPRESSED_RGB_S3TC_DXT1_EXT && tex.PixelFormat==CBitmap::DXTC1)
|
if(glfmt==GL_COMPRESSED_RGB_S3TC_DXT1_EXT && tex.PixelFormat==CBitmap::DXTC1)
|
||||||
return true;
|
return true;
|
||||||
if(glfmt==GL_COMPRESSED_RGBA_S3TC_DXT1_EXT && tex.PixelFormat==CBitmap::DXTC1Alpha)
|
if(glfmt==GL_COMPRESSED_RGBA_S3TC_DXT1_EXT && tex.PixelFormat==CBitmap::DXTC1Alpha)
|
||||||
|
@ -521,7 +521,7 @@ static inline bool sameDXTCFormat(ITexture &tex, GLint glfmt)
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
static inline bool isDXTCFormat(GLint glfmt)
|
static inline bool isDXTCFormat(GLint glfmt)
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(isDXTCFormat)
|
H_AUTO_OGL(isDXTCFormat);
|
||||||
if(glfmt==GL_COMPRESSED_RGB_S3TC_DXT1_EXT)
|
if(glfmt==GL_COMPRESSED_RGB_S3TC_DXT1_EXT)
|
||||||
return true;
|
return true;
|
||||||
if(glfmt==GL_COMPRESSED_RGBA_S3TC_DXT1_EXT)
|
if(glfmt==GL_COMPRESSED_RGBA_S3TC_DXT1_EXT)
|
||||||
|
|
|
@ -113,7 +113,7 @@ protected:
|
||||||
bool _Invalid;
|
bool _Invalid;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef USE_OPENGLES
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
@ -456,6 +456,8 @@ public:
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// ARB_vertex_buffer_object implementation
|
// ARB_vertex_buffer_object implementation
|
||||||
|
@ -553,6 +555,11 @@ private:
|
||||||
CVertexArrayRangeARB *_VertexArrayRange;
|
CVertexArrayRangeARB *_VertexArrayRange;
|
||||||
CVertexBuffer::TPreferredMemory _MemType;
|
CVertexBuffer::TPreferredMemory _MemType;
|
||||||
void *_VertexPtr; // pointer on current datas. Null if not locked
|
void *_VertexPtr; // pointer on current datas. Null if not locked
|
||||||
|
#ifdef USE_OPENGLES
|
||||||
|
uint8 *_Buffer;
|
||||||
|
uint32 _BufferSize;
|
||||||
|
uint32 _LastBufferSize;
|
||||||
|
#endif
|
||||||
// if buffer has been invalidated, returns a dummy memory block and silently fails rendering
|
// if buffer has been invalidated, returns a dummy memory block and silently fails rendering
|
||||||
std::vector<uint8> _DummyVB;
|
std::vector<uint8> _DummyVB;
|
||||||
// for use by CVertexArrayRangeARB
|
// for use by CVertexArrayRangeARB
|
||||||
|
|
|
@ -309,7 +309,7 @@ static uint convInputRegisterToVBFlag(uint index)
|
||||||
// For debugging with swizzling
|
// For debugging with swizzling
|
||||||
static void doSwizzle(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
|
static void doSwizzle(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(doSwizzle)
|
H_AUTO_OGL(doSwizzle);
|
||||||
nglSwizzleEXT(res, in, outX, outY, outZ, outW);
|
nglSwizzleEXT(res, in, outX, outY, outZ, outW);
|
||||||
#ifdef DEBUG_SETUP_EXT_VERTEX_SHADER
|
#ifdef DEBUG_SETUP_EXT_VERTEX_SHADER
|
||||||
std::string swzStr = "Swizzle : ";
|
std::string swzStr = "Swizzle : ";
|
||||||
|
@ -359,7 +359,7 @@ static void doSwizzle(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum ou
|
||||||
// Perform write mask and output de bug information
|
// Perform write mask and output de bug information
|
||||||
static void doWriteMask(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
|
static void doWriteMask(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(doWriteMask)
|
H_AUTO_OGL(doWriteMask);
|
||||||
nglWriteMaskEXT(res, in, outX, outY, outZ, outW);
|
nglWriteMaskEXT(res, in, outX, outY, outZ, outW);
|
||||||
#ifdef DEBUG_SETUP_EXT_VERTEX_SHADER
|
#ifdef DEBUG_SETUP_EXT_VERTEX_SHADER
|
||||||
nlinfo("3D: Write Mask : %c%c%c%c",
|
nlinfo("3D: Write Mask : %c%c%c%c",
|
||||||
|
@ -376,7 +376,7 @@ static void doWriteMask(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum
|
||||||
*/
|
*/
|
||||||
bool CDriverGL::setupEXTVertexShader(const CVPParser::TProgram &program, GLuint id, uint variants[EVSNumVariants], uint16 &usedInputRegisters)
|
bool CDriverGL::setupEXTVertexShader(const CVPParser::TProgram &program, GLuint id, uint variants[EVSNumVariants], uint16 &usedInputRegisters)
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(CDriverGL_setupEXTVertexShader)
|
H_AUTO_OGL(CDriverGL_setupEXTVertexShader);
|
||||||
// counter to see what is generated
|
// counter to see what is generated
|
||||||
uint numOp = 0;
|
uint numOp = 0;
|
||||||
uint numOpIndex = 0;
|
uint numOpIndex = 0;
|
||||||
|
@ -1440,6 +1440,14 @@ bool CDriverGL::setupARBVertexProgram (const CVPParser::TProgram &inParsedProgra
|
||||||
nlassert(0);
|
nlassert(0);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef NL_OS_MAC
|
||||||
|
// Wait for GPU to finish program upload, else draw comands might crash.
|
||||||
|
// Happened to CVegetableBlendLayerModel (glDrawElements()).
|
||||||
|
// For more information, see http://dev.ryzom.com/issues/1006
|
||||||
|
glFinish();
|
||||||
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -374,18 +374,25 @@ bool CDriverGL::init (uint windowIcon, emptyProc exitFunc)
|
||||||
}
|
}
|
||||||
#endif // HAVE_XRENDER
|
#endif // HAVE_XRENDER
|
||||||
|
|
||||||
|
nldebug("3D: Available X Extensions:");
|
||||||
|
|
||||||
|
if (DebugLog)
|
||||||
|
{
|
||||||
// list all supported extensions
|
// list all supported extensions
|
||||||
sint nextensions = 0;
|
sint nextensions = 0;
|
||||||
char **extensions = XListExtensions(_dpy, &nextensions);
|
char **extensions = XListExtensions(_dpy, &nextensions);
|
||||||
|
|
||||||
std::string exts;
|
|
||||||
|
|
||||||
for(sint i = 0; i < nextensions; ++i)
|
for(sint i = 0; i < nextensions; ++i)
|
||||||
exts += NLMISC::toString(" %s", extensions[i]);
|
{
|
||||||
|
if(i%5==0) DebugLog->displayRaw("3D: ");
|
||||||
|
DebugLog->displayRaw(NLMISC::toString("%s ", extensions[i]).c_str());
|
||||||
|
if(i%5==4) DebugLog->displayRaw("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
DebugLog->displayRaw("\n");
|
||||||
|
|
||||||
XFreeExtensionList(extensions);
|
XFreeExtensionList(extensions);
|
||||||
|
}
|
||||||
nlinfo("X Extensions:%s", exts.c_str());
|
|
||||||
|
|
||||||
// set default X errors handler
|
// set default X errors handler
|
||||||
XSetErrorHandler(nelXErrorsHandler);
|
XSetErrorHandler(nelXErrorsHandler);
|
||||||
|
@ -906,7 +913,6 @@ bool CDriverGL::setDisplay(nlWindow wnd, const GfxMode &mode, bool show, bool re
|
||||||
_hRC=wglCreateContext(_hDC);
|
_hRC=wglCreateContext(_hDC);
|
||||||
|
|
||||||
wglMakeCurrent(_hDC,_hRC);
|
wglMakeCurrent(_hDC,_hRC);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// release old emitter
|
/// release old emitter
|
||||||
|
@ -929,7 +935,7 @@ bool CDriverGL::setDisplay(nlWindow wnd, const GfxMode &mode, bool show, bool re
|
||||||
_EventEmitter.addEmitter(diee, true);
|
_EventEmitter.addEmitter(diee, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(EDirectInput &e)
|
catch(const EDirectInput &e)
|
||||||
{
|
{
|
||||||
nlinfo(e.what());
|
nlinfo(e.what());
|
||||||
}
|
}
|
||||||
|
@ -1577,7 +1583,7 @@ bool CDriverGL::destroyWindow()
|
||||||
|
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
if(_DestroyWindow)
|
if (_DestroyWindow)
|
||||||
{
|
{
|
||||||
[[containerView() window] release];
|
[[containerView() window] release];
|
||||||
[containerView() release];
|
[containerView() release];
|
||||||
|
@ -2297,7 +2303,7 @@ emptyProc CDriverGL::getWindowProc()
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
bool CDriverGL::activate()
|
bool CDriverGL::activate()
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(CDriverGL_activate)
|
H_AUTO_OGL(CDriverGL_activate);
|
||||||
|
|
||||||
if (_win == EmptyWindow)
|
if (_win == EmptyWindow)
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -359,7 +359,7 @@ bool CCocoaEventEmitter::processMessage(NSEvent* event, CEventServer* server)
|
||||||
// push the key press event to the event server
|
// push the key press event to the event server
|
||||||
server->postEvent(new NLMISC::CEventKeyDown(
|
server->postEvent(new NLMISC::CEventKeyDown(
|
||||||
virtualKeycodeToNelKey([event keyCode]),
|
virtualKeycodeToNelKey([event keyCode]),
|
||||||
modifierFlagsToNelKeyButton([event modifierFlags]),
|
modifiers,
|
||||||
[event isARepeat] == NO, this));
|
[event isARepeat] == NO, this));
|
||||||
|
|
||||||
// if this was a text event
|
// if this was a text event
|
||||||
|
@ -372,7 +372,7 @@ bool CCocoaEventEmitter::processMessage(NSEvent* event, CEventServer* server)
|
||||||
|
|
||||||
// push the text event to event server as well
|
// push the text event to event server as well
|
||||||
server->postEvent(new NLMISC::CEventChar(
|
server->postEvent(new NLMISC::CEventChar(
|
||||||
ucstr[0], NLMISC::noKeyButton, this));
|
ucstr[0], modifiers, this));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -381,7 +381,7 @@ bool CCocoaEventEmitter::processMessage(NSEvent* event, CEventServer* server)
|
||||||
// push the key release event to the event server
|
// push the key release event to the event server
|
||||||
server->postEvent(new NLMISC::CEventKeyUp(
|
server->postEvent(new NLMISC::CEventKeyUp(
|
||||||
virtualKeycodeToNelKey([event keyCode]),
|
virtualKeycodeToNelKey([event keyCode]),
|
||||||
modifierFlagsToNelKeyButton([event modifierFlags]), this));
|
modifiers, this));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NSFlagsChanged:break;
|
case NSFlagsChanged:break;
|
||||||
|
|
|
@ -1746,7 +1746,7 @@ void CDriverUser::loadHLSBank(const std::string &fileName)
|
||||||
throw EPathNotFound(path);
|
throw EPathNotFound(path);
|
||||||
fIn.serial(*hlsBank);
|
fIn.serial(*hlsBank);
|
||||||
}
|
}
|
||||||
catch(Exception &)
|
catch(const Exception &)
|
||||||
{
|
{
|
||||||
delete hlsBank;
|
delete hlsBank;
|
||||||
throw;
|
throw;
|
||||||
|
|
|
@ -121,7 +121,7 @@ bool CInstanceGroupUser::init (const std::string &instanceGroup, bool async)
|
||||||
// Read the class
|
// Read the class
|
||||||
_InstanceGroup.serial (file);
|
_InstanceGroup.serial (file);
|
||||||
}
|
}
|
||||||
catch (EStream& e)
|
catch (const EStream& e)
|
||||||
{
|
{
|
||||||
// Avoid visual warning
|
// Avoid visual warning
|
||||||
EStream ee=e;
|
EStream ee=e;
|
||||||
|
|
|
@ -283,7 +283,7 @@ void CLandscapeUser::refreshZonesAround(const CVector &pos, float radius, std::s
|
||||||
{
|
{
|
||||||
_Landscape->Landscape.checkBinds(Work.Zone->getZoneId());
|
_Landscape->Landscape.checkBinds(Work.Zone->getZoneId());
|
||||||
}
|
}
|
||||||
catch (EBadBind &e)
|
catch (const EBadBind &e)
|
||||||
{
|
{
|
||||||
nlwarning ("Bind error : %s", e.what());
|
nlwarning ("Bind error : %s", e.what());
|
||||||
nlstopex(("Zone Data Bind Error. Please send a report. You may continue but it should crash!"));
|
nlstopex(("Zone Data Bind Error. Please send a report. You may continue but it should crash!"));
|
||||||
|
|
|
@ -1291,7 +1291,7 @@ bool CPSConstraintMesh::update(std::vector<sint> *numVertsVect /*= NULL*/)
|
||||||
{
|
{
|
||||||
_ModelBank->load(_MeshShapeFileName[k]);
|
_ModelBank->load(_MeshShapeFileName[k]);
|
||||||
}
|
}
|
||||||
catch (NLMISC::EPathNotFound &)
|
catch (const NLMISC::EPathNotFound &)
|
||||||
{
|
{
|
||||||
nlwarning("mesh not found : %s; used as a constraint mesh particle", _MeshShapeFileName[k].c_str());
|
nlwarning("mesh not found : %s; used as a constraint mesh particle", _MeshShapeFileName[k].c_str());
|
||||||
// shape not found, so not present in the shape bank -> we create a dummy shape
|
// shape not found, so not present in the shape bank -> we create a dummy shape
|
||||||
|
|
|
@ -93,7 +93,7 @@ bool CShader::loadShaderFile (const char *filename)
|
||||||
nlwarning ("Can't open the file %s for reading", _filename.c_str());
|
nlwarning ("Can't open the file %s for reading", _filename.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning ("Error while reading %s : %s", _filename.c_str(), e.what());
|
nlwarning ("Error while reading %s : %s", _filename.c_str(), e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,12 +50,12 @@ static inline void GetTextureSize(ITexture *tex, uint &width, uint &height)
|
||||||
width = srcWidth;
|
width = srcWidth;
|
||||||
height = srcHeight;
|
height = srcHeight;
|
||||||
}
|
}
|
||||||
catch (NLMISC::EPathNotFound &e)
|
catch (const NLMISC::EPathNotFound &e)
|
||||||
{
|
{
|
||||||
nlinfo("%s", e.what());
|
nlinfo("%s", e.what());
|
||||||
width = height = 0;
|
width = height = 0;
|
||||||
}
|
}
|
||||||
catch (NLMISC::EStream &e)
|
catch (const NLMISC::EStream &e)
|
||||||
{
|
{
|
||||||
nlinfo("unable to load size from a bitmap ! name = %s", tf->getFileName().c_str());
|
nlinfo("unable to load size from a bitmap ! name = %s", tf->getFileName().c_str());
|
||||||
nlinfo("reason = %s", e.what());
|
nlinfo("reason = %s", e.what());
|
||||||
|
|
|
@ -1573,7 +1573,7 @@ void CTileSet::loadTileVegetableDesc()
|
||||||
// load the TileVegetableDesc
|
// load the TileVegetableDesc
|
||||||
f.serial(_TileVegetableDesc);
|
f.serial(_TileVegetableDesc);
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
nlinfo("Error loading TileVegetableDesc: %s", e.what());
|
nlinfo("Error loading TileVegetableDesc: %s", e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -816,7 +816,7 @@ CVegetableShape *CVegetableManager::getVegetableShape(const std::string &shap
|
||||||
ret = NULL;
|
ret = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
// Warning
|
// Warning
|
||||||
nlwarning ("CVegetableManager::getVegetableShape error while loading shape file '%s' : '%s'", shape.c_str (), e.what ());
|
nlwarning ("CVegetableManager::getVegetableShape error while loading shape file '%s' : '%s'", shape.c_str (), e.what ());
|
||||||
|
|
|
@ -844,7 +844,7 @@ void SaveZBuffer (CZoneLighter::CZBuffer &zbuffer, const char *filename)
|
||||||
// Save it
|
// Save it
|
||||||
bitmap.writeJPG (outputZFile, 128);
|
bitmap.writeJPG (outputZFile, 128);
|
||||||
}
|
}
|
||||||
catch (Exception& except)
|
catch (const Exception& except)
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
nlwarning ("ERROR writing %s: %s\n", filename, except.what());
|
nlwarning ("ERROR writing %s: %s\n", filename, except.what());
|
||||||
|
@ -3080,13 +3080,13 @@ void CZoneLighter::lightWater(CWaterShape &ws, const CMatrix &MT, const CLightDe
|
||||||
diffuseTex->writeTGA(of, 24);
|
diffuseTex->writeTGA(of, 24);
|
||||||
of.close();
|
of.close();
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &)
|
catch (const NLMISC::Exception &)
|
||||||
{
|
{
|
||||||
nlwarning("Zone lighter : while lighting a water shape, writing %s failed! ", texFileName.c_str());
|
nlwarning("Zone lighter : while lighting a water shape, writing %s failed! ", texFileName.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(NLMISC::Exception &e)
|
catch(const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("Water shape lighting failed !");
|
nlwarning("Water shape lighting failed !");
|
||||||
nlwarning(e.what());
|
nlwarning(e.what());
|
||||||
|
|
|
@ -105,7 +105,7 @@ CType *CFormLoader::loadType (const char *filename)
|
||||||
type = NULL;
|
type = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
// Output error
|
// Output error
|
||||||
warning (false, "loadType", "Error while loading the form (%s): %s", filename, e.what());
|
warning (false, "loadType", "Error while loading the form (%s): %s", filename, e.what());
|
||||||
|
@ -179,7 +179,7 @@ CFormDfn *CFormLoader::loadFormDfn (const char *filename, bool forceLoad)
|
||||||
_MapFormDfn.erase (lowerStr);
|
_MapFormDfn.erase (lowerStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
// Output error
|
// Output error
|
||||||
warning (false, "loadFormDfn", "Error while loading the form (%s): %s", filename, e.what());
|
warning (false, "loadFormDfn", "Error while loading the form (%s): %s", filename, e.what());
|
||||||
|
@ -276,7 +276,7 @@ UForm *CFormLoader::loadForm (const char *filename)
|
||||||
_MapForm.erase (lowerStr);
|
_MapForm.erase (lowerStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
// Output error
|
// Output error
|
||||||
warning (false, "loadForm", "Error while loading the form (%s): %s", filename, e.what());
|
warning (false, "loadForm", "Error while loading the form (%s): %s", filename, e.what());
|
||||||
|
|
|
@ -220,7 +220,7 @@ bool CLigoConfig::readPrimitiveClass (const char *_fileName, bool parsePrimitive
|
||||||
syntaxError (filename.c_str(), root, "Wrong root node, should be NEL_LIGO_PRIMITIVE_CLASS");
|
syntaxError (filename.c_str(), root, "Wrong root node, should be NEL_LIGO_PRIMITIVE_CLASS");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
errorMessage ("File read error (%s):%s", filename.c_str(), e.what ());
|
errorMessage ("File read error (%s):%s", filename.c_str(), e.what ());
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ void CZoneBank::debugSaveInit (CZoneBankElement &zbeTmp, const string &fileName)
|
||||||
output.init (&fileOut);
|
output.init (&fileOut);
|
||||||
zbeTmp.serial (output);
|
zbeTmp.serial (output);
|
||||||
}
|
}
|
||||||
catch (Exception& /*e*/)
|
catch (const Exception& /*e*/)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -541,7 +541,7 @@ bool CZoneBank::addElement (const std::string &elementName, std::string &error)
|
||||||
error = "Can't open file " + elementName;
|
error = "Can't open file " + elementName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception& e)
|
catch (const Exception& e)
|
||||||
{
|
{
|
||||||
error = "Error while loading ligozone "+elementName+" : "+e.what();
|
error = "Error while loading ligozone "+elementName+" : "+e.what();
|
||||||
}
|
}
|
||||||
|
|
|
@ -188,7 +188,7 @@ bool ICommand::execute (const std::string &commandWithArgs, CLog &log, bool quie
|
||||||
{
|
{
|
||||||
return CCommandRegistry::getInstance().execute(commandWithArgs, log, quiet, human);
|
return CCommandRegistry::getInstance().execute(commandWithArgs, log, quiet, human);
|
||||||
}
|
}
|
||||||
catch(exception e)
|
catch(const exception &e)
|
||||||
{
|
{
|
||||||
log.displayNL("Command '%s' thrown an exception :", commandWithArgs.c_str());
|
log.displayNL("Command '%s' thrown an exception :", commandWithArgs.c_str());
|
||||||
log.displayNL(e.what());
|
log.displayNL(e.what());
|
||||||
|
|
|
@ -27,7 +27,10 @@ using namespace NLMISC;
|
||||||
#define YY_NEVER_INTERACTIVE 1
|
#define YY_NEVER_INTERACTIVE 1
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
|
#define YY_NO_UNISTD_H 1
|
||||||
|
#include <io.h>
|
||||||
#define read _read
|
#define read _read
|
||||||
|
#define isatty _isatty
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Types */
|
/* Types */
|
||||||
|
@ -122,6 +125,12 @@ string \"[^\"\n]*\"
|
||||||
if (!cf_Ignore)
|
if (!cf_Ignore)
|
||||||
{
|
{
|
||||||
cflval.Val.Type = T_STRING;
|
cflval.Val.Type = T_STRING;
|
||||||
|
if (strlen(yytext+1) >= sizeof(cflval.Val.String))
|
||||||
|
{
|
||||||
|
strcpy (cflval.Val.String, "");
|
||||||
|
DEBUG_PRINTF("lex: string '%s' exceeds max length\n", yytext);
|
||||||
|
return STRING;
|
||||||
|
}
|
||||||
strcpy (cflval.Val.String, yytext+1);
|
strcpy (cflval.Val.String, yytext+1);
|
||||||
cflval.Val.String[strlen(cflval.Val.String)-1] = '\0';
|
cflval.Val.String[strlen(cflval.Val.String)-1] = '\0';
|
||||||
DEBUG_PRINTF("lex: string '%s' '%s'\n", yytext, cflval.Val.String);
|
DEBUG_PRINTF("lex: string '%s' '%s'\n", yytext, cflval.Val.String);
|
||||||
|
@ -133,6 +142,12 @@ string \"[^\"\n]*\"
|
||||||
if (!cf_Ignore)
|
if (!cf_Ignore)
|
||||||
{
|
{
|
||||||
cflval.Val.Type = T_STRING;
|
cflval.Val.Type = T_STRING;
|
||||||
|
if (strlen(yytext+1) >= sizeof(cflval.Val.String))
|
||||||
|
{
|
||||||
|
strcpy (cflval.Val.String, "");
|
||||||
|
DEBUG_PRINTF("lex: string '%s' exceeds max length\n", yytext);
|
||||||
|
return VARIABLE;
|
||||||
|
}
|
||||||
strcpy (cflval.Val.String, yytext);
|
strcpy (cflval.Val.String, yytext);
|
||||||
DEBUG_PRINTF("lex: variable '%s' '%s'\n", yytext, cflval.Val.String);
|
DEBUG_PRINTF("lex: variable '%s' '%s'\n", yytext, cflval.Val.String);
|
||||||
return VARIABLE;
|
return VARIABLE;
|
||||||
|
|
|
@ -832,7 +832,7 @@ void CConfigFile::checkConfigFiles ()
|
||||||
{
|
{
|
||||||
(*it)->reparse ();
|
(*it)->reparse ();
|
||||||
}
|
}
|
||||||
catch (EConfigFile &e)
|
catch (const EConfigFile &e)
|
||||||
{
|
{
|
||||||
nlwarning ("CF: Exception will re-read modified config file '%s': %s", (*it)->getFilename().c_str(), e.what ());
|
nlwarning ("CF: Exception will re-read modified config file '%s': %s", (*it)->getFilename().c_str(), e.what ());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1016,7 +1016,7 @@ void getCallStack(std::string &result, sint skipNFirst)
|
||||||
array[0] = skipNFirst;
|
array[0] = skipNFirst;
|
||||||
RaiseException (0xACE0ACE, 0, 1, array);
|
RaiseException (0xACE0ACE, 0, 1, array);
|
||||||
}
|
}
|
||||||
catch (EDebug &e)
|
catch (const EDebug &e)
|
||||||
{
|
{
|
||||||
result += e.what();
|
result += e.what();
|
||||||
}
|
}
|
||||||
|
@ -1051,7 +1051,7 @@ void getCallStackAndLog (string &result, sint /* skipNFirst */)
|
||||||
// array[0] = skipNFirst;
|
// array[0] = skipNFirst;
|
||||||
// RaiseException (0xACE0ACE, 0, 1, array);
|
// RaiseException (0xACE0ACE, 0, 1, array);
|
||||||
// }
|
// }
|
||||||
// catch (EDebug &e)
|
// catch (const EDebug &e)
|
||||||
// {
|
// {
|
||||||
// result += e.what();
|
// result += e.what();
|
||||||
// }
|
// }
|
||||||
|
|
|
@ -84,7 +84,7 @@ bool loadStringFile(const std::string filename, vector<TStringInfo> &stringInfos
|
||||||
buffer = new uint8[size];
|
buffer = new uint8[size];
|
||||||
fp.serialBuffer(buffer, size);
|
fp.serialBuffer(buffer, size);
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
nlinfo("Can't open file [%s] (%s)\n", filename.c_str(), e.what());
|
nlinfo("Can't open file [%s] (%s)\n", filename.c_str(), e.what());
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -120,7 +120,7 @@ void IDisplayer::display ( const CLog::TDisplayInfo& args, const char *message )
|
||||||
{
|
{
|
||||||
doDisplay( args, message );
|
doDisplay( args, message );
|
||||||
}
|
}
|
||||||
catch (Exception &)
|
catch (const Exception &)
|
||||||
{
|
{
|
||||||
// silence
|
// silence
|
||||||
}
|
}
|
||||||
|
|
|
@ -365,7 +365,7 @@ void CIFile::getline (char *buffer, uint32 bufferSize)
|
||||||
// read one byte
|
// read one byte
|
||||||
serialBuffer ((uint8 *)buffer, 1);
|
serialBuffer ((uint8 *)buffer, 1);
|
||||||
}
|
}
|
||||||
catch (EFile &)
|
catch (const EFile &)
|
||||||
{
|
{
|
||||||
*buffer = '\0';
|
*buffer = '\0';
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -419,7 +419,7 @@ namespace NLMISC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(EStream &)
|
catch(const EStream &)
|
||||||
{
|
{
|
||||||
nlwarning("CInterWindowMsgQueue : Bad message format in inter window communication");
|
nlwarning("CInterWindowMsgQueue : Bad message format in inter window communication");
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,15 +66,20 @@ namespace NLMISC {
|
||||||
vector<string> splitted;
|
vector<string> splitted;
|
||||||
explode(string(buffer), string("\n"), splitted, true);
|
explode(string(buffer), string("\n"), splitted, true);
|
||||||
|
|
||||||
|
std::string value;
|
||||||
|
|
||||||
for(uint32 i = 0; i < splitted.size(); i++)
|
for(uint32 i = 0; i < splitted.size(); i++)
|
||||||
{
|
{
|
||||||
vector<string> sline;
|
vector<string> sline;
|
||||||
explode(splitted[i], string(":"), sline, true);
|
explode(splitted[i], string(":"), sline, true);
|
||||||
if(sline.size() == 2 && trim(sline[0]) == colname)
|
if(sline.size() == 2 && trim(sline[0]) == colname)
|
||||||
{
|
{
|
||||||
return trim(sline[1]);
|
value = sline[1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!value.empty())
|
||||||
|
return trim(value);
|
||||||
}
|
}
|
||||||
nlwarning ("SI: Can't find the colname '%s' in /proc/cpuinfo", colname.c_str());
|
nlwarning ("SI: Can't find the colname '%s' in /proc/cpuinfo", colname.c_str());
|
||||||
return "";
|
return "";
|
||||||
|
@ -805,6 +810,9 @@ string CSystemInfo::getProc ()
|
||||||
|
|
||||||
#elif defined NL_OS_UNIX
|
#elif defined NL_OS_UNIX
|
||||||
|
|
||||||
|
uint processors = 0;
|
||||||
|
if (fromString(getCpuInfo("processor"), processors)) ++processors;
|
||||||
|
|
||||||
ProcString = getCpuInfo("model name");
|
ProcString = getCpuInfo("model name");
|
||||||
ProcString += " / ?";
|
ProcString += " / ?";
|
||||||
ProcString += " Family " + getCpuInfo("cpu family");
|
ProcString += " Family " + getCpuInfo("cpu family");
|
||||||
|
@ -815,7 +823,7 @@ string CSystemInfo::getProc ()
|
||||||
ProcString += " / ";
|
ProcString += " / ";
|
||||||
ProcString += getCpuInfo("cpu MHz")+"MHz";
|
ProcString += getCpuInfo("cpu MHz")+"MHz";
|
||||||
ProcString += " / ";
|
ProcString += " / ";
|
||||||
ProcString += "? Processors found";
|
ProcString += toString("%u Processors found", processors);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ bool CWordsDictionary::init( const string& configFileName )
|
||||||
cf.load( configFileName );
|
cf.load( configFileName );
|
||||||
cfFound = true;
|
cfFound = true;
|
||||||
}
|
}
|
||||||
catch ( EConfigFile& e )
|
catch (const EConfigFile &e)
|
||||||
{
|
{
|
||||||
nlwarning( "WD: %s", e.what() );
|
nlwarning( "WD: %s", e.what() );
|
||||||
}
|
}
|
||||||
|
|
|
@ -451,7 +451,7 @@ void CClientReceiveTask::run()
|
||||||
|
|
||||||
NbLoop++;
|
NbLoop++;
|
||||||
}
|
}
|
||||||
catch ( ESocket& )
|
catch (const ESocket&)
|
||||||
{
|
{
|
||||||
LNETL1_DEBUG( "LNETL1: Client connection %s broken", sockId()->asString().c_str() );
|
LNETL1_DEBUG( "LNETL1: Client connection %s broken", sockId()->asString().c_str() );
|
||||||
sockId()->Sock->disconnect();
|
sockId()->Sock->disconnect();
|
||||||
|
|
|
@ -829,7 +829,7 @@ void CListenTask::run()
|
||||||
|
|
||||||
NbLoop++;
|
NbLoop++;
|
||||||
}
|
}
|
||||||
catch ( ESocket& e )
|
catch (const ESocket &e)
|
||||||
{
|
{
|
||||||
LNETL1_INFO( "LNETL1: Exception in listen thread: %s", e.what() );
|
LNETL1_INFO( "LNETL1: Exception in listen thread: %s", e.what() );
|
||||||
// It can occur when too many sockets are open (e.g. 885 connections)
|
// It can occur when too many sockets are open (e.g. 885 connections)
|
||||||
|
@ -1131,12 +1131,12 @@ void CServerReceiveTask::run()
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// catch ( ESocketConnectionClosed& )
|
// catch (const ESocketConnectionClosed&)
|
||||||
// {
|
// {
|
||||||
// LNETL1_DEBUG( "LNETL1: Connection %s closed", serverbufsock->asString().c_str() );
|
// LNETL1_DEBUG( "LNETL1: Connection %s closed", serverbufsock->asString().c_str() );
|
||||||
// // The socket went to _Connected=false when throwing the exception
|
// // The socket went to _Connected=false when throwing the exception
|
||||||
// }
|
// }
|
||||||
catch ( ESocket& )
|
catch (const ESocket&)
|
||||||
{
|
{
|
||||||
LNETL1_DEBUG( "LNETL1: Connection %s broken", serverbufsock->asString().c_str() );
|
LNETL1_DEBUG( "LNETL1: Connection %s broken", serverbufsock->asString().c_str() );
|
||||||
(*ic)->Sock->disconnect();
|
(*ic)->Sock->disconnect();
|
||||||
|
|
|
@ -280,7 +280,7 @@ void CCallbackClient::connect( const CInetAddress& addr )
|
||||||
_MR_Recorder.recordNext( _MR_UpdateCounter, Connecting, _BufSock, addrmsg );
|
_MR_Recorder.recordNext( _MR_UpdateCounter, Connecting, _BufSock, addrmsg );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch ( ESocketConnectionFailed& )
|
catch (const ESocketConnectionFailed&)
|
||||||
{
|
{
|
||||||
if ( _MR_RecordingState == Record )
|
if ( _MR_RecordingState == Record )
|
||||||
{
|
{
|
||||||
|
|
|
@ -155,7 +155,7 @@ void CCallbackNetBase::processOneMessage ()
|
||||||
{
|
{
|
||||||
receive (msgin, &tsid);
|
receive (msgin, &tsid);
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning(e.what());
|
nlwarning(e.what());
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -330,7 +330,7 @@ bool sendEmail (const string &smtpServer, const string &from, const string &to,
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning ("EMAIL: Can't send email: %s", e.what());
|
nlwarning ("EMAIL: Can't send email: %s", e.what());
|
||||||
goto end;
|
goto end;
|
||||||
|
|
|
@ -146,7 +146,7 @@ string CLoginClient::authenticateBegin(const string &loginServiceAddr, const ucs
|
||||||
_LSCallbackClient->disconnect();
|
_LSCallbackClient->disconnect();
|
||||||
_LSCallbackClient->connect (CInetAddress(addr));
|
_LSCallbackClient->connect (CInetAddress(addr));
|
||||||
}
|
}
|
||||||
catch (ESocket &e)
|
catch (const ESocket &e)
|
||||||
{
|
{
|
||||||
delete _LSCallbackClient;
|
delete _LSCallbackClient;
|
||||||
_LSCallbackClient = 0;
|
_LSCallbackClient = 0;
|
||||||
|
@ -226,7 +226,7 @@ string CLoginClient::connectToShard(CLoginCookie &lc, const std::string &addr, C
|
||||||
// have we received the answer?
|
// have we received the answer?
|
||||||
if (!ShardValidate) return "FES disconnect me";
|
if (!ShardValidate) return "FES disconnect me";
|
||||||
}
|
}
|
||||||
catch (ESocket &e)
|
catch (const ESocket &e)
|
||||||
{
|
{
|
||||||
return string("FES refused the connection (") + e.what () + ")";
|
return string("FES refused the connection (") + e.what () + ")";
|
||||||
}
|
}
|
||||||
|
@ -250,7 +250,7 @@ string CLoginClient::connectToShard (const std::string &addr, CUdpSock &cnx)
|
||||||
//
|
//
|
||||||
cnx.connect (CInetAddress(addr));
|
cnx.connect (CInetAddress(addr));
|
||||||
}
|
}
|
||||||
catch (ESocket &e)
|
catch (const ESocket &e)
|
||||||
{
|
{
|
||||||
return string("FES refused the connection (") + e.what () + ")";
|
return string("FES refused the connection (") + e.what () + ")";
|
||||||
}
|
}
|
||||||
|
@ -272,7 +272,7 @@ string CLoginClient::connectToShard (const std::string &addr, CUdpSimSock &cnx)
|
||||||
//
|
//
|
||||||
cnx.connect (CInetAddress(addr));
|
cnx.connect (CInetAddress(addr));
|
||||||
}
|
}
|
||||||
catch (ESocket &e)
|
catch (const ESocket &e)
|
||||||
{
|
{
|
||||||
return string("FES refused the connection (") + e.what () + ")";
|
return string("FES refused the connection (") + e.what () + ")";
|
||||||
}
|
}
|
||||||
|
|
|
@ -349,17 +349,17 @@ void CLoginServer::init (const string &listenAddress)
|
||||||
try {
|
try {
|
||||||
cfcbDefaultUserPriv(IService::getInstance()->ConfigFile.getVar("DefaultUserPriv"));
|
cfcbDefaultUserPriv(IService::getInstance()->ConfigFile.getVar("DefaultUserPriv"));
|
||||||
IService::getInstance()->ConfigFile.setCallback("DefaultUserPriv", cfcbDefaultUserPriv);
|
IService::getInstance()->ConfigFile.setCallback("DefaultUserPriv", cfcbDefaultUserPriv);
|
||||||
} catch(Exception &) { }
|
} catch(const Exception &) { }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
cfcbAcceptInvalidCookie (IService::getInstance()->ConfigFile.getVar("AcceptInvalidCookie"));
|
cfcbAcceptInvalidCookie (IService::getInstance()->ConfigFile.getVar("AcceptInvalidCookie"));
|
||||||
IService::getInstance()->ConfigFile.setCallback("AcceptInvalidCookie", cfcbAcceptInvalidCookie);
|
IService::getInstance()->ConfigFile.setCallback("AcceptInvalidCookie", cfcbAcceptInvalidCookie);
|
||||||
} catch(Exception &) { }
|
} catch(const Exception &) { }
|
||||||
|
|
||||||
try {
|
try {
|
||||||
cfcbTimeBeforeEraseCookie (IService::getInstance()->ConfigFile.getVar("TimeBeforeEraseCookie"));
|
cfcbTimeBeforeEraseCookie (IService::getInstance()->ConfigFile.getVar("TimeBeforeEraseCookie"));
|
||||||
IService::getInstance()->ConfigFile.setCallback("TimeBeforeEraseCookie", cfcbTimeBeforeEraseCookie);
|
IService::getInstance()->ConfigFile.setCallback("TimeBeforeEraseCookie", cfcbTimeBeforeEraseCookie);
|
||||||
} catch(Exception &) { }
|
} catch(const Exception &) { }
|
||||||
|
|
||||||
// setup the listen address
|
// setup the listen address
|
||||||
|
|
||||||
|
|
|
@ -330,7 +330,7 @@ namespace NLNET
|
||||||
_onProcessModuleMessage(currentSender, currentMessage);
|
_onProcessModuleMessage(currentSender, currentMessage);
|
||||||
_CurrentMessageFailed = false;
|
_CurrentMessageFailed = false;
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("In module task '%s' (cotask message receiver), exception '%e' thrown", typeid(this).name(), e.what());
|
nlwarning("In module task '%s' (cotask message receiver), exception '%e' thrown", typeid(this).name(), e.what());
|
||||||
// an exception have been thrown
|
// an exception have been thrown
|
||||||
|
|
|
@ -109,7 +109,7 @@ namespace NLNET
|
||||||
sd->serial(s);
|
sd->serial(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(EStreamOverflow e)
|
catch(const EStreamOverflow &)
|
||||||
{
|
{
|
||||||
// FAILED to read the security block, rewind to old pos and serial as unknow
|
// FAILED to read the security block, rewind to old pos and serial as unknow
|
||||||
nlwarning("Error while reading stream for security data type %u", dataTag);
|
nlwarning("Error while reading stream for security data type %u", dataTag);
|
||||||
|
|
|
@ -684,7 +684,7 @@ namespace NLNET
|
||||||
route->CallbackClient.connect(addr);
|
route->CallbackClient.connect(addr);
|
||||||
nldebug("CGatewayL3ClientTransport : Connected to %s with connId %u", addr.asString().c_str(), connId);
|
nldebug("CGatewayL3ClientTransport : Connected to %s with connId %u", addr.asString().c_str(), connId);
|
||||||
}
|
}
|
||||||
catch (ESocketConnectionFailed e)
|
catch (const ESocketConnectionFailed &)
|
||||||
{
|
{
|
||||||
nlinfo("CGatewayL3ClientTransport : Failed to connect to server %s, retrying in %u seconds", addr.asString().c_str(), _RetryInterval);
|
nlinfo("CGatewayL3ClientTransport : Failed to connect to server %s, retrying in %u seconds", addr.asString().c_str(), _RetryInterval);
|
||||||
}
|
}
|
||||||
|
|
|
@ -502,7 +502,7 @@ bool CNamingClient::lookupAndConnect (const std::string &name, CCallbackClient &
|
||||||
// connection succeeded
|
// connection succeeded
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (ESocketConnectionFailed &e)
|
catch (const ESocketConnectionFailed &e)
|
||||||
{
|
{
|
||||||
nldebug( "NC: Connection to %s failed: %s, tring another service if available", servaddr.asString().c_str(), e.what() );
|
nldebug( "NC: Connection to %s failed: %s, tring another service if available", servaddr.asString().c_str(), e.what() );
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ void CNetDisplayer::setLogServer (const CInetAddress& logServerAddr)
|
||||||
{
|
{
|
||||||
_Server->connect (_ServerAddr);
|
_Server->connect (_ServerAddr);
|
||||||
}
|
}
|
||||||
catch( ESocket& )
|
catch(const ESocket&)
|
||||||
{
|
{
|
||||||
// Silence
|
// Silence
|
||||||
}
|
}
|
||||||
|
@ -153,7 +153,7 @@ void CNetDisplayer::doDisplay ( const CLog::TDisplayInfo& args, const char *mess
|
||||||
msg.serial( s );
|
msg.serial( s );
|
||||||
_Server->send (msg, 0, false);
|
_Server->send (msg, 0, false);
|
||||||
}
|
}
|
||||||
catch( NLMISC::Exception& )
|
catch(const NLMISC::Exception& )
|
||||||
{
|
{
|
||||||
// Silence
|
// Silence
|
||||||
}
|
}
|
||||||
|
|
|
@ -914,7 +914,7 @@ sint IService::main (const char *serviceShortName, const char *serviceLongName,
|
||||||
// Get the localhost name
|
// Get the localhost name
|
||||||
localhost = CInetAddress::localHost().hostName();
|
localhost = CInetAddress::localHost().hostName();
|
||||||
}
|
}
|
||||||
catch (NLNET::ESocket &)
|
catch (const NLNET::ESocket &)
|
||||||
{
|
{
|
||||||
localhost = "<UnknownHost>";
|
localhost = "<UnknownHost>";
|
||||||
}
|
}
|
||||||
|
@ -1091,7 +1091,7 @@ sint IService::main (const char *serviceShortName, const char *serviceLongName,
|
||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (ESocketConnectionFailed &)
|
catch (const ESocketConnectionFailed &)
|
||||||
{
|
{
|
||||||
nlinfo ("SERVICE: Could not connect to the Naming Service (%s). Retrying in a few seconds...", loc.asString().c_str());
|
nlinfo ("SERVICE: Could not connect to the Naming Service (%s). Retrying in a few seconds...", loc.asString().c_str());
|
||||||
nlSleep (5000);
|
nlSleep (5000);
|
||||||
|
@ -1495,13 +1495,13 @@ sint IService::main (const char *serviceShortName, const char *serviceLongName,
|
||||||
MyTAT.deactivate();
|
MyTAT.deactivate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (EFatalError &)
|
catch (const EFatalError &)
|
||||||
{
|
{
|
||||||
// Somebody call nlerror, so we have to quit now, the message already display
|
// Somebody call nlerror, so we have to quit now, the message already display
|
||||||
// so we don't have to to anything
|
// so we don't have to to anything
|
||||||
setExitStatus (EXIT_FAILURE);
|
setExitStatus (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
catch (ESocket &e)
|
catch (const ESocket &e)
|
||||||
{
|
{
|
||||||
// Catch NeL network exception to release the system cleanly setExitStatus (EXIT_FAILURE);
|
// Catch NeL network exception to release the system cleanly setExitStatus (EXIT_FAILURE);
|
||||||
ErrorLog->displayNL( "NeL Exception in \"%s\": %s", _ShortName.c_str(), e.what() );
|
ErrorLog->displayNL( "NeL Exception in \"%s\": %s", _ShortName.c_str(), e.what() );
|
||||||
|
@ -1560,7 +1560,7 @@ sint IService::main (const char *serviceShortName, const char *serviceLongName,
|
||||||
|
|
||||||
nlinfo ("SERVICE: Service released successfully");
|
nlinfo ("SERVICE: Service released successfully");
|
||||||
}
|
}
|
||||||
catch (EFatalError &)
|
catch (const EFatalError &)
|
||||||
{
|
{
|
||||||
// Somebody call nlerror, so we have to quit now, the message already display
|
// Somebody call nlerror, so we have to quit now, the message already display
|
||||||
// so we don't have to to anything
|
// so we don't have to to anything
|
||||||
|
|
|
@ -419,7 +419,7 @@ void getNameOfMessageOrTransportClass( NLNET::CMessage& msgin, std::string& msgN
|
||||||
msgin.seek( msgin.getHeaderSize(), NLMISC::IStream::begin );
|
msgin.seek( msgin.getHeaderSize(), NLMISC::IStream::begin );
|
||||||
msgin.serial( msgName );
|
msgin.serial( msgName );
|
||||||
}
|
}
|
||||||
catch ( EStreamOverflow& )
|
catch (const EStreamOverflow&)
|
||||||
{
|
{
|
||||||
msgName = "<Name not found>";
|
msgName = "<Name not found>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -481,7 +481,7 @@ void CAliveCheck::run()
|
||||||
CheckList[i].AddressValid = true;
|
CheckList[i].AddressValid = true;
|
||||||
cbc.disconnect();
|
cbc.disconnect();
|
||||||
}
|
}
|
||||||
catch (ESocketConnectionFailed &e)
|
catch (const ESocketConnectionFailed &e)
|
||||||
{
|
{
|
||||||
#if FINAL_VERSION
|
#if FINAL_VERSION
|
||||||
nlinfo ("HNETL5: can't connect to %s-%hu now (%s)", CheckList[i].ServiceName.c_str(), CheckList[i].ServiceId.get(), e.what ());
|
nlinfo ("HNETL5: can't connect to %s-%hu now (%s)", CheckList[i].ServiceName.c_str(), CheckList[i].ServiceId.get(), e.what ());
|
||||||
|
@ -587,7 +587,7 @@ bool CUnifiedNetwork::init(const CInetAddress *addr, CCallbackNetBase::TRecordin
|
||||||
{
|
{
|
||||||
_CbServer->init(port);
|
_CbServer->init(port);
|
||||||
}
|
}
|
||||||
catch (ESocket &)
|
catch (const ESocket &)
|
||||||
{
|
{
|
||||||
nlwarning("Failed to init the listen socket on port %u, is the service already running ?", port);
|
nlwarning("Failed to init the listen socket on port %u, is the service already running ?", port);
|
||||||
// wait a little before retrying
|
// wait a little before retrying
|
||||||
|
@ -866,7 +866,7 @@ void CUnifiedNetwork::addService(const string &name, const vector<CInetAddress>
|
||||||
cbc->connect(addr[i]);
|
cbc->connect(addr[i]);
|
||||||
connectSuccess = true;
|
connectSuccess = true;
|
||||||
}
|
}
|
||||||
catch (ESocketConnectionFailed &e)
|
catch (const ESocketConnectionFailed &e)
|
||||||
{
|
{
|
||||||
nlwarning ("HNETL5: can't connect to %s (sid %u) now (%s) '%s'", name.c_str(), sid.get(), e.what (), addr[i].asString ().c_str());
|
nlwarning ("HNETL5: can't connect to %s (sid %u) now (%s) '%s'", name.c_str(), sid.get(), e.what (), addr[i].asString ().c_str());
|
||||||
connectSuccess = false;
|
connectSuccess = false;
|
||||||
|
@ -1010,7 +1010,7 @@ void CUnifiedNetwork::update(TTime timeout)
|
||||||
laddr[i].setPort(_ServerPort);
|
laddr[i].setPort(_ServerPort);
|
||||||
CNamingClient::resendRegisteration (_Name, laddr, _SId);
|
CNamingClient::resendRegisteration (_Name, laddr, _SId);
|
||||||
}
|
}
|
||||||
catch (ESocketConnectionFailed &)
|
catch (const ESocketConnectionFailed &)
|
||||||
{
|
{
|
||||||
nlwarning ("HNETL5: Could not connect to the Naming Service (%s). Retrying in a few seconds...", _NamingServiceAddr.asString().c_str());
|
nlwarning ("HNETL5: Could not connect to the Naming Service (%s). Retrying in a few seconds...", _NamingServiceAddr.asString().c_str());
|
||||||
}
|
}
|
||||||
|
@ -1209,7 +1209,7 @@ void CUnifiedNetwork::autoReconnect( CUnifiedConnection &uc, uint connectionInde
|
||||||
// call the user callback
|
// call the user callback
|
||||||
callServiceUpCallback (uc.ServiceName, uc.ServiceId);
|
callServiceUpCallback (uc.ServiceName, uc.ServiceId);
|
||||||
}
|
}
|
||||||
catch (ESocketConnectionFailed &e)
|
catch (const ESocketConnectionFailed &e)
|
||||||
{
|
{
|
||||||
#if FINAL_VERSION
|
#if FINAL_VERSION
|
||||||
nlinfo ("HNETL5: can't connect to %s-%hu now (%s)", uc.ServiceName.c_str(), uc.ServiceId.get(), e.what ());
|
nlinfo ("HNETL5: can't connect to %s-%hu now (%s)", uc.ServiceName.c_str(), uc.ServiceId.get(), e.what ());
|
||||||
|
|
|
@ -387,7 +387,7 @@ void NLPACS::CGlobalRetriever::makeLinks(uint n)
|
||||||
instance.link(neighbor, _RetrieverBank->getRetrievers());
|
instance.link(neighbor, _RetrieverBank->getRetrievers());
|
||||||
neighbor.link(instance, _RetrieverBank->getRetrievers());
|
neighbor.link(instance, _RetrieverBank->getRetrievers());
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("in NLPACS::CGlobalRetriever::makeLinks()");
|
nlwarning("in NLPACS::CGlobalRetriever::makeLinks()");
|
||||||
nlwarning("caught an exception during linkage of %d and %d: %s", instance.getInstanceId(), neighbor.getInstanceId(), e.what());
|
nlwarning("caught an exception during linkage of %d and %d: %s", instance.getInstanceId(), neighbor.getInstanceId(), e.what());
|
||||||
|
|
|
@ -150,7 +150,7 @@ public:
|
||||||
{
|
{
|
||||||
f.serial(_Retrievers[i]);
|
f.serial(_Retrievers[i]);
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("Couldn't load retriever file '%s', %s", fname.c_str(), e.what());
|
nlwarning("Couldn't load retriever file '%s', %s", fname.c_str(), e.what());
|
||||||
_Retrievers[i].clear();
|
_Retrievers[i].clear();
|
||||||
|
|
|
@ -370,7 +370,7 @@ void CAudioMixerUser::initDriver(const std::string &driverName)
|
||||||
_SoundDriver = ISoundDriver::createDriver(this, driverType);
|
_SoundDriver = ISoundDriver::createDriver(this, driverType);
|
||||||
nlassert(_SoundDriver);
|
nlassert(_SoundDriver);
|
||||||
}
|
}
|
||||||
catch (ESoundDriver &e)
|
catch (const ESoundDriver &e)
|
||||||
{
|
{
|
||||||
nlwarning(e.what());
|
nlwarning(e.what());
|
||||||
delete _SoundDriver; _SoundDriver = NULL;
|
delete _SoundDriver; _SoundDriver = NULL;
|
||||||
|
@ -458,7 +458,7 @@ void CAudioMixerUser::initDevice(const std::string &deviceName, const CInitInfo
|
||||||
manualRolloff = false; // not really needed, but set anyway in case this is still used later in this function
|
manualRolloff = false; // not really needed, but set anyway in case this is still used later in this function
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (ESoundDriver &e)
|
catch (const ESoundDriver &e)
|
||||||
{
|
{
|
||||||
nlwarning(e.what());
|
nlwarning(e.what());
|
||||||
delete _SoundDriver; _SoundDriver = NULL;
|
delete _SoundDriver; _SoundDriver = NULL;
|
||||||
|
@ -883,7 +883,7 @@ void CAudioMixerUser::buildSampleBankList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(Exception e)
|
catch(const Exception &)
|
||||||
{
|
{
|
||||||
upToDate = false;
|
upToDate = false;
|
||||||
}
|
}
|
||||||
|
@ -2100,7 +2100,7 @@ uint32 CAudioMixerUser::loadSampleBank(bool async, const std::string &name, st
|
||||||
{
|
{
|
||||||
bank->load(async);
|
bank->load(async);
|
||||||
}
|
}
|
||||||
catch (Exception& e)
|
catch (const Exception& e)
|
||||||
{
|
{
|
||||||
if (notfoundfiles)
|
if (notfoundfiles)
|
||||||
{
|
{
|
||||||
|
@ -2489,7 +2489,7 @@ void CAudioMixerUser::changeMaxTrack(uint maxTrack)
|
||||||
_FreeTracks.insert(_FreeTracks.begin(), _Tracks[i]);
|
_FreeTracks.insert(_FreeTracks.begin(), _Tracks[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch ( ESoundDriver & )
|
catch (const ESoundDriver &)
|
||||||
{
|
{
|
||||||
delete _Tracks[i];
|
delete _Tracks[i];
|
||||||
// If the source generation failed, keep only the generated number of sources
|
// If the source generation failed, keep only the generated number of sources
|
||||||
|
|
|
@ -605,7 +605,7 @@ void CSoundDriverDSound::initDevice(const std::string &device, ISoundDriver::TSo
|
||||||
_SourceCount++;
|
_SourceCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (ESoundDriver& e)
|
catch (const ESoundDriver& e)
|
||||||
{
|
{
|
||||||
// Okay, here's the situation: I'm listening to WinAmp while debugging.
|
// Okay, here's the situation: I'm listening to WinAmp while debugging.
|
||||||
// The caps told me there were 31 buffers available. In reality, there were
|
// The caps told me there were 31 buffers available. In reality, there were
|
||||||
|
|
|
@ -891,6 +891,8 @@ void CSourceAL::setStreamingBuffersMax(uint buffers)
|
||||||
removeBuffers();
|
removeBuffers();
|
||||||
|
|
||||||
for(uint i = 0; i < _BuffersMax; ++i)
|
for(uint i = 0; i < _BuffersMax; ++i)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
// create a new buffer
|
// create a new buffer
|
||||||
CBufferAL *buffer = static_cast<CBufferAL*>(_SoundDriver->createBuffer());
|
CBufferAL *buffer = static_cast<CBufferAL*>(_SoundDriver->createBuffer());
|
||||||
|
@ -899,6 +901,14 @@ void CSourceAL::setStreamingBuffersMax(uint buffers)
|
||||||
buffer->setStorageMode(IBuffer::StorageSoftware);
|
buffer->setStorageMode(IBuffer::StorageSoftware);
|
||||||
_Buffers[buffer->bufferName()] = buffer;
|
_Buffers[buffer->bufferName()] = buffer;
|
||||||
}
|
}
|
||||||
|
catch(const ESoundDriverGenBuf &e)
|
||||||
|
{
|
||||||
|
nlwarning("Cannot create %d buffers. openal fails after %d buffers", buffers, i);
|
||||||
|
_BuffersMax = i;
|
||||||
|
_BuffersName.resize(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Set the default size for streaming buffers
|
/// Set the default size for streaming buffers
|
||||||
|
|
|
@ -213,7 +213,7 @@ void CSampleBank::load(bool async)
|
||||||
|
|
||||||
_SampleBankManager->m_LoadedSize += _ByteSize;
|
_SampleBankManager->m_LoadedSize += _ByteSize;
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
// loading failed !
|
// loading failed !
|
||||||
nlwarning("Exception %s during loading of sample bank %s", e.what(), filename.c_str());
|
nlwarning("Exception %s during loading of sample bank %s", e.what(), filename.c_str());
|
||||||
|
@ -281,7 +281,7 @@ void CSampleBank::load(bool async)
|
||||||
// Warn the sound bank that the sample are available.
|
// Warn the sound bank that the sample are available.
|
||||||
CSoundBank::instance()->bufferLoaded(sampleName, ibuffer);
|
CSoundBank::instance()->bufferLoaded(sampleName, ibuffer);
|
||||||
}
|
}
|
||||||
catch (ESoundDriver &e)
|
catch (const ESoundDriver &e)
|
||||||
{
|
{
|
||||||
if (ibuffer != NULL) {
|
if (ibuffer != NULL) {
|
||||||
delete ibuffer;
|
delete ibuffer;
|
||||||
|
|
|
@ -36,7 +36,7 @@ using namespace NLMISC;
|
||||||
|
|
||||||
namespace NLSOUND {
|
namespace NLSOUND {
|
||||||
|
|
||||||
CSampleBankManager::CSampleBankManager(CAudioMixerUser *audioMixer) : m_AudioMixer(audioMixer), m_LoadedSize(NULL)
|
CSampleBankManager::CSampleBankManager(CAudioMixerUser *audioMixer) : m_AudioMixer(audioMixer), m_LoadedSize(0)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,7 +103,7 @@ int main(int argc, char* argv[])
|
||||||
animationOptimizer.addLowPrecisionTrack(anim_low_precision_tracks.asString(lpt));
|
animationOptimizer.addLowPrecisionTrack(anim_low_precision_tracks.asString(lpt));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(EUnknownVar &)
|
catch(const EUnknownVar &)
|
||||||
{
|
{
|
||||||
nlwarning("\"anim_low_precision_tracks\" not found in the parameter file. Add \"Finger\" and \"Ponytail\" by default");
|
nlwarning("\"anim_low_precision_tracks\" not found in the parameter file. Add \"Finger\" and \"Ponytail\" by default");
|
||||||
animationOptimizer.addLowPrecisionTrack("Finger");
|
animationOptimizer.addLowPrecisionTrack("Finger");
|
||||||
|
@ -126,7 +126,7 @@ int main(int argc, char* argv[])
|
||||||
animationOptimizer.setSampleFrameRate(sr);
|
animationOptimizer.setSampleFrameRate(sr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(EUnknownVar &)
|
catch(const EUnknownVar &)
|
||||||
{
|
{
|
||||||
nlwarning("\"anim_sample_rate\" not found in the parameter file. Use Default of 30 fps.");
|
nlwarning("\"anim_sample_rate\" not found in the parameter file. Use Default of 30 fps.");
|
||||||
animationOptimizer.setSampleFrameRate(30);
|
animationOptimizer.setSampleFrameRate(30);
|
||||||
|
@ -198,7 +198,7 @@ int main(int argc, char* argv[])
|
||||||
nlinfo("Anim skipped: %4d", numSkipped);
|
nlinfo("Anim skipped: %4d", numSkipped);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception& except)
|
catch (const Exception& except)
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
nlwarning ("ERROR %s\n", except.what());
|
nlwarning ("ERROR %s\n", except.what());
|
||||||
|
|
|
@ -124,7 +124,7 @@ int main(int argc, char* argv[])
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception& e)
|
catch (const Exception& e)
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
fprintf (stderr, "Error: %s\n", e.what());
|
fprintf (stderr, "Error: %s\n", e.what());
|
||||||
|
|
|
@ -173,7 +173,7 @@ int main(int argc, char *argv[])
|
||||||
// NB: the key name here is the entire file, with the .anim, for easier georges editing.
|
// NB: the key name here is the entire file, with the .anim, for easier georges editing.
|
||||||
lodBuilder.addAnim(animFileName.c_str(), anim, bakeFrameRate);
|
lodBuilder.addAnim(animFileName.c_str(), anim, bakeFrameRate);
|
||||||
}
|
}
|
||||||
catch(EPathNotFound &)
|
catch(const EPathNotFound &)
|
||||||
{
|
{
|
||||||
printf("ERROR anim not found %s\n", animFileName.c_str());
|
printf("ERROR anim not found %s\n", animFileName.c_str());
|
||||||
delete anim;
|
delete anim;
|
||||||
|
@ -186,7 +186,7 @@ int main(int argc, char *argv[])
|
||||||
uint32 shapeId= lodShapeBank.addShape();
|
uint32 shapeId= lodShapeBank.addShape();
|
||||||
*lodShapeBank.getShapeFullAcces(shapeId)= lodBuilder.getLodShape();
|
*lodShapeBank.getShapeFullAcces(shapeId)= lodBuilder.getLodShape();
|
||||||
}
|
}
|
||||||
catch(EUnknownVar &evar)
|
catch(const EUnknownVar &evar)
|
||||||
{
|
{
|
||||||
nlwarning(evar.what());
|
nlwarning(evar.what());
|
||||||
// Any other exception will make the program quit.
|
// Any other exception will make the program quit.
|
||||||
|
@ -205,7 +205,7 @@ int main(int argc, char *argv[])
|
||||||
oFile.serial(lodShapeBank);
|
oFile.serial(lodShapeBank);
|
||||||
oFile.close();
|
oFile.close();
|
||||||
}
|
}
|
||||||
catch (Exception& except)
|
catch (const Exception& except)
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
printf ("ERROR %s.\n Aborting.\n", except.what());
|
printf ("ERROR %s.\n Aborting.\n", except.what());
|
||||||
|
|
|
@ -100,7 +100,7 @@ bool computeOneShape(const char *lodFile, const char *shapeIn, const char *shape
|
||||||
COFile dbgF("testDBG.tga");
|
COFile dbgF("testDBG.tga");
|
||||||
dbg.writeTGA(dbgF, 32);*/
|
dbg.writeTGA(dbgF, 32);*/
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("ERROR: %s", e.what());
|
nlwarning("ERROR: %s", e.what());
|
||||||
return false;
|
return false;
|
||||||
|
@ -179,7 +179,7 @@ int main(int argc, char *argv[])
|
||||||
LodFilters[i]= var.asString(i*2+1);
|
LodFilters[i]= var.asString(i*2+1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
// It is not an error to have a bad config file: files will be copied
|
// It is not an error to have a bad config file: files will be copied
|
||||||
nlwarning(e.what());
|
nlwarning(e.what());
|
||||||
|
|
|
@ -255,12 +255,12 @@ int main(int argc, char* argv[])
|
||||||
nlwarning ("WARNING no coarse mesh to compute, abort.\n");
|
nlwarning ("WARNING no coarse mesh to compute, abort.\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (EConfigFile &e)
|
catch (const EConfigFile &e)
|
||||||
{
|
{
|
||||||
// Something goes wrong... catch that
|
// Something goes wrong... catch that
|
||||||
nlwarning ("ERROR %s\n", e.what ());
|
nlwarning ("ERROR %s\n", e.what ());
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
// Something goes wrong... catch that
|
// Something goes wrong... catch that
|
||||||
nlwarning ("ERROR %s\n", e.what ());
|
nlwarning ("ERROR %s\n", e.what ());
|
||||||
|
|
|
@ -120,7 +120,7 @@ bool fillTileFar (uint tile, const char* sName, CTileFarBank::TFarType type, CTi
|
||||||
// Ok.
|
// Ok.
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception& except)
|
catch (const Exception& except)
|
||||||
{
|
{
|
||||||
nlwarning ("ERROR %s\n", except.what());
|
nlwarning ("ERROR %s\n", except.what());
|
||||||
}
|
}
|
||||||
|
@ -409,7 +409,7 @@ int main (int argc, char **argv)
|
||||||
nlwarning ("ERROR Can't open file %s for writing\n", argv[2]);
|
nlwarning ("ERROR Can't open file %s for writing\n", argv[2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception& except)
|
catch (const Exception& except)
|
||||||
{
|
{
|
||||||
nlwarning ("ERROR %s\n", except.what());
|
nlwarning ("ERROR %s\n", except.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -267,7 +267,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
pBtmp->load(inFile);
|
pBtmp->load(inFile);
|
||||||
AllMaps[i] = pBtmp;
|
AllMaps[i] = pBtmp;
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
outString (string("ERROR :") + e.what());
|
outString (string("ERROR :") + e.what());
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -70,7 +70,7 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception& e)
|
catch (const Exception& e)
|
||||||
{
|
{
|
||||||
// Error
|
// Error
|
||||||
nlwarning ("ERROR fatal error: %s", e.what());
|
nlwarning ("ERROR fatal error: %s", e.what());
|
||||||
|
|
|
@ -94,7 +94,7 @@ CInstanceGroup* LoadInstanceGroup(const char* sFilename)
|
||||||
newIG->serial (file);
|
newIG->serial (file);
|
||||||
// All is good
|
// All is good
|
||||||
}
|
}
|
||||||
catch (Exception &)
|
catch (const Exception &)
|
||||||
{
|
{
|
||||||
// Cannot save the file
|
// Cannot save the file
|
||||||
delete newIG;
|
delete newIG;
|
||||||
|
|
|
@ -331,9 +331,9 @@ void displayInfoFileInStream(FILE *logStream, const char *fileName, const set<st
|
||||||
fprintf(logStream, " 'StaticLight Not Computed' means the instance has a ASP flag or the ig is not yet lighted\n");
|
fprintf(logStream, " 'StaticLight Not Computed' means the instance has a ASP flag or the ig is not yet lighted\n");
|
||||||
fprintf(logStream, " If lighted, for each instance, the format is 'SunContribution(8Bit) - idLight0;idLight1 (or NOLIGHT) - LocalAmbientId (or GLOBAL_AMBIENT)' \n");
|
fprintf(logStream, " If lighted, for each instance, the format is 'SunContribution(8Bit) - idLight0;idLight1 (or NOLIGHT) - LocalAmbientId (or GLOBAL_AMBIENT)' \n");
|
||||||
fprintf(logStream, " DCS means the instance don't cast shadow (used in the lighter)\n");
|
fprintf(logStream, " DCS means the instance don't cast shadow (used in the lighter)\n");
|
||||||
fprintf(logStream, " DCSINT Same but very special for ig_lighter.exe only\n");
|
fprintf(logStream, " DCSINT Same but very special for ig_lighter only\n");
|
||||||
fprintf(logStream, " DCSEXT Same but very special for zone_lighter and zone_ig_lighter.exe only\n");
|
fprintf(logStream, " DCSEXT Same but very special for zone_lighter and zone_ig_lighter only\n");
|
||||||
fprintf(logStream, " ASP means the instance AvoidStaticLightPreCompute (used in the lighter.exe)\n");
|
fprintf(logStream, " ASP means the instance AvoidStaticLightPreCompute (used in the lighter)\n");
|
||||||
fprintf(logStream, " -------------------------------------------------------------\n");
|
fprintf(logStream, " -------------------------------------------------------------\n");
|
||||||
uint k;
|
uint k;
|
||||||
for(k = 0; k < ig._InstancesInfos.size(); ++k)
|
for(k = 0; k < ig._InstancesInfos.size(); ++k)
|
||||||
|
|
|
@ -125,7 +125,7 @@ int main(int argc, char *argv[])
|
||||||
f.serial(textInfo);
|
f.serial(textInfo);
|
||||||
addTextToBank(textInfo, textBank);
|
addTextToBank(textInfo, textBank);
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("ERROR: Unable to process %s. Reason: %s. Processing next", hlsInfofiles[k].c_str(), e.what());
|
nlwarning("ERROR: Unable to process %s. Reason: %s. Processing next", hlsInfofiles[k].c_str(), e.what());
|
||||||
}
|
}
|
||||||
|
@ -143,7 +143,7 @@ int main(int argc, char *argv[])
|
||||||
fOut.serial(textBank);
|
fOut.serial(textBank);
|
||||||
fOut.close();
|
fOut.close();
|
||||||
}
|
}
|
||||||
catch(Exception &e)
|
catch(const Exception &e)
|
||||||
{
|
{
|
||||||
nlwarning("ERROR: Unable to write HLS Bank %s: %s", argv[2], e.what());
|
nlwarning("ERROR: Unable to write HLS Bank %s: %s", argv[2], e.what());
|
||||||
exit(-1);
|
exit(-1);
|
||||||
|
|
|
@ -37,7 +37,7 @@ CInstanceGroup* LoadInstanceGroup (const char* sFilename)
|
||||||
{
|
{
|
||||||
newIG->serial (file);
|
newIG->serial (file);
|
||||||
}
|
}
|
||||||
catch (Exception &)
|
catch (const Exception &)
|
||||||
{
|
{
|
||||||
delete newIG;
|
delete newIG;
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -62,7 +62,7 @@ bool SaveInstanceGroup (const char* sFilename, CInstanceGroup *pIG)
|
||||||
{
|
{
|
||||||
pIG->serial (file);
|
pIG->serial (file);
|
||||||
}
|
}
|
||||||
catch (Exception &)
|
catch (const Exception &)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,7 +106,7 @@ struct SExportOptions
|
||||||
CConfigFile::CVar &cvLandFile = cf.getVar("LandFile");
|
CConfigFile::CVar &cvLandFile = cf.getVar("LandFile");
|
||||||
LandFile = cvLandFile.asString();
|
LandFile = cvLandFile.asString();
|
||||||
}
|
}
|
||||||
catch (EConfigFile &e)
|
catch (const EConfigFile &e)
|
||||||
{
|
{
|
||||||
string sTmp = string("ERROR : Error in config file : ") + e.what() + "\n";
|
string sTmp = string("ERROR : Error in config file : ") + e.what() + "\n";
|
||||||
outString (sTmp);
|
outString (sTmp);
|
||||||
|
@ -173,7 +173,7 @@ CZoneRegion *loadLand (const string &filename)
|
||||||
outString (sTmp);
|
outString (sTmp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception& e)
|
catch (const Exception& e)
|
||||||
{
|
{
|
||||||
string sTmp = string("Error in land file : ") + e.what();
|
string sTmp = string("Error in land file : ") + e.what();
|
||||||
outString (sTmp);
|
outString (sTmp);
|
||||||
|
@ -194,7 +194,7 @@ CInstanceGroup* LoadInstanceGroup (const char* sFilename)
|
||||||
{
|
{
|
||||||
newIG->serial (file);
|
newIG->serial (file);
|
||||||
}
|
}
|
||||||
catch (Exception &)
|
catch (const Exception &)
|
||||||
{
|
{
|
||||||
// Cannot save the file
|
// Cannot save the file
|
||||||
delete newIG;
|
delete newIG;
|
||||||
|
@ -220,7 +220,7 @@ void SaveInstanceGroup (const char* sFilename, CInstanceGroup *pIG)
|
||||||
{
|
{
|
||||||
pIG->serial (file);
|
pIG->serial (file);
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
outString(string(e.what()));
|
outString(string(e.what()));
|
||||||
}
|
}
|
||||||
|
@ -339,7 +339,7 @@ int main(int nNbArg, char**ppArgs)
|
||||||
HeightMap1 = NULL;
|
HeightMap1 = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
string sTmp = string("Cant load height map : ") + options.HeightMapFile1 + " : " + e.what();
|
string sTmp = string("Cant load height map : ") + options.HeightMapFile1 + " : " + e.what();
|
||||||
outString (sTmp);
|
outString (sTmp);
|
||||||
|
@ -365,7 +365,7 @@ int main(int nNbArg, char**ppArgs)
|
||||||
HeightMap2 = NULL;
|
HeightMap2 = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception &e)
|
catch (const Exception &e)
|
||||||
{
|
{
|
||||||
string sTmp = string("Cant load height map : ") + options.HeightMapFile2 + " : " + e.what() + "\n";
|
string sTmp = string("Cant load height map : ") + options.HeightMapFile2 + " : " + e.what() + "\n";
|
||||||
outString (sTmp);
|
outString (sTmp);
|
||||||
|
|
|
@ -83,7 +83,7 @@ int main(int argc, char **argv)
|
||||||
printf("TotalCells: %d\n", totalCells);
|
printf("TotalCells: %d\n", totalCells);
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (std::exception &e)
|
catch (const std::exception &e)
|
||||||
{
|
{
|
||||||
printf("%s\n", e.what());
|
printf("%s\n", e.what());
|
||||||
}
|
}
|
||||||
|
|
|
@ -344,7 +344,7 @@ int main(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception& except)
|
catch (const Exception& except)
|
||||||
{
|
{
|
||||||
// Error message
|
// Error message
|
||||||
nlwarning ("ERROR %s\n", except.what());
|
nlwarning ("ERROR %s\n", except.what());
|
||||||
|
|
|
@ -365,7 +365,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
CMeshBase *pMB = dynamic_cast<CMeshBase*>(mesh.getShapePointer());
|
CMeshBase *pMB = dynamic_cast<CMeshBase*>(mesh.getShapePointer());
|
||||||
AllShapes.push_back (pMB);
|
AllShapes.push_back (pMB);
|
||||||
}
|
}
|
||||||
catch (NLMISC::EPathNotFound &e)
|
catch (const NLMISC::EPathNotFound &e)
|
||||||
{
|
{
|
||||||
outString(string("ERROR: shape not found ")+AllShapeNames[nShp]+" - "+e.what());
|
outString(string("ERROR: shape not found ")+AllShapeNames[nShp]+" - "+e.what());
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -529,7 +529,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
inFile.open(sTmp2);
|
inFile.open(sTmp2);
|
||||||
CBitmap::loadSize(inFile, wRef, hRef);
|
CBitmap::loadSize(inFile, wRef, hRef);
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
outString (string("ERROR :") + e.what());
|
outString (string("ERROR :") + e.what());
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -546,7 +546,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
inFile.open(sTmp3);
|
inFile.open(sTmp3);
|
||||||
CBitmap::loadSize(inFile, wCur, hCur);
|
CBitmap::loadSize(inFile, wCur, hCur);
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &)
|
catch (const NLMISC::Exception &)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -595,7 +595,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
pBtmp->load(inFile);
|
pBtmp->load(inFile);
|
||||||
AllLightmaps[i] = pBtmp;
|
AllLightmaps[i] = pBtmp;
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
outString (string("ERROR :") + e.what());
|
outString (string("ERROR :") + e.what());
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -671,7 +671,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
BitmapJ.load (inFile);
|
BitmapJ.load (inFile);
|
||||||
inFile.close ();
|
inFile.close ();
|
||||||
}
|
}
|
||||||
catch (NLMISC::Exception &e)
|
catch (const NLMISC::Exception &e)
|
||||||
{
|
{
|
||||||
outString (string("ERROR :") + e.what());
|
outString (string("ERROR :") + e.what());
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -883,7 +883,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
meshfile.close ();
|
meshfile.close ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (NLMISC::EPathNotFound &e)
|
catch (const NLMISC::EPathNotFound &e)
|
||||||
{
|
{
|
||||||
outString(string("ERROR: cannot save shape ")+AllShapeNames[k]+" - "+e.what());
|
outString(string("ERROR: cannot save shape ")+AllShapeNames[k]+" - "+e.what());
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -23,7 +23,7 @@ namespace Core
|
||||||
namespace Constants
|
namespace Constants
|
||||||
{
|
{
|
||||||
|
|
||||||
const char * const OVQT_VERSION_LONG = "0.0.1";
|
const char * const OVQT_VERSION_LONG = "0.1";
|
||||||
const char * const OVQT_VENDOR = "Ryzom Core";
|
const char * const OVQT_VENDOR = "Ryzom Core";
|
||||||
const char * const OVQT_YEAR = "2010, 2011";
|
const char * const OVQT_YEAR = "2010, 2011";
|
||||||
const char * const OVQT_CORE_PLUGIN = "Core";
|
const char * const OVQT_CORE_PLUGIN = "Core";
|
||||||
|
@ -43,13 +43,27 @@ const char * const M_TOOLS = "ObjectViewerQt.Menu.Tools";
|
||||||
const char * const M_WINDOW = "ObjectViewerQt.Menu.Window";
|
const char * const M_WINDOW = "ObjectViewerQt.Menu.Window";
|
||||||
const char * const M_HELP = "ObjectViewerQt.Menu.Help";
|
const char * const M_HELP = "ObjectViewerQt.Menu.Help";
|
||||||
|
|
||||||
|
const char * const M_FILE_RECENTFILES = "ObjectViewerQt.Menu.File.RecentFiles";
|
||||||
const char * const M_SHEET = "ObjectViewerQt.Menu.Sheet";
|
const char * const M_SHEET = "ObjectViewerQt.Menu.Sheet";
|
||||||
|
|
||||||
//actions
|
//actions
|
||||||
const char * const NEW = "ObjectViewerQt.New";
|
const char * const NEW = "ObjectViewerQt.New";
|
||||||
const char * const OPEN = "ObjectViewerQt.Open";
|
const char * const OPEN = "ObjectViewerQt.Open";
|
||||||
|
const char * const SAVE = "ObjectViewerQt.Save";
|
||||||
|
const char * const SAVE_AS = "ObjectViewerQt.SaveAs";
|
||||||
|
const char * const SAVE_ALL = "ObjectViewerQt.SaveAll";
|
||||||
const char * const EXIT = "ObjectViewerQt.Exit";
|
const char * const EXIT = "ObjectViewerQt.Exit";
|
||||||
|
|
||||||
|
const char * const UNDO = "ObjectViewerQt.Undo";
|
||||||
|
const char * const REDO = "ObjectViewerQt.Redo";
|
||||||
|
const char * const CUT = "ObjectViewerQt.Cut";
|
||||||
|
const char * const COPY = "ObjectViewerQt.Copy";
|
||||||
|
const char * const PASTE = "ObjectViewerQt.Paste";
|
||||||
|
const char * const DEL = "ObjectViewerQt.Del";
|
||||||
|
const char * const FIND = "ObjectViewerQt.Find";
|
||||||
|
const char * const SELECT_ALL = "ObjectViewerQt.SelectAll";
|
||||||
|
const char * const GOTO_POS = "ObjectViewerQt.Goto";
|
||||||
|
|
||||||
const char * const SETTINGS = "ObjectViewerQt.Settings";
|
const char * const SETTINGS = "ObjectViewerQt.Settings";
|
||||||
const char * const TOGGLE_FULLSCREEN = "ObjectViewerQt.ToggleFullScreen";
|
const char * const TOGGLE_FULLSCREEN = "ObjectViewerQt.ToggleFullScreen";
|
||||||
|
|
||||||
|
|
|
@ -57,8 +57,15 @@ MainWindow::MainWindow(ExtensionSystem::IPluginManager *pluginManager, QWidget *
|
||||||
m_settings = m_pluginManager->settings();
|
m_settings = m_pluginManager->settings();
|
||||||
m_coreImpl = new CoreImpl(this);
|
m_coreImpl = new CoreImpl(this);
|
||||||
|
|
||||||
|
#ifdef Q_WS_MAC
|
||||||
|
m_menuBar = new QMenuBar(0);
|
||||||
|
#else
|
||||||
|
m_menuBar = new QMenuBar(this);
|
||||||
|
setMenuBar(m_menuBar);
|
||||||
|
#endif
|
||||||
|
|
||||||
m_menuManager = new MenuManager(this);
|
m_menuManager = new MenuManager(this);
|
||||||
m_menuManager->setMenuBar(menuBar());
|
m_menuManager->setMenuBar(m_menuBar);
|
||||||
|
|
||||||
m_tabWidget = new QTabWidget(this);
|
m_tabWidget = new QTabWidget(this);
|
||||||
m_tabWidget->setTabPosition(QTabWidget::South);
|
m_tabWidget->setTabPosition(QTabWidget::South);
|
||||||
|
@ -141,6 +148,56 @@ void MainWindow::open()
|
||||||
m_contextManager->currentContext()->open();
|
m_contextManager->currentContext()->open();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::newFile()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::save()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::saveAs()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::saveAll()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::cut()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::copy()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::paste()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::del()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::find()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::gotoPos()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::setFullScreen(bool enabled)
|
||||||
|
{
|
||||||
|
if (bool(windowState() & Qt::WindowFullScreen) == enabled)
|
||||||
|
return;
|
||||||
|
if (enabled)
|
||||||
|
setWindowState(windowState() | Qt::WindowFullScreen);
|
||||||
|
else
|
||||||
|
setWindowState(windowState() & ~Qt::WindowFullScreen);
|
||||||
|
}
|
||||||
|
|
||||||
bool MainWindow::showOptionsDialog(const QString &group,
|
bool MainWindow::showOptionsDialog(const QString &group,
|
||||||
const QString &page,
|
const QString &page,
|
||||||
QWidget *parent)
|
QWidget *parent)
|
||||||
|
@ -186,6 +243,13 @@ void MainWindow::closeEvent(QCloseEvent *event)
|
||||||
|
|
||||||
void MainWindow::createActions()
|
void MainWindow::createActions()
|
||||||
{
|
{
|
||||||
|
m_newAction = new QAction(tr("&New"), this);
|
||||||
|
m_newAction->setIcon(QIcon(Constants::ICON_NEW));
|
||||||
|
m_newAction->setShortcut(QKeySequence::New);
|
||||||
|
menuManager()->registerAction(m_newAction, Constants::NEW);
|
||||||
|
connect(m_newAction, SIGNAL(triggered()), this, SLOT(newFile()));
|
||||||
|
m_newAction->setEnabled(false);
|
||||||
|
|
||||||
m_openAction = new QAction(tr("&Open..."), this);
|
m_openAction = new QAction(tr("&Open..."), this);
|
||||||
m_openAction->setIcon(QIcon(Constants::ICON_OPEN));
|
m_openAction->setIcon(QIcon(Constants::ICON_OPEN));
|
||||||
m_openAction->setShortcut(QKeySequence::Open);
|
m_openAction->setShortcut(QKeySequence::Open);
|
||||||
|
@ -193,12 +257,80 @@ void MainWindow::createActions()
|
||||||
menuManager()->registerAction(m_openAction, Constants::OPEN);
|
menuManager()->registerAction(m_openAction, Constants::OPEN);
|
||||||
connect(m_openAction, SIGNAL(triggered()), this, SLOT(open()));
|
connect(m_openAction, SIGNAL(triggered()), this, SLOT(open()));
|
||||||
|
|
||||||
|
m_saveAction = new QAction(tr("&Save"), this);
|
||||||
|
m_saveAction->setIcon(QIcon(Constants::ICON_SAVE));
|
||||||
|
m_saveAction->setShortcut(QKeySequence::Save);
|
||||||
|
menuManager()->registerAction(m_saveAction, Constants::SAVE);
|
||||||
|
connect(m_saveAction, SIGNAL(triggered()), this, SLOT(save()));
|
||||||
|
m_saveAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_saveAsAction = new QAction(tr("Save &As..."), this);
|
||||||
|
m_saveAsAction->setIcon(QIcon(Constants::ICON_SAVE_AS));
|
||||||
|
m_saveAsAction->setShortcut(QKeySequence::SaveAs);
|
||||||
|
menuManager()->registerAction(m_saveAsAction, Constants::SAVE_AS);
|
||||||
|
connect(m_saveAsAction, SIGNAL(triggered()), this, SLOT(saveAs()));
|
||||||
|
m_saveAsAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_saveAllAction = new QAction(tr("&Save A&ll"), this);
|
||||||
|
m_saveAllAction->setShortcut(QKeySequence::SelectAll);
|
||||||
|
menuManager()->registerAction(m_saveAllAction, Constants::SAVE_ALL);
|
||||||
|
connect(m_saveAllAction, SIGNAL(triggered()), this, SLOT(saveAll()));
|
||||||
|
m_saveAllAction->setEnabled(false);
|
||||||
|
|
||||||
m_exitAction = new QAction(tr("E&xit"), this);
|
m_exitAction = new QAction(tr("E&xit"), this);
|
||||||
m_exitAction->setShortcut(QKeySequence(tr("Ctrl+Q")));
|
m_exitAction->setShortcut(QKeySequence(tr("Ctrl+Q")));
|
||||||
m_exitAction->setStatusTip(tr("Exit the application"));
|
m_exitAction->setStatusTip(tr("Exit the application"));
|
||||||
menuManager()->registerAction(m_exitAction, Constants::EXIT);
|
menuManager()->registerAction(m_exitAction, Constants::EXIT);
|
||||||
connect(m_exitAction, SIGNAL(triggered()), this, SLOT(close()));
|
connect(m_exitAction, SIGNAL(triggered()), this, SLOT(close()));
|
||||||
|
|
||||||
|
m_cutAction = new QAction(tr("Cu&t"), this);
|
||||||
|
m_cutAction->setShortcut(QKeySequence::Cut);
|
||||||
|
menuManager()->registerAction(m_cutAction, Constants::CUT);
|
||||||
|
connect(m_cutAction, SIGNAL(triggered()), this, SLOT(cut()));
|
||||||
|
m_cutAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_copyAction = new QAction(tr("&Copy"), this);
|
||||||
|
m_copyAction->setShortcut(QKeySequence::Copy);
|
||||||
|
menuManager()->registerAction(m_copyAction, Constants::COPY);
|
||||||
|
connect(m_copyAction, SIGNAL(triggered()), this, SLOT(copy()));
|
||||||
|
m_copyAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_pasteAction = new QAction(tr("&Paste"), this);
|
||||||
|
m_pasteAction->setShortcut(QKeySequence::Paste);
|
||||||
|
menuManager()->registerAction(m_pasteAction, Constants::PASTE);
|
||||||
|
connect(m_pasteAction, SIGNAL(triggered()), this, SLOT(paste()));
|
||||||
|
m_pasteAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_delAction = new QAction(tr("&Delete"), this);
|
||||||
|
m_delAction->setShortcut(QKeySequence::Delete);
|
||||||
|
menuManager()->registerAction(m_delAction, Constants::DEL);
|
||||||
|
connect(m_delAction, SIGNAL(triggered()), this, SLOT(del()));
|
||||||
|
m_delAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_selectAllAction = new QAction(tr("Select &All"), this);
|
||||||
|
m_selectAllAction->setShortcut(QKeySequence::SelectAll);
|
||||||
|
menuManager()->registerAction(m_selectAllAction, Constants::SELECT_ALL);
|
||||||
|
connect(m_selectAllAction, SIGNAL(triggered()), this, SLOT(selectAll()));
|
||||||
|
m_selectAllAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_findAction = new QAction(tr("&Find"), this);
|
||||||
|
m_findAction->setShortcut(QKeySequence::Find);
|
||||||
|
menuManager()->registerAction(m_findAction, Constants::FIND);
|
||||||
|
connect(m_findAction, SIGNAL(triggered()), this, SLOT(find()));
|
||||||
|
m_findAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_gotoAction = new QAction(tr("&Go To.."), this);
|
||||||
|
m_gotoAction->setShortcut(QKeySequence(tr("Ctrl+G")));
|
||||||
|
menuManager()->registerAction(m_gotoAction, Constants::GOTO_POS);
|
||||||
|
connect(m_gotoAction, SIGNAL(triggered()), this, SLOT(gotoPos()));
|
||||||
|
m_gotoAction->setEnabled(false);
|
||||||
|
|
||||||
|
m_fullscreenAction = new QAction(tr("Fullscreen"), this);
|
||||||
|
m_fullscreenAction->setCheckable(true);
|
||||||
|
m_fullscreenAction->setShortcut(QKeySequence(tr("Ctrl+Shift+F11")));
|
||||||
|
menuManager()->registerAction(m_fullscreenAction, Constants::TOGGLE_FULLSCREEN);
|
||||||
|
connect(m_fullscreenAction, SIGNAL(triggered(bool)), this, SLOT(setFullScreen(bool)));
|
||||||
|
|
||||||
m_settingsAction = new QAction(tr("&Settings"), this);
|
m_settingsAction = new QAction(tr("&Settings"), this);
|
||||||
m_settingsAction->setIcon(QIcon(":/images/preferences.png"));
|
m_settingsAction->setIcon(QIcon(":/images/preferences.png"));
|
||||||
m_settingsAction->setShortcut(QKeySequence::Preferences);
|
m_settingsAction->setShortcut(QKeySequence::Preferences);
|
||||||
|
@ -232,22 +364,43 @@ void MainWindow::createActions()
|
||||||
|
|
||||||
void MainWindow::createMenus()
|
void MainWindow::createMenus()
|
||||||
{
|
{
|
||||||
m_fileMenu = menuBar()->addMenu(tr("&File"));
|
m_fileMenu = m_menuBar->addMenu(tr("&File"));
|
||||||
menuManager()->registerMenu(m_fileMenu, Constants::M_FILE);
|
menuManager()->registerMenu(m_fileMenu, Constants::M_FILE);
|
||||||
|
m_fileMenu->addAction(m_newAction);
|
||||||
m_fileMenu->addAction(m_openAction);
|
m_fileMenu->addAction(m_openAction);
|
||||||
|
m_fileMenu->addSeparator();
|
||||||
|
m_fileMenu->addAction(m_saveAction);
|
||||||
|
m_fileMenu->addAction(m_saveAsAction);
|
||||||
|
m_fileMenu->addAction(m_saveAllAction);
|
||||||
|
m_fileMenu->addSeparator();
|
||||||
|
|
||||||
|
m_recentFilesMenu = m_fileMenu->addMenu(tr("Recent &Files"));
|
||||||
|
m_recentFilesMenu->setEnabled(false);
|
||||||
|
menuManager()->registerMenu(m_recentFilesMenu, Constants::M_FILE_RECENTFILES);
|
||||||
|
|
||||||
m_fileMenu->addSeparator();
|
m_fileMenu->addSeparator();
|
||||||
m_fileMenu->addAction(m_exitAction);
|
m_fileMenu->addAction(m_exitAction);
|
||||||
|
|
||||||
m_editMenu = menuBar()->addMenu(tr("&Edit"));
|
m_editMenu = m_menuBar->addMenu(tr("&Edit"));
|
||||||
m_editMenu->addAction(m_undoGroup->createUndoAction(this));
|
m_editMenu->addAction(m_undoGroup->createUndoAction(this));
|
||||||
m_editMenu->addAction(m_undoGroup->createRedoAction(this));
|
m_editMenu->addAction(m_undoGroup->createRedoAction(this));
|
||||||
m_editMenu->addSeparator();
|
m_editMenu->addSeparator();
|
||||||
|
m_editMenu->addAction(m_cutAction);
|
||||||
|
m_editMenu->addAction(m_copyAction);
|
||||||
|
m_editMenu->addAction(m_pasteAction);
|
||||||
|
m_editMenu->addAction(m_delAction);
|
||||||
|
m_editMenu->addSeparator();
|
||||||
|
m_editMenu->addAction(m_selectAllAction);
|
||||||
|
m_editMenu->addSeparator();
|
||||||
|
m_editMenu->addAction(m_findAction);
|
||||||
|
m_editMenu->addAction(m_gotoAction);
|
||||||
menuManager()->registerMenu(m_editMenu, Constants::M_EDIT);
|
menuManager()->registerMenu(m_editMenu, Constants::M_EDIT);
|
||||||
|
|
||||||
m_viewMenu = menuBar()->addMenu(tr("&View"));
|
m_viewMenu = m_menuBar->addMenu(tr("&View"));
|
||||||
|
m_viewMenu->addAction(m_fullscreenAction);
|
||||||
menuManager()->registerMenu(m_viewMenu, Constants::M_VIEW);
|
menuManager()->registerMenu(m_viewMenu, Constants::M_VIEW);
|
||||||
|
|
||||||
m_toolsMenu = menuBar()->addMenu(tr("&Tools"));
|
m_toolsMenu = m_menuBar->addMenu(tr("&Tools"));
|
||||||
menuManager()->registerMenu(m_toolsMenu, Constants::M_TOOLS);
|
menuManager()->registerMenu(m_toolsMenu, Constants::M_TOOLS);
|
||||||
|
|
||||||
m_sheetMenu = m_toolsMenu->addMenu(tr("&Sheet"));
|
m_sheetMenu = m_toolsMenu->addMenu(tr("&Sheet"));
|
||||||
|
@ -257,9 +410,9 @@ void MainWindow::createMenus()
|
||||||
|
|
||||||
m_toolsMenu->addAction(m_settingsAction);
|
m_toolsMenu->addAction(m_settingsAction);
|
||||||
|
|
||||||
menuBar()->addSeparator();
|
m_menuBar->addSeparator();
|
||||||
|
|
||||||
m_helpMenu = menuBar()->addMenu(tr("&Help"));
|
m_helpMenu = m_menuBar->addMenu(tr("&Help"));
|
||||||
menuManager()->registerMenu(m_helpMenu, Constants::M_HELP);
|
menuManager()->registerMenu(m_helpMenu, Constants::M_HELP);
|
||||||
m_helpMenu->addAction(m_aboutAction);
|
m_helpMenu->addAction(m_aboutAction);
|
||||||
m_helpMenu->addAction(m_aboutQtAction);
|
m_helpMenu->addAction(m_aboutQtAction);
|
||||||
|
|
|
@ -66,6 +66,17 @@ public Q_SLOTS:
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void open();
|
void open();
|
||||||
|
void newFile();
|
||||||
|
void save();
|
||||||
|
void saveAs();
|
||||||
|
void saveAll();
|
||||||
|
void cut();
|
||||||
|
void copy();
|
||||||
|
void paste();
|
||||||
|
void del();
|
||||||
|
void find();
|
||||||
|
void gotoPos();
|
||||||
|
void setFullScreen(bool enabled);
|
||||||
void about();
|
void about();
|
||||||
void updateContext(Core::IContext *context);
|
void updateContext(Core::IContext *context);
|
||||||
|
|
||||||
|
@ -99,15 +110,28 @@ private:
|
||||||
QTabWidget *m_tabWidget;
|
QTabWidget *m_tabWidget;
|
||||||
|
|
||||||
QMenu *m_fileMenu;
|
QMenu *m_fileMenu;
|
||||||
|
QMenu *m_recentFilesMenu;
|
||||||
QMenu *m_editMenu;
|
QMenu *m_editMenu;
|
||||||
QMenu *m_viewMenu;
|
QMenu *m_viewMenu;
|
||||||
QMenu *m_toolsMenu;
|
QMenu *m_toolsMenu;
|
||||||
QMenu *m_helpMenu;
|
QMenu *m_helpMenu;
|
||||||
|
QMenuBar *m_menuBar;
|
||||||
QMenu *m_sheetMenu;
|
QMenu *m_sheetMenu;
|
||||||
|
|
||||||
|
QAction *m_newAction;
|
||||||
QAction *m_openAction;
|
QAction *m_openAction;
|
||||||
|
QAction *m_saveAction;
|
||||||
|
QAction *m_saveAsAction;
|
||||||
|
QAction *m_saveAllAction;
|
||||||
QAction *m_exitAction;
|
QAction *m_exitAction;
|
||||||
|
QAction *m_cutAction;
|
||||||
|
QAction *m_copyAction;
|
||||||
|
QAction *m_pasteAction;
|
||||||
|
QAction *m_delAction;
|
||||||
|
QAction *m_selectAllAction;
|
||||||
|
QAction *m_findAction;
|
||||||
|
QAction *m_gotoAction;
|
||||||
|
QAction *m_fullscreenAction;
|
||||||
QAction *m_settingsAction;
|
QAction *m_settingsAction;
|
||||||
QAction *m_pluginViewAction;
|
QAction *m_pluginViewAction;
|
||||||
QAction *m_aboutAction;
|
QAction *m_aboutAction;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue