This commit is contained in:
vl 2010-07-19 10:12:31 +02:00
commit dc60c46e04
223 changed files with 2613 additions and 2875 deletions

View file

@ -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)
@ -101,6 +109,7 @@ IF(WITH_3D)
IF(NOT WITH_COCOA) IF(NOT WITH_COCOA)
FIND_PACKAGE(X11) FIND_PACKAGE(X11)
FIND_PACKAGE(XF86VidMode) FIND_PACKAGE(XF86VidMode)
FIND_PACKAGE(XRandR)
ENDIF(NOT WITH_COCOA) ENDIF(NOT WITH_COCOA)
ENDIF(NOT WIN32) ENDIF(NOT WIN32)
ENDIF(WITH_DRIVER_OPENGL) ENDIF(WITH_DRIVER_OPENGL)
@ -176,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)

View file

@ -0,0 +1,46 @@
# - Locate XRandR library
# This module defines
# XRandR_LIBRARY, the library to link against
# XRandR_FOUND, if false, do not try to link to XRandR
# XRandR_INCLUDE_DIR, where to find headers.
IF(XRandR_LIBRARY AND XRandR_INCLUDE_DIR)
# in cache already
SET(XRandR_FIND_QUIETLY TRUE)
ENDIF(XRandR_LIBRARY AND XRandR_INCLUDE_DIR)
FIND_PATH(XRandR_INCLUDE_DIR
Xrandr.h
PATHS
$ENV{XRandR_DIR}/include
/usr/include/X11/
/usr/X11R6/include/
PATH_SUFFIXES extensions
)
FIND_LIBRARY(XRandR_LIBRARY
Xrandr
PATHS
$ENV{XRandR_DIR}/lib
/usr/X11R6/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
IF(XRandR_LIBRARY AND XRandR_INCLUDE_DIR)
SET(XRandR_FOUND "YES")
SET(XRandR_DEFINITIONS -DXRANDR)
IF(NOT XRandR_FIND_QUIETLY)
MESSAGE(STATUS "Found XRandR: ${XRandR_LIBRARY}")
ENDIF(NOT XRandR_FIND_QUIETLY)
ELSE(XRandR_LIBRARY AND XRandR_INCLUDE_DIR)
IF(NOT XRandR_FIND_QUIETLY)
MESSAGE(STATUS "Warning: Unable to find XRandR!")
ENDIF(NOT XRandR_FIND_QUIETLY)
ENDIF(XRandR_LIBRARY AND XRandR_INCLUDE_DIR)

View file

@ -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)

View file

@ -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;

View file

@ -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);

View file

@ -56,12 +56,13 @@ public:
class CMeshMultiLodBuild class CMeshMultiLodBuild
{ {
public: public:
CMeshMultiLodBuild() : StaticLod(false) { }
/// A slot of mesh for the build /// A slot of mesh for the build
class CBuildSlot class CBuildSlot
{ {
public: public:
CBuildSlot() : MeshGeom(NULL) { } CBuildSlot() : MeshGeom(NULL), DistMax(0.0f), BlendLength(0.0f), Flags(0) { }
/** /**
* Flags for the build of a slot * Flags for the build of a slot
* *

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -25,7 +25,6 @@ include_HEADERS = aabbox.h \
config_file.h \ config_file.h \
contiguous_block_allocator.h \ contiguous_block_allocator.h \
co_task.h \ co_task.h \
cpu_info.h \
cpu_time_stat.h \ cpu_time_stat.h \
debug.h \ debug.h \
di_event_emitter.h \ di_event_emitter.h \

View file

@ -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)

View file

@ -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

View file

@ -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)

View file

@ -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)

View file

@ -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})

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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" )

View file

@ -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)

View file

@ -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)
{ {

View file

@ -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);

View file

@ -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"

View file

@ -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)
@ -47,6 +41,11 @@ ELSE(WIN32)
ADD_DEFINITIONS(${XF86VidMode_DEFINITIONS}) ADD_DEFINITIONS(${XF86VidMode_DEFINITIONS})
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${XF86VidMode_LIBRARY}) TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${XF86VidMode_LIBRARY})
ENDIF(XF86VidMode_FOUND) ENDIF(XF86VidMode_FOUND)
IF(XRandR_FOUND)
INCLUDE_DIRECTORIES(${XRandR_INCLUDE_DIR})
ADD_DEFINITIONS(${XRandR_DEFINITIONS})
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${XRandR_LIBRARY})
ENDIF(XRandR_FOUND)
ENDIF(APPLE) ENDIF(APPLE)
ENDIF(WIN32) ENDIF(WIN32)
@ -56,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)

View file

@ -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
@ -686,11 +689,17 @@ private:
Cursor _cursor; Cursor _cursor;
NLMISC::CUnixEventEmitter _EventEmitter; NLMISC::CUnixEventEmitter _EventEmitter;
XVisualInfo* _visual_info; XVisualInfo* _visual_info;
uint32 _xrandr_version;
uint32 _xvidmode_version;
#ifdef XRANDR
sint _OldSizeID;
#endif // XRANDR
#ifdef XF86VIDMODE #ifdef XF86VIDMODE
int _OldDotClock; // old dotclock sint _OldDotClock; // old dotclock
XF86VidModeModeLine _OldScreenMode; // old modeline XF86VidModeModeLine _OldScreenMode; // old modeline
int _OldX, _OldY; //Viewport settings sint _OldX, _OldY; //Viewport settings
#endif //XF86VIDMODE #endif //XF86VIDMODE
#endif // NL_OS_UNIX #endif // NL_OS_UNIX
@ -1252,10 +1261,8 @@ private:
// Monitor color parameters backup // Monitor color parameters backup
#ifdef WIN32
bool _NeedToRestaureGammaRamp; bool _NeedToRestaureGammaRamp;
uint16 _GammaRampBackuped[3*256]; uint16 _GammaRampBackuped[3*256];
#endif
/// \fragment shaders /// \fragment shaders

View file

@ -32,11 +32,16 @@
#elif defined (NL_OS_UNIX) #elif defined (NL_OS_UNIX)
# include <GL/gl.h> # include <GL/gl.h>
# include <GL/glx.h> # include <GL/glx.h>
# ifdef XRANDR
# include <X11/extensions/Xrandr.h>
# 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;
@ -201,6 +206,30 @@ bool CDriverGL::init (uint windowIcon, emptyProc exitFunc)
nldebug("3D: XOpenDisplay on '%s' OK", getenv("DISPLAY")); nldebug("3D: XOpenDisplay on '%s' OK", getenv("DISPLAY"));
} }
_xrandr_version = 0;
#ifdef XRANDR
_OldSizeID = 0;
sint xrandr_major, xrandr_minor;
if (XRRQueryVersion(_dpy, &xrandr_major, &xrandr_minor))
{
_xrandr_version = xrandr_major * 100 + xrandr_minor;
nlinfo("3D: XRandR %d.%d found", xrandr_major, xrandr_minor);
}
#endif
_xvidmode_version = 0;
#ifdef XF86VIDMODE
sint event = 0, error = -1, vm_major = 0, vm_minor = 0;
if (XF86VidModeQueryExtension(_dpy, &event, &error) && XF86VidModeQueryVersion(_dpy, &vm_major, &vm_minor))
{
_xvidmode_version = vm_major * 100 + vm_minor;
nlinfo("3D: XF86VidMode %d.%d found", vm_major, vm_minor);
}
#endif
#endif #endif
return true; return true;
} }
@ -269,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)
{ {
@ -756,12 +902,41 @@ bool CDriverGL::saveScreenMode()
#elif defined(NL_OS_UNIX) #elif defined(NL_OS_UNIX)
int screen = DefaultScreen(_dpy);
res = false;
#ifdef XRANDR
if (!res && _xrandr_version > 0)
{
XRRScreenConfiguration *screen_config = XRRGetScreenInfo(_dpy, RootWindow(_dpy, screen));
if (screen_config)
{
Rotation saved_rotation;
_OldSizeID = XRRConfigCurrentConfiguration(screen_config, &saved_rotation);
nlinfo("3D: current XRandR mode %d", _OldSizeID);
XRRFreeScreenConfigInfo(screen_config);
res = true;
}
else
{
nlwarning("3D: XRRGetScreenInfo failed");
}
}
#endif // XRANDR
#if defined(XF86VIDMODE) #if defined(XF86VIDMODE)
if (!res && _xvidmode_version > 0)
{
// Store old mode in order to restore it when leaving fullscreen // Store old mode in order to restore it when leaving fullscreen
memset(&_OldScreenMode, 0, sizeof(XF86VidModeModeLine)); memset(&_OldScreenMode, 0, sizeof(XF86VidModeModeLine));
XF86VidModeGetModeLine(_dpy, DefaultScreen(_dpy), &_OldDotClock, &_OldScreenMode); XF86VidModeGetModeLine(_dpy, screen, &_OldDotClock, &_OldScreenMode);
res = XF86VidModeGetViewPort(_dpy, DefaultScreen(_dpy), &_OldX, &_OldY); res = XF86VidModeGetViewPort(_dpy, screen, &_OldX, &_OldY);
}
#endif // XF86VIDMODE #endif // XF86VIDMODE
@ -788,8 +963,40 @@ bool CDriverGL::restoreScreenMode()
#elif defined(NL_OS_UNIX) #elif defined(NL_OS_UNIX)
int screen = DefaultScreen(_dpy);
#ifdef XRANDR
if (!res && _xrandr_version > 0)
{
Window root = RootWindow(_dpy, screen);
XRRScreenConfiguration *screen_config = XRRGetScreenInfo(_dpy, root);
if (screen_config)
{
Rotation saved_rotation;
SizeID size = XRRConfigCurrentConfiguration(screen_config, &saved_rotation);
if (XRRSetScreenConfig(_dpy, screen_config, root, _OldSizeID, saved_rotation, CurrentTime) == RRSetConfigSuccess)
{
nlinfo("3D: Switching back to XRandR mode %d", _OldSizeID);
res = true;
}
XRRFreeScreenConfigInfo(screen_config);
}
else
{
nlwarning("3D: XRRGetScreenInfo failed");
}
}
#endif // XRANDR
#if defined(XF86VIDMODE) #if defined(XF86VIDMODE)
if (!res && _xvidmode_version > 0)
{
XF86VidModeModeInfo info; XF86VidModeModeInfo info;
nlinfo("3D: Switching back to original mode"); nlinfo("3D: Switching back to original mode");
@ -808,9 +1015,10 @@ bool CDriverGL::restoreScreenMode()
info.c_private = _OldScreenMode.c_private; info.c_private = _OldScreenMode.c_private;
nlinfo("3D: Switching back mode to %dx%d", info.hdisplay, info.vdisplay); nlinfo("3D: Switching back mode to %dx%d", info.hdisplay, info.vdisplay);
XF86VidModeSwitchToMode(_dpy, DefaultScreen(_dpy), &info); XF86VidModeSwitchToMode(_dpy, screen, &info);
nlinfo("3D: Switching back viewport to %d,%d",_OldX, _OldY); nlinfo("3D: Switching back viewport to %d,%d",_OldX, _OldY);
res = XF86VidModeSetViewPort(_dpy, DefaultScreen(_dpy), _OldX, _OldY); res = XF86VidModeSetViewPort(_dpy, screen, _OldX, _OldY);
}
#endif // XF86VIDMODE #endif // XF86VIDMODE
@ -819,6 +1027,14 @@ bool CDriverGL::restoreScreenMode()
return res; return res;
} }
// --------------------------------------------------
#ifdef XF86VIDMODE
static sint modeInfoToFrequency(XF86VidModeModeInfo *info)
{
return (info->htotal && info->vtotal) ? (1000 * info->dotclock / (info->htotal * info->vtotal)) : 0;
}
#endif // XF86VIDMODE
// -------------------------------------------------- // --------------------------------------------------
bool CDriverGL::setScreenMode(const GfxMode &mode) bool CDriverGL::setScreenMode(const GfxMode &mode)
{ {
@ -870,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;
} }
@ -880,10 +1096,59 @@ bool CDriverGL::setScreenMode(const GfxMode &mode)
#elif defined(NL_OS_UNIX) #elif defined(NL_OS_UNIX)
#if defined(XF86VIDMODE)
bool found = false; bool found = false;
#ifdef XRANDR
if (!found && _xrandr_version > 0)
{
int screen = DefaultScreen(_dpy);
Window root = RootWindow(_dpy, screen);
XRRScreenConfiguration *screen_config = XRRGetScreenInfo(_dpy, root);
if (screen_config)
{
Rotation saved_rotation;
SizeID cur_size = XRRConfigCurrentConfiguration(screen_config, &saved_rotation);
sint nsizes;
XRRScreenSize *sizes = XRRConfigSizes(screen_config, &nsizes);
sint size = -1;
for (sint i = 0; i < nsizes; ++i)
{
if (sizes[i].width == mode.Width && sizes[i].height == mode.Height)
{
size = i;
break;
}
}
if (size > -1 && XRRSetScreenConfig(_dpy, screen_config, root, size, saved_rotation, CurrentTime) == RRSetConfigSuccess)
{
nlinfo("3D: Switching to XRandR mode %d: %dx%d", size, sizes[size].width, sizes[size].height);
found = true;
}
else
{
nlwarning("3D: No corresponding screen mode or XRRSetScreenConfig failed");
}
XRRFreeScreenConfigInfo(screen_config);
}
else
{
nlwarning("3D: XRRGetScreenInfo failed");
}
}
#endif
#if defined(XF86VIDMODE)
if (!found && _xvidmode_version > 0)
{
// Find the requested mode and use it // Find the requested mode and use it
XF86VidModeModeInfo **modes; XF86VidModeModeInfo **modes;
int nmodes; int nmodes;
@ -891,12 +1156,14 @@ bool CDriverGL::setScreenMode(const GfxMode &mode)
{ {
for (int i = 0; i < nmodes; i++) for (int i = 0; i < nmodes; i++)
{ {
nldebug("3D: Available mode - %dx%d", modes[i]->hdisplay, modes[i]->vdisplay); const uint16 freq = modeInfoToFrequency(modes[i]);
if (modes[i]->hdisplay == mode.Width && modes[i]->vdisplay == mode.Height)
nldebug("3D: Available mode - %dx%d %d Hz", modes[i]->hdisplay, modes[i]->vdisplay, (int)freq);
if (modes[i]->hdisplay == mode.Width && modes[i]->vdisplay == mode.Height /* && freq == mode.Frequency */)
{ {
if (XF86VidModeSwitchToMode(_dpy, DefaultScreen(_dpy), modes[i])) if (XF86VidModeSwitchToMode(_dpy, DefaultScreen(_dpy), modes[i]))
{ {
nlinfo("3D: Switching to mode %dx%d", modes[i]->hdisplay, modes[i]->vdisplay); nlinfo("3D: XF86VidMode Switching to mode %dx%d", modes[i]->hdisplay, modes[i]->vdisplay);
XF86VidModeSetViewPort(_dpy, DefaultScreen(_dpy), 0, 0); XF86VidModeSetViewPort(_dpy, DefaultScreen(_dpy), 0, 0);
found = true; found = true;
} }
@ -905,12 +1172,13 @@ bool CDriverGL::setScreenMode(const GfxMode &mode)
} }
XFree(modes); XFree(modes);
} }
}
#endif // XF86VIDMODE
if (!found) if (!found)
return false; return false;
#endif // XF86VIDMODE
#endif // NL_OS_WINDOWS #endif // NL_OS_WINDOWS
return true; return true;
@ -986,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.
@ -1115,43 +1387,32 @@ bool CDriverGL::setWindowStyle(EWindowStyle windowStyle)
#elif defined(NL_OS_UNIX) #elif defined(NL_OS_UNIX)
XSetWindowAttributes attr;
#ifdef XF86VIDMODE
// If we're going to attempt fullscreen, we need to set redirect to True,
// This basically places the window with no borders in the top left
// corner of the screen.
if (windowStyle == EWSWindowed)
{
attr.override_redirect = False;
}
else
{
attr.override_redirect = True;
}
#else
attr.override_redirect = False;
#endif
int attr_flags = CWOverrideRedirect;
XChangeWindowAttributes(_dpy, _win, attr_flags, &attr);
// x11 fullscreen is not working on mac os x // x11 fullscreen is not working on mac os x
#if !defined(NL_OS_MAC) #if !defined(NL_OS_MAC)
// Toggle fullscreen // Toggle fullscreen
if (windowStyle != getWindowStyle()) if (windowStyle != getWindowStyle())
{ {
XEvent xev; XEvent xev;
memset(&xev, 0, sizeof(xev)); memset(&xev, 0, sizeof(xev));
xev.type = ClientMessage; xev.type = ClientMessage;
// xev.xclient.serial = 0;
// xev.xclient.send_event = True;
// xev.xclient.display = _dpy;
xev.xclient.window = _win; xev.xclient.window = _win;
xev.xclient.message_type = XInternAtom(_dpy, "_NET_WM_STATE", False); xev.xclient.message_type = XInternAtom(_dpy, "_NET_WM_STATE", False);
xev.xclient.format = 32; xev.xclient.format = 32;
xev.xclient.data.l[0] = windowStyle == EWSFullscreen ? 1:0; xev.xclient.data.l[0] = windowStyle == EWSFullscreen ? 1:0;
xev.xclient.data.l[1] = XInternAtom(_dpy, "_NET_WM_STATE_FULLSCREEN", False); xev.xclient.data.l[1] = XInternAtom(_dpy, "_NET_WM_STATE_FULLSCREEN", False);
xev.xclient.data.l[2] = 0; xev.xclient.data.l[2] = 0;
XSendEvent(_dpy, DefaultRootWindow(_dpy), False, SubstructureNotifyMask, &xev); xev.xclient.data.l[3] = 0;
xev.xclient.data.l[4] = 0;
if (XSendEvent(_dpy, DefaultRootWindow(_dpy), False, SubstructureNotifyMask, &xev) != Success)
{
nlwarning("3D: Failed to toggle to fullscreen");
return false;
}
} }
#endif #endif
@ -1222,32 +1483,84 @@ bool CDriverGL::getModes(std::vector<GfxMode> &modes)
#elif defined (NL_OS_UNIX) #elif defined (NL_OS_UNIX)
bool found = false;
int screen = DefaultScreen(_dpy);
#if defined(XRANDR)
if (!found && _xrandr_version >= 100)
{
XRRScreenConfiguration *screen_config = XRRGetScreenInfo(_dpy, RootWindow(_dpy, screen));
if (screen_config)
{
// retrieve the list of resolutions
int nsizes = 0;
XRRScreenSize *sizes = XRRConfigSizes(screen_config, &nsizes);
if (nsizes > 0)
{
nldebug("3D: %d available XRandR modes:", nsizes);
for (sint i = 0; i < nsizes; ++i)
{
// Add this mode
GfxMode mode;
mode.Width = sizes[i].width;
mode.Height = sizes[i].height;
mode.Frequency = 0;
modes.push_back(mode);
nldebug("3D: Mode %d: %dx%d", i, mode.Width, mode.Height);
}
found = true;
}
else
{
nlwarning("3D: No XRandR modes available");
}
XRRFreeScreenConfigInfo(screen_config);
}
else
{
nlwarning("3D: XRRGetScreenInfo failed");
}
}
#endif
#ifdef XF86VIDMODE #ifdef XF86VIDMODE
int nmodes; int nmodes;
XF86VidModeModeInfo **ms; XF86VidModeModeInfo **ms;
Bool ok = XF86VidModeGetAllModeLines(_dpy, DefaultScreen(_dpy), &nmodes, &ms); if (!found && XF86VidModeGetAllModeLines(_dpy, screen, &nmodes, &ms))
if(ok)
{ {
nldebug("3D: %d available modes:", nmodes); nlinfo("3D: %d available XF86VidMode modes:", nmodes);
for (int j = 0; j < nmodes; j++) for (int j = 0; j < nmodes; j++)
{ {
// Add this mode // Add this mode
GfxMode mode; GfxMode mode;
mode.Width = (uint16)ms[j]->hdisplay; mode.Width = (uint16)ms[j]->hdisplay;
mode.Height = (uint16)ms[j]->vdisplay; mode.Height = (uint16)ms[j]->vdisplay;
const uint16 pixelsCount = ms[j]->htotal * ms[j]->vtotal; mode.Frequency = modeInfoToFrequency(ms[j]);
mode.Frequency = pixelsCount ? 1000 * ms[j]->dotclock / pixelsCount:0; nlinfo("3D: Mode %d: %dx%d, %d Hz", j, mode.Width, mode.Height, mode.Frequency);
nldebug("3D: Mode %d: %dx%d, %d Hz", j, mode.Width, mode.Height, mode.Frequency);
modes.push_back (mode); modes.push_back (mode);
} }
XFree(ms); XFree(ms);
} }
else #endif // XF86VIDMODE
if (!found)
{ {
nlwarning("XF86VidModeGetAllModeLines returns 0, cannot get available video mode"); // Add current screen mode
return false; GfxMode mode;
mode.Width = DisplayWidth(_dpy, screen);
mode.Height = DisplayHeight(_dpy, screen);
mode.Frequency = 0;
modes.push_back(mode);
nldebug("3D: X11 available mode:");
nldebug("3D: %dx%d", mode.Width, mode.Height);
} }
# endif
#endif #endif
return true; return true;
@ -1290,31 +1603,96 @@ bool CDriverGL::getCurrentScreenMode(GfxMode &mode)
#elif defined(NL_OS_UNIX) #elif defined(NL_OS_UNIX)
bool found = false;
int screen = DefaultScreen(_dpy);
// x11 fullscreen is not working on mac os x
#if defined(NL_OS_MAC)
mode.Windowed = true;
found = true;
#endif
#ifdef XRANDR
if (!found && _xrandr_version > 0)
{
XRRScreenConfiguration *screen_config = XRRGetScreenInfo(_dpy, RootWindow(_dpy, screen));
if (screen_config)
{
int nsizes;
XRRScreenSize *sizes = XRRConfigSizes(screen_config, &nsizes);
if (nsizes > 0)
{
Rotation cur_rotation;
SizeID size = XRRConfigCurrentConfiguration(screen_config, &cur_rotation);
mode.Windowed = !_FullScreen;
mode.OffScreen = false;
mode.Depth = (uint) DefaultDepth(_dpy, screen);
mode.Frequency = 0;
mode.Width = sizes[size].width;
mode.Height = sizes[size].height;
found = true;
nlinfo("3D: Current XRandR mode %d: %dx%d, %dbit", size, mode.Width, mode.Height, mode.Depth);
}
else
{
nlwarning("3D: No XRandR modes available");
}
XRRFreeScreenConfigInfo(screen_config);
}
else
{
nlwarning("3D: XRRGetScreenInfo failed");
}
}
#endif // XRANDR
#ifdef XF86VIDMODE #ifdef XF86VIDMODE
if (!found && _xvidmode_version > 0)
{
sint pixelClock; sint pixelClock;
XF86VidModeModeLine xmode; XF86VidModeModeLine xmode;
if (!XF86VidModeGetModeLine(_dpy, DefaultScreen(_dpy), &pixelClock, &xmode)) if (XF86VidModeGetModeLine(_dpy, screen, &pixelClock, &xmode))
{ {
nlwarning("XF86VidModeGetModeLine returns 0, cannot get current video mode");
return false;
}
// x11 fullscreen is not working on mac os x
#if !defined(NL_OS_MAC)
mode.Windowed = !_FullScreen; mode.Windowed = !_FullScreen;
#else
mode.Windowed = true;
#endif
mode.OffScreen = false; mode.OffScreen = false;
mode.Depth = (uint) DefaultDepth(_dpy, DefaultScreen(_dpy)); mode.Depth = (uint) DefaultDepth(_dpy, screen);
mode.Frequency = 1000 * pixelClock / (xmode.htotal * xmode.vtotal) ; mode.Frequency = 1000 * pixelClock / (xmode.htotal * xmode.vtotal) ;
mode.Width = xmode.hdisplay; mode.Width = xmode.hdisplay;
mode.Height = xmode.vdisplay; mode.Height = xmode.vdisplay;
nlinfo("3D: Current XF86VidMode mode: %dx%d, %d Hz, %dbit", mode.Width, mode.Height, mode.Frequency, mode.Depth);
found = true;
}
else
{
nlwarning("3D: XF86VidModeGetModeLine failed, cannot get current video mode");
}
}
#endif
if (!found)
{
mode.Windowed = !_FullScreen;
mode.OffScreen = _OffScreen;
mode.Depth = (uint) DefaultDepth(_dpy, screen);
mode.Frequency = 0;
mode.Width = DisplayWidth(_dpy, screen);
mode.Height = DisplayHeight(_dpy, screen);
found = true;
nldebug("Current mode: %dx%d, %d Hz, %dbit", mode.Width, mode.Height, mode.Frequency, mode.Depth); nldebug("Current mode: %dx%d, %d Hz, %dbit", mode.Width, mode.Height, mode.Frequency, mode.Depth);
# endif }
#endif #endif
return true; return true;
@ -1649,19 +2027,8 @@ void CDriverGL::setWindowSize(uint32 width, uint32 height)
XSetWMNormalHints(_dpy, _win, &size_hints); XSetWMNormalHints(_dpy, _win, &size_hints);
// set position to (0, 0) if fullscreen
if (_FullScreen)
{
// move and resize the window
XMoveResizeWindow(_dpy, _win, 0, 0, width, height);
}
else
{
// resize the window // resize the window
XResizeWindow(_dpy, _win, width, height); XResizeWindow(_dpy, _win, width, height);
}
// XMapWindow(_dpy, _win);
_WindowWidth = width; _WindowWidth = width;
_WindowHeight = height; _WindowHeight = height;

View file

@ -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;

View file

@ -286,7 +286,12 @@ struct CModeSorter
{ {
bool operator()(const UDriver::CMode &mode1, const UDriver::CMode &mode2) const bool operator()(const UDriver::CMode &mode1, const UDriver::CMode &mode2) const
{ {
if (mode1.Width == mode2.Width) return mode1.Height < mode2.Height; if (mode1.Width == mode2.Width)
{
if (mode1.Height == mode2.Height) return mode1.Frequency < mode2.Frequency;
return mode1.Height < mode2.Height;
}
return mode1.Width < mode2.Width; return mode1.Width < mode2.Width;
} }
@ -327,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)
{ {

View file

@ -349,6 +349,7 @@ void CInstanceLighter::light (const CInstanceGroup &igIn, CInstanceGroup &igOut,
CSurfaceLightGrid::CCellCorner defaultCellCorner; CSurfaceLightGrid::CCellCorner defaultCellCorner;
defaultCellCorner.SunContribution= 0; defaultCellCorner.SunContribution= 0;
defaultCellCorner.Light[0]= 0xFF; defaultCellCorner.Light[0]= 0xFF;
defaultCellCorner.Light[1]= 0xFF;
defaultCellCorner.LocalAmbientId= 0xFF; defaultCellCorner.LocalAmbientId= 0xFF;
// Init the grid. // Init the grid.

View file

@ -373,7 +373,6 @@ bool CLodCharacterManager::addRenderCharacterKey(CLodCharacterInstance &instan
float a00, a01, a02; float a00, a01, a02;
float a10, a11, a12; float a10, a11, a12;
float a20, a21, a22; float a20, a21, a22;
sint f8;
uint64 blank= 0; uint64 blank= 0;
CRGBA ambient= paramAmbient; CRGBA ambient= paramAmbient;
CRGBA diffuse= paramDiffuse; CRGBA diffuse= paramDiffuse;
@ -502,6 +501,8 @@ bool CLodCharacterManager::addRenderCharacterKey(CLodCharacterInstance &instan
if(numVertices) if(numVertices)
{ {
sint f8;
/* NB: order is important for AGP filling optimisation in dstPtr /* NB: order is important for AGP filling optimisation in dstPtr
Pentium2+ optimisation notes: Pentium2+ optimisation notes:

View file

@ -83,7 +83,7 @@ bool CPackedWorld::raytrace(const NLMISC::CVector &start, const NLMISC::CVector
if (_ZoneGrid.empty()) return false; if (_ZoneGrid.empty()) return false;
++_RaytraceCounter; ++_RaytraceCounter;
float bestDist = FLT_MAX; float bestDist = FLT_MAX;
NLMISC::CVector bestNormal; CVector bestNormal(CVector::Null);
CVector currEnd = end; CVector currEnd = end;
CVector currInter; CVector currInter;
if (_RaytraceCounter == (uint32) ~0) if (_RaytraceCounter == (uint32) ~0)

View file

@ -1525,6 +1525,7 @@ void CPatch::resetTileLightInfluences()
{ {
// Disable all light influence on this point. // Disable all light influence on this point.
TileLightInfluences[i].Light[0]= 0xFF; TileLightInfluences[i].Light[0]= 0xFF;
TileLightInfluences[i].Light[1]= 0xFF;
} }
} }

View file

@ -1421,7 +1421,9 @@ extern "C" void NL3D_expandLightmap (const NL3D_CExpandLightmap* pLightmap)
// Compute current color // Compute current color
CRGBA color0; CRGBA color0;
CRGBA color1; CRGBA color1;
color0.A = 255;
color0.set565 (colorTilePtr[srcIndex].Color565); color0.set565 (colorTilePtr[srcIndex].Color565);
color1.A = 255;
color1.set565 (colorTilePtr[srcIndex+1].Color565); color1.set565 (colorTilePtr[srcIndex+1].Color565);
expandedUserColorLinePtr[u].blendFromui (color0, color1, srcIndexPixel&0xff); expandedUserColorLinePtr[u].blendFromui (color0, color1, srcIndexPixel&0xff);
// Compute current TLI color // Compute current TLI color

View file

@ -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)

View file

@ -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)

View file

@ -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})

View file

@ -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"

View file

@ -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)

View file

@ -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 \

View file

@ -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

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -41,6 +41,8 @@
#include <exception> #include <exception>
#include <cctype> #include <cctype>
#include <errno.h>
#include "nel/misc/debug.h" #include "nel/misc/debug.h"
#include "nel/misc/common.h" #include "nel/misc/common.h"

View file

@ -20,9 +20,7 @@
#include "nel/net/net_log.h" #include "nel/net/net_log.h"
#ifdef NL_OS_WINDOWS #ifdef NL_OS_WINDOWS
# if defined(NL_COMP_VC7) || defined(NL_COMP_VC71) || defined(NL_COMP_VC8) || defined(NL_COMP_VC9)
# include <winsock2.h> # include <winsock2.h>
# endif
# define NOMINMAX # define NOMINMAX
# include <windows.h> # include <windows.h>
# define socklen_t int # define socklen_t int

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -194,7 +194,7 @@ void statRyzomBug(const char *dirSrc)
CPath::getPathContent(dirSrc, false, false, true, fileList, NULL, true); CPath::getPathContent(dirSrc, false, false, true, fileList, NULL, true);
// delete the log.log // delete the log.log
CFile::deleteFile("log.log"); CFile::deleteFile(getLogDirectory() + "log.log");
TStatStrMap senderMap; TStatStrMap senderMap;
TStatMap shardMap; TStatMap shardMap;

View file

@ -661,7 +661,7 @@ int main(int argc, const char *argv[])
// Open log // Open log
FILE *logStream; FILE *logStream;
logStream= fopen("C:/temp/file_info.log", "wt"); logStream= fopen(std::string(getLogDirectory() + "file_info.log").c_str(), "wt");
// parse dir or file ?? // parse dir or file ??

View file

@ -22,4 +22,8 @@ SET_TARGET_PROPERTIES(nel_3dsmax_shared PROPERTIES
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DNEL_3DSMAX_SHARED_EXPORTS) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DNEL_3DSMAX_SHARED_EXPORTS)
IF(WITH_PCH)
ADD_NATIVE_PRECOMPILED_HEADER(nel_3dsmax_shared ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp)
ENDIF(WITH_PCH)
INSTALL(TARGETS nel_3dsmax_shared RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) INSTALL(TARGETS nel_3dsmax_shared RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)

View file

@ -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"

View file

@ -15,4 +15,8 @@ SET_TARGET_PROPERTIES(nel_mesh_lib PROPERTIES
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
IF(WITH_PCH)
ADD_NATIVE_PRECOMPILED_HEADER(nel_mesh_lib ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp)
ENDIF(WITH_PCH)
INSTALL(TARGETS nel_mesh_lib RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) INSTALL(TARGETS nel_mesh_lib RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)

View file

@ -25,4 +25,8 @@ SET_TARGET_PROPERTIES(nel_patch_edit PROPERTIES
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
IF(WITH_PCH)
ADD_NATIVE_PRECOMPILED_HEADER(nel_patch_edit ${CMAKE_CURRENT_SOURCE_DIR}/stdafx.h ${CMAKE_CURRENT_SOURCE_DIR}/stdafx.cpp)
ENDIF(WITH_PCH)
INSTALL(TARGETS nel_patch_edit RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries) INSTALL(TARGETS nel_patch_edit RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION lib ARCHIVE DESTINATION lib COMPONENT libraries)

View file

@ -80,14 +80,15 @@ unsigned long PIC_Load(char* FileName, unsigned char Quantize)
{ {
type=1; type=1;
} }
if ( !strcmp(ext,"TGA") ) else if ( !strcmp(ext,"TGA") )
{ {
type=2; type=2;
} }
if ( !strcmp(ext,"BMP") ) else if ( !strcmp(ext,"BMP") )
{ {
type=3; type=3;
} }
switch(type) switch(type)
{ {
// - JPG // - JPG
@ -132,9 +133,7 @@ unsigned long PIC_Load(char* FileName, unsigned char Quantize)
return(0); return(0);
} }
} }
else
{
}
// --- Create and place new pic struct // --- Create and place new pic struct
pic=Pic_calloc(1,sizeof(PIC_PICTURE)); pic=Pic_calloc(1,sizeof(PIC_PICTURE));
if (!pic) if (!pic)

View file

@ -1,3 +1,18 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#include <nel/misc/types_nl.h> #include <nel/misc/types_nl.h>
#include "browser_model.h" #include "browser_model.h"
@ -130,7 +145,7 @@ bool TileInfo::Load (int index, std::vector<NLMISC::CBGRA>* Alpha)
if ( !loadPixmapBuffer( path, Bits, Alpha, 0)) if ( !loadPixmapBuffer( path, Bits, Alpha, 0))
{ {
bRes=false; bRes=false;
QMessageBox::information( NULL, "Can't load Diffuse file", QString( (path.c_str()) )); QMessageBox::information( NULL, QObject::tr("Can't load Diffuse file"), QString( (path.c_str()) ));
} }
else else
@ -142,7 +157,7 @@ bool TileInfo::Load (int index, std::vector<NLMISC::CBGRA>* Alpha)
if (!loadPixmapBuffer( nightPath, nightBits, Alpha, 0)) if (!loadPixmapBuffer( nightPath, nightBits, Alpha, 0))
{ {
bRes=false; bRes=false;
QMessageBox::information( NULL, "Can't load Additive file", QString( nightPath.c_str() ) ); QMessageBox::information( NULL, QObject::tr("Can't load Additive file"), QString( nightPath.c_str() ) );
} }
else else
nightLoaded=1; nightLoaded=1;
@ -153,7 +168,7 @@ bool TileInfo::Load (int index, std::vector<NLMISC::CBGRA>* Alpha)
if (!loadPixmapBuffer( alphaPath, alphaBits, NULL, tileBankBrowser.getTile (index)->getRotAlpha ())) if (!loadPixmapBuffer( alphaPath, alphaBits, NULL, tileBankBrowser.getTile (index)->getRotAlpha ()))
{ {
bRes=false; bRes=false;
QMessageBox::information( NULL, "Can't load Alpha file", QString( alphaPath.c_str() ) ); QMessageBox::information( NULL, QObject::tr("Can't load Alpha file"), QString( alphaPath.c_str() ) );
} }
else else
@ -273,7 +288,7 @@ bool TileList::setTile128 (int tile, const std::string& name, NL3D::CTile::TBitm
uint Height; uint Height;
if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height)) if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height))
{ {
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't load bitmap.", QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No)); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't load bitmap."), QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No));
} }
else else
{ {
@ -290,8 +305,8 @@ bool TileList::setTile128 (int tile, const std::string& name, NL3D::CTile::TBitm
if ((error!=CTileSet::ok)&&(error!=CTileSet::addFirstA128128)&&!zouille ()) if ((error!=CTileSet::ok)&&(error!=CTileSet::addFirstA128128)&&!zouille ())
{ {
QString pixelMessage = QString("%1\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]); QString pixelMessage = QObject::tr("%1\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]);
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't set Bitmap", pixelMessage, QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't set Bitmap"), pixelMessage, QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -318,8 +333,8 @@ bool TileList::setTile128 (int tile, const std::string& name, NL3D::CTile::TBitm
else else
{ {
// Error: bitmap not in the absolute path.. // Error: bitmap not in the absolute path..
QString notInAbsolutePathMessage = QString("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str()); QString notInAbsolutePathMessage = QObject::tr("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str());
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Load error", notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No)); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Load error"), notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No));
} }
return true; return true;
@ -336,7 +351,7 @@ bool TileList::setTile256 (int tile, const std::string& name, NL3D::CTile::TBitm
uint Height; uint Height;
if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height)) if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height))
{ {
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't load bitmap.", QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't load bitmap."), QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) );
} }
else else
@ -354,8 +369,8 @@ bool TileList::setTile256 (int tile, const std::string& name, NL3D::CTile::TBitm
error=tileBankBrowser.getTileSet(_tileSet)->checkTile256 (type, border, pixel, composante); error=tileBankBrowser.getTileSet(_tileSet)->checkTile256 (type, border, pixel, composante);
if ((error!=CTileSet::ok)&&!zouille()) if ((error!=CTileSet::ok)&&!zouille())
{ {
QString pixelMessage = QString("%1\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]); QString pixelMessage = QObject::tr("%1\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]);
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't set Bitmap", pixelMessage, QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't set Bitmap"), pixelMessage, QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -379,8 +394,8 @@ bool TileList::setTile256 (int tile, const std::string& name, NL3D::CTile::TBitm
else else
{ {
// Error: bitmap not in the absolute path.. // Error: bitmap not in the absolute path..
QString notInAbsolutePathMessage = QString("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str()); QString notInAbsolutePathMessage = QObject::tr("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str());
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Load error", notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No)); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Load error"), notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No));
} }
return true; return true;
@ -400,7 +415,7 @@ bool TileList::setTileTransition (int tile, const std::string& name, NL3D::CTile
uint Height; uint Height;
if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height)) if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height))
{ {
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't load bitmap.", QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't load bitmap."), QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -416,8 +431,8 @@ bool TileList::setTileTransition (int tile, const std::string& name, NL3D::CTile
error=tileBankBrowser.getTileSet(_tileSet)->checkTile128 (type, border, pixel, composante); error=tileBankBrowser.getTileSet(_tileSet)->checkTile128 (type, border, pixel, composante);
if ((error!=CTileSet::ok)&&(error!=CTileSet::addFirstA128128)&&!zouille ()) if ((error!=CTileSet::ok)&&(error!=CTileSet::addFirstA128128)&&!zouille ())
{ {
QString pixelMessage = QString("%1\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]); QString pixelMessage = QObject::tr("%1\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]);
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't set Bitmap", pixelMessage, QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't set Bitmap"), pixelMessage, QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -443,8 +458,8 @@ bool TileList::setTileTransition (int tile, const std::string& name, NL3D::CTile
else else
{ {
// Error: bitmap not in the absolute path.. // Error: bitmap not in the absolute path..
QString notInAbsolutePathMessage = QString("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str()); QString notInAbsolutePathMessage = QObject::tr("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str());
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Load error", notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Load error"), notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No) );
} }
return true; return true;
@ -462,7 +477,7 @@ bool TileList::setDisplacement (int tile, const std::string& name, NL3D::CTile::
uint Height; uint Height;
if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height)) if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height))
{ {
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't load bitmap.", QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't load bitmap"), QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -470,7 +485,7 @@ bool TileList::setDisplacement (int tile, const std::string& name, NL3D::CTile::
if ( (Width!=32) || (Height!=32) ) if ( (Width!=32) || (Height!=32) )
{ {
// Error message // Error message
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't set Bitmap", QString( (troncated+"\nInvalid size: displacement map must be 32x32 8 bits.\nContinue ?").c_str()), QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't set Bitmap"), QString( (troncated+"\nInvalid size: displacement map must be 32x32 8 bits.\nContinue ?").c_str()), QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -487,8 +502,8 @@ bool TileList::setDisplacement (int tile, const std::string& name, NL3D::CTile::
else else
{ {
// Error: bitmap not in the absolute path.. // Error: bitmap not in the absolute path..
QString notInAbsolutePathMessage = QString("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str()); QString notInAbsolutePathMessage = QObject::tr("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str());
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Load error", notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Load error"), notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No) );
} }
return true; return true;
@ -505,7 +520,7 @@ bool TileList::setTileTransitionAlpha (int tile, const std::string& name, int ro
uint Height; uint Height;
if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height)) if (!PIC_LoadPic(tileBankBrowser.getAbsPath ()+troncated, tampon, Width, Height))
{ {
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't load bitmap", QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't load bitmap"), QString( ((tileBankBrowser.getAbsPath ()+troncated)+"\nContinue ?").c_str() ), QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -533,15 +548,15 @@ bool TileList::setTileTransitionAlpha (int tile, const std::string& name, int ro
||(error==CTileSet::topInterfaceProblem)) ||(error==CTileSet::topInterfaceProblem))
{ {
if (indexError!=-1) if (indexError!=-1)
pixelMessage = QString("%1.\nIncompatible with tile nb %4.\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]).arg(indexError); pixelMessage = QObject::tr("%1.\nIncompatible with tile nb %4.\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]).arg(indexError);
else else
pixelMessage = QString("%1.\nIncompatible with the 128x128 tile.\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]); pixelMessage = QObject::tr("%1.\nIncompatible with the 128x128 tile.\nPixel: %2(%3).\nContinue ?").arg(CTileSet::getErrorMessage (error)).arg(pixel).arg(comp[composante]);
} }
else else
pixelMessage = QString("%1.\nIncompatible filled tile.\nContinue ?").arg(CTileSet::getErrorMessage (error)); pixelMessage = QObject::tr("%1.\nIncompatible filled tile.\nContinue ?").arg(CTileSet::getErrorMessage (error));
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Can't set Bitmap", pixelMessage, QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Can't set Bitmap"), pixelMessage, QMessageBox::Yes | QMessageBox::No) );
} }
else else
{ {
@ -554,8 +569,8 @@ bool TileList::setTileTransitionAlpha (int tile, const std::string& name, int ro
else else
{ {
// Error: bitmap not in the absolute path.. // Error: bitmap not in the absolute path..
QString notInAbsolutePathMessage = QString("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str()); QString notInAbsolutePathMessage = QObject::tr("The bitmap %1 is not in the absolute path %2.\nContinue ?").arg(name.c_str()).arg(tileBankBrowser.getAbsPath ().c_str());
return ( QMessageBox::Yes == QMessageBox::question( NULL, "Load error", notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No) ); return ( QMessageBox::Yes == QMessageBox::question( NULL, QObject::tr("Load error"), notInAbsolutePathMessage, QMessageBox::Yes | QMessageBox::No) );
} }
return true; return true;

View file

@ -13,7 +13,7 @@ static unsigned long PIC_Sys_MEM_NbAllocs;
#define _msize malloc_usable_size #define _msize malloc_usable_size
#endif /* __GNUC__ */ #endif /* __GNUC__ */
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
void *Pic_malloc(unsigned long size) void *Pic_malloc(unsigned long size)
{ {
@ -26,7 +26,7 @@ void *Pic_malloc(unsigned long size)
} }
return(mem); return(mem);
} }
/* ----- */ // -----
void *Pic_calloc(unsigned long count, unsigned long size) void *Pic_calloc(unsigned long count, unsigned long size)
{ {
void *mem; void *mem;
@ -38,7 +38,7 @@ void *Pic_calloc(unsigned long count, unsigned long size)
} }
return(mem); return(mem);
} }
/* ----- */ // -----
void Pic_free(void *memblock) void Pic_free(void *memblock)
{ {
unsigned long size; unsigned long size;
@ -47,23 +47,23 @@ void Pic_free(void *memblock)
PIC_Sys_MEM_NbAllocs--; PIC_Sys_MEM_NbAllocs--;
free(memblock); free(memblock);
} }
/* ----- */ // -----
unsigned long Pic__msize(void *memblock) unsigned long Pic__msize(void *memblock)
{ {
return(_msize(memblock)); return(_msize(memblock));
} }
/* ----- */ // -----
unsigned long PIC_GetMemNbAllocs(void) unsigned long PIC_GetMemNbAllocs(void)
{ {
return(PIC_Sys_MEM_NbAllocs); return(PIC_Sys_MEM_NbAllocs);
} }
/* ----- */ // -----
unsigned long PIC_GetMemAllocated(void) unsigned long PIC_GetMemAllocated(void)
{ {
return(PIC_Sys_MEM_Allocated); return(PIC_Sys_MEM_Allocated);
} }
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
static unsigned char PIC_ErrorFlag; static unsigned char PIC_ErrorFlag;
static unsigned char PIC_ErrorString[PIC_ERRSIZE]; static unsigned char PIC_ErrorString[PIC_ERRSIZE];
@ -95,23 +95,23 @@ void Pic_SetError(unsigned char *msg, ...)
if (PIC_Sys_FnctActive) PIC_Sys_Fnct(); if (PIC_Sys_FnctActive) PIC_Sys_Fnct();
return; return;
} }
/* ----- */ // -----
char* PIC_GetError(void) char* PIC_GetError(void)
{ {
return(PIC_ErrorString); return(PIC_ErrorString);
} }
/* ----- */ // -----
unsigned char PIC_Error(void) unsigned char PIC_Error(void)
{ {
return(PIC_ErrorFlag); return(PIC_ErrorFlag);
} }
/* ----- */ // -----
void PIC_ResetError(void) void PIC_ResetError(void)
{ {
strcpy(PIC_ErrorString,""); strcpy(PIC_ErrorString,"");
PIC_ErrorFlag=0; PIC_ErrorFlag=0;
} }
/* ----- */ // -----
unsigned char PIC_OnErrorCall( void pFnct(void) ) unsigned char PIC_OnErrorCall( void pFnct(void) )
{ {
if (pFnct != NULL) if (pFnct != NULL)
@ -126,5 +126,5 @@ unsigned char PIC_OnErrorCall( void pFnct(void) )
return(1); return(1);
} }
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------

View file

@ -595,7 +595,7 @@ unsigned long PIC_Save(unsigned long id, char* FileName, unsigned long type, uns
err=1; err=1;
} }
break; break;
/* --- */ // ---
default: default:
Pic_SetError("Save %s, unknow save format/type",FileName); Pic_SetError("Save %s, unknow save format/type",FileName);
err=1; err=1;
@ -608,7 +608,7 @@ unsigned long PIC_Save(unsigned long id, char* FileName, unsigned long type, uns
return(err-1); return(err-1);
} }
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
unsigned long PIC_Destroy(unsigned long id) unsigned long PIC_Destroy(unsigned long id)
{ {
@ -651,5 +651,4 @@ unsigned long PIC_Destroy(unsigned long id)
return(1); return(1);
} }
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------

View file

@ -5,7 +5,7 @@
#include "pic_private.h" #include "pic_private.h"
#include "pic.h" #include "pic.h"
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
#pragma pack(1) #pragma pack(1)
typedef struct TGA_HEADER typedef struct TGA_HEADER
@ -25,7 +25,7 @@ typedef struct TGA_HEADER
} TGA_HEADER; } TGA_HEADER;
#pragma pack() #pragma pack()
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
unsigned long Pic_TGA_Read( unsigned char *FileName, unsigned long Pic_TGA_Read( unsigned char *FileName,
unsigned char **ppPal, unsigned char **ppDatas, unsigned char **ppPal, unsigned char **ppDatas,
@ -138,7 +138,7 @@ unsigned long Pic_TGA_Read( unsigned char *FileName,
} }
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
unsigned long Pic_TGA_Write( unsigned char *FileName, unsigned long Pic_TGA_Write( unsigned char *FileName,
unsigned char *pPal,unsigned char *pDatas, unsigned char *pPal,unsigned char *pDatas,

View file

@ -4,7 +4,7 @@
extern "C" { extern "C" {
#endif #endif
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
typedef struct PIC_PICTURE typedef struct PIC_PICTURE
{ {
@ -17,12 +17,12 @@ typedef struct PIC_PICTURE
struct PIC_PICTURE *Next; struct PIC_PICTURE *Next;
} PIC_PICTURE; } PIC_PICTURE;
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
/* //
* JPG // JPG
*/ //
extern unsigned long Pic_JPG_Read( unsigned char *FileName, extern unsigned long Pic_JPG_Read( unsigned char *FileName,
@ -33,9 +33,9 @@ extern unsigned long Pic_JPG_Write( unsigned char *FileName,
unsigned long Qual, unsigned long Qual,
unsigned char *pDatas, unsigned char *pDatas,
unsigned long w, unsigned long h); unsigned long w, unsigned long h);
/* //
* TGA // TGA
*/ //
extern unsigned long Pic_TGA_Read( unsigned char *FileName, extern unsigned long Pic_TGA_Read( unsigned char *FileName,
unsigned char **ppPal, unsigned char **ppDatas, unsigned char **ppPal, unsigned char **ppDatas,
unsigned long *pWidth, unsigned long *pHeight, unsigned long *pWidth, unsigned long *pHeight,
@ -43,9 +43,9 @@ extern unsigned long Pic_TGA_Read( unsigned char *FileName,
extern unsigned long Pic_TGA_Write( unsigned char *FileName, extern unsigned long Pic_TGA_Write( unsigned char *FileName,
unsigned char *pPal,unsigned char *pDatas, unsigned char *pPal,unsigned char *pDatas,
unsigned long w, unsigned long h, unsigned long d); unsigned long w, unsigned long h, unsigned long d);
/* //
* BMP // BMP
*/ //
extern unsigned long Pic_BMP_Read( unsigned char *FileName, extern unsigned long Pic_BMP_Read( unsigned char *FileName,
unsigned char **ppPal, unsigned char **ppDatas, unsigned char **ppPal, unsigned char **ppDatas,
unsigned long *pWidth, unsigned long *pHeight, unsigned long *pWidth, unsigned long *pHeight,
@ -54,16 +54,16 @@ extern unsigned long Pic_BMP_Read( unsigned char *FileName,
extern unsigned long Pic_BMP_Write( unsigned char *FileName, extern unsigned long Pic_BMP_Write( unsigned char *FileName,
unsigned char *pPal,unsigned char *pDatas, unsigned char *pPal,unsigned char *pDatas,
unsigned long w, unsigned long h, unsigned long d); unsigned long w, unsigned long h, unsigned long d);
/* //
* System // System
*/ //
extern void* Pic_malloc(unsigned long size); extern void* Pic_malloc(unsigned long size);
extern void* Pic_calloc(unsigned long count, unsigned long size); extern void* Pic_calloc(unsigned long count, unsigned long size);
extern void Pic_free(void *memblock); extern void Pic_free(void *memblock);
extern unsigned long Pic__msize(void *memblock); extern unsigned long Pic__msize(void *memblock);
extern void Pic_SetError(unsigned char *msg, ...); extern void Pic_SetError(unsigned char *msg, ...);
/* ---------------------------------------------------------------------------------------------------------------------------------- */ // ----------------------------------------------------------------------------------------------------------------------------------
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 <QtCore/QString> #include <QtCore/QString>
#include <QtCore/QStringList> #include <QtCore/QStringList>
#include <QtGui/QListWidgetItem> #include <QtGui/QListWidgetItem>
@ -390,7 +406,7 @@ void CTile_browser_dlg::on_batchLoadPushButton_clicked()
{ {
QFileDialog::Options options; QFileDialog::Options options;
QString selectedFilter; QString selectedFilter;
QString fileName = QFileDialog::getOpenFileName(this, "Choose Bitmap", QString(tileBankBrowser.getAbsPath().c_str()) , "Targa Bitmap(*.tga);;All Files (*.*);;", &selectedFilter, options); QString fileName = QFileDialog::getOpenFileName(this, tr("Choose Bitmap"), QString(tileBankBrowser.getAbsPath().c_str()) , tr("Targa Bitmap (*.tga);;PNG Image (*.png);;All Files (*.*);;"), &selectedFilter, options);
QFileInfo fi(fileName); QFileInfo fi(fileName);
QString baseName = fi.baseName() ; QString baseName = fi.baseName() ;
@ -402,7 +418,7 @@ void CTile_browser_dlg::on_batchLoadPushButton_clicked()
//TODO titegus: What's the point in asking for rotation if Texture != Alpha ??? //TODO titegus: What's the point in asking for rotation if Texture != Alpha ???
bool rotate = (QMessageBox::Yes == QMessageBox::question(this, "Import rotated tiles", "Do you want to use rotation to reuse alpha tiles ?", QMessageBox::Yes | QMessageBox::No )); bool rotate = (QMessageBox::Yes == QMessageBox::question(this, tr("Import rotated tiles"), tr("Do you want to use rotation to reuse alpha tiles?"), QMessageBox::Yes | QMessageBox::No ));
for (int i=0; i<CTileSet::count; i++) for (int i=0; i<CTileSet::count; i++)
{ {
@ -491,7 +507,7 @@ void CTile_browser_dlg::on_exportBorderPushButton_clicked()
// Select a file // Select a file
QFileDialog::Options options; QFileDialog::Options options;
QString selectedFilter; QString selectedFilter;
QString fileName = QFileDialog::getSaveFileName(this, "Choose Bitmap", QString(tileBankBrowser.getAbsPath().c_str()) , "Targa Bitmap(*.tga);;All Files (*.*);;", &selectedFilter, options); QString fileName = QFileDialog::getSaveFileName(this, tr("Choose Bitmap"), QString(tileBankBrowser.getAbsPath().c_str()) , "Targa Bitmap(*.tga);;All Files (*.*);;", &selectedFilter, options);
if (!fileName.isEmpty()) if (!fileName.isEmpty())
{ {
@ -547,8 +563,8 @@ void CTile_browser_dlg::on_exportBorderPushButton_clicked()
if (error) if (error)
{ {
// Error message // Error message
QString s = QString ("Can't write bitmap %1").arg(fileName); QString s = tr("Can't write bitmap %1").arg(fileName);
QMessageBox::information (this, "Export border", s); QMessageBox::information (this, tr("Export border"), s);
} }
} }
} }
@ -562,7 +578,7 @@ void CTile_browser_dlg::on_importBorderPushButton_clicked()
{ {
QFileDialog::Options options; QFileDialog::Options options;
QString selectedFilter; QString selectedFilter;
QString fileName = QFileDialog::getOpenFileName(this, "Choose Bitmap", QString(tileBankBrowser.getAbsPath().c_str()) , "Targa Bitmap(*.tga);;All Files (*.*);;", &selectedFilter, options); QString fileName = QFileDialog::getOpenFileName(this, tr("Choose Bitmap"), QString(tileBankBrowser.getAbsPath().c_str()) , "Targa Bitmap(*.tga);;All Files (*.*);;", &selectedFilter, options);
if (!fileName.isEmpty()) if (!fileName.isEmpty())
{ {
@ -596,8 +612,8 @@ void CTile_browser_dlg::on_importBorderPushButton_clicked()
if (error) if (error)
{ {
// Error message // Error message
QString s = QString ("Can't read bitmap %1").arg(fileName); QString s = tr("Can't read bitmap %1").arg(fileName);
QMessageBox::information (this, "Import border", s); QMessageBox::information (this, tr("Import border"), s);
} }
// Get pixel // Get pixel
@ -620,8 +636,8 @@ void CTile_browser_dlg::on_importBorderPushButton_clicked()
else else
{ {
// Error message // Error message
QString s = QString ("The bitmap must have a size of 128x128 (%1)").arg(fileName); QString s = tr("The bitmap must have a size of 128x128 (%1)").arg(fileName);
QMessageBox::information (this, "Import border", s); QMessageBox::information (this, tr("Import border"), s);
} }
// 256 or 128 ? // 256 or 128 ?
@ -630,7 +646,7 @@ void CTile_browser_dlg::on_importBorderPushButton_clicked()
tileBankBrowser.getTileSet (tileSetIndex)->setBorder ((CTile::TBitmap) tileTextureButtonGroup->checkedId(), border); tileBankBrowser.getTileSet (tileSetIndex)->setBorder ((CTile::TBitmap) tileTextureButtonGroup->checkedId(), border);
// Message // Message
QMessageBox::information (this, "Import border", "The border has been changed."); QMessageBox::information (this, tr("Import border"), tr("The border has been changed."));
} }
} }
@ -745,7 +761,7 @@ void CTile_browser_dlg::RefreshView()
image = image.scaled(tileZoomButtonGroup->checkedId() * (tileTypeButtonGroup->checkedId()==_256x256 ? 2 : 1), tileZoomButtonGroup->checkedId() * (tileTypeButtonGroup->checkedId()==_256x256 ? 2 : 1)); image = image.scaled(tileZoomButtonGroup->checkedId() * (tileTypeButtonGroup->checkedId()==_256x256 ? 2 : 1), tileZoomButtonGroup->checkedId() * (tileTypeButtonGroup->checkedId()==_256x256 ? 2 : 1));
QString fileInfo = QString("%1").arg(p->getId()); QString fileInfo = QString::number(p->getId());
if (tileLabelButtonGroup->checkedId() == CTile_browser_dlg::FileName) if (tileLabelButtonGroup->checkedId() == CTile_browser_dlg::FileName)
{ {
QFileInfo fi = QFileInfo(QString( tilePath.c_str())); QFileInfo fi = QFileInfo(QString( tilePath.c_str()));
@ -761,7 +777,7 @@ void CTile_browser_dlg::RefreshView()
QString fileInfo; QString fileInfo;
if (tileLabelButtonGroup->checkedId() == CTile_browser_dlg::Index) if (tileLabelButtonGroup->checkedId() == CTile_browser_dlg::Index)
{ {
fileInfo = QString("%1").arg(p->getId()); fileInfo = QString::number(p->getId());
} }
TileModel tile = TileModel(tileZoomButtonGroup->checkedId() * (tileTypeButtonGroup->checkedId()==_256x256 ? 2 : 1), fileInfo, p->getId()); TileModel tile = TileModel(tileZoomButtonGroup->checkedId() * (tileTypeButtonGroup->checkedId()==_256x256 ? 2 : 1), fileInfo, p->getId());
tileViewModel->addTile(tile); tileViewModel->addTile(tile);
@ -785,7 +801,7 @@ void CTile_browser_dlg::LoadInThread(void)
void CTile_browser_dlg::closeEvent(QCloseEvent *event) void CTile_browser_dlg::closeEvent(QCloseEvent *event)
{ {
int reply = QMessageBox::question(this, "Quit", "Are you sure you want to Quit TileSet Edition without Saving?", QMessageBox::Yes | QMessageBox::No); int reply = QMessageBox::question(this, tr("Quit"), tr("Are you sure you want to Quit TileSet Edition without Saving?"), QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::Yes) if (reply == QMessageBox::Yes)
{ {
event->accept(); event->accept();
@ -811,7 +827,7 @@ void CTile_browser_dlg::accept()
void CTile_browser_dlg::reject() void CTile_browser_dlg::reject()
{ {
int reply = QMessageBox::question(this, "Quit", "Are you sure you want to Quit TileSet Edition without Saving?", QMessageBox::Yes | QMessageBox::No); int reply = QMessageBox::question(this, tr("Quit"), tr("Are you sure you want to Quit TileSet Edition without Saving?"), QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::Yes) if (reply == QMessageBox::Yes)
{ {
QDialog::reject(); QDialog::reject();

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 TILE_BROWSERDLG_H #ifndef TILE_BROWSERDLG_H
#define TILE_BROWSERDLG_H #define TILE_BROWSERDLG_H

View file

@ -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="tile_edit_qt" Name="tile_edit_qt"
ProjectGUID="{5FE8CA04-92FB-4B43-A78E-26E283F587A1}" ProjectGUID="{5FE8CA04-92FB-4B43-A78E-26E283F587A1}"
RootNamespace="tile_edit_qt" RootNamespace="tile_edit_qt"
@ -400,190 +400,6 @@
<Filter <Filter
Name="pic" Name="pic"
> >
<File
RelativePath=".\pic\jcapimin.c"
>
</File>
<File
RelativePath=".\pic\jcapistd.c"
>
</File>
<File
RelativePath=".\pic\jccoefct.c"
>
</File>
<File
RelativePath=".\pic\jccolor.c"
>
</File>
<File
RelativePath=".\pic\jcdctmgr.c"
>
</File>
<File
RelativePath=".\pic\jchuff.c"
>
</File>
<File
RelativePath=".\pic\jcinit.c"
>
</File>
<File
RelativePath=".\pic\jcmainct.c"
>
</File>
<File
RelativePath=".\pic\jcmarker.c"
>
</File>
<File
RelativePath=".\pic\jcmaster.c"
>
</File>
<File
RelativePath=".\pic\jcomapi.c"
>
</File>
<File
RelativePath=".\pic\jcparam.c"
>
</File>
<File
RelativePath=".\pic\jcphuff.c"
>
</File>
<File
RelativePath=".\pic\jcprepct.c"
>
</File>
<File
RelativePath=".\pic\jcsample.c"
>
</File>
<File
RelativePath=".\pic\jctrans.c"
>
</File>
<File
RelativePath=".\pic\jdapimin.c"
>
</File>
<File
RelativePath=".\pic\jdapistd.c"
>
</File>
<File
RelativePath=".\pic\jdatadst.c"
>
</File>
<File
RelativePath=".\pic\jdatasrc.c"
>
</File>
<File
RelativePath=".\pic\jdcoefct.c"
>
</File>
<File
RelativePath=".\pic\jdcolor.c"
>
</File>
<File
RelativePath=".\pic\jddctmgr.c"
>
</File>
<File
RelativePath=".\pic\jdhuff.c"
>
</File>
<File
RelativePath=".\pic\jdinput.c"
>
</File>
<File
RelativePath=".\pic\jdmainct.c"
>
</File>
<File
RelativePath=".\pic\jdmarker.c"
>
</File>
<File
RelativePath=".\pic\jdmaster.c"
>
</File>
<File
RelativePath=".\pic\jdmerge.c"
>
</File>
<File
RelativePath=".\pic\jdphuff.c"
>
</File>
<File
RelativePath=".\pic\jdpostct.c"
>
</File>
<File
RelativePath=".\pic\jdsample.c"
>
</File>
<File
RelativePath=".\pic\jdtrans.c"
>
</File>
<File
RelativePath=".\pic\jerror.c"
>
</File>
<File
RelativePath=".\pic\jfdctflt.c"
>
</File>
<File
RelativePath=".\pic\jfdctfst.c"
>
</File>
<File
RelativePath=".\pic\jfdctint.c"
>
</File>
<File
RelativePath=".\pic\jidctflt.c"
>
</File>
<File
RelativePath=".\pic\jidctfst.c"
>
</File>
<File
RelativePath=".\pic\jidctint.c"
>
</File>
<File
RelativePath=".\pic\jidctred.c"
>
</File>
<File
RelativePath=".\pic\jmemansi.c"
>
</File>
<File
RelativePath=".\pic\jmemmgr.c"
>
</File>
<File
RelativePath=".\pic\jquant1.c"
>
</File>
<File
RelativePath=".\pic\jquant2.c"
>
</File>
<File
RelativePath=".\pic\jutils.c"
>
</File>
<File <File
RelativePath=".\pic\Pic_BMP.c" RelativePath=".\pic\Pic_BMP.c"
> >
@ -1174,7 +990,7 @@
Description="RCC $(InputName).qrc" Description="RCC $(InputName).qrc"
CommandLine="rcc.exe -name $(InputName) $(InputName).qrc -o $(InputDir)\qrc_$(InputName).cpp&#x0D;&#x0A;" CommandLine="rcc.exe -name $(InputName) $(InputName).qrc -o $(InputDir)\qrc_$(InputName).cpp&#x0D;&#x0A;"
AdditionalDependencies="rcc.exe;nel.png;$(InputName).qrc" AdditionalDependencies="rcc.exe;nel.png;$(InputName).qrc"
Outputs="Release\qrc_$(InputName).cpp" Outputs="Debug\qrc_$(InputName).cpp"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
@ -1188,16 +1004,6 @@
Outputs="Release\qrc_$(InputName).cpp" Outputs="Release\qrc_$(InputName).cpp"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCustomBuildTool"
CommandLine="rcc.exe -name $(InputName) $(InputName).qrc -o $(InputDir)\qrc_$(InputName).cpp"
AdditionalDependencies="rcc.exe;nel.png;$(InputName).qrc"
Outputs="Debug\qrc_$(InputName).cpp"
/>
</FileConfiguration>
</File> </File>
<File <File
RelativePath=".\tile_edit_qt.ui" RelativePath=".\tile_edit_qt.ui"

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 <QtCore/QString> #include <QtCore/QString>
#include <QtGui/QListWidgetItem> #include <QtGui/QListWidgetItem>
#include <QtGui/QMessageBox> #include <QtGui/QMessageBox>
@ -78,12 +94,12 @@ void CTile_edit_dlg::on_landListWidget_itemSelectionChanged()
void CTile_edit_dlg::on_addLandPushButton_clicked() void CTile_edit_dlg::on_addLandPushButton_clicked()
{ {
bool ok; bool ok;
QString text = QInputDialog::getText(this, "Add Land", "Enter land name:", QLineEdit::Normal, "", &ok); QString text = QInputDialog::getText(this, tr("Add Land"), tr("Enter land name:"), QLineEdit::Normal, "", &ok);
if (ok && !text.isEmpty()) if (ok && !text.isEmpty())
{ {
if (ui.landListWidget->findItems(text, Qt::MatchExactly).count() > 0) if (ui.landListWidget->findItems(text, Qt::MatchExactly).count() > 0)
{ {
QMessageBox::information( this, "Error Adding Land", "This name already exists" ); QMessageBox::information( this, tr("Error Adding Land"), tr("This name already exists") );
} }
else else
{ {
@ -110,7 +126,7 @@ void CTile_edit_dlg::on_editLandPushButton_clicked()
} }
bool ok = false; bool ok = false;
QStringList items = CItems_edit_dlg::getItems(this, "Edit Land", ui.landListWidget->item(nindex)->text(), availableTileSetList, landTileSetList, &ok); QStringList items = CItems_edit_dlg::getItems(this, tr("Edit Land"), ui.landListWidget->item(nindex)->text(), availableTileSetList, landTileSetList, &ok);
if (ok) if (ok)
{ {
@ -128,7 +144,7 @@ void CTile_edit_dlg::on_editLandPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Land Selected", "Please, select the Land to edit first ..." ); QMessageBox::information( this, tr("No Land Selected"), tr("Please, select the Land to edit first ...") );
} }
} }
@ -144,19 +160,19 @@ void CTile_edit_dlg::on_deleteLandPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Land Selected", "Please, select the Land to delete first ..." ); QMessageBox::information( this, tr("No Land Selected"), tr("Please, select the Land to delete first ...") );
} }
} }
void CTile_edit_dlg::on_addTileSetPushButton_clicked() void CTile_edit_dlg::on_addTileSetPushButton_clicked()
{ {
bool ok; bool ok;
QString text = QInputDialog::getText(this, "Add Tile Set", "Enter Tile Set name:", QLineEdit::Normal, "", &ok); QString text = QInputDialog::getText(this, tr("Add Tile Set"), tr("Enter Tile Set name:"), QLineEdit::Normal, "", &ok);
if (ok && !text.isEmpty()) if (ok && !text.isEmpty())
{ {
if (ui.tileSetListWidget->findItems(text, Qt::MatchExactly).count() > 0) if (ui.tileSetListWidget->findItems(text, Qt::MatchExactly).count() > 0)
{ {
QMessageBox::information( this, "Error Adding Tile Set", "This name already exists" ); QMessageBox::information( this, tr("Error Adding Tile Set"), tr("This name already exists") );
} }
else else
{ {
@ -182,7 +198,7 @@ void CTile_edit_dlg::on_editTileSetPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set to edit first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set to edit first ...") );
} }
} }
void CTile_edit_dlg::on_deleteTileSetPushButton_clicked() void CTile_edit_dlg::on_deleteTileSetPushButton_clicked()
@ -208,7 +224,7 @@ void CTile_edit_dlg::on_deleteTileSetPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set to delete first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set to delete first ...") );
} }
} }
void CTile_edit_dlg::on_chooseVegetPushButton_clicked() void CTile_edit_dlg::on_chooseVegetPushButton_clicked()
@ -218,7 +234,7 @@ void CTile_edit_dlg::on_chooseVegetPushButton_clicked()
{ {
QFileDialog::Options options; QFileDialog::Options options;
QString selectedFilter; QString selectedFilter;
QString fileName = QFileDialog::getOpenFileName(this, "Choose Veget Set", ui.chooseVegetPushButton->text() , "NeL VegetSet Files (*.vegetset);;All Files (*.*);;", &selectedFilter, options); QString fileName = QFileDialog::getOpenFileName(this, tr("Choose Veget Set"), ui.chooseVegetPushButton->text() , tr("NeL VegetSet Files (*.vegetset);;All Files (*.*);;"), &selectedFilter, options);
if (!fileName.isEmpty()) if (!fileName.isEmpty())
{ {
@ -229,7 +245,7 @@ void CTile_edit_dlg::on_chooseVegetPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set first ...") );
} }
} }
void CTile_edit_dlg::on_resetVegetPushButton_clicked() void CTile_edit_dlg::on_resetVegetPushButton_clicked()
@ -242,7 +258,7 @@ void CTile_edit_dlg::on_resetVegetPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set first ...") );
} }
} }
@ -262,7 +278,7 @@ void CTile_edit_dlg::on_surfaceDataLineEdit_textChanged()
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set first ...") );
} }
} }
} }
@ -278,7 +294,7 @@ void CTile_edit_dlg::on_orientedCheckBox_stateChanged ( int state )
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set first ...") );
} }
} }
} }
@ -326,7 +342,7 @@ void CTile_edit_dlg::on_loadPushButton_clicked()
{ {
QFileDialog::Options options; QFileDialog::Options options;
QString selectedFilter; QString selectedFilter;
QString fileName = QFileDialog::getOpenFileName(this, "Open Bank", ui.absolutePathPushButton->text() , "NeL tile bank files (*.bank);;All Files (*.*);;", &selectedFilter, options); QString fileName = QFileDialog::getOpenFileName(this, tr("Open Bank"), ui.absolutePathPushButton->text() , tr("NeL tile bank files (*.bank);;All Files (*.*);;"), &selectedFilter, options);
if (!fileName.isEmpty()) if (!fileName.isEmpty())
{ {
@ -374,20 +390,20 @@ void CTile_edit_dlg::on_savePushButton_clicked()
if ( stream.open( fullPath.c_str() ) ) if ( stream.open( fullPath.c_str() ) )
{ {
tileBank.serial (stream); tileBank.serial (stream);
QString s = QString("Bank %1 saved").arg( QString( fullPath.c_str() ) ); QString s = tr("Bank %1 saved").arg( QString( fullPath.c_str() ) );
QMessageBox::information(this, "Bank Saved", s); QMessageBox::information(this, tr("Bank Saved"), s);
return; return;
} }
} }
QMessageBox::information(this, "Error", "Can't Save Bank, check the path"); QMessageBox::information(this, tr("Error"), tr("Can't Save Bank, check the path"));
} }
void CTile_edit_dlg::on_saveAsPushButton_clicked() void CTile_edit_dlg::on_saveAsPushButton_clicked()
{ {
QFileDialog::Options options; QFileDialog::Options options;
QString selectedFilter; QString selectedFilter;
QString fileName = QFileDialog::getSaveFileName(this, "Save Bank", this->mainFile.absoluteFilePath(), "NeL tile bank files (*.bank);;All Files (*.*);;", &selectedFilter, options); QString fileName = QFileDialog::getSaveFileName(this, tr("Save Bank"), this->mainFile.absoluteFilePath(), tr("NeL tile bank files (*.bank);;All Files (*.*);;"), &selectedFilter, options);
if (!fileName.isEmpty()) if (!fileName.isEmpty())
{ {
// Set MainFile // Set MainFile
@ -402,13 +418,13 @@ void CTile_edit_dlg::on_saveAsPushButton_clicked()
if ( stream.open( fullPath.c_str() ) ) if ( stream.open( fullPath.c_str() ) )
{ {
tileBank.serial (stream); tileBank.serial (stream);
QString s = QString("Bank %1 saved").arg( QString( fullPath.c_str() ) ); QString s = tr("Bank %1 saved").arg( QString( fullPath.c_str() ) );
QMessageBox::information(this, "Bank Saved", s); QMessageBox::information(this, tr("Bank Saved"), s);
return; return;
} }
} }
QMessageBox::information(this, "Error", "Can't Save Bank, check the path"); QMessageBox::information(this, tr("Error"), tr("Can't Save Bank, check the path"));
} }
@ -419,7 +435,7 @@ void CTile_edit_dlg::on_exportPushButton_clicked()
{ {
QFileDialog::Options options; QFileDialog::Options options;
QString selectedFilter; QString selectedFilter;
QString fileName = QFileDialog::getSaveFileName(this, "Export Bank", this->mainFile.absolutePath() + QDir::separator() + "*.smallbank", "NeL tile small bank files (*.smallbank);;All Files (*.*);;", &selectedFilter, options); QString fileName = QFileDialog::getSaveFileName(this, tr("Export Bank"), this->mainFile.absolutePath() + QDir::separator() + tr("*.smallbank"), tr("NeL tile small bank files (*.smallbank);;All Files (*.*);;"), &selectedFilter, options);
if (!fileName.isEmpty()) if (!fileName.isEmpty())
{ {
// Copy the bank // Copy the bank
@ -436,13 +452,13 @@ void CTile_edit_dlg::on_exportPushButton_clicked()
if ( stream.open( fullPath.c_str() ) ) if ( stream.open( fullPath.c_str() ) )
{ {
copy.serial (stream); copy.serial (stream);
QString s = QString("Bank %1 exported").arg( QString( fullPath.c_str() ) ); QString s = tr("Bank %1 exported").arg( QString( fullPath.c_str() ) );
QMessageBox::information(this, "Bank Saved", s); QMessageBox::information(this, tr("Bank Saved"), s);
return; return;
} }
} }
QMessageBox::information(this, "Error", "Can't Export the Bank, check the path"); QMessageBox::information(this, tr("Error"), tr("Can't Export the Bank, check the path"));
} }
} }
@ -450,7 +466,7 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked()
{ {
// Build the struct // Build the struct
QFileDialog::Options options = QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly; QFileDialog::Options options = QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly;
QString directory = QFileDialog::getExistingDirectory(this, "Select the absolute base path of the bank", ui.absolutePathPushButton->text(), options); QString directory = QFileDialog::getExistingDirectory(this, tr("Select the absolute base path of the bank"), ui.absolutePathPushButton->text(), options);
// Select the path // Select the path
if (!directory.isEmpty()) if (!directory.isEmpty())
@ -467,8 +483,8 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked()
//// Last check //// Last check
QMessageBox::StandardButton reply; QMessageBox::StandardButton reply;
QString confirmMessage = QString("Do you really want to set %1 as base path of the bank ?").arg(path); QString confirmMessage = tr("Do you really want to set %1 as base path of the bank?").arg(path);
reply = QMessageBox::question(this, "Confirm Path", confirmMessage, QMessageBox::Yes | QMessageBox::No); reply = QMessageBox::question(this, tr("Confirm Path"), confirmMessage, QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::Yes) if (reply == QMessageBox::Yes)
{ {
// Set as default path.. // Set as default path..
@ -514,8 +530,8 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked()
goodPath=false; goodPath=false;
// Message // Message
QString continueMessage = QString("Path '%1' can't be found in bitmap '%2'. Continue ?").arg(path).arg(QString(bitmapPath.c_str())); QString continueMessage = tr("Path '%1' can't be found in bitmap '%2'. Continue ?").arg(path).arg(QString(bitmapPath.c_str()));
reply = QMessageBox::question(this, "Continue", continueMessage, QMessageBox::Yes | QMessageBox::No); reply = QMessageBox::question(this, tr("Continue"), continueMessage, QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::No) if (reply == QMessageBox::No)
break; break;
} }
@ -542,8 +558,8 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked()
goodPath=false; goodPath=false;
// Message // Message
QString continueMessage = QString("Path '%1' can't be found in bitmap '%2'. Continue ?").arg(path).arg(QString(bitmapPath)); QString continueMessage = tr("Path '%1' can't be found in bitmap '%2'. Continue ?").arg(path).arg(QString(bitmapPath));
reply = QMessageBox::question(this, "Continue", continueMessage, QMessageBox::Yes | QMessageBox::No); reply = QMessageBox::question(this, tr("Continue"), continueMessage, QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::No) if (reply == QMessageBox::No)
break; break;
} }
@ -608,7 +624,7 @@ void CTile_edit_dlg::on_absolutePathPushButton_clicked()
else else
{ {
// Info message // Info message
QMessageBox::information(this, "Error", "Can't set the path."); QMessageBox::information(this, tr("Error"), tr("Can't set the path."));
} }
} }
@ -646,7 +662,7 @@ void CTile_edit_dlg::on_downPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set first ...") );
} }
} }
@ -666,13 +682,13 @@ void CTile_edit_dlg::on_upPushButton_clicked()
} }
else else
{ {
QMessageBox::information( this, "No Tile Set Selected", "Please, select a Tile Set first ..." ); QMessageBox::information( this, tr("No Tile Set Selected"), tr("Please, select a Tile Set first ...") );
} }
} }
void CTile_edit_dlg::closeEvent(QCloseEvent *event) void CTile_edit_dlg::closeEvent(QCloseEvent *event)
{ {
int reply = QMessageBox::question(this, "Quit", "Are you sure you want to quit?", QMessageBox::Yes | QMessageBox::No); int reply = QMessageBox::question(this, tr("Quit"), tr("Are you sure you want to quit?"), QMessageBox::Yes | QMessageBox::No);
if (reply == QMessageBox::Yes) if (reply == QMessageBox::Yes)
{ {
event->accept(); event->accept();

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 TILE_EDITDLG_H #ifndef TILE_EDITDLG_H
#define TILE_EDITDLG_H #define TILE_EDITDLG_H

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 "tile_listwidgetitem.h" #include "tile_listwidgetitem.h"
//tile_listwidgetitem::tile_listwidgetitem(void) //tile_listwidgetitem::tile_listwidgetitem(void)

View file

@ -1,3 +1,18 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 TILE_WIDGET_H #ifndef TILE_WIDGET_H
#define TILE_WIDGET_H #define TILE_WIDGET_H

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 "tile_rotation_dlg.h" #include "tile_rotation_dlg.h"
CTile_rotation_dlg::CTile_rotation_dlg(QWidget *parent, Qt::WindowFlags flags) CTile_rotation_dlg::CTile_rotation_dlg(QWidget *parent, Qt::WindowFlags flags)

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 TILE_ROTATIONDLG_H #ifndef TILE_ROTATIONDLG_H
#define TILE_ROTATIONDLG_H #define TILE_ROTATIONDLG_H

View file

@ -1,3 +1,19 @@
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// 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 <QtGui/QtGui> #include <QtGui/QtGui>
#include "tiles_model.h" #include "tiles_model.h"
#include "tile_widget.h" #include "tile_widget.h"
@ -9,7 +25,7 @@ bool caseInsensitiveLessThan(const TileModel &t1, const TileModel &t2)
} }
TileModel::TileModel():pixmapSide(128),tileLabel("Right-Click to select Bitmap"), index(-1) TileModel::TileModel():pixmapSide(128),tileLabel(QObject::tr("Right-Click to select Bitmap")), index(-1)
{ {
} }
@ -23,7 +39,7 @@ TileModel::TileModel(int pixmapSide, QString tileLabel, int index):pixmapSide(pi
if (!tileLabel.isEmpty()) if (!tileLabel.isEmpty())
this->tileLabel = tileLabel; this->tileLabel = tileLabel;
else else
this->tileLabel = "Right-Click to select Bitmap"; this->tileLabel = QObject::tr("Right-Click to select Bitmap");
} }

View file

@ -400,6 +400,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shapes_exporter", "3d\shape
{2B48BE83-108B-4E8E-8A55-6627CF09AC5A} = {2B48BE83-108B-4E8E-8A55-6627CF09AC5A} {2B48BE83-108B-4E8E-8A55-6627CF09AC5A} = {2B48BE83-108B-4E8E-8A55-6627CF09AC5A}
EndProjectSection EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "georges2csv", "georges\georges2csv\georges2csv.vcproj", "{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
@ -944,6 +946,14 @@ Global
{F8607267-5BA2-4BE8-A674-26C3F7D0A9BB}.Release|Win32.Build.0 = Release|Win32 {F8607267-5BA2-4BE8-A674-26C3F7D0A9BB}.Release|Win32.Build.0 = Release|Win32
{F8607267-5BA2-4BE8-A674-26C3F7D0A9BB}.Release|x64.ActiveCfg = Release|x64 {F8607267-5BA2-4BE8-A674-26C3F7D0A9BB}.Release|x64.ActiveCfg = Release|x64
{F8607267-5BA2-4BE8-A674-26C3F7D0A9BB}.Release|x64.Build.0 = Release|x64 {F8607267-5BA2-4BE8-A674-26C3F7D0A9BB}.Release|x64.Build.0 = Release|x64
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Debug|Win32.ActiveCfg = Debug|Win32
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Debug|Win32.Build.0 = Debug|Win32
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Debug|x64.ActiveCfg = Debug|x64
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Debug|x64.Build.0 = Debug|x64
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Release|Win32.ActiveCfg = Release|Win32
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Release|Win32.Build.0 = Release|Win32
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Release|x64.ActiveCfg = Release|x64
{885542B1-BE3C-401A-A2A4-DA49E48DF0AB}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View file

@ -10,6 +10,9 @@
<Platform <Platform
Name="Win32" Name="Win32"
/> />
<Platform
Name="x64"
/>
</Platforms> </Platforms>
<ToolFiles> <ToolFiles>
</ToolFiles> </ToolFiles>
@ -172,6 +175,166 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1036"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ProjectName)_d.exe"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="3"
InlineFunctionExpansion="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
EnableFiberSafeOptimizations="true"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
StringPooling="true"
RuntimeLibrary="2"
WarningLevel="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1036"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ProjectName)_r.exe"
LinkIncremental="1"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations> </Configurations>
<References> <References>
</References> </References>

View file

@ -24,6 +24,8 @@ ENDIF(WIN32)
ADD_DEFINITIONS(${LIBXML2_DEFINITIONS}) ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
IF(WITH_PCH)
ADD_NATIVE_PRECOMPILED_HEADER(logic_editor_dll ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp) ADD_NATIVE_PRECOMPILED_HEADER(logic_editor_dll ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp)
ENDIF(WITH_PCH)
INSTALL(TARGETS logic_editor_dll LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT toolsmisc) INSTALL(TARGETS logic_editor_dll LIBRARY DESTINATION lib RUNTIME DESTINATION bin ARCHIVE DESTINATION lib COMPONENT toolsmisc)

View file

@ -13,6 +13,8 @@ IF(WIN32)
PROJECT_LABEL "Tools, Logic: Logic Editor") PROJECT_LABEL "Tools, Logic: Logic Editor")
ENDIF(WIN32) ENDIF(WIN32)
IF(WITH_PCH)
ADD_NATIVE_PRECOMPILED_HEADER(logic_editor ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp) ADD_NATIVE_PRECOMPILED_HEADER(logic_editor ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp)
ENDIF(WITH_PCH)
INSTALL(TARGETS logic_editor RUNTIME DESTINATION bin COMPONENT toolsmisc) INSTALL(TARGETS logic_editor RUNTIME DESTINATION bin COMPONENT toolsmisc)

View file

@ -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/\\"")

View file

@ -120,8 +120,6 @@ void init()
} }
// //
CFileDisplayer fd("evallog.log", true);
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
// Filter addSearchPath // Filter addSearchPath
@ -129,6 +127,7 @@ int main(int argc, char **argv)
InfoLog->addNegativeFilter("adding the path"); InfoLog->addNegativeFilter("adding the path");
createDebug(); createDebug();
CFileDisplayer fd(getLogDirectory() + "evallog.log", true);
try try
{ {

View file

@ -299,14 +299,14 @@ void moulineZones(vector<string> &zoneNames)
/****************************************************************\ /****************************************************************\
MAIN MAIN
\****************************************************************/ \****************************************************************/
CFileDisplayer fd("evallog.log", true);
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
// Filter addSearchPath // Filter addSearchPath
NLMISC::createDebug(); NLMISC::createDebug();
InfoLog->addNegativeFilter ("adding the path"); InfoLog->addNegativeFilter ("adding the path");
CFileDisplayer fd(getLogDirectory() + "evallog.log", true);
#ifdef LOG_ALL_INFO_TO_FILE #ifdef LOG_ALL_INFO_TO_FILE
createDebug(); createDebug();
DebugLog->addDisplayer (&fd); DebugLog->addDisplayer (&fd);

View file

@ -67,10 +67,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_d.exe" OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true" SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrt" IgnoreDefaultLibraryNames="msvcrt.lib"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2" SubSystem="2"
@ -99,6 +98,87 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="msvcrt.lib"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)" OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
@ -181,87 +261,6 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -366,15 +365,6 @@
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Debug|x64" Name="Debug|x64"
> >
@ -385,6 +375,15 @@
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Release|x64" Name="Release|x64"
> >
@ -427,15 +426,6 @@
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Debug|x64" Name="Debug|x64"
> >
@ -446,6 +436,15 @@
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Release|x64" Name="Release|x64"
> >

View file

@ -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="admin_service" Name="admin_service"
ProjectGUID="{AA03E539-FE77-4B63-BE0E-DE637635E5A9}" ProjectGUID="{AA03E539-FE77-4B63-BE0E-DE637635E5A9}"
RootNamespace="admin_service" RootNamespace="admin_service"
@ -150,7 +150,7 @@
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="mysqlclient.lib" AdditionalDependencies="mysqlclient.lib"
SuppressStartupBanner="true" SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="" IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2" SubSystem="2"

View file

@ -67,10 +67,10 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib mysqlclientd.lib" AdditionalDependencies="mysqlclient.lib"
OutputFile="$(RootNamespace)_d.exe" OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true" SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrt" IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2" SubSystem="2"
@ -99,6 +99,88 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="mysqlclient.lib"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)" OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
@ -181,88 +263,6 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="mysqlclient.lib"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"

View file

@ -71,10 +71,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_d.exe" OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true" SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrt" IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2" SubSystem="2"
@ -103,6 +102,90 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="StdAfx.h"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)" OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
@ -188,90 +271,6 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="2"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="StdAfx.h"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"
@ -394,7 +393,7 @@
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Release|Win32" Name="Debug|x64"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
@ -402,7 +401,7 @@
/> />
</FileConfiguration> </FileConfiguration>
<FileConfiguration <FileConfiguration
Name="Debug|x64" Name="Release|Win32"
> >
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"

View file

@ -67,10 +67,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_d.exe" OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true" SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrt" IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2" SubSystem="2"
@ -99,6 +98,87 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)" OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
@ -181,87 +261,6 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"

View file

@ -67,10 +67,9 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib"
OutputFile="$(RootNamespace)_d.exe" OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true" SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrt" IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true" GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb" ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2" SubSystem="2"
@ -99,6 +98,87 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames="msvcrt"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|Win32" Name="Release|Win32"
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)" OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
@ -181,87 +261,6 @@
Name="VCPostBuildEventTool" Name="VCPostBuildEventTool"
/> />
</Configuration> </Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
PreprocessorDefinitions="LIBXML_STATIC;WIN32;_DEBUG;_WINDOWS"
StringPooling="true"
ExceptionHandling="2"
BasicRuntimeChecks="3"
SmallerTypeCheck="true"
RuntimeLibrary="3"
BufferSecurityCheck="true"
EnableFunctionLevelLinking="true"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(RootNamespace)_d.exe"
SuppressStartupBanner="true"
IgnoreDefaultLibraryNames=""
GenerateDebugInformation="true"
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
SubSystem="2"
ImportLibrary="$(RootNamespace)_d.lib"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration <Configuration
Name="Release|x64" Name="Release|x64"
OutputDirectory="$(PlatformName)\$(ConfigurationName)" OutputDirectory="$(PlatformName)\$(ConfigurationName)"

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

View file

@ -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)

Some files were not shown because too many files have changed in this diff Show more