Merge
This commit is contained in:
commit
449c10f29d
91 changed files with 900 additions and 1337 deletions
|
@ -75,6 +75,14 @@ FIND_PACKAGE(Jpeg)
|
||||||
|
|
||||||
NL_SETUP_BUILD()
|
NL_SETUP_BUILD()
|
||||||
|
|
||||||
|
IF(WITH_STATIC_DRIVERS)
|
||||||
|
IF(WIN32)
|
||||||
|
ADD_DEFINITIONS(/DNL_STATIC)
|
||||||
|
ELSE(WIN32)
|
||||||
|
ADD_DEFINITIONS(-DNL_STATIC)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
ENDIF(WITH_STATIC_DRIVERS)
|
||||||
|
|
||||||
# On Windows we need to find DirectInput for NLMISC.
|
# On Windows we need to find DirectInput for NLMISC.
|
||||||
# This is how we get events.
|
# This is how we get events.
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
|
@ -177,6 +185,10 @@ NL_SETUP_BUILD_FLAGS()
|
||||||
|
|
||||||
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake)
|
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake)
|
||||||
|
|
||||||
|
IF(FINAL_VERSION)
|
||||||
|
ADD_DEFINITIONS(-DFINAL_VERSION=1)
|
||||||
|
ENDIF(FINAL_VERSION)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(src)
|
ADD_SUBDIRECTORY(src)
|
||||||
ADD_SUBDIRECTORY(include)
|
ADD_SUBDIRECTORY(include)
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,69 @@
|
||||||
###
|
###
|
||||||
# Build Library Name
|
# Helper macro that generates .pc and installs it.
|
||||||
|
# Argument: name - the name of the .pc package, e.g. "nel-pacs.pc"
|
||||||
|
###
|
||||||
|
MACRO(NL_GEN_PC name)
|
||||||
|
IF(NOT WIN32)
|
||||||
|
CONFIGURE_FILE(${name}.in "${CMAKE_CURRENT_BINARY_DIR}/${name}")
|
||||||
|
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${name}" DESTINATION lib/pkgconfig)
|
||||||
|
ENDIF(NOT WIN32)
|
||||||
|
ENDMACRO(NL_GEN_PC)
|
||||||
|
|
||||||
|
###
|
||||||
#
|
#
|
||||||
# Arguments: name - undecorated library name
|
|
||||||
# Sets: LIBNAME - decorated library name
|
|
||||||
###
|
###
|
||||||
MACRO(DECORATE_NEL_LIB name)
|
MACRO(NL_TARGET_LIB name)
|
||||||
|
IF(WITH_STATIC)
|
||||||
|
ADD_LIBRARY(${name} STATIC ${ARGN})
|
||||||
|
ELSE(WITH_STATIC)
|
||||||
|
ADD_LIBRARY(${name} SHARED ${ARGN})
|
||||||
|
ENDIF(WITH_STATIC)
|
||||||
|
ENDMACRO(NL_TARGET_LIB)
|
||||||
|
|
||||||
|
###
|
||||||
|
#
|
||||||
|
###
|
||||||
|
MACRO(NL_TARGET_DRIVER name)
|
||||||
|
IF(WITH_STATIC_DRIVERS)
|
||||||
|
ADD_LIBRARY(${name} STATIC ${ARGN})
|
||||||
|
ELSE(WITH_STATIC_DRIVERS)
|
||||||
|
ADD_LIBRARY(${name} SHARED ${ARGN})
|
||||||
|
ENDIF(WITH_STATIC_DRIVERS)
|
||||||
|
ENDMACRO(NL_TARGET_DRIVER)
|
||||||
|
|
||||||
|
###
|
||||||
|
# Helper macro that sets the default library properties.
|
||||||
|
# Argument: name - the target name whose properties are being set
|
||||||
|
# Argument:
|
||||||
|
###
|
||||||
|
MACRO(NL_DEFAULT_PROPS name label)
|
||||||
|
SET_TARGET_PROPERTIES(${name} PROPERTIES
|
||||||
|
VERSION ${NL_VERSION}
|
||||||
|
SOVERSION ${NL_VERSION_MAJOR}
|
||||||
|
PROJECT_LABEL ${label})
|
||||||
|
ENDMACRO(NL_DEFAULT_PROPS)
|
||||||
|
|
||||||
|
###
|
||||||
|
# Adds the target suffix on Windows.
|
||||||
|
# Argument: name - the library's target name.
|
||||||
|
###
|
||||||
|
MACRO(NL_ADD_LIB_SUFFIX name)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
IF(NL_BUILD_MODE MATCHES "NL_RELEASE_DEBUG")
|
SET_TARGET_PROPERTIES(${name} PROPERTIES DEBUG_POSTFIX "_d" RELEASE_POSTFIX "_r")
|
||||||
SET(LIBNAME "${name}")
|
|
||||||
ELSE(NL_BUILD_MODE MATCHES "NL_RELEASE_DEBUG")
|
|
||||||
IF(NL_BUILD_MODE MATCHES "NL_DEBUG")
|
|
||||||
SET(LIBNAME "${name}")
|
|
||||||
ELSE(NL_BUILD_MODE MATCHES "NL_DEBUG")
|
|
||||||
SET(LIBNAME "${name}")
|
|
||||||
ENDIF(NL_BUILD_MODE MATCHES "NL_DEBUG")
|
|
||||||
ENDIF(NL_BUILD_MODE MATCHES "NL_RELEASE_DEBUG")
|
|
||||||
ELSE(WIN32)
|
|
||||||
SET(LIBNAME "${name}")
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
ENDMACRO(NL_ADD_LIB_SUFFIX)
|
||||||
|
|
||||||
ENDMACRO(DECORATE_NEL_LIB)
|
###
|
||||||
|
# Adds the runtime link flags for Win32 binaries.
|
||||||
|
# Argument: name - the target to add the link flags to.
|
||||||
|
###
|
||||||
|
MACRO(NL_ADD_RUNTIME_FLAGS name)
|
||||||
|
IF(WIN32)
|
||||||
|
SET_TARGET_PROPERTIES(${name} PROPERTIES
|
||||||
|
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
||||||
|
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}")
|
||||||
|
ENDIF(WIN32)
|
||||||
|
ENDMACRO(NL_ADD_RUNTIME_FLAGS)
|
||||||
|
|
||||||
###
|
###
|
||||||
# Checks build vs. source location. Prevents In-Source builds.
|
# Checks build vs. source location. Prevents In-Source builds.
|
||||||
|
@ -48,6 +91,15 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS)
|
||||||
OPTION(WITH_LOGGING "With Logging" ON )
|
OPTION(WITH_LOGGING "With Logging" ON )
|
||||||
OPTION(WITH_COVERAGE "With Code Coverage Support" OFF)
|
OPTION(WITH_COVERAGE "With Code Coverage Support" OFF)
|
||||||
OPTION(WITH_PCH "With Precompiled Headers" ON )
|
OPTION(WITH_PCH "With Precompiled Headers" ON )
|
||||||
|
OPTION(FINAL_VERSION "Build in Final Version mode" ON )
|
||||||
|
|
||||||
|
# Default to static building on Windows.
|
||||||
|
IF(WIN32)
|
||||||
|
OPTION(WITH_STATIC "With static libraries." ON )
|
||||||
|
ELSE(WIN32)
|
||||||
|
OPTION(WITH_STATIC "With static libraries." OFF)
|
||||||
|
ENDIF(WIN32)
|
||||||
|
OPTION(WITH_STATIC_DRIVERS "With static drivers." OFF)
|
||||||
|
|
||||||
###
|
###
|
||||||
# Core libraries
|
# Core libraries
|
||||||
|
@ -178,7 +230,7 @@ MACRO(NL_SETUP_BUILD_FLAGS)
|
||||||
## MinSizeRel
|
## MinSizeRel
|
||||||
SET(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_CFLAGS} ${PLATFORM_CFLAGS} ")
|
SET(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_CFLAGS} ${PLATFORM_CFLAGS} ")
|
||||||
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_CFLAGS} ${PLATFORM_CFLAGS} ")
|
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_CFLAGS} ${PLATFORM_CFLAGS} ")
|
||||||
SET(LINK_FLAGS_MINSIZEREL "${CMAKE_LINK_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_LINK_CFLAGS} ${PLATFORM_LINKFLAGS} ")
|
SET(CMAKE_LINK_FLAGS_MINSIZEREL "${CMAKE_LINK_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_LINK_CFLAGS} ${PLATFORM_LINKFLAGS} ")
|
||||||
ENDMACRO(NL_SETUP_BUILD_FLAGS)
|
ENDMACRO(NL_SETUP_BUILD_FLAGS)
|
||||||
|
|
||||||
MACRO(NL_SETUP_PREFIX_PATHS)
|
MACRO(NL_SETUP_PREFIX_PATHS)
|
||||||
|
|
|
@ -186,6 +186,9 @@ public:
|
||||||
/// Set the title of the NeL window
|
/// Set the title of the NeL window
|
||||||
virtual void setWindowTitle(const ucstring &title)=0;
|
virtual void setWindowTitle(const ucstring &title)=0;
|
||||||
|
|
||||||
|
/// Set icon(s) of the NeL window
|
||||||
|
virtual void setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps)=0;
|
||||||
|
|
||||||
/// Set the position of the NeL window
|
/// Set the position of the NeL window
|
||||||
virtual void setWindowPos(sint32 x, sint32 y)=0;
|
virtual void setWindowPos(sint32 x, sint32 y)=0;
|
||||||
|
|
||||||
|
|
|
@ -148,6 +148,9 @@ public:
|
||||||
/// Set the title of the NeL window
|
/// Set the title of the NeL window
|
||||||
virtual void setWindowTitle(const ucstring &title);
|
virtual void setWindowTitle(const ucstring &title);
|
||||||
|
|
||||||
|
/// Set icon(s) of the NeL window
|
||||||
|
virtual void setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps);
|
||||||
|
|
||||||
/// Set the position of the NeL window
|
/// Set the position of the NeL window
|
||||||
virtual void setWindowPos(sint32 x, sint32 y);
|
virtual void setWindowPos(sint32 x, sint32 y);
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace NL3D {
|
||||||
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
const char *CPSAttribMaker<NLMISC::CRGBA>::getType() { return "CRGBA"; }
|
inline const char *CPSAttribMaker<NLMISC::CRGBA>::getType() { return "CRGBA"; }
|
||||||
|
|
||||||
|
|
||||||
// Depending on the driver, the format of colors in vertex buffer may change. We don't want to change the format for each data that is (dynamically) in vertex buffer, so
|
// Depending on the driver, the format of colors in vertex buffer may change. We don't want to change the format for each data that is (dynamically) in vertex buffer, so
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
namespace NL3D {
|
namespace NL3D {
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
const char *CPSAttribMaker<float>::getType() { return "float"; }
|
inline const char *CPSAttribMaker<float>::getType() { return "float"; }
|
||||||
|
|
||||||
/// these are some attribute makers for float
|
/// these are some attribute makers for float
|
||||||
/// This is a float blender class. It just blend between 2 values
|
/// This is a float blender class. It just blend between 2 values
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
namespace NL3D {
|
namespace NL3D {
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
const char *CPSAttribMaker<uint32>::getType() { return "int32"; }
|
inline const char *CPSAttribMaker<uint32>::getType() { return "int32"; }
|
||||||
|
|
||||||
/// these are some attribute makers for int
|
/// these are some attribute makers for int
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
namespace NL3D {
|
namespace NL3D {
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
const char *CPSAttribMaker<CPlaneBasis>::getType() { return "CPlaneBasis";}
|
inline const char *CPSAttribMaker<CPlaneBasis>::getType() { return "CPlaneBasis";}
|
||||||
|
|
||||||
/** these are some attribute makers for plane_basis
|
/** these are some attribute makers for plane_basis
|
||||||
* This is a plane basis class. It just blend between 2 plane by linearly interpolating the normal
|
* This is a plane basis class. It just blend between 2 plane by linearly interpolating the normal
|
||||||
|
|
|
@ -186,6 +186,9 @@ public:
|
||||||
/// Set the title of the NeL window
|
/// Set the title of the NeL window
|
||||||
virtual void setWindowTitle(const ucstring &title)=0;
|
virtual void setWindowTitle(const ucstring &title)=0;
|
||||||
|
|
||||||
|
/// Set icon(s) of the NeL window
|
||||||
|
virtual void setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps)=0;
|
||||||
|
|
||||||
/// Set the position of the NeL window
|
/// Set the position of the NeL window
|
||||||
virtual void setWindowPos(sint32 x, sint32 y)=0;
|
virtual void setWindowPos(sint32 x, sint32 y)=0;
|
||||||
|
|
||||||
|
|
|
@ -621,6 +621,10 @@ public:
|
||||||
|
|
||||||
void getDibData(uint8*& extractData);
|
void getDibData(uint8*& extractData);
|
||||||
|
|
||||||
|
#ifdef NL_OS_WINDOWS
|
||||||
|
HICON getHICON(sint iconWidth, sint iconHeight, sint iconDepth, const NLMISC::CRGBA &col = NLMISC::CRGBA::White, sint hotSpotX = 0, sint hotSpotY = 0, bool cursor = false) const;
|
||||||
|
#endif
|
||||||
|
|
||||||
CBitmap& operator= (const CBitmap& from)
|
CBitmap& operator= (const CBitmap& from)
|
||||||
{
|
{
|
||||||
if (&from == this)
|
if (&from == this)
|
||||||
|
|
|
@ -700,6 +700,11 @@ struct CFile
|
||||||
* Call this method to get a temporary output filename. If you have successfully saved your data, delete the old filename and move the new one.
|
* Call this method to get a temporary output filename. If you have successfully saved your data, delete the old filename and move the new one.
|
||||||
*/
|
*/
|
||||||
static void getTemporaryOutputFilename (const std::string &originalFilename, std::string &tempFilename);
|
static void getTemporaryOutputFilename (const std::string &originalFilename, std::string &tempFilename);
|
||||||
|
|
||||||
|
/** Get application directory.
|
||||||
|
* \return directory where applications should write files.
|
||||||
|
*/
|
||||||
|
static std::string getApplicationDirectory(const std::string &appName = "");
|
||||||
};
|
};
|
||||||
|
|
||||||
} // NLMISC
|
} // NLMISC
|
||||||
|
|
|
@ -1,18 +1,14 @@
|
||||||
FILE(GLOB SRC *.cpp)
|
FILE(GLOB SRC *.cpp)
|
||||||
|
|
||||||
ADD_EXECUTABLE(nl_sample_clusterview ${SRC})
|
ADD_EXECUTABLE(nl_sample_clusterview WIN32 ${SRC})
|
||||||
|
|
||||||
ADD_DEFINITIONS(-DCV_DIR="\\"${NL_SHARE_PREFIX}/nl_sample_clusterview/\\"")
|
ADD_DEFINITIONS(-DCV_DIR="\\"${NL_SHARE_PREFIX}/nl_sample_clusterview/\\"")
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_clusterview ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc nel3d)
|
TARGET_LINK_LIBRARIES(nl_sample_clusterview ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc nel3d)
|
||||||
IF(WIN32)
|
NL_ADD_RUNTIME_FLAGS(nl_sample_clusterview)
|
||||||
SET_TARGET_PROPERTIES(nl_sample_clusterview PROPERTIES
|
NL_DEFAULT_PROPS(nl_sample_clusterview "Samples, 3D: Cluster Viewer")
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
LINK_FLAGS "/SUBSYSTEM:WINDOWS"
|
|
||||||
PROJECT_LABEL "Samples, 3D: Cluster Viewer")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_clusterview RUNTIME DESTINATION bin COMPONENT samples3d)
|
INSTALL(TARGETS nl_sample_clusterview RUNTIME DESTINATION bin COMPONENT samples3d)
|
||||||
|
|
|
@ -1,18 +1,14 @@
|
||||||
FILE(GLOB SRC *.cpp)
|
FILE(GLOB SRC *.cpp)
|
||||||
|
|
||||||
ADD_EXECUTABLE(nl_sample_font ${SRC})
|
ADD_EXECUTABLE(nl_sample_font WIN32 ${SRC})
|
||||||
|
|
||||||
ADD_DEFINITIONS(-DFONT_DIR="\\"${NL_SHARE_PREFIX}/nl_sample_font/\\"")
|
ADD_DEFINITIONS(-DFONT_DIR="\\"${NL_SHARE_PREFIX}/nl_sample_font/\\"")
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_font ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc nel3d)
|
TARGET_LINK_LIBRARIES(nl_sample_font ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc nel3d)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_font "Samples, 3D: Font")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_font PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_font)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
LINK_FLAGS "/SUBSYSTEM:WINDOWS"
|
|
||||||
PROJECT_LABEL "Samples, 3D: Font")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_font RUNTIME DESTINATION bin COMPONENT samples3d)
|
INSTALL(TARGETS nl_sample_font RUNTIME DESTINATION bin COMPONENT samples3d)
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
FILE(GLOB SRC *.cpp)
|
FILE(GLOB SRC *.cpp)
|
||||||
|
|
||||||
ADD_EXECUTABLE(nl_sample_shapeview ${SRC})
|
ADD_EXECUTABLE(nl_sample_shapeview WIN32 ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_shapeview ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc nel3d)
|
TARGET_LINK_LIBRARIES(nl_sample_shapeview ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc nel3d)
|
||||||
|
NL_DEFAULT_PROPS(nl_sample_shapeview "Samples, 3D: Font")
|
||||||
|
NL_ADD_RUNTIME_FLAGS(nl_sample_shapeview)
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET_TARGET_PROPERTIES(nl_sample_shapeview PROPERTIES
|
SET_TARGET_PROPERTIES(nl_sample_shapeview PROPERTIES
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
||||||
LINK_FLAGS "/SUBSYSTEM:WINDOWS"
|
|
||||||
PROJECT_LABEL "Samples, 3D: Shape Viewer")
|
PROJECT_LABEL "Samples, 3D: Shape Viewer")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
|
@ -6,12 +6,9 @@ ADD_DEFINITIONS(-DGF_DIR="\\"${NL_SHARE_PREFIX}/nl_sample_georges/\\"")
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_georges ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelgeorges nelmisc)
|
TARGET_LINK_LIBRARIES(nl_sample_georges ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelgeorges nelmisc)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_georges "Samples: Georges")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_georges PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_georges)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples: Georges")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_georges RUNTIME DESTINATION bin COMPONENT samplesgeorges)
|
INSTALL(TARGETS nl_sample_georges RUNTIME DESTINATION bin COMPONENT samplesgeorges)
|
||||||
|
|
|
@ -4,12 +4,9 @@ ADD_EXECUTABLE(nl_sample_command ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_command ${PLATFORM_LINKFLAGS} nelmisc)
|
TARGET_LINK_LIBRARIES(nl_sample_command ${PLATFORM_LINKFLAGS} nelmisc)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_command "Samples, Misc: Commands")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_command PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_command)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples, Misc: Commands")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_command RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
INSTALL(TARGETS nl_sample_command RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
||||||
|
|
|
@ -6,12 +6,9 @@ ADD_DEFINITIONS(-DNL_SAMPLE_CFG="\\"${NL_SHARE_PREFIX}/nl_sample_configfile/\\""
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_configfile ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
TARGET_LINK_LIBRARIES(nl_sample_configfile ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_configfile "Samples, Misc: Config Files")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_configfile PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_configfile)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples, Misc: Config Files")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_configfile RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
INSTALL(TARGETS nl_sample_configfile RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
FILE(GLOB SRC *.cpp)
|
FILE(GLOB SRC *.cpp)
|
||||||
|
|
||||||
DECORATE_NEL_LIB("nelmisc")
|
|
||||||
SET(NLMISC_LIB ${LIBNAME})
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(nl_sample_debug ${SRC})
|
ADD_EXECUTABLE(nl_sample_debug ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_debug ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
TARGET_LINK_LIBRARIES(nl_sample_debug ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_debug "Samples, Misc: Debugging")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_debug PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_debug)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples, Misc: Debugging")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_debug RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
INSTALL(TARGETS nl_sample_debug RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
||||||
|
|
|
@ -6,12 +6,9 @@ ADD_DEFINITIONS(-DNL_LANG_DATA="\\"${NL_SHARE_PREFIX}/nl_sample_i18n/\\"")
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_i18n ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
TARGET_LINK_LIBRARIES(nl_sample_i18n ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_i18n "Samples, Misc: I18N")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_i18n PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_i18n)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples, Misc: I18N")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_i18n RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
INSTALL(TARGETS nl_sample_i18n RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
FILE(GLOB SRC *.cpp)
|
FILE(GLOB SRC *.cpp)
|
||||||
|
|
||||||
DECORATE_NEL_LIB("nelmisc")
|
|
||||||
SET(NLMISC_LIB ${LIBNAME})
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(nl_sample_log ${SRC})
|
ADD_EXECUTABLE(nl_sample_log ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_log ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
TARGET_LINK_LIBRARIES(nl_sample_log ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_log "Samples, Misc: Logging")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_log PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_log)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples, Misc: Logging")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_log RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
INSTALL(TARGETS nl_sample_log RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
||||||
|
|
|
@ -4,12 +4,9 @@ ADD_EXECUTABLE(nl_sample_strings ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_strings ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
TARGET_LINK_LIBRARIES(nl_sample_strings ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_strings "Samples, Misc: Strings")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_strings PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nl_sample_strings)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples, Misc: Strings")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_strings RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
INSTALL(TARGETS nl_sample_strings RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
||||||
|
|
|
@ -1,18 +1,11 @@
|
||||||
FILE(GLOB SRC *.cpp)
|
FILE(GLOB SRC *.cpp)
|
||||||
|
|
||||||
DECORATE_NEL_LIB("nelmisc")
|
|
||||||
SET(NLMISC_LIB ${LIBNAME})
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(nl_sample_types_check ${SRC})
|
ADD_EXECUTABLE(nl_sample_types_check ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_types_check ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} ${NLMISC_LIB})
|
TARGET_LINK_LIBRARIES(nl_sample_types_check ${LIBXML2_LIBRARIES} ${PLATFORM_LINKFLAGS} nelmisc)
|
||||||
IF(WIN32)
|
NL_ADD_RUNTIME_FLAGS(nl_sample_types_check)
|
||||||
SET_TARGET_PROPERTIES(nl_sample_types_check PROPERTIES
|
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_types_check RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT samplesmisc)
|
INSTALL(TARGETS nl_sample_types_check RUNTIME DESTINATION bin COMPONENT samplesmisc)
|
||||||
|
|
|
@ -2,35 +2,22 @@ FILE(GLOB SRC *.cpp)
|
||||||
|
|
||||||
ADD_EXECUTABLE(nl_sample_udpclient client.cpp graph.cpp graph.h simlag.cpp simlag.h)
|
ADD_EXECUTABLE(nl_sample_udpclient client.cpp graph.cpp graph.h simlag.cpp simlag.h)
|
||||||
|
|
||||||
IF(WIN32)
|
ADD_EXECUTABLE(nl_sample_udpserver WIN32 bench_service.cpp receive_task.cpp receive_task.h)
|
||||||
ADD_EXECUTABLE(nl_sample_udpserver WIN32 bench_service.cpp receive_task.cpp receive_task.h)
|
|
||||||
ELSE(WIN32)
|
|
||||||
ADD_EXECUTABLE(nl_sample_udpserver bench_service.cpp receive_task.cpp receive_task.h)
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
ADD_DEFINITIONS(-DUDP_DIR="\\"${NL_SHARE_PREFIX}/nl_sample_udp/\\"")
|
ADD_DEFINITIONS(-DUDP_DIR="\\"${NL_SHARE_PREFIX}/nl_sample_udp/\\"")
|
||||||
|
|
||||||
IF(WITH_3D)
|
IF(WITH_3D)
|
||||||
ADD_DEFINITIONS(-DUSE_3D)
|
ADD_DEFINITIONS(-DUSE_3D)
|
||||||
DECORATE_NEL_LIB("nel3d")
|
|
||||||
SET(NL3D_LIB ${LIBNAME})
|
|
||||||
ELSE(WITH_3D)
|
|
||||||
SET(NL3D_LIB "")
|
|
||||||
ENDIF(WITH_3D)
|
ENDIF(WITH_3D)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_udpclient ${PLATFORM_LINKFLAGS} nelmisc nelnet nel3d)
|
TARGET_LINK_LIBRARIES(nl_sample_udpclient ${PLATFORM_LINKFLAGS} nelmisc nelnet nel3d)
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_udpserver ${PLATFORM_LINKFLAGS} nelmisc nelnet)
|
TARGET_LINK_LIBRARIES(nl_sample_udpserver ${PLATFORM_LINKFLAGS} nelmisc nelnet)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nl_sample_udpclient "Samples, Net, UDP: UDP Client")
|
||||||
SET_TARGET_PROPERTIES(nl_sample_udpclient PROPERTIES
|
NL_DEFAULT_PROPS(nl_sample_udpserver "Samples, Net, UDP: UDP Server")
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
NL_ADD_RUNTIME_FLAGS(nl_sample_udpclient)
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
NL_ADD_RUNTIME_FLAGS(nl_sample_udpserver)
|
||||||
PROJECT_LABEL "Samples, Net, UDP: UDP Client")
|
|
||||||
SET_TARGET_PROPERTIES(nl_sample_udpserver PROPERTIES
|
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Samples, Net, UDP: UDP Server")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
INSTALL(TARGETS nl_sample_udpclient nl_sample_udpserver RUNTIME DESTINATION bin COMPONENT samplesnet)
|
INSTALL(TARGETS nl_sample_udpclient nl_sample_udpserver RUNTIME DESTINATION bin COMPONENT samplesnet)
|
||||||
|
|
|
@ -662,26 +662,15 @@ SOURCE_GROUP(Shadows FILES
|
||||||
shadow_poly_receiver.cpp
|
shadow_poly_receiver.cpp
|
||||||
../../include/nel/3d/shadow_poly_receiver.h)
|
../../include/nel/3d/shadow_poly_receiver.h)
|
||||||
|
|
||||||
IF(NOT WIN32)
|
NL_TARGET_LIB(nel3d ${SRC})
|
||||||
ADD_LIBRARY(nel3d SHARED ${SRC})
|
|
||||||
CONFIGURE_FILE(nel-3d.pc.in nel-3d.pc)
|
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/nel-3d.pc" DESTINATION lib/pkgconfig)
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nel3d STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nel3d nelmisc ${FREETYPE_LIBRARY} ${JPEG_LIBRARY})
|
TARGET_LINK_LIBRARIES(nel3d nelmisc ${FREETYPE_LIBRARY} ${JPEG_LIBRARY})
|
||||||
SET_TARGET_PROPERTIES(nel3d PROPERTIES
|
NL_DEFAULT_PROPS(nel3d "Library: NeL 3D")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
NL_ADD_LIB_SUFFIX(nel3d)
|
||||||
PROJECT_LABEL "Library: NeL 3D")
|
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET_TARGET_PROPERTIES(nel3d PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r")
|
|
||||||
|
|
||||||
IF(JPEG_FOUND)
|
IF(JPEG_FOUND)
|
||||||
ADD_DEFINITIONS(/DUSE_JPEG)
|
ADD_DEFINITIONS(/DUSE_JPEG)
|
||||||
ENDIF(JPEG_FOUND)
|
ENDIF(JPEG_FOUND)
|
||||||
|
@ -697,6 +686,7 @@ IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nel3d ${CMAKE_CURRENT_SOURCE_DIR}/std3d.h ${CMAKE_CURRENT_SOURCE_DIR}/std3d.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nel3d ${CMAKE_CURRENT_SOURCE_DIR}/std3d.h ${CMAKE_CURRENT_SOURCE_DIR}/std3d.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
|
NL_GEN_PC(nel-3d.pc)
|
||||||
INSTALL(TARGETS nel3d LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
INSTALL(TARGETS nel3d LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(driver)
|
ADD_SUBDIRECTORY(driver)
|
||||||
|
|
|
@ -34,7 +34,7 @@ namespace NL3D
|
||||||
{
|
{
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
const uint32 IDriver::InterfaceVersion = 0x67; // changed window pos from uint32 to sint32
|
const uint32 IDriver::InterfaceVersion = 0x68; // added setWindowIcon
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
IDriver::IDriver() : _SyncTexDrvInfos( "IDriver::_SyncTexDrvInfos" )
|
IDriver::IDriver() : _SyncTexDrvInfos( "IDriver::_SyncTexDrvInfos" )
|
||||||
|
|
|
@ -1,23 +1,15 @@
|
||||||
FILE(GLOB SRC *.cpp *.h *.def)
|
FILE(GLOB SRC *.cpp *.h *.def)
|
||||||
|
|
||||||
DECORATE_NEL_LIB("nel_drv_direct3d_win")
|
NL_TARGET_DRIVER(nel_drv_direct3d_win ${SRC})
|
||||||
SET(NLDRV_D3D_LIB ${LIBNAME})
|
|
||||||
DECORATE_NEL_LIB("nel3d")
|
|
||||||
SET(NL3D_LIB ${LIBNAME})
|
|
||||||
|
|
||||||
ADD_LIBRARY(nel_drv_direct3d_win SHARED ${SRC})
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INC} ${DXSDK_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${FREETYPE_INC} ${DXSDK_INCLUDE_DIR})
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(nel_drv_direct3d_win nel3d ${LIBXML2_LIBRARIES} ${FREETYPE_LIB} ${DXSDK_D3DX9_LIBRARY} ${DXSDK_D3D9_LIBRARY} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY})
|
TARGET_LINK_LIBRARIES(nel_drv_direct3d_win nel3d ${LIBXML2_LIBRARIES} ${FREETYPE_LIB} ${DXSDK_D3DX9_LIBRARY} ${DXSDK_D3D9_LIBRARY} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY})
|
||||||
SET_TARGET_PROPERTIES(nel_drv_direct3d_win PROPERTIES
|
|
||||||
VERSION ${NL_VERSION}
|
NL_DEFAULT_PROPS(nel_drv_direct3d_win "Driver, Video: Direct3D")
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
NL_ADD_RUNTIME_FLAGS(nel_drv_direct3d_win)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
NL_ADD_LIB_SUFFIX(nel_drv_direct3d_win)
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r"
|
|
||||||
PROJECT_LABEL "Driver, Video: Direct3D")
|
|
||||||
ADD_DEFINITIONS(/Ddriver_direct3d_EXPORTS)
|
ADD_DEFINITIONS(/Ddriver_direct3d_EXPORTS)
|
||||||
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
@ -26,7 +18,7 @@ IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nel_drv_direct3d_win ${CMAKE_CURRENT_SOURCE_DIR}/stddirect3d.h ${CMAKE_CURRENT_SOURCE_DIR}/stddirect3d.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nel_drv_direct3d_win ${CMAKE_CURRENT_SOURCE_DIR}/stddirect3d.h ${CMAKE_CURRENT_SOURCE_DIR}/stddirect3d.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
INSTALL(TARGETS nel_drv_direct3d_win LIBRARY DESTINATION lib RUNTIME DESTINATION bin COMPONENT drivers3d)
|
INSTALL(TARGETS nel_drv_direct3d_win LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin COMPONENT drivers3d)
|
||||||
IF(WITH_MAXPLUGIN)
|
IF(WITH_MAXPLUGIN)
|
||||||
INSTALL(TARGETS nel_drv_direct3d_win RUNTIME DESTINATION maxplugin COMPONENT drivers3d)
|
INSTALL(TARGETS nel_drv_direct3d_win RUNTIME DESTINATION maxplugin COMPONENT drivers3d)
|
||||||
ENDIF(WITH_MAXPLUGIN)
|
ENDIF(WITH_MAXPLUGIN)
|
||||||
|
|
|
@ -1712,6 +1712,10 @@ bool CDriverD3D::release()
|
||||||
|
|
||||||
if (_HWnd)
|
if (_HWnd)
|
||||||
{
|
{
|
||||||
|
// make sure window icons are deleted
|
||||||
|
std::vector<NLMISC::CBitmap> bitmaps;
|
||||||
|
setWindowIcon(bitmaps);
|
||||||
|
|
||||||
if (_DestroyWindow)
|
if (_DestroyWindow)
|
||||||
DestroyWindow (_HWnd);
|
DestroyWindow (_HWnd);
|
||||||
_HWnd = NULL;
|
_HWnd = NULL;
|
||||||
|
@ -2177,6 +2181,73 @@ void CDriverD3D::setWindowTitle(const ucstring &title)
|
||||||
SetWindowTextW(_HWnd,(WCHAR*)title.c_str());
|
SetWindowTextW(_HWnd,(WCHAR*)title.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
void CDriverD3D::setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps)
|
||||||
|
{
|
||||||
|
if (!_HWnd)
|
||||||
|
return;
|
||||||
|
|
||||||
|
static HICON winIconBig = NULL;
|
||||||
|
static HICON winIconSmall = NULL;
|
||||||
|
|
||||||
|
if (winIconBig)
|
||||||
|
{
|
||||||
|
DestroyIcon(winIconBig);
|
||||||
|
winIconBig = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (winIconSmall)
|
||||||
|
{
|
||||||
|
DestroyIcon(winIconSmall);
|
||||||
|
winIconSmall = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
sint smallIndex = -1;
|
||||||
|
uint smallWidth = GetSystemMetrics(SM_CXSMICON);
|
||||||
|
uint smallHeight = GetSystemMetrics(SM_CYSMICON);
|
||||||
|
|
||||||
|
sint bigIndex = -1;
|
||||||
|
uint bigWidth = GetSystemMetrics(SM_CXICON);
|
||||||
|
uint bigHeight = GetSystemMetrics(SM_CYICON);
|
||||||
|
|
||||||
|
// find icons with the exact size
|
||||||
|
for(uint i = 0; i < bitmaps.size(); ++i)
|
||||||
|
{
|
||||||
|
if (smallIndex == -1 && bitmaps[i].getWidth() == smallWidth && bitmaps[i].getHeight() == smallHeight)
|
||||||
|
smallIndex = i;
|
||||||
|
|
||||||
|
if (bigIndex == -1 && bitmaps[i].getWidth() == bigWidth && bitmaps[i].getHeight() == bigHeight)
|
||||||
|
bigIndex = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
// find icons with taller size (we will resize them)
|
||||||
|
for(uint i = 0; i < bitmaps.size(); ++i)
|
||||||
|
{
|
||||||
|
if (smallIndex == -1 && bitmaps[i].getWidth() >= smallWidth && bitmaps[i].getHeight() >= smallHeight)
|
||||||
|
smallIndex = i;
|
||||||
|
|
||||||
|
if (bigIndex == -1 && bitmaps[i].getWidth() >= bigWidth && bitmaps[i].getHeight() >= bigHeight)
|
||||||
|
bigIndex = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (smallIndex > -1)
|
||||||
|
winIconSmall = bitmaps[smallIndex].getHICON(smallWidth, smallHeight, 32);
|
||||||
|
|
||||||
|
if (bigIndex > -1)
|
||||||
|
winIconBig = bitmaps[bigIndex].getHICON(bigWidth, bigHeight, 32);
|
||||||
|
|
||||||
|
if (winIconBig)
|
||||||
|
{
|
||||||
|
SendMessage(_HWnd, WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)winIconSmall);
|
||||||
|
SendMessage(_HWnd, WM_SETICON, 1 /* ICON_BIG */, (LPARAM)winIconBig);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SendMessage(_HWnd, WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)winIconSmall);
|
||||||
|
SendMessage(_HWnd, WM_SETICON, 1 /* ICON_BIG */, (LPARAM)winIconSmall);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CDriverD3D::setWindowPos(sint32 x, sint32 y)
|
void CDriverD3D::setWindowPos(sint32 x, sint32 y)
|
||||||
{
|
{
|
||||||
|
|
|
@ -759,6 +759,9 @@ public:
|
||||||
/// Set the title of the NeL window
|
/// Set the title of the NeL window
|
||||||
virtual void setWindowTitle(const ucstring &title);
|
virtual void setWindowTitle(const ucstring &title);
|
||||||
|
|
||||||
|
/// Set icon(s) of the NeL window
|
||||||
|
virtual void setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps);
|
||||||
|
|
||||||
/// Set the position of the NeL window
|
/// Set the position of the NeL window
|
||||||
virtual void setWindowPos(sint32 x, sint32 y);
|
virtual void setWindowPos(sint32 x, sint32 y);
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="9.00"
|
Version="9,00"
|
||||||
Name="driver_direct3d"
|
Name="driver_direct3d"
|
||||||
ProjectGUID="{263C0F2E-112D-437F-A6AB-DEA151A7A1F0}"
|
ProjectGUID="{263C0F2E-112D-437F-A6AB-DEA151A7A1F0}"
|
||||||
RootNamespace="driver_direct3d"
|
RootNamespace="driver_direct3d"
|
||||||
|
|
|
@ -10,23 +10,17 @@ ELSE(WIN32)
|
||||||
SET(NLDRV_OGL_LIB "nel_drv_opengl")
|
SET(NLDRV_OGL_LIB "nel_drv_opengl")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
ADD_LIBRARY(${NLDRV_OGL_LIB} SHARED ${SRC})
|
NL_TARGET_DRIVER(${NLDRV_OGL_LIB} ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} nel3d nelmisc ${OPENGL_LIBRARIES})
|
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} nel3d nelmisc ${OPENGL_LIBRARIES})
|
||||||
SET_TARGET_PROPERTIES(${NLDRV_OGL_LIB} PROPERTIES
|
NL_DEFAULT_PROPS(${NLDRV_OGL_LIB} "Driver, Video: OpenGL")
|
||||||
VERSION ${NL_VERSION}
|
NL_ADD_LIB_SUFFIX(${NLDRV_OGL_LIB})
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
NL_ADD_RUNTIME_FLAGS(${NLDRV_OGL_LIB})
|
||||||
PROJECT_LABEL "Driver, Video: OpenGL")
|
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY})
|
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${DXSDK_DINPUT_LIBRARY} ${DXSDK_GUID_LIBRARY})
|
||||||
SET_TARGET_PROPERTIES(${NLDRV_OGL_LIB} PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r"
|
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}")
|
|
||||||
ADD_DEFINITIONS(/DDRIVER_OPENGL_EXPORTS)
|
ADD_DEFINITIONS(/DDRIVER_OPENGL_EXPORTS)
|
||||||
ELSE(WIN32)
|
ELSE(WIN32)
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
|
@ -61,7 +55,7 @@ IF(NOT WITH_COCOA AND WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(${NLDRV_OGL_LIB} ${CMAKE_CURRENT_SOURCE_DIR}/stdopengl.h ${CMAKE_CURRENT_SOURCE_DIR}/stdopengl.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(${NLDRV_OGL_LIB} ${CMAKE_CURRENT_SOURCE_DIR}/stdopengl.h ${CMAKE_CURRENT_SOURCE_DIR}/stdopengl.cpp)
|
||||||
ENDIF(NOT WITH_COCOA AND WITH_PCH)
|
ENDIF(NOT WITH_COCOA AND WITH_PCH)
|
||||||
|
|
||||||
INSTALL(TARGETS ${NLDRV_OGL_LIB} LIBRARY DESTINATION lib RUNTIME DESTINATION bin COMPONENT drivers3d)
|
INSTALL(TARGETS ${NLDRV_OGL_LIB} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib RUNTIME DESTINATION bin COMPONENT drivers3d)
|
||||||
IF(WITH_MAXPLUGIN)
|
IF(WITH_MAXPLUGIN)
|
||||||
INSTALL(TARGETS ${NLDRV_OGL_LIB} RUNTIME DESTINATION maxplugin COMPONENT drivers3d)
|
INSTALL(TARGETS ${NLDRV_OGL_LIB} RUNTIME DESTINATION maxplugin COMPONENT drivers3d)
|
||||||
ENDIF(WITH_MAXPLUGIN)
|
ENDIF(WITH_MAXPLUGIN)
|
||||||
|
|
|
@ -559,6 +559,8 @@ bool CDriverGL::setupDisplay()
|
||||||
// meaning that light direction is always (0,1,0) in eye-space
|
// meaning that light direction is always (0,1,0) in eye-space
|
||||||
// use enableLighting(0....), to get normal behaviour
|
// use enableLighting(0....), to get normal behaviour
|
||||||
_DriverGLStates.enableLight(0, true);
|
_DriverGLStates.enableLight(0, true);
|
||||||
|
_LightMode[0] = CLight::DirectionalLight;
|
||||||
|
_WorldLightDirection[0] = CVector::Null;
|
||||||
|
|
||||||
_Initialized = true;
|
_Initialized = true;
|
||||||
|
|
||||||
|
|
|
@ -294,10 +294,13 @@ public:
|
||||||
virtual void beginDialogMode();
|
virtual void beginDialogMode();
|
||||||
virtual void endDialogMode();
|
virtual void endDialogMode();
|
||||||
|
|
||||||
/// Set the title of the NeL window
|
/// Set title of the NeL window
|
||||||
virtual void setWindowTitle(const ucstring &title);
|
virtual void setWindowTitle(const ucstring &title);
|
||||||
|
|
||||||
/// Set the position of the NeL window
|
/// Set icon(s) of the NeL window
|
||||||
|
virtual void setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps);
|
||||||
|
|
||||||
|
/// Set position of the NeL window
|
||||||
virtual void setWindowPos(sint32 x, sint32 y);
|
virtual void setWindowPos(sint32 x, sint32 y);
|
||||||
|
|
||||||
/// Show or hide the NeL window
|
/// Show or hide the NeL window
|
||||||
|
|
|
@ -35,11 +35,13 @@
|
||||||
# ifdef XRANDR
|
# ifdef XRANDR
|
||||||
# include <X11/extensions/Xrandr.h>
|
# include <X11/extensions/Xrandr.h>
|
||||||
# endif
|
# endif
|
||||||
|
# include <X11/Xatom.h>
|
||||||
#endif // NL_OS_UNIX
|
#endif // NL_OS_UNIX
|
||||||
|
|
||||||
#include "nel/misc/mouse_device.h"
|
#include "nel/misc/mouse_device.h"
|
||||||
#include "nel/misc/di_event_emitter.h"
|
#include "nel/misc/di_event_emitter.h"
|
||||||
#include "nel/3d/u_driver.h"
|
#include "nel/3d/u_driver.h"
|
||||||
|
#include "nel/misc/file.h"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
|
@ -296,6 +298,123 @@ bool CDriverGL::unInit()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CDriverGL::setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps)
|
||||||
|
{
|
||||||
|
if (_win == EmptyWindow)
|
||||||
|
return;
|
||||||
|
|
||||||
|
#if defined(NL_OS_WINDOWS)
|
||||||
|
|
||||||
|
static HICON winIconBig = NULL;
|
||||||
|
static HICON winIconSmall = NULL;
|
||||||
|
|
||||||
|
if (winIconBig)
|
||||||
|
{
|
||||||
|
DestroyIcon(winIconBig);
|
||||||
|
winIconBig = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (winIconSmall)
|
||||||
|
{
|
||||||
|
DestroyIcon(winIconSmall);
|
||||||
|
winIconSmall = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
sint smallIndex = -1;
|
||||||
|
uint smallWidth = GetSystemMetrics(SM_CXSMICON);
|
||||||
|
uint smallHeight = GetSystemMetrics(SM_CYSMICON);
|
||||||
|
|
||||||
|
sint bigIndex = -1;
|
||||||
|
uint bigWidth = GetSystemMetrics(SM_CXICON);
|
||||||
|
uint bigHeight = GetSystemMetrics(SM_CYICON);
|
||||||
|
|
||||||
|
// find icons with the exact size
|
||||||
|
for(uint i = 0; i < bitmaps.size(); ++i)
|
||||||
|
{
|
||||||
|
if (smallIndex == -1 && bitmaps[i].getWidth() == smallWidth && bitmaps[i].getHeight() == smallHeight)
|
||||||
|
smallIndex = i;
|
||||||
|
|
||||||
|
if (bigIndex == -1 && bitmaps[i].getWidth() == bigWidth && bitmaps[i].getHeight() == bigHeight)
|
||||||
|
bigIndex = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
// find icons with taller size (we will resize them)
|
||||||
|
for(uint i = 0; i < bitmaps.size(); ++i)
|
||||||
|
{
|
||||||
|
if (smallIndex == -1 && bitmaps[i].getWidth() >= smallWidth && bitmaps[i].getHeight() >= smallHeight)
|
||||||
|
smallIndex = i;
|
||||||
|
|
||||||
|
if (bigIndex == -1 && bitmaps[i].getWidth() >= bigWidth && bitmaps[i].getHeight() >= bigHeight)
|
||||||
|
bigIndex = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (smallIndex > -1)
|
||||||
|
winIconSmall = bitmaps[smallIndex].getHICON(smallWidth, smallHeight, 32);
|
||||||
|
|
||||||
|
if (bigIndex > -1)
|
||||||
|
winIconBig = bitmaps[bigIndex].getHICON(bigWidth, bigHeight, 32);
|
||||||
|
|
||||||
|
if (winIconBig)
|
||||||
|
{
|
||||||
|
SendMessage(_win, WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)winIconSmall);
|
||||||
|
SendMessage(_win, WM_SETICON, 1 /* ICON_BIG */, (LPARAM)winIconBig);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SendMessage(_win, WM_SETICON, 0 /* ICON_SMALL */, (LPARAM)winIconSmall);
|
||||||
|
SendMessage(_win, WM_SETICON, 1 /* ICON_BIG */, (LPARAM)winIconSmall);
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
|
// nothing to do
|
||||||
|
|
||||||
|
#elif defined(NL_OS_UNIX)
|
||||||
|
|
||||||
|
std::vector<long> icon_data;
|
||||||
|
|
||||||
|
if (!bitmaps.empty())
|
||||||
|
{
|
||||||
|
// process each bitmap
|
||||||
|
for(uint i = 0; i < bitmaps.size(); ++i)
|
||||||
|
{
|
||||||
|
// get bitmap width and height
|
||||||
|
uint width = bitmaps[i].getWidth();
|
||||||
|
uint height = bitmaps[i].getHeight();
|
||||||
|
|
||||||
|
// icon_data position for bitmap
|
||||||
|
uint pos = (uint)icon_data.size();
|
||||||
|
|
||||||
|
// extend icon_data size for bitmap
|
||||||
|
icon_data.resize(pos + 2 + width*height);
|
||||||
|
|
||||||
|
// set bitmap width and height
|
||||||
|
icon_data[pos++] = width;
|
||||||
|
icon_data[pos++] = height;
|
||||||
|
|
||||||
|
// convert RGBA to ARGB
|
||||||
|
CObjectVector<uint8> pixels = bitmaps[i].getPixels();
|
||||||
|
for(uint j = 0; j < pixels.size(); j+=4)
|
||||||
|
icon_data[pos++] = pixels[j] << 16 | pixels[j+1] << 8 | pixels[j+2] | pixels[j+3] << 24;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Atom _NET_WM_ICON = XInternAtom(_dpy, "_NET_WM_ICON", False);
|
||||||
|
|
||||||
|
if (!icon_data.empty())
|
||||||
|
{
|
||||||
|
// change window icon
|
||||||
|
XChangeProperty(_dpy, _win, _NET_WM_ICON, XA_CARDINAL, 32, PropModeReplace, (const unsigned char *) &icon_data[0], icon_data.size());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// delete window icon if no bitmap is available
|
||||||
|
XDeleteProperty(_dpy, _win, _NET_WM_ICON);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // NL_OS_WINDOWS
|
||||||
|
}
|
||||||
|
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
bool CDriverGL::setDisplay(nlWindow wnd, const GfxMode &mode, bool show, bool resizeable) throw(EBadDisplay)
|
bool CDriverGL::setDisplay(nlWindow wnd, const GfxMode &mode, bool show, bool resizeable) throw(EBadDisplay)
|
||||||
{
|
{
|
||||||
|
@ -967,7 +1086,7 @@ bool CDriverGL::setScreenMode(const GfxMode &mode)
|
||||||
|
|
||||||
if (ChangeDisplaySettings(&devMode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
|
if (ChangeDisplaySettings(&devMode, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL)
|
||||||
{
|
{
|
||||||
nlwarning("Fullscreen mode switch failed");
|
nlwarning("3D: Fullscreen mode switch failed");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1135,6 +1254,10 @@ bool CDriverGL::destroyWindow()
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(CDriverGL_destroyWindow)
|
H_AUTO_OGL(CDriverGL_destroyWindow)
|
||||||
|
|
||||||
|
// make sure window icons are deleted
|
||||||
|
std::vector<NLMISC::CBitmap> bitmaps;
|
||||||
|
setWindowIcon(bitmaps);
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
|
|
||||||
// Then delete.
|
// Then delete.
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include "cocoa_event_emitter.h"
|
#include "cocoa_event_emitter.h"
|
||||||
#include "cocoa_opengl_view.h"
|
#include "cocoa_opengl_view.h"
|
||||||
|
|
||||||
// Virtual key codes are only defined here. We still do not need to link carbon.
|
// Virtual key codes are only defined here. Still do not need to link carbon.
|
||||||
// see: http://lists.apple.com/archives/Cocoa-dev/2009/May/msg01180.html
|
// see: http://lists.apple.com/archives/Cocoa-dev/2009/May/msg01180.html
|
||||||
#include <Carbon/Carbon.h>
|
#include <Carbon/Carbon.h>
|
||||||
|
|
||||||
|
@ -33,6 +33,27 @@
|
||||||
|
|
||||||
namespace NL3D { namespace MAC {
|
namespace NL3D { namespace MAC {
|
||||||
|
|
||||||
|
// This cocoa adapter can be used in two environments:
|
||||||
|
// First: There is no other code which creates the NSApplication object, so
|
||||||
|
// NeL is completely in charge of starting and setting up the application.
|
||||||
|
// In this case, the NSAutoreleasePool needed to handle the cocoa style memory
|
||||||
|
// management is created by this code.
|
||||||
|
// Second: There is already a NSApplication set up. This could be the case if
|
||||||
|
// NeL is used for example in a Qt widget. So Qt already created all the
|
||||||
|
// NSApplication infrastructure, so it is not set up by this code again!
|
||||||
|
//
|
||||||
|
// Thats why, the g_pool variable (containing a pointer to the NSAutoreleasePool
|
||||||
|
// created by this code) can be used to check whether NeL created the
|
||||||
|
// NSApplication infrastructure itself or not.
|
||||||
|
//
|
||||||
|
// WARNING:
|
||||||
|
// Currently the NSApplication infrastructure is automatically created with the
|
||||||
|
// call to createWindow(). So if for example Qt already created NSApplication,
|
||||||
|
// createWindow() must not be called. Instead, setDisplay() can be provided with
|
||||||
|
// a window handle (on Mac OS Cocoa Qt this is a NSView*). In this case, this
|
||||||
|
// cocoa adapter will skip the NSApplication setup and embed itself into the
|
||||||
|
// provided view running in the already set up application.
|
||||||
|
|
||||||
static NSAutoreleasePool* g_pool = nil;
|
static NSAutoreleasePool* g_pool = nil;
|
||||||
/*
|
/*
|
||||||
TODO move to event emitter class
|
TODO move to event emitter class
|
||||||
|
@ -40,6 +61,7 @@ static NSAutoreleasePool* g_pool = nil;
|
||||||
static bool g_emulateRawMode = false;
|
static bool g_emulateRawMode = false;
|
||||||
static int g_bufferSize[2] = { 0, 0 };
|
static int g_bufferSize[2] = { 0, 0 };
|
||||||
|
|
||||||
|
/// setup an apple style application menu (located at the top bar of the screen)
|
||||||
static void setupApplicationMenu()
|
static void setupApplicationMenu()
|
||||||
{
|
{
|
||||||
NSMenu* menu;
|
NSMenu* menu;
|
||||||
|
@ -98,6 +120,29 @@ static void setupApplicationMenu()
|
||||||
[[NSApp mainMenu] addItem:menuItem];
|
[[NSApp mainMenu] addItem:menuItem];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// set up the basic NSApplication and NSAutoreleasePool needed for Cocoa
|
||||||
|
static bool setupNSApplication()
|
||||||
|
{
|
||||||
|
// if the pool was already created, return an error
|
||||||
|
if(g_pool)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// create a pool, cocoa code would leak memory otherwise
|
||||||
|
g_pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
|
// init the application object
|
||||||
|
[NSApplication sharedApplication];
|
||||||
|
|
||||||
|
// create the menu in the top screen bar
|
||||||
|
setupApplicationMenu();
|
||||||
|
|
||||||
|
// finish the application launching
|
||||||
|
[NSApp finishLaunching];
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// setup an open gl view and embed it in the provided parent view
|
||||||
static void setupGLView(NSView* superview)
|
static void setupGLView(NSView* superview)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -169,19 +214,12 @@ bool unInit()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// setup the basic cocoa app infrastructure and create a window
|
||||||
nlWindow createWindow(const GfxMode& mode)
|
nlWindow createWindow(const GfxMode& mode)
|
||||||
{
|
{
|
||||||
// create a pool, cocoa code would leak memory otherwise
|
if(!setupNSApplication())
|
||||||
g_pool = [[NSAutoreleasePool alloc] init];
|
nlerror("createWindow must not be called before the old window was "
|
||||||
|
"destroyed using destroyWindow()!");
|
||||||
// init the application object
|
|
||||||
[NSApplication sharedApplication];
|
|
||||||
|
|
||||||
// create the menu in the top screen bar
|
|
||||||
setupApplicationMenu();
|
|
||||||
|
|
||||||
// tell the application that we are running now
|
|
||||||
[NSApp finishLaunching];
|
|
||||||
|
|
||||||
// describe how the window should look like and behave
|
// describe how the window should look like and behave
|
||||||
unsigned int styleMask = NSTitledWindowMask | NSClosableWindowMask |
|
unsigned int styleMask = NSTitledWindowMask | NSClosableWindowMask |
|
||||||
|
@ -201,7 +239,7 @@ nlWindow createWindow(const GfxMode& mode)
|
||||||
// enable mouse move events, NeL wants them
|
// enable mouse move events, NeL wants them
|
||||||
[window setAcceptsMouseMovedEvents:YES];
|
[window setAcceptsMouseMovedEvents:YES];
|
||||||
|
|
||||||
// there are no overlapping subviews, so we can use the magical optimization!
|
// there are no overlapping subviews, can use the magical optimization :)
|
||||||
[window useOptimizedDrawing:YES];
|
[window useOptimizedDrawing:YES];
|
||||||
|
|
||||||
// put the window to the front and make it the key window
|
// put the window to the front and make it the key window
|
||||||
|
@ -217,6 +255,7 @@ nlWindow createWindow(const GfxMode& mode)
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// destroy the given window and uninitialize the cocoa application
|
||||||
bool destroyWindow(nlWindow wnd)
|
bool destroyWindow(nlWindow wnd)
|
||||||
{
|
{
|
||||||
NSView* view = (NSView*)wnd;
|
NSView* view = (NSView*)wnd;
|
||||||
|
@ -229,10 +268,12 @@ bool destroyWindow(nlWindow wnd)
|
||||||
|
|
||||||
// release the pool
|
// release the pool
|
||||||
[g_pool release];
|
[g_pool release];
|
||||||
|
g_pool = nil;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// set the displays settings, if no win is provided, a new one will be created
|
||||||
nlWindow setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeable)
|
nlWindow setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeable)
|
||||||
{
|
{
|
||||||
NSView* view = (NSView*)wnd;
|
NSView* view = (NSView*)wnd;
|
||||||
|
@ -247,6 +288,7 @@ nlWindow setDisplay(nlWindow wnd, const GfxMode& mode, bool show, bool resizeabl
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// switch between fullscreen and windowed mode
|
||||||
bool setWindowStyle(nlWindow wnd, bool fullscreen)
|
bool setWindowStyle(nlWindow wnd, bool fullscreen)
|
||||||
{
|
{
|
||||||
if(wnd == EmptyWindow)
|
if(wnd == EmptyWindow)
|
||||||
|
@ -315,7 +357,7 @@ bool setWindowStyle(nlWindow wnd, bool fullscreen)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// get the current mode of the screen
|
||||||
void getCurrentScreenMode(nlWindow wnd, GfxMode& mode)
|
void getCurrentScreenMode(nlWindow wnd, GfxMode& mode)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -347,6 +389,7 @@ void getCurrentScreenMode(nlWindow wnd, GfxMode& mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// get the size of the window's content area
|
||||||
void getWindowSize(nlWindow wnd, uint32 &width, uint32 &height)
|
void getWindowSize(nlWindow wnd, uint32 &width, uint32 &height)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -378,6 +421,7 @@ void getWindowSize(nlWindow wnd, uint32 &width, uint32 &height)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// set the size of the window's content area
|
||||||
void setWindowSize(nlWindow wnd, uint32 width, uint32 height)
|
void setWindowSize(nlWindow wnd, uint32 width, uint32 height)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -398,8 +442,8 @@ void setWindowSize(nlWindow wnd, uint32 width, uint32 height)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// there is only a pool if nel created the window itself assuming that
|
// there is only a pool if NeL created the window itself
|
||||||
// nel is also in charge of the main loop
|
// else, the window is not NeL's, so it must not be changed
|
||||||
if(g_pool)
|
if(g_pool)
|
||||||
{
|
{
|
||||||
NSWindow* window = [view window];
|
NSWindow* window = [view window];
|
||||||
|
@ -421,7 +465,7 @@ void setWindowSize(nlWindow wnd, uint32 width, uint32 height)
|
||||||
g_bufferSize[1] = height;
|
g_bufferSize[1] = height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// get the position of the window
|
||||||
void getWindowPos(nlWindow wnd, sint32 &x, sint32 &y)
|
void getWindowPos(nlWindow wnd, sint32 &x, sint32 &y)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -448,6 +492,7 @@ void getWindowPos(nlWindow wnd, sint32 &x, sint32 &y)
|
||||||
y = screenRect.size.height - windowRect.size.height - windowRect.origin.y;
|
y = screenRect.size.height - windowRect.size.height - windowRect.origin.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// set the position of the window
|
||||||
void setWindowPos(nlWindow wnd, sint32 x, sint32 y)
|
void setWindowPos(nlWindow wnd, sint32 x, sint32 y)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -466,6 +511,7 @@ void setWindowPos(nlWindow wnd, sint32 x, sint32 y)
|
||||||
[window setFrameTopLeftPoint:NSMakePoint(x, y)];
|
[window setFrameTopLeftPoint:NSMakePoint(x, y)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// set the windows title (not the title of the application)
|
||||||
void setWindowTitle(nlWindow wnd, const ucstring& title)
|
void setWindowTitle(nlWindow wnd, const ucstring& title)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -480,6 +526,7 @@ void showWindow(bool show)
|
||||||
nldebug("show: %d - implement me!", show);
|
nldebug("show: %d - implement me!", show);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// make the opengl context the current one
|
||||||
bool activate(nlWindow wnd)
|
bool activate(nlWindow wnd)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -493,6 +540,7 @@ bool activate(nlWindow wnd)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// flush current back buffer to screen
|
||||||
void swapBuffers(nlWindow wnd)
|
void swapBuffers(nlWindow wnd)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -509,6 +557,7 @@ void setCapture(bool capture)
|
||||||
// no need to capture
|
// no need to capture
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// show or hide the mouse cursor
|
||||||
void showCursor(bool show)
|
void showCursor(bool show)
|
||||||
{
|
{
|
||||||
// Mac OS manages a show/hide counter for the cursor, so hiding the cursor
|
// Mac OS manages a show/hide counter for the cursor, so hiding the cursor
|
||||||
|
@ -535,6 +584,7 @@ void showCursor(bool show)
|
||||||
nlerror("cannot show / hide cursor");
|
nlerror("cannot show / hide cursor");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// set the mouse position
|
||||||
void setMousePos(nlWindow wnd, float x, float y)
|
void setMousePos(nlWindow wnd, float x, float y)
|
||||||
{
|
{
|
||||||
NSView* superview = (NSView*)wnd;
|
NSView* superview = (NSView*)wnd;
|
||||||
|
@ -571,7 +621,8 @@ void setMousePos(nlWindow wnd, float x, float y)
|
||||||
TODO: this function has to be moved to a more central place to handle key
|
TODO: this function has to be moved to a more central place to handle key
|
||||||
mapping on mac x11 as well
|
mapping on mac x11 as well
|
||||||
*/
|
*/
|
||||||
NLMISC::TKey virtualKeycodeToNelKey(unsigned short keycode)
|
/// map from virtual key code to nel internal key code
|
||||||
|
static NLMISC::TKey virtualKeycodeToNelKey(unsigned short keycode)
|
||||||
{
|
{
|
||||||
switch(keycode)
|
switch(keycode)
|
||||||
{
|
{
|
||||||
|
@ -702,7 +753,8 @@ NLMISC::TKey virtualKeycodeToNelKey(unsigned short keycode)
|
||||||
TODO: this function has to be moved to a more central place to handle key
|
TODO: this function has to be moved to a more central place to handle key
|
||||||
mapping on mac x11 as well
|
mapping on mac x11 as well
|
||||||
*/
|
*/
|
||||||
NLMISC::TKeyButton modifierFlagsToNelKeyButton(unsigned int modifierFlags)
|
/// convert modifier key state to nel internal modifier key state
|
||||||
|
static NLMISC::TKeyButton modifierFlagsToNelKeyButton(unsigned int modifierFlags)
|
||||||
{
|
{
|
||||||
unsigned int buttons = 0;
|
unsigned int buttons = 0;
|
||||||
if (modifierFlags & NSControlKeyMask) buttons |= NLMISC::ctrlKeyButton;
|
if (modifierFlags & NSControlKeyMask) buttons |= NLMISC::ctrlKeyButton;
|
||||||
|
@ -711,7 +763,8 @@ NLMISC::TKeyButton modifierFlagsToNelKeyButton(unsigned int modifierFlags)
|
||||||
return (NLMISC::TKeyButton)buttons;
|
return (NLMISC::TKeyButton)buttons;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isTextKeyEvent(NSEvent* event)
|
/// check whether a given event represents input text
|
||||||
|
static bool isTextKeyEvent(NSEvent* event)
|
||||||
{
|
{
|
||||||
// if there are no characters provided with this event, it is not a text event
|
// if there are no characters provided with this event, it is not a text event
|
||||||
if([[event characters] length] == 0)
|
if([[event characters] length] == 0)
|
||||||
|
@ -763,16 +816,18 @@ bool isTextKeyEvent(NSEvent* event)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// switch between raw mode emulation, see IEventEmitter::emulateMouseRawMode()
|
||||||
void emulateMouseRawMode(bool enable)
|
void emulateMouseRawMode(bool enable)
|
||||||
{
|
{
|
||||||
g_emulateRawMode = enable;
|
g_emulateRawMode = enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// submit events provided by the application to an event server
|
||||||
void submitEvents(NLMISC::CEventServer& server,
|
void submitEvents(NLMISC::CEventServer& server,
|
||||||
bool allWindows, NLMISC::CCocoaEventEmitter* eventEmitter)
|
bool allWindows, NLMISC::CCocoaEventEmitter* eventEmitter)
|
||||||
{
|
{
|
||||||
// there is only a pool if nel created the window itself assuming that
|
// if there is a pool, NeL needs to clean it up
|
||||||
// nel is also in charge of the main loop
|
// otherwise, other code must have created it (for example Qt)
|
||||||
if(g_pool)
|
if(g_pool)
|
||||||
{
|
{
|
||||||
// cocoa style memory cleanup
|
// cocoa style memory cleanup
|
||||||
|
@ -780,7 +835,7 @@ void submitEvents(NLMISC::CEventServer& server,
|
||||||
g_pool = [[NSAutoreleasePool alloc] init];
|
g_pool = [[NSAutoreleasePool alloc] init];
|
||||||
}
|
}
|
||||||
|
|
||||||
// we break if there was no event to handle
|
// break if there was no event to handle
|
||||||
/* TODO maximum number of events processed in one update? */
|
/* TODO maximum number of events processed in one update? */
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
|
@ -809,49 +864,46 @@ void submitEvents(NLMISC::CEventServer& server,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// convert the modifiers for nel to pass them with the events
|
||||||
|
NLMISC::TKeyButton modifiers =
|
||||||
|
modifierFlagsToNelKeyButton([event modifierFlags]);
|
||||||
|
|
||||||
switch(event.type)
|
switch(event.type)
|
||||||
{
|
{
|
||||||
case NSLeftMouseDown:
|
case NSLeftMouseDown:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
server.postEvent(new NLMISC::CEventMouseDown(
|
server.postEvent(new NLMISC::CEventMouseDown(
|
||||||
mouseX, mouseY, NLMISC::leftButton /* modifiers */, eventEmitter));
|
mouseX, mouseY,
|
||||||
|
(NLMISC::TMouseButton)(NLMISC::leftButton | modifiers),
|
||||||
|
eventEmitter));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case NSLeftMouseUp:
|
case NSLeftMouseUp:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
server.postEvent(new NLMISC::CEventMouseUp(
|
server.postEvent(new NLMISC::CEventMouseUp(
|
||||||
mouseX, mouseY, NLMISC::leftButton /* modifiers */, eventEmitter));
|
mouseX, mouseY,
|
||||||
|
(NLMISC::TMouseButton)(NLMISC::leftButton | modifiers),
|
||||||
|
eventEmitter));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NSRightMouseDown:
|
case NSRightMouseDown:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
server.postEvent(new NLMISC::CEventMouseDown(
|
server.postEvent(new NLMISC::CEventMouseDown(
|
||||||
mouseX, mouseY, NLMISC::rightButton /* modifiers */, eventEmitter));
|
mouseX, mouseY,
|
||||||
|
(NLMISC::TMouseButton)(NLMISC::rightButton | modifiers),
|
||||||
|
eventEmitter));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NSRightMouseUp:
|
case NSRightMouseUp:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
server.postEvent(new NLMISC::CEventMouseUp(
|
server.postEvent(new NLMISC::CEventMouseUp(
|
||||||
mouseX, mouseY, NLMISC::rightButton /* modifiers */, eventEmitter));
|
mouseX, mouseY,
|
||||||
|
(NLMISC::TMouseButton)(NLMISC::rightButton | modifiers),
|
||||||
|
eventEmitter));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NSMouseMoved:
|
case NSMouseMoved:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
NLMISC::CEvent* nelEvent;
|
NLMISC::CEvent* nelEvent;
|
||||||
|
|
||||||
// when emulating raw mode, send the delta in a CGDMouseMove event
|
// when emulating raw mode, send the delta in a CGDMouseMove event
|
||||||
|
@ -861,17 +913,14 @@ void submitEvents(NLMISC::CEventServer& server,
|
||||||
|
|
||||||
// normally send position in a CEventMouseMove
|
// normally send position in a CEventMouseMove
|
||||||
else
|
else
|
||||||
nelEvent = new NLMISC::CEventMouseMove(mouseX, mouseY,
|
nelEvent = new NLMISC::CEventMouseMove(
|
||||||
(NLMISC::TMouseButton)0 /* modifiers */, eventEmitter);
|
mouseX, mouseY, (NLMISC::TMouseButton)modifiers, eventEmitter);
|
||||||
|
|
||||||
server.postEvent(nelEvent);
|
server.postEvent(nelEvent);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NSLeftMouseDragged:
|
case NSLeftMouseDragged:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
NLMISC::CEvent* nelEvent;
|
NLMISC::CEvent* nelEvent;
|
||||||
|
|
||||||
// when emulating raw mode, send the delta in a CGDMouseMove event
|
// when emulating raw mode, send the delta in a CGDMouseMove event
|
||||||
|
@ -882,16 +931,14 @@ void submitEvents(NLMISC::CEventServer& server,
|
||||||
// normally send position in a CEventMouseMove
|
// normally send position in a CEventMouseMove
|
||||||
else
|
else
|
||||||
nelEvent = new NLMISC::CEventMouseMove(mouseX, mouseY,
|
nelEvent = new NLMISC::CEventMouseMove(mouseX, mouseY,
|
||||||
NLMISC::leftButton /* modifiers */, eventEmitter);
|
(NLMISC::TMouseButton)(NLMISC::leftButton | modifiers),
|
||||||
|
eventEmitter);
|
||||||
|
|
||||||
server.postEvent(nelEvent);
|
server.postEvent(nelEvent);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NSRightMouseDragged:
|
case NSRightMouseDragged:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
NLMISC::CEvent* nelEvent;
|
NLMISC::CEvent* nelEvent;
|
||||||
|
|
||||||
// when emulating raw mode, send the delta in a CGDMouseMove event
|
// when emulating raw mode, send the delta in a CGDMouseMove event
|
||||||
|
@ -902,7 +949,8 @@ void submitEvents(NLMISC::CEventServer& server,
|
||||||
// normally send position in a CEventMouseMove
|
// normally send position in a CEventMouseMove
|
||||||
else
|
else
|
||||||
nelEvent = new NLMISC::CEventMouseMove(mouseX, mouseY,
|
nelEvent = new NLMISC::CEventMouseMove(mouseX, mouseY,
|
||||||
NLMISC::rightButton /* modifiers */, eventEmitter);
|
(NLMISC::TMouseButton)(NLMISC::rightButton | modifiers),
|
||||||
|
eventEmitter);
|
||||||
|
|
||||||
server.postEvent(nelEvent);
|
server.postEvent(nelEvent);
|
||||||
break;
|
break;
|
||||||
|
@ -951,12 +999,9 @@ void submitEvents(NLMISC::CEventServer& server,
|
||||||
case NSCursorUpdate:break;
|
case NSCursorUpdate:break;
|
||||||
case NSScrollWheel:
|
case NSScrollWheel:
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
TODO modifiers with mouse events
|
|
||||||
*/
|
|
||||||
if(fabs(event.deltaY) > 0.1)
|
if(fabs(event.deltaY) > 0.1)
|
||||||
server.postEvent(new NLMISC::CEventMouseWheel(
|
server.postEvent(new NLMISC::CEventMouseWheel(
|
||||||
mouseX, mouseY, (NLMISC::TMouseButton)0 /* modifiers */,
|
mouseX, mouseY, (NLMISC::TMouseButton)modifiers,
|
||||||
(event.deltaY > 0), eventEmitter));
|
(event.deltaY > 0), eventEmitter));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -332,6 +332,13 @@ void CDriverUser::setWindowTitle(const ucstring &title)
|
||||||
_Driver->setWindowTitle(title);
|
_Driver->setWindowTitle(title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
void CDriverUser::setWindowIcon(const std::vector<NLMISC::CBitmap> &bitmaps)
|
||||||
|
{
|
||||||
|
NL3D_HAUTO_UI_DRIVER;
|
||||||
|
_Driver->setWindowIcon(bitmaps);
|
||||||
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CDriverUser::setWindowPos(sint32 x, sint32 y)
|
void CDriverUser::setWindowPos(sint32 x, sint32 y)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4,26 +4,13 @@ FILE(GLOB PUB_H ../../include/nel/georges/*.h)
|
||||||
|
|
||||||
SOURCE_GROUP(headers FILES ${PRIV_H} ${PUB_H})
|
SOURCE_GROUP(headers FILES ${PRIV_H} ${PUB_H})
|
||||||
|
|
||||||
IF(NOT WIN32)
|
NL_TARGET_LIB(nelgeorges ${SRC})
|
||||||
ADD_LIBRARY(nelgeorges SHARED ${SRC})
|
|
||||||
CONFIGURE_FILE(nel-georges.pc.in nel-georges.pc)
|
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/nel-georges.pc" DESTINATION lib/pkgconfig)
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelgeorges STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nelgeorges nelmisc)
|
TARGET_LINK_LIBRARIES(nelgeorges nelmisc)
|
||||||
SET_TARGET_PROPERTIES(nelgeorges PROPERTIES
|
NL_DEFAULT_PROPS(nelgeorges "Library: NeL Georges")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL Georges")
|
|
||||||
|
|
||||||
IF(WIN32)
|
NL_ADD_LIB_SUFFIX(nelgeorges)
|
||||||
SET_TARGET_PROPERTIES(nelgeorges PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
|
@ -31,4 +18,5 @@ IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelgeorges ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.h ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelgeorges ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.h ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
|
NL_GEN_PC(nel-georges.pc)
|
||||||
INSTALL(TARGETS nelgeorges LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
INSTALL(TARGETS nelgeorges LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
|
@ -1,27 +1,14 @@
|
||||||
FILE(GLOB SRC *.cpp *.h)
|
FILE(GLOB SRC *.cpp *.h)
|
||||||
|
|
||||||
IF(NOT WIN32)
|
NL_TARGET_LIB(nelligo ${SRC})
|
||||||
ADD_LIBRARY(nelligo SHARED ${SRC})
|
|
||||||
CONFIGURE_FILE(nel-ligo.pc.in nel-ligo.pc)
|
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/nel-ligo.pc" DESTINATION lib/pkgconfig)
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelligo STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nelligo ${LIBXML2_LIBRARIES} nelmisc)
|
TARGET_LINK_LIBRARIES(nelligo ${LIBXML2_LIBRARIES} nelmisc)
|
||||||
SET_TARGET_PROPERTIES(nelligo PROPERTIES
|
NL_DEFAULT_PROPS(nelligo "Library: NeL Ligo")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL Ligo")
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
SET_TARGET_PROPERTIES(nelligo PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
|
NL_ADD_LIB_SUFFIX(nelligo)
|
||||||
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
|
NL_GEN_PC(nel-ligo.pc)
|
||||||
INSTALL(TARGETS nelligo LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
INSTALL(TARGETS nelligo LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
|
@ -1,23 +1,12 @@
|
||||||
FILE(GLOB SRC *.cpp *.h)
|
FILE(GLOB SRC *.cpp *.h)
|
||||||
|
|
||||||
IF(NOT WIN32)
|
NL_TARGET_LIB(nellogic ${SRC})
|
||||||
ADD_LIBRARY(nellogic SHARED ${SRC})
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nellogic STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nellogic ${LIBXML2_LIBRARIES} nelmisc nelnet)
|
TARGET_LINK_LIBRARIES(nellogic ${LIBXML2_LIBRARIES} nelmisc nelnet)
|
||||||
SET_TARGET_PROPERTIES(nellogic PROPERTIES
|
NL_DEFAULT_PROPS(nellogic "Library: NeL Logic")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL Logic")
|
|
||||||
|
|
||||||
IF(WIN32)
|
NL_ADD_LIB_SUFFIX(nellogic)
|
||||||
SET_TARGET_PROPERTIES(nellogic PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
|
|
|
@ -442,7 +442,7 @@
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="misc\config_file\cf_gramatical.yxx"
|
RelativePath="misc\config_file\cf_gramatical.ypp"
|
||||||
>
|
>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
|
@ -514,7 +514,7 @@
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="misc\config_file\cf_lexical.lxx"
|
RelativePath="misc\config_file\cf_lexical.lpp"
|
||||||
>
|
>
|
||||||
<FileConfiguration
|
<FileConfiguration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
|
|
|
@ -1,12 +1,6 @@
|
||||||
FILE(GLOB SRC *.cpp *.h config_file/*.cpp config_file/*.h)
|
FILE(GLOB SRC *.cpp *.h config_file/*.cpp config_file/*.h)
|
||||||
|
|
||||||
IF(NOT WIN32)
|
NL_TARGET_LIB(nelmisc ${SRC})
|
||||||
ADD_LIBRARY(nelmisc SHARED ${SRC})
|
|
||||||
CONFIGURE_FILE(nel-misc.pc.in nel-misc.pc)
|
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/nel-misc.pc" DESTINATION lib/pkgconfig)
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelmisc STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
IF(WITH_GTK)
|
IF(WITH_GTK)
|
||||||
IF(GTK2_FOUND)
|
IF(GTK2_FOUND)
|
||||||
|
@ -24,17 +18,9 @@ ENDIF(JPEG_FOUND)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${PNG_INCLUDE_DIR} config_file)
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${PNG_INCLUDE_DIR} config_file)
|
||||||
TARGET_LINK_LIBRARIES(nelmisc ${LIBXML2_LIBRARIES} ${PNG_LIBRARIES} ${WINSOCK2_LIB})
|
TARGET_LINK_LIBRARIES(nelmisc ${LIBXML2_LIBRARIES} ${PNG_LIBRARIES} ${WINSOCK2_LIB})
|
||||||
SET_TARGET_PROPERTIES(nelmisc PROPERTIES
|
NL_DEFAULT_PROPS(nelmisc "Library: NeL Misc")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL Misc")
|
|
||||||
|
|
||||||
IF(WIN32)
|
NL_ADD_LIB_SUFFIX(nelmisc)
|
||||||
SET_TARGET_PROPERTIES(nelmisc PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r")
|
|
||||||
INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
|
@ -42,4 +28,5 @@ IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelmisc ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.h ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelmisc ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.h ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
|
NL_GEN_PC(nel-misc.pc)
|
||||||
INSTALL(TARGETS nelmisc LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
INSTALL(TARGETS nelmisc LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
|
@ -26,7 +26,6 @@ libnelmisc_la_SOURCES = \
|
||||||
command.cpp \
|
command.cpp \
|
||||||
common.cpp \
|
common.cpp \
|
||||||
contiguous_block_allocator.cpp \
|
contiguous_block_allocator.cpp \
|
||||||
cpu_info.cpp \
|
|
||||||
cpu_time_stat.cpp \
|
cpu_time_stat.cpp \
|
||||||
debug.cpp \
|
debug.cpp \
|
||||||
di_event_emitter.cpp \
|
di_event_emitter.cpp \
|
||||||
|
|
|
@ -1500,7 +1500,7 @@ uint32 CBitmap::getHeight(uint32 mipMap) const
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------*\
|
/*-------------------------------------------------------------------*\
|
||||||
getHeight
|
getSize
|
||||||
\*-------------------------------------------------------------------*/
|
\*-------------------------------------------------------------------*/
|
||||||
uint32 CBitmap::getSize(uint32 numMipMap) const
|
uint32 CBitmap::getSize(uint32 numMipMap) const
|
||||||
{
|
{
|
||||||
|
@ -4107,5 +4107,84 @@ void CBitmap::getDibData(uint8*& extractData)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef NL_OS_WINDOWS
|
||||||
|
|
||||||
|
HICON CBitmap::getHICON(sint iconWidth, sint iconHeight, sint iconDepth, const NLMISC::CRGBA &col, sint hotSpotX, sint hotSpotY, bool cursor) const
|
||||||
|
{
|
||||||
|
HICON result = NULL;
|
||||||
|
CBitmap src = *this;
|
||||||
|
// resample bitmap if necessary
|
||||||
|
if (_Width != iconWidth || _Height != iconHeight)
|
||||||
|
{
|
||||||
|
src.resample(iconWidth, iconHeight);
|
||||||
|
}
|
||||||
|
CBitmap colorBm;
|
||||||
|
colorBm.resize(iconWidth, iconHeight, CBitmap::RGBA);
|
||||||
|
const CRGBA *srcColorPtr = (CRGBA *) &(src.getPixels()[0]);
|
||||||
|
const CRGBA *srcColorPtrLast = srcColorPtr + (iconWidth * iconHeight);
|
||||||
|
CRGBA *destColorPtr = (CRGBA *) &(colorBm.getPixels()[0]);
|
||||||
|
static volatile uint8 alphaThreshold = 127;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
destColorPtr->modulateFromColor(*srcColorPtr, col);
|
||||||
|
std::swap(destColorPtr->R, destColorPtr->B);
|
||||||
|
++ srcColorPtr;
|
||||||
|
++ destColorPtr;
|
||||||
|
}
|
||||||
|
while (srcColorPtr != srcColorPtrLast);
|
||||||
|
//
|
||||||
|
HBITMAP colorHbm = NULL;
|
||||||
|
HBITMAP maskHbm = NULL;
|
||||||
|
//
|
||||||
|
if (iconDepth == 16)
|
||||||
|
{
|
||||||
|
std::vector<uint16> colorBm16(iconWidth * iconHeight);
|
||||||
|
const CRGBA *src32 = (const CRGBA *) &colorBm.getPixels(0)[0];
|
||||||
|
|
||||||
|
for (uint k = 0; k < colorBm16.size(); ++k)
|
||||||
|
{
|
||||||
|
colorBm16[k] = ((uint16)(src32[k].R&0xf8)>>3) | ((uint16)(src32[k].G&0xfc)<<3) | ((uint16)(src32[k].B & 0xf8)<<8);
|
||||||
|
}
|
||||||
|
|
||||||
|
colorHbm = CreateBitmap(iconWidth, iconHeight, 1, 16, &colorBm16[0]);
|
||||||
|
std::vector<uint8> bitMask((iconWidth * iconHeight + 7) / 8, 0);
|
||||||
|
|
||||||
|
for (uint k = 0;k < colorBm16.size(); ++k)
|
||||||
|
{
|
||||||
|
if (src32[k].A <= 120)
|
||||||
|
{
|
||||||
|
bitMask[k / 8] |= (0x80 >> (k & 7));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
maskHbm = CreateBitmap(iconWidth, iconHeight, 1, 1, &bitMask[0]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
colorHbm = CreateBitmap(iconWidth, iconHeight, 1, 32, &colorBm.getPixels(0)[0]);
|
||||||
|
maskHbm = CreateBitmap(iconWidth, iconHeight, 1, 32, &colorBm.getPixels(0)[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
ICONINFO iconInfo;
|
||||||
|
iconInfo.fIcon = cursor ? FALSE:TRUE;
|
||||||
|
iconInfo.xHotspot = (DWORD) hotSpotX;
|
||||||
|
iconInfo.yHotspot = (DWORD) hotSpotY;
|
||||||
|
iconInfo.hbmMask = maskHbm;
|
||||||
|
iconInfo.hbmColor = colorHbm;
|
||||||
|
|
||||||
|
if (colorHbm && maskHbm)
|
||||||
|
{
|
||||||
|
result = CreateIconIndirect(&iconInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
if (colorHbm) DeleteObject(colorHbm);
|
||||||
|
if (maskHbm) DeleteObject(maskHbm);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
} // NLMISC
|
} // NLMISC
|
||||||
|
|
||||||
|
|
|
@ -2435,4 +2435,30 @@ void CFile::getTemporaryOutputFilename (const std::string &originalFilename, std
|
||||||
while (CFile::isExists(tempFilename));
|
while (CFile::isExists(tempFilename));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string CFile::getApplicationDirectory(const std::string &appName)
|
||||||
|
{
|
||||||
|
static std::string appPath;
|
||||||
|
if (appPath.empty())
|
||||||
|
{
|
||||||
|
#ifdef NL_OS_WINDOWS
|
||||||
|
wchar_t buffer[MAX_PATH];
|
||||||
|
SHGetSpecialFolderPathW(NULL, buffer, CSIDL_APPDATA, TRUE);
|
||||||
|
appPath = CPath::standardizePath(ucstring((ucchar*)buffer).toUtf8());
|
||||||
|
#else
|
||||||
|
appPath = CPath::standardizePath(getenv("HOME"));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string path = appPath;
|
||||||
|
#ifdef NL_OS_WINDOWS
|
||||||
|
if (!appName.empty())
|
||||||
|
path = CPath::standardizePath(path + appName);
|
||||||
|
#else
|
||||||
|
if (!appName.empty())
|
||||||
|
path = CPath::standardizePath(path + "." + toLower(appName));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
} // NLMISC
|
} // NLMISC
|
||||||
|
|
|
@ -2,18 +2,7 @@ FILE(GLOB SRC "*.cpp")
|
||||||
FILE(GLOB NET_MANAGER "net_manager.*")
|
FILE(GLOB NET_MANAGER "net_manager.*")
|
||||||
LIST(REMOVE_ITEM SRC ${NET_MANAGER})
|
LIST(REMOVE_ITEM SRC ${NET_MANAGER})
|
||||||
|
|
||||||
DECORATE_NEL_LIB("nelmisc")
|
NL_TARGET_LIB(nelnet ${SRC})
|
||||||
SET(NLMISC_LIB ${LIBNAME})
|
|
||||||
DECORATE_NEL_LIB("nelnet")
|
|
||||||
SET(NLNET_LIB ${LIBNAME})
|
|
||||||
|
|
||||||
IF(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelnet SHARED ${SRC})
|
|
||||||
CONFIGURE_FILE(nel-net.pc.in nel-net.pc)
|
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/nel-net.pc" DESTINATION lib/pkgconfig)
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelnet STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
IF(WITH_GTK)
|
IF(WITH_GTK)
|
||||||
IF(GTK2_FOUND)
|
IF(GTK2_FOUND)
|
||||||
|
@ -24,22 +13,16 @@ ENDIF(WITH_GTK)
|
||||||
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nelnet ${LIBXML2_LIBRARIES} ${NLMISC_LIB})
|
TARGET_LINK_LIBRARIES(nelnet ${LIBXML2_LIBRARIES} nelmisc)
|
||||||
SET_TARGET_PROPERTIES(nelnet PROPERTIES
|
NL_DEFAULT_PROPS(nelnet "Library: NeL Net")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL Net")
|
|
||||||
|
|
||||||
IF(WIN32)
|
NL_ADD_LIB_SUFFIX(nelnet)
|
||||||
SET_TARGET_PROPERTIES(${NLNET_LIB} PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(${NLNET_LIB} ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.h ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelnet ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.h ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
INSTALL(TARGETS ${NLNET_LIB} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
NL_GEN_PC(nel-net.pc)
|
||||||
|
INSTALL(TARGETS nelnet LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
|
@ -254,11 +254,7 @@ void cbDirectoryChanged (IVariable &var)
|
||||||
// Update the running directory if needed
|
// Update the running directory if needed
|
||||||
if (var.getName() == "RunningDirectory")
|
if (var.getName() == "RunningDirectory")
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
CPath::setCurrentPath(vp);
|
||||||
_chdir (vp.c_str());
|
|
||||||
#else
|
|
||||||
chdir (vp.c_str());
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call the callback if provided
|
// Call the callback if provided
|
||||||
|
|
|
@ -1,27 +1,17 @@
|
||||||
FILE(GLOB SRC *.cpp *.h)
|
FILE(GLOB SRC *.cpp *.h)
|
||||||
|
|
||||||
IF(NOT WIN32)
|
NL_TARGET_LIB(nelpacs ${SRC})
|
||||||
ADD_LIBRARY(nelpacs SHARED ${SRC})
|
|
||||||
CONFIGURE_FILE(nel-pacs.pc.in nel-pacs.pc)
|
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/nel-pacs.pc" DESTINATION lib/pkgconfig)
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelpacs STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nelpacs ${LIBXML2_LIBRARIES} nelmisc)
|
TARGET_LINK_LIBRARIES(nelpacs ${LIBXML2_LIBRARIES} nelmisc)
|
||||||
SET_TARGET_PROPERTIES(nelpacs PROPERTIES
|
NL_DEFAULT_PROPS(nelpacs "Library: NeL PACS")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL PACS")
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WIN32)
|
NL_ADD_LIB_SUFFIX(nelpacs)
|
||||||
SET_TARGET_PROPERTIES(nelpacs PROPERTIES DEBUG_POSTFIX "_d" RELEASE_POSTFIX "_r")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelpacs ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelpacs ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
|
NL_GEN_PC(nel-pacs.pc)
|
||||||
INSTALL(TARGETS nelpacs LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
INSTALL(TARGETS nelpacs LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
|
@ -6,32 +6,20 @@ IF(APPLE)
|
||||||
SET(SRC ${SRC} driver/sound_driver.cpp driver/buffer.cpp)
|
SET(SRC ${SRC} driver/sound_driver.cpp driver/buffer.cpp)
|
||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
|
|
||||||
IF(NOT WIN32)
|
nl_target_lib(nelsound ${SRC})
|
||||||
ADD_LIBRARY(nelsound SHARED ${SRC})
|
|
||||||
CONFIGURE_FILE(nel-sound.pc.in nel-sound.pc)
|
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/nel-sound.pc" DESTINATION lib/pkgconfig)
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelsound STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nelsound ${LIBXML2_LIBRARIES} nelligo nelgeorges nel3d)
|
TARGET_LINK_LIBRARIES(nelsound ${LIBXML2_LIBRARIES} nelligo nelgeorges nel3d)
|
||||||
SET_TARGET_PROPERTIES(nelsound PROPERTIES
|
nl_default_props(nelsound "Library: NeL Sound")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL Sound")
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WIN32)
|
nl_add_lib_suffix(nelsound)
|
||||||
SET_TARGET_PROPERTIES(nelsound PROPERTIES
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelsound ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.h ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelsound ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.h ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
|
nl_gen_pc(nel-sound.pc)
|
||||||
INSTALL(TARGETS nelsound LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
INSTALL(TARGETS nelsound LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(driver)
|
ADD_SUBDIRECTORY(driver)
|
||||||
|
|
|
@ -1,22 +1,13 @@
|
||||||
FILE(GLOB SRC *.cpp *.h)
|
FILE(GLOB SRC *.cpp *.h)
|
||||||
|
|
||||||
IF(NOT WIN32)
|
nl_target_lib(nelsnd_lowlevel ${SRC})
|
||||||
ADD_LIBRARY(nelsnd_lowlevel SHARED ${SRC})
|
|
||||||
ELSE(NOT WIN32)
|
|
||||||
ADD_LIBRARY(nelsnd_lowlevel STATIC ${SRC})
|
|
||||||
ENDIF(NOT WIN32)
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nelsnd_lowlevel ${LIBXML2_LIBRARIES} nelsound)
|
TARGET_LINK_LIBRARIES(nelsnd_lowlevel ${LIBXML2_LIBRARIES} nelsound)
|
||||||
SET_TARGET_PROPERTIES(nelsnd_lowlevel PROPERTIES
|
nl_default_props(nelsnd_lowlevel "Library: NeL Sound Lowlevel")
|
||||||
VERSION ${NL_VERSION}
|
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
|
||||||
PROJECT_LABEL "Library: NeL Sound Lowlevel")
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WIN32)
|
nl_add_lib_suffix(nelsnd_lowlevel)
|
||||||
SET_TARGET_PROPERTIES(nelsnd_lowlevel PROPERTIES DEBUG_POSTFIX "_d" RELEASE_POSTFIX "_r")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
INSTALL(TARGETS nelsnd_lowlevel LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
INSTALL(TARGETS nelsnd_lowlevel LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
FILE(GLOB SRC *.cpp *.h)
|
FILE(GLOB SRC *.cpp *.h)
|
||||||
|
|
||||||
ADD_LIBRARY(nel_drv_openal SHARED ${SRC})
|
NL_TARGET_DRIVER(nel_drv_openal ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nel_drv_openal ${LIBXML2_LIBRARIES} ${OPENAL_LIBRARY} nelsnd_lowlevel)
|
TARGET_LINK_LIBRARIES(nel_drv_openal ${LIBXML2_LIBRARIES} ${OPENAL_LIBRARY} nelsnd_lowlevel)
|
||||||
SET_TARGET_PROPERTIES(nel_drv_openal PROPERTIES
|
NL_DEFAULT_PROPS(nel_drv_openal "Driver, Sound: OpenAL")
|
||||||
VERSION ${NL_VERSION}
|
NL_ADD_LIB_SUFFIX(nel_drv_openal)
|
||||||
SOVERSION ${NL_VERSION_MAJOR})
|
NL_ADD_RUNTIME_FLAGS(nel_drv_openal)
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
|
@ -14,13 +14,6 @@ IF(WIN32)
|
||||||
FIND_PACKAGE(EFXUtil)
|
FIND_PACKAGE(EFXUtil)
|
||||||
INCLUDE_DIRECTORIES(${EFXUTIL_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${EFXUTIL_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nel_drv_openal ${EFXUTIL_LIBRARY})
|
TARGET_LINK_LIBRARIES(nel_drv_openal ${EFXUTIL_LIBRARY})
|
||||||
|
|
||||||
SET_TARGET_PROPERTIES(nel_drv_openal PROPERTIES
|
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
DEBUG_POSTFIX "_d"
|
|
||||||
RELEASE_POSTFIX "_r"
|
|
||||||
PROJECT_LABEL "Driver, Sound: OpenAL")
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="9.00"
|
Version="9,00"
|
||||||
Name="nel_3dsmax_shared"
|
Name="nel_3dsmax_shared"
|
||||||
ProjectGUID="{CDFC60B0-9D01-4822-ACAD-B66F7130FCAD}"
|
ProjectGUID="{CDFC60B0-9D01-4822-ACAD-B66F7130FCAD}"
|
||||||
RootNamespace="nel_3dsmax_shared"
|
RootNamespace="nel_3dsmax_shared"
|
||||||
|
|
|
@ -1,22 +1,12 @@
|
||||||
FILE(GLOB SRC *.cpp *.h)
|
FILE(GLOB SRC *.cpp *.h)
|
||||||
|
|
||||||
DECORATE_NEL_LIB("nelmisc")
|
|
||||||
SET(NLMISC_LIB ${LIBNAME})
|
|
||||||
DECORATE_NEL_LIB("nelnet")
|
|
||||||
SET(NLNET_LIB ${LIBNAME})
|
|
||||||
DECORATE_NEL_LIB("nelligo")
|
|
||||||
SET(NLLIGO_LIB ${LIBNAME})
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(nel_unit_test ${SRC})
|
ADD_EXECUTABLE(nel_unit_test ${SRC})
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${CPPTEST_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${CPPTEST_INCLUDE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(nel_unit_test ${LIBXML2_LIBRARIES} ${CPPTEST_LIBRARY} ${PLATFORM_LINKFLAGS} nelmisc nelnet nelligo)
|
TARGET_LINK_LIBRARIES(nel_unit_test ${LIBXML2_LIBRARIES} ${CPPTEST_LIBRARY} ${PLATFORM_LINKFLAGS} nelmisc nelnet nelligo)
|
||||||
IF(WIN32)
|
NL_DEFAULT_PROPS(nel_unit_test "Unit Tests")
|
||||||
SET_TARGET_PROPERTIES(nel_unit_test PROPERTIES
|
NL_ADD_RUNTIME_FLAGS(nel_unit_test)
|
||||||
LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
|
||||||
LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}"
|
|
||||||
PROJECT_LABEL "Unit Tests")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
ADD_DEFINITIONS(-DNEL_UNIT_BASE="\\"${PROJECT_SOURCE_DIR}/tools/nel_unit_test/\\"")
|
ADD_DEFINITIONS(-DNEL_UNIT_BASE="\\"${PROJECT_SOURCE_DIR}/tools/nel_unit_test/\\"")
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ ELSE(NOT NL_USING_MASTER_PROJECT)
|
||||||
SET(CMAKE_LIBRARY_PATH "${CMAKE_BINARY_DIR}/lib;${CMAKE_LIBRARY_PATH}")
|
SET(CMAKE_LIBRARY_PATH "${CMAKE_BINARY_DIR}/lib;${CMAKE_LIBRARY_PATH}")
|
||||||
ENDIF(NOT NL_USING_MASTER_PROJECT)
|
ENDIF(NOT NL_USING_MASTER_PROJECT)
|
||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
||||||
|
|
||||||
PROJECT(Ryzom CXX C)
|
PROJECT(Ryzom CXX C)
|
||||||
SET(NL_VERSION_MAJOR 0)
|
SET(NL_VERSION_MAJOR 0)
|
||||||
|
@ -63,9 +63,9 @@ ENDIF(COMMAND cmake_policy)
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Set default config options
|
# Set default config options
|
||||||
#
|
|
||||||
NL_SETUP_DEFAULT_OPTIONS()
|
NL_SETUP_DEFAULT_OPTIONS()
|
||||||
NL_SETUP_PREFIX_PATHS()
|
RYZOM_SETUP_PREFIX_PATHS()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Override default options
|
# Override default options
|
||||||
|
@ -114,6 +114,11 @@ IF(FINAL_VERSION)
|
||||||
ADD_DEFINITIONS(-DFINAL_VERSION=1)
|
ADD_DEFINITIONS(-DFINAL_VERSION=1)
|
||||||
ENDIF(FINAL_VERSION)
|
ENDIF(FINAL_VERSION)
|
||||||
|
|
||||||
|
# config.h configuration and use by projects
|
||||||
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
|
||||||
|
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
|
||||||
|
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(common)
|
ADD_SUBDIRECTORY(common)
|
||||||
|
|
||||||
IF(WITH_CLIENT)
|
IF(WITH_CLIENT)
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
# - Locate CEGUI library
|
|
||||||
# This module defines
|
|
||||||
# CEGUI_LIBRARY, the library to link against
|
|
||||||
# CEGUI_FOUND, if false, do not try to link to CEGUI
|
|
||||||
# CEGUI_INCLUDE_DIRS, where to find headers.
|
|
||||||
|
|
||||||
IF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
|
||||||
# in cache already
|
|
||||||
SET(CEGUI_FIND_QUIETLY TRUE)
|
|
||||||
ENDIF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(CEGUI_INCLUDE_DIRS
|
|
||||||
CEGUI
|
|
||||||
PATHS
|
|
||||||
$ENV{CEGUI_DIR}/include
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include
|
|
||||||
/opt/csw/include
|
|
||||||
/opt/include
|
|
||||||
PATH_SUFFIXES cegui CEGUI
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(CEGUI_LIBRARY
|
|
||||||
NAMES CEGUIBase
|
|
||||||
PATHS
|
|
||||||
$ENV{CEGUI_DIR}/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/X11R6/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/sw/lib
|
|
||||||
/opt/local/lib
|
|
||||||
/opt/csw/lib
|
|
||||||
/opt/lib
|
|
||||||
/usr/freeware/lib64
|
|
||||||
)
|
|
||||||
|
|
||||||
GET_FILENAME_COMPONENT(CEGUI_LIB_DIR ${CEGUI_LIBRARY} PATH CACHE)
|
|
||||||
|
|
||||||
IF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
|
||||||
SET(CEGUI_FOUND "YES")
|
|
||||||
SET(CEGUI_INCLUDE_DIRS "${CEGUI_INCLUDE_DIRS}/CEGUI")
|
|
||||||
IF(NOT CEGUI_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found CEGUI: ${CEGUI_LIBRARY}")
|
|
||||||
ENDIF(NOT CEGUI_FIND_QUIETLY)
|
|
||||||
ELSE(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
|
||||||
IF(NOT CEGUI_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Warning: Unable to find CEGUI!")
|
|
||||||
ENDIF(NOT CEGUI_FIND_QUIETLY)
|
|
||||||
ENDIF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
|
|
@ -1,51 +0,0 @@
|
||||||
#
|
|
||||||
# Find the CppTest includes and library
|
|
||||||
#
|
|
||||||
# This module defines
|
|
||||||
# CPPTEST_INCLUDE_DIR, where to find tiff.h, etc.
|
|
||||||
# CPPTEST_LIBRARY, where to find the CppTest library.
|
|
||||||
# CPPTEST_FOUND, If false, do not try to use CppTest.
|
|
||||||
|
|
||||||
# also defined, but not for general use are
|
|
||||||
IF(CPPTEST_LIBRARY AND CPPTEST_INCLUDE_DIR)
|
|
||||||
# in cache already
|
|
||||||
SET(CPPTEST_FIND_QUIETLY TRUE)
|
|
||||||
ENDIF(CPPTEST_LIBRARY AND CPPTEST_INCLUDE_DIR)
|
|
||||||
|
|
||||||
FIND_PATH(CPPTEST_INCLUDE_DIR
|
|
||||||
cpptest.h
|
|
||||||
PATHS
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include
|
|
||||||
/opt/csw/include
|
|
||||||
/opt/include
|
|
||||||
PATH_SUFFIXES cppunit
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(CPPTEST_LIBRARY
|
|
||||||
cpptest
|
|
||||||
PATHS
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/X11R6/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/sw/lib
|
|
||||||
/opt/local/lib
|
|
||||||
/opt/csw/lib
|
|
||||||
/opt/lib
|
|
||||||
/usr/freeware/lib64
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(CPPTEST_LIBRARY AND CPPTEST_INCLUDE_DIR)
|
|
||||||
SET(CPPTEST_FOUND "YES")
|
|
||||||
IF(NOT CPPTEST_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found CppTest: ${CPPTEST_LIBRARY}")
|
|
||||||
ENDIF(NOT CPPTEST_FIND_QUIETLY)
|
|
||||||
ELSE(CPPTEST_LIBRARY AND CPPTEST_INCLUDE_DIR)
|
|
||||||
IF(NOT CPPTEST_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Warning: Unable to find CppTest!")
|
|
||||||
ENDIF(NOT CPPTEST_FIND_QUIETLY)
|
|
||||||
ENDIF(CPPTEST_LIBRARY AND CPPTEST_INCLUDE_DIR)
|
|
||||||
|
|
|
@ -1,67 +0,0 @@
|
||||||
# - Locate FreeType library
|
|
||||||
# This module defines
|
|
||||||
# FREETYPE_LIBRARY, the library to link against
|
|
||||||
# FREETYPE_FOUND, if false, do not try to link to FREETYPE
|
|
||||||
# FREETYPE_INCLUDE_DIRS, where to find headers.
|
|
||||||
|
|
||||||
IF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
|
||||||
# in cache already
|
|
||||||
SET(FREETYPE_FIND_QUIETLY TRUE)
|
|
||||||
ENDIF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(FREETYPE_INCLUDE_DIRS
|
|
||||||
freetype
|
|
||||||
PATHS
|
|
||||||
$ENV{FREETYPE_DIR}/include
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include
|
|
||||||
/opt/csw/include
|
|
||||||
/opt/include
|
|
||||||
PATH_SUFFIXES freetype freetype2
|
|
||||||
)
|
|
||||||
|
|
||||||
# ft2build.h does not reside in the freetype include dir
|
|
||||||
FIND_PATH(FREETYPE_ADDITIONAL_INCLUDE_DIR
|
|
||||||
ft2build.h
|
|
||||||
PATHS
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include
|
|
||||||
/opt/csw/include
|
|
||||||
/opt/include
|
|
||||||
)
|
|
||||||
|
|
||||||
# combine both include directories into one variable
|
|
||||||
IF(FREETYPE_ADDITIONAL_INCLUDE_DIR)
|
|
||||||
SET(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_ADDITIONAL_INCLUDE_DIR})
|
|
||||||
ENDIF(FREETYPE_ADDITIONAL_INCLUDE_DIR)
|
|
||||||
|
|
||||||
FIND_LIBRARY(FREETYPE_LIBRARY
|
|
||||||
NAMES freetype libfreetype freetype219
|
|
||||||
PATHS
|
|
||||||
$ENV{FREETYPE_DIR}/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/X11R6/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/sw/lib
|
|
||||||
/opt/local/lib
|
|
||||||
/opt/csw/lib
|
|
||||||
/opt/lib
|
|
||||||
/usr/freeware/lib64
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
|
||||||
SET(FREETYPE_FOUND "YES")
|
|
||||||
IF(NOT FREETYPE_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found FreeType: ${FREETYPE_LIBRARY}")
|
|
||||||
ENDIF(NOT FREETYPE_FIND_QUIETLY)
|
|
||||||
ELSE(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
|
||||||
IF(NOT FREETYPE_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Warning: Unable to find FreeType!")
|
|
||||||
ENDIF(NOT FREETYPE_FIND_QUIETLY)
|
|
||||||
ENDIF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
|
|
@ -1,452 +0,0 @@
|
||||||
# - Try to find GTK2
|
|
||||||
# Once done this will define
|
|
||||||
#
|
|
||||||
# GTK2_FOUND - System has Boost
|
|
||||||
# GTK2_INCLUDE_DIRS - GTK2 include directory
|
|
||||||
# GTK2_LIBRARIES - Link these to use GTK2
|
|
||||||
# GTK2_LIBRARY_DIRS - The path to where the GTK2 library files are.
|
|
||||||
# GTK2_DEFINITIONS - Compiler switches required for using GTK2
|
|
||||||
#
|
|
||||||
# Copyright (c) 2007 Andreas Schneider <mail@cynapses.org>
|
|
||||||
#
|
|
||||||
# Redistribution and use is allowed according to the terms of the New
|
|
||||||
# BSD license.
|
|
||||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
||||||
#
|
|
||||||
|
|
||||||
set(GTK2_DEBUG ON)
|
|
||||||
|
|
||||||
macro(GTK2_DEBUG_MESSAGE _message)
|
|
||||||
if (GTK2_DEBUG)
|
|
||||||
message(STATUS "(DEBUG) ${_message}")
|
|
||||||
endif (GTK2_DEBUG)
|
|
||||||
endmacro(GTK2_DEBUG_MESSAGE _message)
|
|
||||||
|
|
||||||
if (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
|
|
||||||
# in cache already
|
|
||||||
set(GTK2_FOUND TRUE)
|
|
||||||
else (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
|
|
||||||
if (UNIX)
|
|
||||||
# use pkg-config to get the directories and then use these values
|
|
||||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
|
||||||
include(UsePkgConfig)
|
|
||||||
|
|
||||||
pkgconfig(gtk+-2.0 _GTK2IncDir _GTK2LinkDir _GTK2LinkFlags _GTK2Cflags)
|
|
||||||
|
|
||||||
find_path(GTK2_GTK_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
gtk/gtk.h
|
|
||||||
PATHS
|
|
||||||
$ENV{GTK2_HOME}
|
|
||||||
${_GTK2IncDir}
|
|
||||||
/usr/include/gtk-2.0
|
|
||||||
/usr/local/include/gtk-2.0
|
|
||||||
/opt/include/gtk-2.0
|
|
||||||
/opt/gnome/include/gtk-2.0
|
|
||||||
/sw/include/gtk-2.0
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GTK_INCLUDE_DIR is ${GTK2_GTK_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
# Some Linux distributions (e.g. Red Hat) have glibconfig.h
|
|
||||||
# and glib.h in different directories, so we need to look
|
|
||||||
# for both.
|
|
||||||
# - Atanas Georgiev <atanas@cs.columbia.edu>
|
|
||||||
pkgconfig(glib-2.0 _GLIB2IncDir _GLIB2LinkDir _GLIB2LinkFlags _GLIB2Cflags)
|
|
||||||
pkgconfig(gmodule-2.0 _GMODULE2IncDir _GMODULE2LinkDir _GMODULE2LinkFlags _GMODULE2Cflags)
|
|
||||||
|
|
||||||
find_path(GTK2_GLIBCONFIG_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
glibconfig.h
|
|
||||||
PATHS
|
|
||||||
${_GLIB2IncDir}
|
|
||||||
${_GMODULE2IncDir}
|
|
||||||
/opt/gnome/lib64/glib-2.0/include
|
|
||||||
/opt/gnome/lib/glib-2.0/include
|
|
||||||
/opt/lib/glib-2.0/include
|
|
||||||
/usr/lib64/glib-2.0/include
|
|
||||||
/usr/lib/glib-2.0/include
|
|
||||||
/sw/lib/glib-2.0/include
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GLIBCONFIG_INCLUDE_DIR is ${GTK2_GLIBCONFIG_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
find_path(GTK2_GLIB_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
glib.h
|
|
||||||
PATHS
|
|
||||||
${_GLIB2IncDir}
|
|
||||||
${_GMODULE2IncDir}
|
|
||||||
/opt/include/glib-2.0
|
|
||||||
/opt/gnome/include/glib-2.0
|
|
||||||
/usr/include/glib-2.0
|
|
||||||
/sw/include/glib-2.0
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GLIB_INCLUDE_DIR is ${GTK2_GLIB_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
pkgconfig(gdk-2.0 _GDK2IncDir _GDK2LinkDir _GDK2LinkFlags _GDK2Cflags)
|
|
||||||
|
|
||||||
find_path(GTK2_GDK_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
gdkconfig.h
|
|
||||||
PATHS
|
|
||||||
${_GDK2IncDir}
|
|
||||||
/opt/gnome/lib/gtk-2.0/include
|
|
||||||
/opt/gnome/lib64/gtk-2.0/include
|
|
||||||
/opt/lib/gtk-2.0/include
|
|
||||||
/usr/lib/gtk-2.0/include
|
|
||||||
/usr/lib64/gtk-2.0/include
|
|
||||||
/sw/lib/gtk-2.0/include
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GDK_INCLUDE_DIR is ${GTK2_GDK_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
find_path(GTK2_GTKGL_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
gtkgl/gtkglarea.h
|
|
||||||
PATHS
|
|
||||||
${_GLIB2IncDir}
|
|
||||||
/usr/include
|
|
||||||
/usr/include/gtkgl-2.0
|
|
||||||
/usr/local/include
|
|
||||||
/usr/openwin/share/include
|
|
||||||
/opt/gnome/include
|
|
||||||
/opt/include
|
|
||||||
/sw/include
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GTKGL_INCLUDE_DIR is ${GTK2_GTKGL_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
pkgconfig(libglade-2.0 _GLADEIncDir _GLADELinkDir _GLADELinkFlags _GLADECflags)
|
|
||||||
|
|
||||||
find_path(GTK2_GLADE_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
glade/glade.h
|
|
||||||
PATHS
|
|
||||||
${_GLADEIncDir}
|
|
||||||
/opt/gnome/include/libglade-2.0
|
|
||||||
/usr/include/libglade-2.0
|
|
||||||
/opt/include/libglade-2.0
|
|
||||||
/sw/include/libglade-2.0
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GLADE_INCLUDE_DIR is ${GTK2_GLADE_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
pkgconfig(pango _PANGOIncDir _PANGOLinkDir _PANGOLinkFlags _PANGOCflags)
|
|
||||||
|
|
||||||
find_path(GTK2_PANGO_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
pango/pango.h
|
|
||||||
PATHS
|
|
||||||
${_PANGOIncDir}
|
|
||||||
/usr/include/pango-1.0
|
|
||||||
/opt/gnome/include/pango-1.0
|
|
||||||
/opt/include/pango-1.0
|
|
||||||
/sw/include/pango-1.0
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_PANGO_INCLUDE_DIR is ${GTK2_PANGO_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
pkgconfig(cairo _CAIROIncDir _CAIROLinkDir _CAIROLinkFlags _CAIROCflags)
|
|
||||||
|
|
||||||
find_path(GTK2_CAIRO_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
cairo.h
|
|
||||||
PATHS
|
|
||||||
${_CAIROIncDir}
|
|
||||||
/opt/gnome/include/cairo
|
|
||||||
/usr/include
|
|
||||||
/usr/include/cairo
|
|
||||||
/opt/include
|
|
||||||
/opt/include/cairo
|
|
||||||
/sw/include
|
|
||||||
/sw/include/cairo
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_CAIRO_INCLUDE_DIR is ${GTK2_CAIRO_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
pkgconfig(atk _ATKIncDir _ATKLinkDir _ATKLinkFlags _ATKCflags)
|
|
||||||
|
|
||||||
find_path(GTK2_ATK_INCLUDE_DIR
|
|
||||||
NAMES
|
|
||||||
atk/atk.h
|
|
||||||
PATHS
|
|
||||||
${_ATKIncDir}
|
|
||||||
/opt/gnome/include/atk-1.0
|
|
||||||
/usr/include/atk-1.0
|
|
||||||
/opt/include/atk-1.0
|
|
||||||
/sw/include/atk-1.0
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_ATK_INCLUDE_DIR is ${GTK2_ATK_INCLUDE_DIR}")
|
|
||||||
|
|
||||||
find_library(GTK2_GTK_LIBRARY
|
|
||||||
NAMES
|
|
||||||
gtk-x11-2.0
|
|
||||||
PATHS
|
|
||||||
${_GTK2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GTK_LIBRARY is ${GTK2_GTK_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GDK_LIBRARY
|
|
||||||
NAMES
|
|
||||||
gdk-x11-2.0
|
|
||||||
PATHS
|
|
||||||
${_GDK2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GDK_LIBRARY is ${GTK2_GDK_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GDK_PIXBUF_LIBRARY
|
|
||||||
NAMES
|
|
||||||
gdk_pixbuf-2.0
|
|
||||||
PATHS
|
|
||||||
${_GDK2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GDK_PIXBUF_LIBRARY is ${GTK2_GDK_PIXBUF_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GMODULE_LIBRARY
|
|
||||||
NAMES
|
|
||||||
gmodule-2.0
|
|
||||||
PATHS
|
|
||||||
${_GMODULE2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GMODULE_LIBRARY is ${GTK2_GMODULE_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GTHREAD_LIBRARY
|
|
||||||
NAMES
|
|
||||||
gthread-2.0
|
|
||||||
PATHS
|
|
||||||
${_GTK2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GTHREAD_LIBRARY is ${GTK2_GTHREAD_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GOBJECT_LIBRARY
|
|
||||||
NAMES
|
|
||||||
gobject-2.0
|
|
||||||
PATHS
|
|
||||||
${_GTK2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GOBJECT_LIBRARY is ${GTK2_GOBJECT_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GLIB_LIBRARY
|
|
||||||
NAMES
|
|
||||||
glib-2.0
|
|
||||||
PATHS
|
|
||||||
${_GLIB2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GLIB_LIBRARY is ${GTK2_GLIB_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GTKGL_LIBRARY
|
|
||||||
NAMES
|
|
||||||
gtkgl-2.0
|
|
||||||
PATHS
|
|
||||||
${_GTK2LinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GTKGL_LIBRARY is ${GTK2_GTKGL_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_GLADE_LIBRARY
|
|
||||||
NAMES
|
|
||||||
glade-2.0
|
|
||||||
PATHS
|
|
||||||
${_GLADELinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_GLADE_LIBRARY is ${GTK2_GLADE_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_PANGO_LIBRARY
|
|
||||||
NAMES
|
|
||||||
pango-1.0
|
|
||||||
PATHS
|
|
||||||
${_PANGOLinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_PANGO_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_CAIRO_LIBRARY
|
|
||||||
NAMES
|
|
||||||
pangocairo-1.0
|
|
||||||
PATHS
|
|
||||||
${_CAIROLinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_PANGO_LIBRARY is ${GTK2_CAIRO_LIBRARY}")
|
|
||||||
|
|
||||||
find_library(GTK2_ATK_LIBRARY
|
|
||||||
NAMES
|
|
||||||
atk-1.0
|
|
||||||
PATHS
|
|
||||||
${_ATKinkDir}
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/openwin/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/opt/gnome/lib
|
|
||||||
/opt/lib
|
|
||||||
/sw/lib
|
|
||||||
)
|
|
||||||
gtk2_debug_message("GTK2_ATK_LIBRARY is ${GTK2_ATK_LIBRARY}")
|
|
||||||
|
|
||||||
set(GTK2_INCLUDE_DIRS
|
|
||||||
${GTK2_GTK_INCLUDE_DIR}
|
|
||||||
${GTK2_GLIBCONFIG_INCLUDE_DIR}
|
|
||||||
${GTK2_GLIB_INCLUDE_DIR}
|
|
||||||
${GTK2_GDK_INCLUDE_DIR}
|
|
||||||
${GTK2_GLADE_INCLUDE_DIR}
|
|
||||||
${GTK2_PANGO_INCLUDE_DIR}
|
|
||||||
${GTK2_CAIRO_INCLUDE_DIR}
|
|
||||||
${GTK2_ATK_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
if (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
|
|
||||||
if (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
|
|
||||||
if (GTK2_GMODULE_LIBRARY)
|
|
||||||
if (GTK2_GTHREAD_LIBRARY)
|
|
||||||
if (GTK2_GOBJECT_LIBRARY)
|
|
||||||
if (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
|
|
||||||
if (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
|
|
||||||
if (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
|
|
||||||
if (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
|
|
||||||
|
|
||||||
# set GTK2 libraries
|
|
||||||
set (GTK2_LIBRARIES
|
|
||||||
${GTK2_GTK_LIBRARY}
|
|
||||||
${GTK2_GDK_LIBRARY}
|
|
||||||
${GTK2_GDK_PIXBUF_LIBRARY}
|
|
||||||
${GTK2_GMODULE_LIBRARY}
|
|
||||||
${GTK2_GTHREAD_LIBRARY}
|
|
||||||
${GTK2_GOBJECT_LIBRARY}
|
|
||||||
${GTK2_GLADE_LIBRARY}
|
|
||||||
${GTK2_PANGO_LIBRARY}
|
|
||||||
${GTK2_CAIRO_LIBRARY}
|
|
||||||
${GTK2_ATK_LIBRARY}
|
|
||||||
)
|
|
||||||
|
|
||||||
# check for gtkgl support
|
|
||||||
if (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
|
|
||||||
set(GTK2_GTKGL_FOUND TRUE)
|
|
||||||
|
|
||||||
set(GTK2_INCLUDE_DIRS
|
|
||||||
${GTK2_INCLUDE_DIRS}
|
|
||||||
${GTK2_GTKGL_INCLUDE_DIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
set(GTK2_LIBRARIES
|
|
||||||
${GTK2_LIBRARIES}
|
|
||||||
${GTK2_GTKGL_LIBRARY}
|
|
||||||
)
|
|
||||||
endif (GTK2_GTKGL_LIBRARY AND GTK2_GTKGL_INCLUDE_DIR)
|
|
||||||
|
|
||||||
else (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
|
|
||||||
message(SEND_ERROR "Could not find ATK")
|
|
||||||
endif (GTK2_ATK_LIBRARY AND GTK2_ATK_INCLUDE_DIR)
|
|
||||||
else (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
|
|
||||||
message(SEND_ERROR "Could not find CAIRO")
|
|
||||||
endif (GTK2_CAIRO_LIBRARY AND GTK2_CAIRO_INCLUDE_DIR)
|
|
||||||
else (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
|
|
||||||
message(SEND_ERROR "Could not find PANGO")
|
|
||||||
endif (GTK2_PANGO_LIBRARY AND GTK2_PANGO_INCLUDE_DIR)
|
|
||||||
else (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
|
|
||||||
message(SEND_ERROR "Could not find GLADE")
|
|
||||||
endif (GTK2_GLADE_LIBRARY AND GTK2_GLADE_INCLUDE_DIR)
|
|
||||||
else (GTK2_GOBJECT_LIBRARY)
|
|
||||||
message(SEND_ERROR "Could not find GOBJECT")
|
|
||||||
endif (GTK2_GOBJECT_LIBRARY)
|
|
||||||
else (GTK2_GTHREAD_LIBRARY)
|
|
||||||
message(SEND_ERROR "Could not find GTHREAD")
|
|
||||||
endif (GTK2_GTHREAD_LIBRARY)
|
|
||||||
else (GTK2_GMODULE_LIBRARY)
|
|
||||||
message(SEND_ERROR "Could not find GMODULE")
|
|
||||||
endif (GTK2_GMODULE_LIBRARY)
|
|
||||||
else (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
|
|
||||||
message(SEND_ERROR "Could not find GDK (GDK_PIXBUF)")
|
|
||||||
endif (GTK2_GDK_LIBRARY AND GTK2_GDK_PIXBUF_LIBRARY AND GTK2_GDK_INCLUDE_DIR)
|
|
||||||
else (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
|
|
||||||
message(SEND_ERROR "Could not find GTK2-X11")
|
|
||||||
endif (GTK2_GTK_LIBRARY AND GTK2_GTK_INCLUDE_DIR)
|
|
||||||
|
|
||||||
if (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
|
|
||||||
set(GTK2_FOUND TRUE)
|
|
||||||
endif (GTK2_INCLUDE_DIRS AND GTK2_LIBRARIES)
|
|
||||||
|
|
||||||
if (GTK2_FOUND)
|
|
||||||
if (NOT GTK2_FIND_QUIETLY)
|
|
||||||
message(STATUS "Found GTK2: ${GTK2_LIBRARIES}")
|
|
||||||
endif (NOT GTK2_FIND_QUIETLY)
|
|
||||||
else (GTK2_FOUND)
|
|
||||||
if (GTK2_FIND_REQUIRED)
|
|
||||||
message(FATAL_ERROR "Could not find GTK2")
|
|
||||||
endif (GTK2_FIND_REQUIRED)
|
|
||||||
endif (GTK2_FOUND)
|
|
||||||
|
|
||||||
# show the GTK2_INCLUDE_DIRS and GTK2_LIBRARIES variables only in the advanced view
|
|
||||||
mark_as_advanced(GTK2_INCLUDE_DIRS GTK2_LIBRARIES)
|
|
||||||
|
|
||||||
endif (UNIX)
|
|
||||||
endif (GTK2_LIBRARIES AND GTK2_INCLUDE_DIRS)
|
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
# - Locate Jpeg library
|
|
||||||
# This module defines
|
|
||||||
# JPEG_LIBRARY, the library to link against
|
|
||||||
# JPEG_FOUND, if false, do not try to link to JPEG
|
|
||||||
# JPEG_INCLUDE_DIR, where to find headers.
|
|
||||||
|
|
||||||
IF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
|
||||||
# in cache already
|
|
||||||
SET(JPEG_FIND_QUIETLY TRUE)
|
|
||||||
ENDIF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(JPEG_INCLUDE_DIR
|
|
||||||
jpeglib.h
|
|
||||||
PATHS
|
|
||||||
$ENV{JPEG_DIR}/include
|
|
||||||
/usr/local/include
|
|
||||||
/usr/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include
|
|
||||||
/opt/csw/include
|
|
||||||
/opt/include
|
|
||||||
PATH_SUFFIXES jpeg
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(JPEG_LIBRARY
|
|
||||||
NAMES jpeg libjpeg
|
|
||||||
PATHS
|
|
||||||
$ENV{JPEG_DIR}/lib
|
|
||||||
/usr/local/lib
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/X11R6/lib
|
|
||||||
/usr/X11R6/lib
|
|
||||||
/sw/lib
|
|
||||||
/opt/local/lib
|
|
||||||
/opt/csw/lib
|
|
||||||
/opt/lib
|
|
||||||
/usr/freeware/lib64
|
|
||||||
)
|
|
||||||
|
|
||||||
IF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
|
||||||
SET(JPEG_FOUND "YES")
|
|
||||||
IF(NOT JPEG_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Found Jpeg: ${JPEG_LIBRARY}")
|
|
||||||
ENDIF(NOT JPEG_FIND_QUIETLY)
|
|
||||||
ELSE(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
|
||||||
IF(NOT JPEG_FIND_QUIETLY)
|
|
||||||
MESSAGE(STATUS "Warning: Unable to find Jpeg!")
|
|
||||||
ENDIF(NOT JPEG_FIND_QUIETLY)
|
|
||||||
ENDIF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
|
|
@ -131,50 +131,50 @@ MACRO(NL_SETUP_BUILD_FLAGS)
|
||||||
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_CFLAGS} ${PLATFORM_CFLAGS} ")
|
SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} ${NL_RELEASEDEBUG_CFLAGS} ${PLATFORM_CFLAGS} ")
|
||||||
ENDMACRO(NL_SETUP_BUILD_FLAGS)
|
ENDMACRO(NL_SETUP_BUILD_FLAGS)
|
||||||
|
|
||||||
MACRO(NL_SETUP_PREFIX_PATHS)
|
MACRO(RYZOM_SETUP_PREFIX_PATHS)
|
||||||
## Allow override of install_prefix/etc path.
|
## Allow override of install_prefix path.
|
||||||
IF(NOT NL_ETC_PREFIX)
|
IF(NOT RYZOM_PREFIX)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(NL_ETC_PREFIX "../etc" CACHE PATH "Installation path for configurations")
|
SET(RYZOM_PREFIX "." CACHE PATH "Installation path")
|
||||||
ELSE(WIN32)
|
ELSE(WIN32)
|
||||||
SET(NL_ETC_PREFIX "${CMAKE_INSTALL_PREFIX}/etc" CACHE PATH "Installation path for configurations")
|
SET(RYZOM_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Installation path")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
ENDIF(NOT NL_ETC_PREFIX)
|
ENDIF(NOT RYZOM_PREFIX)
|
||||||
|
|
||||||
|
## Allow override of install_prefix/etc path.
|
||||||
|
IF(NOT RYZOM_ETC_PREFIX)
|
||||||
|
IF(WIN32)
|
||||||
|
SET(RYZOM_ETC_PREFIX "." CACHE PATH "Installation path for configurations")
|
||||||
|
ELSE(WIN32)
|
||||||
|
SET(RYZOM_ETC_PREFIX "${CMAKE_INSTALL_PREFIX}/etc/ryzom" CACHE PATH "Installation path for configurations")
|
||||||
|
ENDIF(WIN32)
|
||||||
|
ENDIF(NOT RYZOM_ETC_PREFIX)
|
||||||
|
|
||||||
## Allow override of install_prefix/share path.
|
## Allow override of install_prefix/share path.
|
||||||
IF(NOT NL_SHARE_PREFIX)
|
IF(NOT RYZOM_SHARE_PREFIX)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(NL_SHARE_PREFIX "../share" CACHE PATH "Installation path for data.")
|
SET(RYZOM_SHARE_PREFIX "." CACHE PATH "Installation path for data.")
|
||||||
ELSE(WIN32)
|
ELSE(WIN32)
|
||||||
SET(NL_SHARE_PREFIX "${CMAKE_INSTALL_PREFIX}/share" CACHE PATH "Installation path for data.")
|
SET(RYZOM_SHARE_PREFIX "${CMAKE_INSTALL_PREFIX}/share/ryzom" CACHE PATH "Installation path for data.")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
ENDIF(NOT NL_SHARE_PREFIX)
|
ENDIF(NOT RYZOM_SHARE_PREFIX)
|
||||||
|
|
||||||
## Allow override of install_prefix/sbin path.
|
## Allow override of install_prefix/sbin path.
|
||||||
IF(NOT NL_SBIN_PREFIX)
|
IF(NOT RYZOM_SBIN_PREFIX)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(NL_SBIN_PREFIX "../sbin" CACHE PATH "Installation path for admin tools and services.")
|
SET(RYZOM_SBIN_PREFIX "." CACHE PATH "Installation path for admin tools and services.")
|
||||||
ELSE(WIN32)
|
ELSE(WIN32)
|
||||||
SET(NL_SBIN_PREFIX "${CMAKE_INSTALL_PREFIX}/sbin" CACHE PATH "Installation path for admin tools and services.")
|
SET(RYZOM_SBIN_PREFIX "${CMAKE_INSTALL_PREFIX}/sbin" CACHE PATH "Installation path for admin tools and services.")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
ENDIF(NOT NL_SBIN_PREFIX)
|
ENDIF(NOT RYZOM_SBIN_PREFIX)
|
||||||
|
|
||||||
## Allow override of install_prefix/bin path.
|
## Allow override of install_prefix/bin path.
|
||||||
IF(NOT NL_BIN_PREFIX)
|
IF(NOT RYZOM_BIN_PREFIX)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(NL_BIN_PREFIX "../bin" CACHE PATH "Installation path for tools and applications.")
|
SET(RYZOM_BIN_PREFIX "." CACHE PATH "Installation path for tools and applications.")
|
||||||
ELSE(WIN32)
|
ELSE(WIN32)
|
||||||
SET(NL_BIN_PREFIX "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation path for tools and applications.")
|
SET(RYZOM_BIN_PREFIX "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation path for client and tools.")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
ENDIF(NOT NL_BIN_PREFIX)
|
ENDIF(NOT RYZOM_BIN_PREFIX)
|
||||||
|
|
||||||
## Allow override of install_prefix/bin path.
|
ENDMACRO(RYZOM_SETUP_PREFIX_PATHS)
|
||||||
IF(NOT NL_LOG_PREFIX)
|
|
||||||
IF(WIN32)
|
|
||||||
SET(NL_LOG_PREFIX "../var/log" CACHE PATH "Installation path for tools and applications.")
|
|
||||||
ELSE(WIN32)
|
|
||||||
SET(NL_LOG_PREFIX "${CMAKE_INSTALL_PREFIX}/var/log" CACHE PATH "Installation path for tools and applications.")
|
|
||||||
ENDIF(WIN32)
|
|
||||||
ENDIF(NOT NL_LOG_PREFIX)
|
|
||||||
|
|
||||||
ENDMACRO(NL_SETUP_PREFIX_PATHS)
|
|
||||||
|
|
|
@ -1 +1,7 @@
|
||||||
ADD_SUBDIRECTORY(src)
|
ADD_SUBDIRECTORY(src)
|
||||||
|
|
||||||
|
IF(UNIX AND NOT APPLE)
|
||||||
|
ADD_SUBDIRECTORY(unix)
|
||||||
|
ENDIF(UNIX AND NOT APPLE)
|
||||||
|
|
||||||
|
INSTALL(FILES client_default.cfg DESTINATION ${RYZOM_ETC_PREFIX})
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
ADD_SUBDIRECTORY(seven_zip)
|
|
||||||
|
|
||||||
# These are Windows/MFC apps
|
# These are Windows/MFC apps
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
|
ADD_SUBDIRECTORY(seven_zip)
|
||||||
ADD_SUBDIRECTORY(bug_report)
|
ADD_SUBDIRECTORY(bug_report)
|
||||||
|
SET(SEVENZIP_LIBRARY "ryzom_sevenzip")
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(client_sheets)
|
ADD_SUBDIRECTORY(client_sheets)
|
||||||
|
@ -38,7 +38,7 @@ if(APPLE)
|
||||||
SET(MACOSX_BUNDLE_INFO_STRING "Ryzom Core Client")
|
SET(MACOSX_BUNDLE_INFO_STRING "Ryzom Core Client")
|
||||||
SET(MACOSX_BUNDLE_ICON_FILE "")
|
SET(MACOSX_BUNDLE_ICON_FILE "")
|
||||||
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "")
|
SET(MACOSX_BUNDLE_GUI_IDENTIFIER "")
|
||||||
SET(MACOSX_BUNDLE_LONG_VERSION_STRING "0.8.0")
|
SET(MACOSX_BUNDLE_LONG_VERSION_STRING ${NL_VERSION})
|
||||||
SET(MACOSX_BUNDLE_BUNDLE_NAME "Ryzom Core Client")
|
SET(MACOSX_BUNDLE_BUNDLE_NAME "Ryzom Core Client")
|
||||||
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "0.8")
|
SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "0.8")
|
||||||
SET(MACOSX_BUNDLE_BUNDLE_VERSION "1.0")
|
SET(MACOSX_BUNDLE_BUNDLE_VERSION "1.0")
|
||||||
|
@ -85,7 +85,7 @@ TARGET_LINK_LIBRARIES(ryzom_client ${PLATFORM_LINKFLAGS}
|
||||||
ryzom_clientsheets
|
ryzom_clientsheets
|
||||||
${NELPACS_LIBRARY}
|
${NELPACS_LIBRARY}
|
||||||
${LIBWWW_LIBRARY}
|
${LIBWWW_LIBRARY}
|
||||||
ryzom_sevenzip
|
${SEVENZIP_LIBRARY}
|
||||||
luabind # TODO: find luabind and expat cleanly using a find script
|
luabind # TODO: find luabind and expat cleanly using a find script
|
||||||
expat)
|
expat)
|
||||||
|
|
||||||
|
@ -99,4 +99,4 @@ IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(ryzom_client ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(ryzom_client ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF(WITH_PCH)
|
||||||
|
|
||||||
INSTALL(TARGETS ryzom_client RUNTIME DESTINATION bin COMPONENT client BUNDLE DESTINATION /Applications)
|
INSTALL(TARGETS ryzom_client RUNTIME DESTINATION ${RYZOM_BIN_PREFIX} COMPONENT client BUNDLE DESTINATION /Applications)
|
||||||
|
|
|
@ -345,6 +345,16 @@ int main(int argc, char **argv)
|
||||||
// init the Nel context
|
// init the Nel context
|
||||||
CApplicationContext *appContext = new CApplicationContext;
|
CApplicationContext *appContext = new CApplicationContext;
|
||||||
|
|
||||||
|
// if client_default.cfg is not in current directory, use application default directory
|
||||||
|
if (!CFile::isExists("client_default.cfg"))
|
||||||
|
{
|
||||||
|
std::string currentPath = CFile::getApplicationDirectory("Ryzom");
|
||||||
|
|
||||||
|
if (!CFile::isExists(currentPath)) CFile::createDirectory(currentPath);
|
||||||
|
|
||||||
|
CPath::setCurrentPath(currentPath);
|
||||||
|
}
|
||||||
|
|
||||||
// temporary buffer to store Ryzom full path
|
// temporary buffer to store Ryzom full path
|
||||||
char filename[1024];
|
char filename[1024];
|
||||||
|
|
||||||
|
@ -437,31 +447,6 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
GetModuleFileName(GetModuleHandle(NULL), filename, 1024);
|
GetModuleFileName(GetModuleHandle(NULL), filename, 1024);
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
// TODO for Linux : splashscreen
|
|
||||||
|
|
||||||
if (argc >= 3)
|
|
||||||
{
|
|
||||||
LoginLogin = argv[1];
|
|
||||||
LoginPassword = argv[2];
|
|
||||||
if (!fromString(argv[3], LoginShardId)) LoginShardId = -1;
|
|
||||||
}
|
|
||||||
else if (argc >= 2)
|
|
||||||
{
|
|
||||||
LoginLogin = argv[1];
|
|
||||||
LoginPassword = argv[2];
|
|
||||||
LoginShardId = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
strcpy(filename, argv[0]);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// initialize patch manager and set the ryzom full path, before it's used
|
|
||||||
CPatchManager *pPM = CPatchManager::getInstance();
|
|
||||||
pPM->setRyzomFilename(NLMISC::CFile::getFilename(filename));
|
|
||||||
|
|
||||||
// Delete the .bat file because it s not useful anymore
|
// Delete the .bat file because it s not useful anymore
|
||||||
if (NLMISC::CFile::fileExists("updt_nl.bat"))
|
if (NLMISC::CFile::fileExists("updt_nl.bat"))
|
||||||
NLMISC::CFile::deleteFile("updt_nl.bat");
|
NLMISC::CFile::deleteFile("updt_nl.bat");
|
||||||
|
@ -488,6 +473,31 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
// TODO for Linux : splashscreen
|
||||||
|
|
||||||
|
if (argc >= 3)
|
||||||
|
{
|
||||||
|
LoginLogin = argv[1];
|
||||||
|
LoginPassword = argv[2];
|
||||||
|
if (!fromString(argv[3], LoginShardId)) LoginShardId = -1;
|
||||||
|
}
|
||||||
|
else if (argc >= 2)
|
||||||
|
{
|
||||||
|
LoginLogin = argv[1];
|
||||||
|
LoginPassword = argv[2];
|
||||||
|
LoginShardId = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
strcpy(filename, argv[0]);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// initialize patch manager and set the ryzom full path, before it's used
|
||||||
|
CPatchManager *pPM = CPatchManager::getInstance();
|
||||||
|
pPM->setRyzomFilename(NLMISC::CFile::getFilename(filename));
|
||||||
|
|
||||||
/////////////////////////////////
|
/////////////////////////////////
|
||||||
// Initialize the application. //
|
// Initialize the application. //
|
||||||
#ifndef TEST_CRASH_COUNTER
|
#ifndef TEST_CRASH_COUNTER
|
||||||
|
|
|
@ -39,6 +39,10 @@
|
||||||
#include "game_share/time_weather_season/time_and_season.h"
|
#include "game_share/time_weather_season/time_and_season.h"
|
||||||
#include "game_share/ryzom_version.h"
|
#include "game_share/ryzom_version.h"
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
# include "config.h"
|
||||||
|
#endif // HAVE_CONFIG_H
|
||||||
|
|
||||||
///////////
|
///////////
|
||||||
// MACRO //
|
// MACRO //
|
||||||
///////////
|
///////////
|
||||||
|
@ -1966,7 +1970,43 @@ void CClientConfig::serial(class NLMISC::IStream &f) throw(NLMISC::EStream)
|
||||||
void CClientConfig::init(const string &configFileName)
|
void CClientConfig::init(const string &configFileName)
|
||||||
{
|
{
|
||||||
if(!CFile::fileExists(configFileName))
|
if(!CFile::fileExists(configFileName))
|
||||||
nlwarning("CFG::init: '%s' Not Found !!!", configFileName.c_str ());
|
{
|
||||||
|
std::string defaultConfigFileName = "client_default.cfg";
|
||||||
|
bool found = false;
|
||||||
|
|
||||||
|
if (CFile::isExists(defaultConfigFileName)) found = true;
|
||||||
|
|
||||||
|
#ifdef RYZOM_ETC_PREFIX
|
||||||
|
if (!found)
|
||||||
|
{
|
||||||
|
defaultConfigFileName = std::string(RYZOM_ETC_PREFIX"/") + defaultConfigFileName;
|
||||||
|
if (CFile::isExists(defaultConfigFileName)) found = true;
|
||||||
|
}
|
||||||
|
#endif // RYZOM_ETC_PREFIX
|
||||||
|
|
||||||
|
if (found)
|
||||||
|
{
|
||||||
|
// create the basic .cfg that link the default one
|
||||||
|
FILE *fp = fopen(configFileName.c_str(), "w");
|
||||||
|
if (fp == NULL)
|
||||||
|
{
|
||||||
|
nlerror ("CFG::init: Can't create config file '%s'", configFileName.c_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning("CFG::init: creating '%s' with default values", configFileName.c_str ());
|
||||||
|
}
|
||||||
|
fprintf(fp, "RootConfigFilename = \"%s\";\n", defaultConfigFileName.c_str());
|
||||||
|
#ifdef RYZOM_SHARE_PREFIX
|
||||||
|
fprintf(fp, "PreDataPath = { \"%s/data\" };\n", RYZOM_SHARE_PREFIX);
|
||||||
|
#endif // RYZOM_SHARE_PREFIX
|
||||||
|
fclose(fp);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
nlwarning("CFG::init: '%s' Not Found !!!", defaultConfigFileName.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// if the config file will be modified, it calls automatically the function setValuesOnFileChange()
|
// if the config file will be modified, it calls automatically the function setValuesOnFileChange()
|
||||||
ClientCfg.ConfigFile.setCallback (CClientConfig::setValuesOnFileChange);
|
ClientCfg.ConfigFile.setCallback (CClientConfig::setValuesOnFileChange);
|
||||||
|
|
|
@ -239,7 +239,7 @@ void CItemSheet::build(const NLGEORGES::UFormElm &item)
|
||||||
debug(toString("The slot name %d is Empty.", i));
|
debug(toString("The slot name %d is Empty.", i));
|
||||||
|
|
||||||
// Push the possible slots for the item in the list.
|
// Push the possible slots for the item in the list.
|
||||||
SlotBF|= SINT64_CONSTANT(1)<< (SLOTTYPE::stringToSlotType(NLMISC::strupr(slotName)));
|
SlotBF|= SINT64_CONSTANT(1)<< (SLOTTYPE::stringToSlotType(NLMISC::toUpper(slotName)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -258,7 +258,7 @@ void CItemSheet::build(const NLGEORGES::UFormElm &item)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Family = (ITEMFAMILY::EItemFamily) ITEMFAMILY::stringToItemFamily(NLMISC::strupr( family) );
|
Family = (ITEMFAMILY::EItemFamily) ITEMFAMILY::stringToItemFamily(NLMISC::toUpper( family) );
|
||||||
if(Family == ITEMFAMILY::UNDEFINED)
|
if(Family == ITEMFAMILY::UNDEFINED)
|
||||||
debug("Item Family Undefined.");
|
debug("Item Family Undefined.");
|
||||||
}
|
}
|
||||||
|
@ -272,7 +272,7 @@ void CItemSheet::build(const NLGEORGES::UFormElm &item)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ItemType = (ITEM_TYPE::TItemType) ITEM_TYPE::stringToItemType(NLMISC::strupr(itemtype) );
|
ItemType = (ITEM_TYPE::TItemType) ITEM_TYPE::stringToItemType(NLMISC::toUpper(itemtype) );
|
||||||
if (ItemType == ITEM_TYPE::UNDEFINED)
|
if (ItemType == ITEM_TYPE::UNDEFINED)
|
||||||
debug("Item Type Undefined.");
|
debug("Item Type Undefined.");
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,7 +103,7 @@ void CSBrickSheet::build (const NLGEORGES::UFormElm &root)
|
||||||
{
|
{
|
||||||
string sheetName= Id.toString();
|
string sheetName= Id.toString();
|
||||||
std::string::size_type end= sheetName.find(".sbrick")-2;
|
std::string::size_type end= sheetName.find(".sbrick")-2;
|
||||||
BrickFamily = BRICK_FAMILIES::toSBrickFamily ( strupr(sheetName.substr(0,end)) );
|
BrickFamily = BRICK_FAMILIES::toSBrickFamily ( NLMISC::toUpper(sheetName.substr(0,end)) );
|
||||||
if(BrickFamily==BRICK_FAMILIES::Unknown)
|
if(BrickFamily==BRICK_FAMILIES::Unknown)
|
||||||
nlwarning("Unknown Family for SBrick: %s", sheetName.c_str());
|
nlwarning("Unknown Family for SBrick: %s", sheetName.c_str());
|
||||||
}
|
}
|
||||||
|
|
|
@ -266,7 +266,7 @@ bool CColorSlotManager::parseTexName(const char *texName, std::string *texNameWi
|
||||||
static std::string nameToParse;
|
static std::string nameToParse;
|
||||||
static std::string currentExt;
|
static std::string currentExt;
|
||||||
static TIntCoupleVect slotsId;
|
static TIntCoupleVect slotsId;
|
||||||
nameToParse = NLMISC::strupr(NLMISC::CFile::getFilenameWithoutExtension(texName));
|
nameToParse = NLMISC::toUpper(NLMISC::CFile::getFilenameWithoutExtension(texName));
|
||||||
|
|
||||||
TStrPos currPos = nameToParse.length();
|
TStrPos currPos = nameToParse.length();
|
||||||
|
|
||||||
|
@ -377,9 +377,8 @@ bool CColorSlotManager::changeTexName(std::string &texName, TIntCouple *slotIDs,
|
||||||
static TIntCoupleVect srcSlotIDs;
|
static TIntCoupleVect srcSlotIDs;
|
||||||
|
|
||||||
everythingOk = true;
|
everythingOk = true;
|
||||||
texNameNoExt = NLMISC::CFile::getFilenameWithoutExtension(texName);
|
texNameNoExt = NLMISC::toUpper(NLMISC::CFile::getFilenameWithoutExtension(texName));
|
||||||
texExt = NLMISC::CFile::getExtension(texName);
|
texExt = NLMISC::CFile::getExtension(texName);
|
||||||
NLMISC::strupr(texNameNoExt);
|
|
||||||
TTex2Slots::const_iterator texIt = _TexMap.find(texNameNoExt);
|
TTex2Slots::const_iterator texIt = _TexMap.find(texNameNoExt);
|
||||||
if (texIt != _TexMap.end())
|
if (texIt != _TexMap.end())
|
||||||
{
|
{
|
||||||
|
|
|
@ -324,7 +324,7 @@ void ExitClientError (const char *format, ...)
|
||||||
MessageBoxW (NULL, (WCHAR*)ucstr.c_str(), (WCHAR*)CI18N::get ("TheSagaOfRyzom").c_str (), MB_OK|MB_ICONERROR);
|
MessageBoxW (NULL, (WCHAR*)ucstr.c_str(), (WCHAR*)CI18N::get ("TheSagaOfRyzom").c_str (), MB_OK|MB_ICONERROR);
|
||||||
*/
|
*/
|
||||||
#else
|
#else
|
||||||
fprintf (stderr, str);
|
fprintf (stderr, "%s\n", str);
|
||||||
#endif
|
#endif
|
||||||
// Exit
|
// Exit
|
||||||
extern void quitCrashReport ();
|
extern void quitCrashReport ();
|
||||||
|
@ -727,8 +727,14 @@ void prelogInit()
|
||||||
setReportEmailFunction ((void*)sendEmail);
|
setReportEmailFunction ((void*)sendEmail);
|
||||||
setDefaultEmailParams ("smtp.nevrax.com", "", "ryzombug@nevrax.com");
|
setDefaultEmailParams ("smtp.nevrax.com", "", "ryzombug@nevrax.com");
|
||||||
|
|
||||||
|
// create the data dir.
|
||||||
|
if (!CFile::isExists("data")) CFile::createDirectory("data");
|
||||||
|
|
||||||
// create the save dir.
|
// create the save dir.
|
||||||
CFile::createDirectory("save");
|
if (!CFile::isExists("save")) CFile::createDirectory("save");
|
||||||
|
|
||||||
|
// create the user dir.
|
||||||
|
if (!CFile::isExists("user")) CFile::createDirectory("user");
|
||||||
|
|
||||||
#if !FINAL_VERSION
|
#if !FINAL_VERSION
|
||||||
// if we're not in final version then start the file access logger to keep track of the files that we read as we play
|
// if we're not in final version then start the file access logger to keep track of the files that we read as we play
|
||||||
|
@ -908,6 +914,23 @@ void prelogInit()
|
||||||
// Set the title
|
// Set the title
|
||||||
Driver->setWindowTitle(CI18N::get("TheSagaOfRyzom"));
|
Driver->setWindowTitle(CI18N::get("TheSagaOfRyzom"));
|
||||||
|
|
||||||
|
#if defined(NL_OS_UNIX) && !defined(NL_OS_MAC)
|
||||||
|
vector<CBitmap> bitmaps;
|
||||||
|
|
||||||
|
string fileName = "/usr/share/pixmaps/ryzom.png";
|
||||||
|
|
||||||
|
CIFile file;
|
||||||
|
|
||||||
|
if (file.open(fileName))
|
||||||
|
{
|
||||||
|
CBitmap bitmap;
|
||||||
|
if (bitmap.load(file))
|
||||||
|
bitmaps.push_back(bitmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
Driver->setWindowIcon(bitmaps);
|
||||||
|
#endif
|
||||||
|
|
||||||
sint32 posX = 0, posY = 0;
|
sint32 posX = 0, posY = 0;
|
||||||
|
|
||||||
if (ClientCfg.Windowed)
|
if (ClientCfg.Windowed)
|
||||||
|
|
|
@ -71,7 +71,9 @@ class CAHDisplayInfos : public IActionHandler
|
||||||
{
|
{
|
||||||
// can only be used by devs and CSR or in local mode
|
// can only be used by devs and CSR or in local mode
|
||||||
#if FINAL_VERSION
|
#if FINAL_VERSION
|
||||||
|
# ifdef NL_OS_WINDOWS
|
||||||
if( ClientCfg.Local || hasPrivilegeDEV() || hasPrivilegeSGM() || hasPrivilegeGM() || hasPrivilegeSG() || hasPrivilegeEM() || hasPrivilegeVG() )
|
if( ClientCfg.Local || hasPrivilegeDEV() || hasPrivilegeSGM() || hasPrivilegeGM() || hasPrivilegeSG() || hasPrivilegeEM() || hasPrivilegeVG() )
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
ShowInfos = (ShowInfos+1)%6;
|
ShowInfos = (ShowInfos+1)%6;
|
||||||
|
|
|
@ -595,12 +595,16 @@ void displayScreenShotSavedInfo(const string &filename)
|
||||||
pIM->displaySystemInfo(msg);
|
pIM->displaySystemInfo(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void initScreenshot()
|
||||||
|
{
|
||||||
|
if (!CFile::isExists(ScreenshotsDirectory)) CFile::createDirectory(ScreenshotsDirectory);
|
||||||
|
}
|
||||||
|
|
||||||
void screenShotTGA()
|
void screenShotTGA()
|
||||||
{
|
{
|
||||||
CBitmap btm;
|
CBitmap btm;
|
||||||
getBuffer (btm);
|
getBuffer (btm);
|
||||||
|
|
||||||
if(!ScreenshotsDirectory.empty() && !CFile::isExists(ScreenshotsDirectory)) CFile::createDirectory(ScreenshotsDirectory);
|
|
||||||
string filename = CFile::findNewFile (ScreenshotsDirectory+"screenshot.tga");
|
string filename = CFile::findNewFile (ScreenshotsDirectory+"screenshot.tga");
|
||||||
COFile fs(filename);
|
COFile fs(filename);
|
||||||
btm.writeTGA(fs, 24, false);
|
btm.writeTGA(fs, 24, false);
|
||||||
|
@ -613,7 +617,6 @@ void screenShotPNG()
|
||||||
CBitmap btm;
|
CBitmap btm;
|
||||||
getBuffer (btm);
|
getBuffer (btm);
|
||||||
|
|
||||||
if(!ScreenshotsDirectory.empty() && !CFile::isExists(ScreenshotsDirectory)) CFile::createDirectory(ScreenshotsDirectory);
|
|
||||||
string filename = CFile::findNewFile (ScreenshotsDirectory+"screenshot.png");
|
string filename = CFile::findNewFile (ScreenshotsDirectory+"screenshot.png");
|
||||||
COFile fs(filename);
|
COFile fs(filename);
|
||||||
if (!btm.writePNG(fs, 24))
|
if (!btm.writePNG(fs, 24))
|
||||||
|
@ -634,7 +637,6 @@ void screenShotJPG()
|
||||||
CBitmap btm;
|
CBitmap btm;
|
||||||
getBuffer (btm);
|
getBuffer (btm);
|
||||||
|
|
||||||
if(!ScreenshotsDirectory.empty() && !CFile::isExists(ScreenshotsDirectory)) CFile::createDirectory(ScreenshotsDirectory);
|
|
||||||
string filename = CFile::findNewFile (ScreenshotsDirectory+"screenshot.jpg");
|
string filename = CFile::findNewFile (ScreenshotsDirectory+"screenshot.jpg");
|
||||||
COFile fs(filename);
|
COFile fs(filename);
|
||||||
btm.writeJPG(fs);
|
btm.writeJPG(fs);
|
||||||
|
|
|
@ -174,6 +174,7 @@ public:
|
||||||
/** Capture current content of framebuffer and save the result. If a custom size is asked in ClientCfg, then the scene is rendered again
|
/** Capture current content of framebuffer and save the result. If a custom size is asked in ClientCfg, then the scene is rendered again
|
||||||
* instead (possibly multiple time)
|
* instead (possibly multiple time)
|
||||||
*/
|
*/
|
||||||
|
void initScreenshot();
|
||||||
void screenShotTGA();
|
void screenShotTGA();
|
||||||
void screenShotPNG();
|
void screenShotPNG();
|
||||||
void screenShotJPG();
|
void screenShotJPG();
|
||||||
|
|
|
@ -105,8 +105,7 @@ void CActionPhraseFaber::launchFaberCastWindow(sint32 memoryLine, uint memoryIn
|
||||||
_FaberPlanBrickFamilies.clear();
|
_FaberPlanBrickFamilies.clear();
|
||||||
if(rootBrick->Properties.size()>0)
|
if(rootBrick->Properties.size()>0)
|
||||||
{
|
{
|
||||||
string prop= rootBrick->Properties[0].Text;
|
string prop= NLMISC::toUpper(rootBrick->Properties[0].Text);
|
||||||
strupr(prop);
|
|
||||||
vector<string> strList;
|
vector<string> strList;
|
||||||
splitString(prop, " ", strList);
|
splitString(prop, " ", strList);
|
||||||
// The prop Id should be 'FPLAN:'
|
// The prop Id should be 'FPLAN:'
|
||||||
|
|
|
@ -71,6 +71,7 @@ SCharacter3DSetup::SCharacter3DSetup ()
|
||||||
}
|
}
|
||||||
Tattoo = 0;
|
Tattoo = 0;
|
||||||
EyesColor = 0;
|
EyesColor = 0;
|
||||||
|
HairColor = 0;
|
||||||
CharHeight = 0.0f;
|
CharHeight = 0.0f;
|
||||||
ChestWidth = 0.0f;
|
ChestWidth = 0.0f;
|
||||||
ArmsWidth = 0.0f;
|
ArmsWidth = 0.0f;
|
||||||
|
|
|
@ -833,7 +833,7 @@ void CCtrlScroll::moveTargetX (sint32 dx)
|
||||||
_TrackPos = (sint32)factor;
|
_TrackPos = (sint32)factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
// invlidate only position. 1 pass is sufficient
|
// invalidate only position. 1 pass is sufficient
|
||||||
invalidateCoords(1);
|
invalidateCoords(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -873,7 +873,7 @@ void CCtrlScroll::moveTargetY (sint32 dy)
|
||||||
_TrackPos = (sint32)factor;
|
_TrackPos = (sint32)factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
// invlidate only position. 1 pass is sufficient
|
// invalidate only position. 1 pass is sufficient
|
||||||
invalidateCoords(1);
|
invalidateCoords(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -370,7 +370,6 @@ HICON CCustomMouse::buildCursor(const CBitmap &src, NLMISC::CRGBA col, uint8 rot
|
||||||
uint mouseH = GetSystemMetrics(SM_CYCURSOR);
|
uint mouseH = GetSystemMetrics(SM_CYCURSOR);
|
||||||
nlassert(src.getWidth() == mouseW);
|
nlassert(src.getWidth() == mouseW);
|
||||||
nlassert(src.getHeight() == mouseH);
|
nlassert(src.getHeight() == mouseH);
|
||||||
HICON result = 0;
|
|
||||||
CBitmap rotSrc = src;
|
CBitmap rotSrc = src;
|
||||||
if (rot > 3) rot = 3; // mimic behavior of 'CViewRenderer::drawRotFlipBitmapTiled' (why not rot & 3 ??? ...)
|
if (rot > 3) rot = 3; // mimic behavior of 'CViewRenderer::drawRotFlipBitmapTiled' (why not rot & 3 ??? ...)
|
||||||
switch(rot)
|
switch(rot)
|
||||||
|
@ -380,62 +379,7 @@ HICON CCustomMouse::buildCursor(const CBitmap &src, NLMISC::CRGBA col, uint8 rot
|
||||||
case 2: rotSrc.rot90CW(); rotSrc.rot90CW(); break;
|
case 2: rotSrc.rot90CW(); rotSrc.rot90CW(); break;
|
||||||
case 3: rotSrc.rot90CCW(); break;
|
case 3: rotSrc.rot90CCW(); break;
|
||||||
}
|
}
|
||||||
CBitmap colorBm;
|
return rotSrc.getHICON(mouseW, mouseH, _ColorDepth == ColorDepth16 ? 16:32, col, hotSpotX, hotSpotY, true);
|
||||||
colorBm.resize(mouseW, mouseH, CBitmap::RGBA);
|
|
||||||
const CRGBA *srcColorPtr = (CRGBA *) &(rotSrc.getPixels()[0]);
|
|
||||||
const CRGBA *srcColorPtrLast = srcColorPtr + (mouseW * mouseH);
|
|
||||||
CRGBA *destColorPtr = (CRGBA *) &(colorBm.getPixels()[0]);
|
|
||||||
static volatile uint8 alphaThreshold = 127;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
destColorPtr->modulateFromColor(*srcColorPtr, col);
|
|
||||||
std::swap(destColorPtr->R, destColorPtr->B);
|
|
||||||
++ srcColorPtr;
|
|
||||||
++ destColorPtr;
|
|
||||||
}
|
|
||||||
while (srcColorPtr != srcColorPtrLast);
|
|
||||||
//
|
|
||||||
HBITMAP colorHbm = 0;
|
|
||||||
HBITMAP maskHbm = 0;
|
|
||||||
//
|
|
||||||
if (_ColorDepth == ColorDepth16)
|
|
||||||
{
|
|
||||||
std::vector<uint16> colorBm16(colorBm.getWidth() * colorBm.getHeight());
|
|
||||||
const CRGBA *src32 = (const CRGBA *) &colorBm.getPixels(0)[0];
|
|
||||||
for (uint k = 0;k < colorBm16.size(); ++k)
|
|
||||||
{
|
|
||||||
colorBm16[k] = ((uint16)(src32[k].R&0xf8)>>3) | ((uint16)(src32[k].G&0xfc)<<3) | ((uint16)(src32[k].B & 0xf8)<<8);
|
|
||||||
}
|
|
||||||
colorHbm = CreateBitmap(mouseW, mouseH, 1, 16, &colorBm16[0]);
|
|
||||||
std::vector<uint8> bitMask((colorBm.getWidth() * colorBm.getHeight() + 7) / 8, 0);
|
|
||||||
for (uint k = 0;k < colorBm16.size(); ++k)
|
|
||||||
{
|
|
||||||
if (src32[k].A <= 120)
|
|
||||||
{
|
|
||||||
bitMask[k / 8] |= (0x80 >> (k & 7));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
maskHbm = CreateBitmap(mouseW, mouseH, 1, 1, &bitMask[0]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
colorHbm = CreateBitmap(mouseW, mouseH, 1, 32, &colorBm.getPixels(0)[0]);
|
|
||||||
maskHbm = CreateBitmap(mouseW, mouseH, 1, 32, &colorBm.getPixels(0)[0]);
|
|
||||||
}
|
|
||||||
ICONINFO iconInfo;
|
|
||||||
iconInfo.fIcon = FALSE;
|
|
||||||
iconInfo.xHotspot = (DWORD) hotSpotX;
|
|
||||||
iconInfo.yHotspot = (DWORD) hotSpotY;
|
|
||||||
iconInfo.hbmMask = maskHbm;
|
|
||||||
iconInfo.hbmColor = colorHbm;
|
|
||||||
if (colorHbm && maskHbm)
|
|
||||||
{
|
|
||||||
result = CreateIconIndirect(&iconInfo);
|
|
||||||
}
|
|
||||||
//
|
|
||||||
if (colorHbm) DeleteObject(colorHbm);
|
|
||||||
if (maskHbm) DeleteObject(maskHbm);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -378,9 +378,8 @@ bool CCtrlSheetInfo::parseCtrlInfo(xmlNodePtr cur, CInterfaceGroup * /* parentGr
|
||||||
|
|
||||||
// The string may have multiple brick type separated by |
|
// The string may have multiple brick type separated by |
|
||||||
string brickTypeArray= (const char*)prop;
|
string brickTypeArray= (const char*)prop;
|
||||||
strupr(brickTypeArray);
|
|
||||||
vector<string> strList;
|
vector<string> strList;
|
||||||
NLMISC::splitString(brickTypeArray, "|", strList);
|
NLMISC::splitString(NLMISC::toUpper(brickTypeArray), "|", strList);
|
||||||
|
|
||||||
// Test All words
|
// Test All words
|
||||||
for(uint i=0;i<strList.size();i++)
|
for(uint i=0;i<strList.size();i++)
|
||||||
|
@ -406,8 +405,7 @@ bool CCtrlSheetInfo::parseCtrlInfo(xmlNodePtr cur, CInterfaceGroup * /* parentGr
|
||||||
if(prop)
|
if(prop)
|
||||||
{
|
{
|
||||||
string str= prop;
|
string str= prop;
|
||||||
strupr(str);
|
_ItemSlot= SLOTTYPE::stringToSlotType(NLMISC::toUpper(str));
|
||||||
_ItemSlot= SLOTTYPE::stringToSlotType(str);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// _AutoGrayed
|
// _AutoGrayed
|
||||||
|
|
|
@ -396,10 +396,9 @@ CModalContainerEditCmd::CModalContainerEditCmd()
|
||||||
void CModalContainerEditCmd::create(const std::string &name, bool bDefKey, bool allowAllActions)
|
void CModalContainerEditCmd::create(const std::string &name, bool bDefKey, bool allowAllActions)
|
||||||
{
|
{
|
||||||
CInterfaceManager *pIM = CInterfaceManager::getInstance();
|
CInterfaceManager *pIM = CInterfaceManager::getInstance();
|
||||||
string prefix = name;
|
string prefix = NLMISC::toUpper(name);
|
||||||
CanDefineKey = bDefKey;
|
CanDefineKey = bDefKey;
|
||||||
_AllowAllActions = allowAllActions;
|
_AllowAllActions = allowAllActions;
|
||||||
prefix = strupr(prefix);
|
|
||||||
prefix = string(DB_EDITCMD_PREFIX) + string(":") + prefix + string(":");
|
prefix = string(DB_EDITCMD_PREFIX) + string(":") + prefix + string(":");
|
||||||
DbComboSelCat = prefix + DB_EDITCMD_COMBO_SELECT_CATEGORY;
|
DbComboSelCat = prefix + DB_EDITCMD_COMBO_SELECT_CATEGORY;
|
||||||
DbComboSelAct = prefix + DB_EDITCMD_COMBO_SELECT_ACTION;
|
DbComboSelAct = prefix + DB_EDITCMD_COMBO_SELECT_ACTION;
|
||||||
|
|
|
@ -611,7 +611,7 @@ void CViewRenderer::drawQuad(sint layerId, const NLMISC::CQuadUV &quadUV, sint32
|
||||||
std::swap(pUV0, pUV1);
|
std::swap(pUV0, pUV1);
|
||||||
}
|
}
|
||||||
|
|
||||||
nlassert(count <= maxNumCorners);
|
nlassert(count <= (sint)maxNumCorners);
|
||||||
if (count >= 3)
|
if (count >= 3)
|
||||||
{
|
{
|
||||||
count -= 2;
|
count -= 2;
|
||||||
|
@ -1088,7 +1088,7 @@ CRGBA CViewRenderer::getTextureColor(sint32 id, sint32 x, sint32 y)
|
||||||
sint32 CViewRenderer::getTypoTextureW(char c)
|
sint32 CViewRenderer::getTypoTextureW(char c)
|
||||||
{
|
{
|
||||||
if ((c>=0) && (c<NumTypoChar))
|
if ((c>=0) && (c<NumTypoChar))
|
||||||
return _TypoCharWs[c];
|
return _TypoCharWs[(uint)c];
|
||||||
else
|
else
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -1103,7 +1103,7 @@ sint32 CViewRenderer::getTypoTextureH(char /* c */)
|
||||||
sint32 CViewRenderer::getTypoTextureId(char c)
|
sint32 CViewRenderer::getTypoTextureId(char c)
|
||||||
{
|
{
|
||||||
if ((c>=0) && (c<NumTypoChar))
|
if ((c>=0) && (c<NumTypoChar))
|
||||||
return _TypoCharToTextureIds[c];
|
return _TypoCharToTextureIds[(uint)c];
|
||||||
else
|
else
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1443,6 +1443,9 @@ bool mainLoop()
|
||||||
// initialize the structure for the ping.
|
// initialize the structure for the ping.
|
||||||
Ping.init();
|
Ping.init();
|
||||||
|
|
||||||
|
// initialize screenshots directory
|
||||||
|
initScreenshot();
|
||||||
|
|
||||||
// Call a function for a demo to init.
|
// Call a function for a demo to init.
|
||||||
|
|
||||||
if (ClientCfg.Local)
|
if (ClientCfg.Local)
|
||||||
|
@ -3092,15 +3095,15 @@ void displayDebugFps()
|
||||||
line = 0.9f;
|
line = 0.9f;
|
||||||
// Ms per frame
|
// Ms per frame
|
||||||
{
|
{
|
||||||
|
float spf = smoothFPS.getSmoothValue ();
|
||||||
// Ms per frame
|
// Ms per frame
|
||||||
TextContext->printfAt(0.1f, line, "%.1f ms", smoothFPS.getSmoothValue ()*1000);
|
TextContext->printfAt(0.1f, line, "FPS %.1f ms - %.1f fps", spf*1000, 1.f/spf);
|
||||||
line-= lineStep;
|
line-= lineStep;
|
||||||
// More Smoothed Ms per frame
|
// More Smoothed Ms per frame
|
||||||
TextContext->printfAt(0.1f, line, "%.1f ms", moreSmoothFPS.getSmoothValue ()*1000);
|
spf = moreSmoothFPS.getSmoothValue ();
|
||||||
|
TextContext->printfAt(0.1f, line, "Smoothed FPS %.1f ms - %.1f fps", spf*1000, 1.f/spf);
|
||||||
line-= lineStep;
|
line-= lineStep;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static NLMISC::CRefPtr<CInterfaceElement> HighlightedDebugUI;
|
static NLMISC::CRefPtr<CInterfaceElement> HighlightedDebugUI;
|
||||||
|
|
|
@ -3166,7 +3166,7 @@ private:
|
||||||
ucstring web_app;
|
ucstring web_app;
|
||||||
uint i;
|
uint i;
|
||||||
const uint digitStart= 6;
|
const uint digitStart= 6;
|
||||||
const uint digitMaxEnd= contentStr.size();
|
const uint digitMaxEnd= (uint)contentStr.size();
|
||||||
|
|
||||||
is_webig = true;
|
is_webig = true;
|
||||||
|
|
||||||
|
|
4
code/ryzom/client/unix/CMakeLists.txt
Normal file
4
code/ryzom/client/unix/CMakeLists.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/ryzom.desktop.in" "${CMAKE_CURRENT_BINARY_DIR}/ryzom.desktop")
|
||||||
|
|
||||||
|
INSTALL(FILES ryzom.png DESTINATION share/pixmaps)
|
||||||
|
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/ryzom.desktop" DESTINATION share/applications)
|
13
code/ryzom/client/unix/ryzom.desktop.in
Normal file
13
code/ryzom/client/unix/ryzom.desktop.in
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=Ryzom
|
||||||
|
Name[ru]=Ризом
|
||||||
|
Type=Application
|
||||||
|
GenericName=ryzom
|
||||||
|
Comment=Ryzom client
|
||||||
|
Comment[fr_FR]=Client Ryzom
|
||||||
|
Exec=${RYZOM_BIN_PREFIX}/ryzom_client
|
||||||
|
Icon=ryzom
|
||||||
|
Terminal=false
|
||||||
|
Hidden=false
|
||||||
|
Categories=Game;RolePlaying;
|
BIN
code/ryzom/client/unix/ryzom.png
Normal file
BIN
code/ryzom/client/unix/ryzom.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6 KiB |
|
@ -1 +1,10 @@
|
||||||
ADD_SUBDIRECTORY(src)
|
ADD_SUBDIRECTORY(src)
|
||||||
|
|
||||||
|
#ADD_CUSTOM_COMMAND(OUTPUT "${CMAKE_BINARY_DIR}/share/data_common.bnp"
|
||||||
|
# COMMAND bnp_make -p ${CMAKE_CURRENT_SOURCE_DIR}/data_common ${CMAKE_BINARY_DIR}/share > /dev/null)
|
||||||
|
|
||||||
|
#ADD_CUSTOM_TARGET(data_common ALL
|
||||||
|
# DEPENDS "${CMAKE_BINARY_DIR}/share/data_common.bnp")
|
||||||
|
|
||||||
|
#INSTALL(TARGETS data_common ARCHIVE DESTINATION ${RYZOM_SHARE_PREFIX}/data)
|
||||||
|
#INSTALL(FILES "${CMAKE_BINARY_DIR}/share/data_common.bnp" DESTINATION "${RYZOM_SHARE_PREFIX}/data")
|
||||||
|
|
|
@ -3254,10 +3254,6 @@ void CServerEditionModule::hibernateSession(NLNET::IModuleProxy *sender, TSessio
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static const std::string _SubRep = "r2/";
|
|
||||||
//static const std::string _SubRep = "";
|
|
||||||
|
|
||||||
|
|
||||||
std::string CServerEditionModule::getSessionFilename(TSessionId sessionId, TCharId charId) const
|
std::string CServerEditionModule::getSessionFilename(TSessionId sessionId, TCharId charId) const
|
||||||
{
|
{
|
||||||
return NLMISC::toString("r2_session_%.08u_%08u.dat", sessionId.asInt(), charId );
|
return NLMISC::toString("r2_session_%.08u_%08u.dat", sessionId.asInt(), charId );
|
||||||
|
@ -3265,7 +3261,7 @@ std::string CServerEditionModule::getSessionFilename(TSessionId sessionId, TChar
|
||||||
|
|
||||||
std::string CServerEditionModule::getOverrideRingAccessFilename() const
|
std::string CServerEditionModule::getOverrideRingAccessFilename() const
|
||||||
{
|
{
|
||||||
return NLMISC::toString("r2/override_ring_access.txt", _SubRep.c_str());
|
return "r2/override_ring_access.txt";
|
||||||
}
|
}
|
||||||
|
|
||||||
//implementation of characterKicked and command
|
//implementation of characterKicked and command
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
#ifndef CONFIG_H
|
||||||
|
#define CONFIG_H
|
||||||
|
|
||||||
#cmakedefine HAVE_DL_H 1
|
#cmakedefine HAVE_DL_H 1
|
||||||
#cmakedefine HAVE_EXECINFO_H 1
|
#cmakedefine HAVE_EXECINFO_H 1
|
||||||
#cmakedefine HAVE_ICONV 1
|
#cmakedefine HAVE_ICONV 1
|
||||||
|
@ -30,3 +33,10 @@
|
||||||
#cmakedefine HAVE_STRTOULL 1
|
#cmakedefine HAVE_STRTOULL 1
|
||||||
#cmakedefine HAVE_STATVFS 1
|
#cmakedefine HAVE_STATVFS 1
|
||||||
#cmakedefine HAVE_STAT64 1
|
#cmakedefine HAVE_STAT64 1
|
||||||
|
|
||||||
|
#cmakedefine RYZOM_PREFIX "${RYZOM_PREFIX}"
|
||||||
|
#cmakedefine RYZOM_BIN_PREFIX "${RYZOM_BIN_PREFIX}"
|
||||||
|
#cmakedefine RYZOM_ETC_PREFIX "${RYZOM_ETC_PREFIX}"
|
||||||
|
#cmakedefine RYZOM_SHARE_PREFIX "${RYZOM_SHARE_PREFIX}"
|
||||||
|
|
||||||
|
#endif // CONFIG_H
|
||||||
|
|
|
@ -82,7 +82,7 @@ void CPage::init (uint id, const char *name, bool bold, uint icon, uint resid, C
|
||||||
Parent = parent;
|
Parent = parent;
|
||||||
Icon = icon;
|
Icon = icon;
|
||||||
ResId = resid;
|
ResId = resid;
|
||||||
ChildId = parent->Children.size ();
|
ChildId = (uint)parent->Children.size ();
|
||||||
if (parent)
|
if (parent)
|
||||||
parent->Children.push_back (this);
|
parent->Children.push_back (this);
|
||||||
Name = name;
|
Name = name;
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
|
|
||||||
// Client
|
// Client
|
||||||
#include "sheets_packer_init.h"
|
#include "sheets_packer_init.h"
|
||||||
#include "sheets_packer_release.h"
|
|
||||||
|
|
||||||
|
|
||||||
///////////
|
///////////
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
<?xml version="1.0" encoding="Windows-1252"?>
|
||||||
<VisualStudioProject
|
<VisualStudioProject
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="9.00"
|
Version="9,00"
|
||||||
Name="sheets_packer"
|
Name="sheets_packer"
|
||||||
ProjectGUID="{079E2366-3714-4B09-B553-41A44D290F04}"
|
ProjectGUID="{079E2366-3714-4B09-B553-41A44D290F04}"
|
||||||
TargetFrameworkVersion="0"
|
TargetFrameworkVersion="0"
|
||||||
|
@ -426,14 +426,6 @@
|
||||||
RelativePath=".\sheets_packer_init.h"
|
RelativePath=".\sheets_packer_init.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath=".\sheets_packer_release.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\sheets_packer_release.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\stdpch.cpp"
|
RelativePath=".\stdpch.cpp"
|
||||||
>
|
>
|
||||||
|
|
|
@ -30,8 +30,6 @@
|
||||||
|
|
||||||
#include "nel/ligo/ligo_config.h"
|
#include "nel/ligo/ligo_config.h"
|
||||||
#include "nel/ligo/primitive.h"
|
#include "nel/ligo/primitive.h"
|
||||||
// 3D Interface.
|
|
||||||
//#include "nel/3d/u_driver.h"
|
|
||||||
// Application
|
// Application
|
||||||
#include "sheets_packer_init.h"
|
#include "sheets_packer_init.h"
|
||||||
#include "sheets_packer_cfg.h"
|
#include "sheets_packer_cfg.h"
|
||||||
|
@ -50,8 +48,7 @@ using namespace std;
|
||||||
/////////////
|
/////////////
|
||||||
// GLOBALS //
|
// GLOBALS //
|
||||||
/////////////
|
/////////////
|
||||||
//UDriver *Driver = 0;
|
CFileDisplayer *fd = NULL;
|
||||||
CFileDisplayer fd("sheets_packer.log", true, "SHEETS_PACKER.LOG");
|
|
||||||
|
|
||||||
NLLIGO::CLigoConfig LigoConfig;
|
NLLIGO::CLigoConfig LigoConfig;
|
||||||
|
|
||||||
|
@ -68,14 +65,16 @@ bool init()
|
||||||
// Add a displayer for Debug Infos.
|
// Add a displayer for Debug Infos.
|
||||||
createDebug();
|
createDebug();
|
||||||
|
|
||||||
|
fd = new CFileDisplayer(getLogDirectory() + "sheets_packer.log", true, "SHEETS_PACKER.LOG");
|
||||||
|
|
||||||
// register ligo 'standard' class
|
// register ligo 'standard' class
|
||||||
NLLIGO::Register();
|
NLLIGO::Register();
|
||||||
|
|
||||||
DebugLog->addDisplayer (&fd);
|
DebugLog->addDisplayer (fd);
|
||||||
InfoLog->addDisplayer (&fd);
|
InfoLog->addDisplayer (fd);
|
||||||
WarningLog->addDisplayer (&fd);
|
WarningLog->addDisplayer (fd);
|
||||||
ErrorLog->addDisplayer (&fd);
|
ErrorLog->addDisplayer (fd);
|
||||||
AssertLog->addDisplayer (&fd);
|
AssertLog->addDisplayer (fd);
|
||||||
|
|
||||||
// Load the application configuration.
|
// Load the application configuration.
|
||||||
nlinfo("Loading config file...");
|
nlinfo("Loading config file...");
|
||||||
|
@ -104,6 +103,23 @@ bool init()
|
||||||
// The init is a success.
|
// The init is a success.
|
||||||
return true;
|
return true;
|
||||||
}// init //
|
}// init //
|
||||||
|
|
||||||
|
//---------------------------------------------------
|
||||||
|
// release :
|
||||||
|
// Release all the memory.
|
||||||
|
//---------------------------------------------------
|
||||||
|
void release()
|
||||||
|
{
|
||||||
|
DebugLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
||||||
|
InfoLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
||||||
|
WarningLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
||||||
|
ErrorLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
||||||
|
AssertLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
||||||
|
|
||||||
|
delete fd;
|
||||||
|
fd = NULL;
|
||||||
|
}// release //
|
||||||
|
|
||||||
void outputSomeDebugInfoForPackedSheetCrash()
|
void outputSomeDebugInfoForPackedSheetCrash()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,8 @@
|
||||||
// Initialize the application.
|
// Initialize the application.
|
||||||
bool init();
|
bool init();
|
||||||
|
|
||||||
|
// Release all.
|
||||||
|
void release();
|
||||||
|
|
||||||
#endif // TL_SHEETS_PACKER_INIT_H
|
#endif // TL_SHEETS_PACKER_INIT_H
|
||||||
|
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
|
||||||
// Copyright (C) 2010 Winch Gate Property Limited
|
|
||||||
//
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/////////////
|
|
||||||
// INCLUDE //
|
|
||||||
/////////////
|
|
||||||
#include "stdpch.h"
|
|
||||||
#include "sheets_packer_release.h"
|
|
||||||
|
|
||||||
#include "nel/misc/debug.h"
|
|
||||||
|
|
||||||
|
|
||||||
///////////
|
|
||||||
// USING //
|
|
||||||
///////////
|
|
||||||
using namespace NLMISC;
|
|
||||||
|
|
||||||
|
|
||||||
///////////////
|
|
||||||
// FUNCTIONS //
|
|
||||||
///////////////
|
|
||||||
//---------------------------------------------------
|
|
||||||
// release :
|
|
||||||
// Release all the memory.
|
|
||||||
//---------------------------------------------------
|
|
||||||
void release()
|
|
||||||
{
|
|
||||||
DebugLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
InfoLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
WarningLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
ErrorLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
AssertLog->removeDisplayer ("SHEETS_PACKER.LOG");
|
|
||||||
}// release //
|
|
|
@ -1,33 +0,0 @@
|
||||||
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
|
|
||||||
// Copyright (C) 2010 Winch Gate Property Limited
|
|
||||||
//
|
|
||||||
// This program is free software: you can redistribute it and/or modify
|
|
||||||
// it under the terms of the GNU Affero General Public License as
|
|
||||||
// published by the Free Software Foundation, either version 3 of the
|
|
||||||
// License, or (at your option) any later version.
|
|
||||||
//
|
|
||||||
// This program is distributed in the hope that it will be useful,
|
|
||||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
// GNU Affero General Public License for more details.
|
|
||||||
//
|
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef TL_SHEETS_PACKER_RELEASE_H
|
|
||||||
#define TL_SHEETS_PACKER_RELEASE_H
|
|
||||||
|
|
||||||
#include "nel/misc/types_nl.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Release all.
|
|
||||||
void release();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif // TL_SHEETS_PACKER_RELEASE_H
|
|
||||||
|
|
||||||
/* End of sheets_packer_release.h */
|
|
Loading…
Reference in a new issue