diff --git a/code/CMakeModules/FindLua53.cmake b/code/CMakeModules/FindLua53.cmake new file mode 100644 index 000000000..45fdcf630 --- /dev/null +++ b/code/CMakeModules/FindLua53.cmake @@ -0,0 +1,81 @@ +# Locate Lua library +# This module defines +# LUA53_FOUND, if false, do not try to link to Lua +# LUA_LIBRARIES +# LUA_INCLUDE_DIR, where to find lua.h +# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8) +# +# Note that the expected include convention is +# #include "lua.h" +# and not +# #include +# This is because, the lua location is not standardized and may exist +# in locations other than lua/ + +#============================================================================= +# Copyright 2007-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + +find_path(LUA_INCLUDE_DIR lua.h + HINTS + ENV LUA_DIR + PATH_SUFFIXES include/lua53 include/lua5.3 include/lua-5.3 include/lua include + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave + /opt +) + +find_library(LUA_LIBRARY + NAMES lua53 lua5.3 lua-5.3 lua + HINTS + ENV LUA_DIR + PATH_SUFFIXES lib + PATHS + ~/Library/Frameworks + /Library/Frameworks + /sw + /opt/local + /opt/csw + /opt +) + +if(LUA_LIBRARY) + # include the math library for Unix + if(UNIX AND NOT APPLE AND NOT BEOS) + find_library(LUA_MATH_LIBRARY m) + set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries") + # For Windows and Mac, don't need to explicitly include the math library + else() + set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries") + endif() +endif() + +if(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h") + file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"") + + string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}") + unset(lua_version_str) +endif() + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if +# all listed variables are TRUE +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua52 + REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR + VERSION_VAR LUA_VERSION_STRING) + +mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY) + diff --git a/code/CMakeModules/FindLuabind.cmake b/code/CMakeModules/FindLuabind.cmake index 73255077a..6795a5089 100644 --- a/code/CMakeModules/FindLuabind.cmake +++ b/code/CMakeModules/FindLuabind.cmake @@ -42,20 +42,22 @@ MACRO(FIND_CORRECT_LUA_VERSION) ENDIF(LUALIB_FOUND) ELSE(LUABIND_LIBRARY_RELEASE MATCHES "\\.so") # TODO: find a way to detect Lua version - IF(WITH_LUA52) + IF(WITH_LUA53) + FIND_PACKAGE(Lua53 REQUIRED) + ELSEIF(WITH_LUA52) FIND_PACKAGE(Lua52 REQUIRED) ELSEIF(WITH_LUA51) FIND_PACKAGE(Lua51 REQUIRED) - ELSE(WITH_LUA52) + ELSE() FIND_PACKAGE(Lua50 REQUIRED) - ENDIF(WITH_LUA52) - ENDIF(LUABIND_LIBRARY_RELEASE MATCHES "\\.so") -ENDMACRO(FIND_CORRECT_LUA_VERSION) + ENDIF() + ENDIF() +ENDMACRO() IF(LUABIND_LIBRARIES AND LUABIND_INCLUDE_DIR) # in cache already SET(Luabind_FIND_QUIETLY TRUE) -ENDIF(LUABIND_LIBRARIES AND LUABIND_INCLUDE_DIR) +ENDIF() FIND_PATH(LUABIND_INCLUDE_DIR luabind/luabind.hpp @@ -72,11 +74,21 @@ FIND_PATH(LUABIND_INCLUDE_DIR SET(LIBRARY_NAME_RELEASE) SET(LIBRARY_NAME_DEBUG) +IF(WITH_LUA53) + IF(WITH_STLPORT) + LIST(APPEND LIBRARY_NAME_RELEASE luabind_stlport_lua53) + LIST(APPEND LIBRARY_NAME_DEBUG luabind_stlport_lua53d) + ENDIF() + + LIST(APPEND LIBRARY_NAME_RELEASE luabind_lua53) + LIST(APPEND LIBRARY_NAME_DEBUG luabind_lua53d) +ENDIF() + IF(WITH_LUA52) IF(WITH_STLPORT) LIST(APPEND LIBRARY_NAME_RELEASE luabind_stlport_lua52) LIST(APPEND LIBRARY_NAME_DEBUG luabind_stlport_lua52d) - ENDIF(WITH_STLPORT) + ENDIF() LIST(APPEND LIBRARY_NAME_RELEASE luabind_lua52) LIST(APPEND LIBRARY_NAME_DEBUG luabind_lua52d) diff --git a/code/CMakeModules/FindWindowsSDK.cmake b/code/CMakeModules/FindWindowsSDK.cmake index dbcb48931..bdc940090 100644 --- a/code/CMakeModules/FindWindowsSDK.cmake +++ b/code/CMakeModules/FindWindowsSDK.cmake @@ -251,10 +251,10 @@ MACRO(USE_CURRENT_WINSDK) SET(WINSDK_VERSION "6.1") ELSEIF(WINSDK6.0_FOUND) SET(WINSDK_VERSION "6.0") - ELSE(WINSDK7.1_FOUND) + ELSE() MESSAGE(FATAL_ERROR "You have no compatible Windows SDK installed.") - ENDIF(WINSDK7.1_FOUND) - ENDIF(NOT WINSDK_VERSION) + ENDIF() + ENDIF() # Look for correct registered Windows SDK version FOREACH(_VERSION ${WINSDK_DETECTED_VERSIONS}) diff --git a/code/CMakeModules/nel.cmake b/code/CMakeModules/nel.cmake index a4561c677..d02db8bd5 100644 --- a/code/CMakeModules/nel.cmake +++ b/code/CMakeModules/nel.cmake @@ -373,6 +373,7 @@ MACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS) ### OPTION(WITH_LUA51 "Build Ryzom Core using Lua 5.1" ON ) OPTION(WITH_LUA52 "Build Ryzom Core using Lua 5.2" OFF) + OPTION(WITH_LUA53 "Build Ryzom Core using Lua 5.3" OFF) OPTION(WITH_RYZOM_CLIENT_UAC "Ask to run as Administrator" OFF) ENDMACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS) diff --git a/code/nel/src/3d/driver/direct3d/driver_direct3d.def b/code/nel/src/3d/driver/direct3d/driver_direct3d.def index 7e6b29b2e..e52ed712d 100644 --- a/code/nel/src/3d/driver/direct3d/driver_direct3d.def +++ b/code/nel/src/3d/driver/direct3d/driver_direct3d.def @@ -1,4 +1,3 @@ -LIBRARY nel_drv_direct3d_win_r EXPORTS NL3D_createIDriverInstance NL3D_interfaceVersion \ No newline at end of file diff --git a/code/nel/src/3d/driver/opengl/driver_opengl.def b/code/nel/src/3d/driver/opengl/driver_opengl.def index 369389fa9..e52ed712d 100644 --- a/code/nel/src/3d/driver/opengl/driver_opengl.def +++ b/code/nel/src/3d/driver/opengl/driver_opengl.def @@ -1,4 +1,3 @@ -LIBRARY nel_drv_opengl_win_r EXPORTS NL3D_createIDriverInstance NL3D_interfaceVersion \ No newline at end of file diff --git a/code/nel/src/sound/driver/openal/driver_openal.def b/code/nel/src/sound/driver/openal/driver_openal.def index a8b0c2781..cf5a0aaf2 100644 --- a/code/nel/src/sound/driver/openal/driver_openal.def +++ b/code/nel/src/sound/driver/openal/driver_openal.def @@ -1,4 +1,3 @@ -LIBRARY nel_drv_openal_win_r EXPORTS NLSOUND_createISoundDriverInstance NLSOUND_interfaceVersion diff --git a/code/nel/src/sound/driver/xaudio2/driver_xaudio2.def b/code/nel/src/sound/driver/xaudio2/driver_xaudio2.def index 2a29a2d91..cf5a0aaf2 100644 --- a/code/nel/src/sound/driver/xaudio2/driver_xaudio2.def +++ b/code/nel/src/sound/driver/xaudio2/driver_xaudio2.def @@ -1,4 +1,3 @@ -LIBRARY nel_drv_xaudio2_win_r EXPORTS NLSOUND_createISoundDriverInstance NLSOUND_interfaceVersion diff --git a/code/ryzom/client/src/init.cpp b/code/ryzom/client/src/init.cpp index 9b5e5ca10..a3a5baddf 100644 --- a/code/ryzom/client/src/init.cpp +++ b/code/ryzom/client/src/init.cpp @@ -953,7 +953,7 @@ void prelogInit() return; } - if (ClientCfg.Width <= 0 || ClientCfg.Height <= 0) + if (ClientCfg.Width < 800 || ClientCfg.Height < 600) { UDriver::CMode mode; @@ -967,6 +967,15 @@ void prelogInit() ClientCfg.Width = 1024; ClientCfg.Height = 768; } + + // update client.cfg with detected resolution + CConfigFile::CVar *varPtr = ClientCfg.ConfigFile.getVarPtr("Width"); + if(varPtr) + varPtr->forceAsInt(ClientCfg.Width); + + varPtr = ClientCfg.ConfigFile.getVarPtr("Height"); + if(varPtr) + varPtr->forceAsInt(ClientCfg.Height); } CLoginProgressPostThread::getInstance().step(CLoginStep(LoginStep_VideoModeSetup, "login_step_video_mode_setup"));