Merge with develop

--HG--
branch : compatibility-develop
This commit is contained in:
Nimetu 2017-05-01 13:18:58 +03:00
commit 5f8fc673d1
11 changed files with 79 additions and 43 deletions

View file

@ -30,6 +30,14 @@ ELSE()
SET(NLDRV_OGL_LIB "nel_drv_opengl") SET(NLDRV_OGL_LIB "nel_drv_opengl")
ENDIF() ENDIF()
# This helps to debug issue 310
IF(DEBUG_OGL_SPECULAR_FALLBACK)
ADD_DEFINITIONS(-DDEBUG_OGL_SPECULAR_FALLBACK)
ENDIF()
IF(DEBUG_OGL_COMBINE43_DISABLE)
ADD_DEFINITIONS(-DDEBUG_OGL_COMBINE43_DISABLE)
ENDIF()
NL_TARGET_DRIVER(${NLDRV_OGL_LIB} ${SRC}) NL_TARGET_DRIVER(${NLDRV_OGL_LIB} ${SRC})
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})

View file

@ -786,7 +786,13 @@ static bool setupNVTextureEnvCombine4(const char *glext)
{ {
H_AUTO_OGL(setupNVTextureEnvCombine4); H_AUTO_OGL(setupNVTextureEnvCombine4);
CHECK_EXT("GL_NV_texture_env_combine4"); CHECK_EXT("GL_NV_texture_env_combine4");
#ifdef DEBUG_OGL_COMBINE43_DISABLE
// issue 310: disable extension to debug bug around CDriverGL::setupSpecularPass()
nlwarning("GL_NV_texture_env_combine4 disabled by request (DEBUG_OGL_COMBINE43_DISABLE)");
return false;
#else
return true; return true;
#endif
} }
// ********************************* // *********************************
@ -802,7 +808,13 @@ static bool setupATITextureEnvCombine3(const char *glext)
// #endif // #endif
CHECK_EXT("GL_ATI_texture_env_combine3"); CHECK_EXT("GL_ATI_texture_env_combine3");
#ifdef DEBUG_OGL_COMBINE43_DISABLE
// issue 310: disable extension to debug bug around CDriverGL::setupSpecularPass()
nlwarning("GL_ATI_texture_env_combine3 disabled by request (DEBUG_OGL_COMBINE43_DISABLE)");
return false;
#else
return true; return true;
#endif
} }
// ********************************* // *********************************

View file

@ -1425,6 +1425,11 @@ void CDriverGL::setupSpecularPass(uint pass)
} }
else else
{ {
// Disabled because of Intel GPU texture bug (issue 310)
// CMake options to debug
// -DDEBUG_OGL_SPECULAR_FALLBACK=ON enables this
// -DDEBUG_OGL_COMBINE43_DISABLE=ON disables GL_NV_texture_env_combine4/GL_ATI_texture_env_combine3
#ifdef DEBUG_OGL_SPECULAR_FALLBACK
// Multiply texture1 by alpha_texture0 and display with add // Multiply texture1 by alpha_texture0 and display with add
_DriverGLStates.enableBlend(true); _DriverGLStates.enableBlend(true);
_DriverGLStates.blendFunc(GL_ONE, GL_ONE); _DriverGLStates.blendFunc(GL_ONE, GL_ONE);
@ -1457,6 +1462,7 @@ void CDriverGL::setupSpecularPass(uint pass)
} }
activateTexEnvMode(1, env); activateTexEnvMode(1, env);
#endif // DEBUG_OGL_SPECULAR_FALLBACK
} }
} }
} }

View file

@ -1,3 +1,6 @@
IF(APPLE)
add_definitions("-ftemplate-depth=100")
ENDIF()
FILE(GLOB SRC *.cpp *.h) FILE(GLOB SRC *.cpp *.h)
LIST(REMOVE_ITEM SRC LIST(REMOVE_ITEM SRC

View file

@ -84,7 +84,7 @@ uint ImpactSchemes [6][3] = { { 0, 1, 2 }, { 0, 2, 1 }, { 1, 0, 2 }, { 1, 2, 0 }
// Observed impact on E (/10): 6 3 1 1 3 10 // Observed impact on E (/10): 6 3 1 1 3 10
// Note: if modifying this schemes, please change FORAGE_SOURCE_IMPACT_MODE in phrase_en.txt. // Note: if modifying this schemes, please change FORAGE_SOURCE_IMPACT_MODE in phrase_en.txt.
uint SpecialNewbieImpactSchemeD = 10; uint SpecialNewbieImpactSchemeD = 10;
uint16 LowDangerMappings [2] = { (uint16)SpecialNewbieImpactSchemeD+1, (uint16)SpecialNewbieImpactSchemeD+4 }; uint16 LowDangerMappings [2] = {(uint16)(SpecialNewbieImpactSchemeD+1), (uint16)(SpecialNewbieImpactSchemeD+4)};
sint8 ExplosionResetPeriod = 50; // 5 s sint8 ExplosionResetPeriod = 50; // 5 s

View file

@ -48,19 +48,19 @@ public:
SerialNumber(0) SerialNumber(0)
{ {
// warn the client that the transport is open // warn the client that the transport is open
CMessage nil; CMessage msg;
sendRawMessage("MODULE_GATEWAY:FEOPEN", nil); sendRawMessage("MODULE_GATEWAY:FEOPEN", msg);
} }
~CFEServerRoute() ~CFEServerRoute()
{ {
// warn the client that the transport is closed // warn the client that the transport is closed
CMessage nil; CMessage msg;
// check special case when application close // check special case when application close
if (!CActionFactory::isInstanceAllocated()) if (!CActionFactory::isInstanceAllocated())
return; return;
sendRawMessage("MODULE_GATEWAY:FECLOSE", nil); sendRawMessage("MODULE_GATEWAY:FECLOSE", msg);
} }

View file

@ -179,7 +179,7 @@ void CMailForumService::checkFile(const std::string& file)
++pt; ++pt;
// file contents "$$$$" -> end of file marker, file is complete, can be deleted // file contents "$$$$" -> end of file marker, file is complete, can be deleted
if (pt != '\0') if (*pt != '\0')
{ {
CFile::deleteFile(file); CFile::deleteFile(file);

View file

@ -36,6 +36,10 @@
typedef unsigned long ulong; typedef unsigned long ulong;
#endif // NL_OS_WINDOWS #endif // NL_OS_WINDOWS
#ifdef NL_OS_MAC
typedef unsigned long ulong;
#endif
#include <mysql.h> #include <mysql.h>
using namespace NLMISC; using namespace NLMISC;

View file

@ -55,7 +55,7 @@ namespace RY_PDS
* 0 is remapped to the new object value that appears in stream and so on (reallocations are done * 0 is remapped to the new object value that appears in stream and so on (reallocations are done
* circularly through key values). Mask value is for test purposes only, not to be changed! * circularly through key values). Mask value is for test purposes only, not to be changed!
*/ */
template<typename Key, typename Object, int Mask = 0xffffffff, typename TBackMap = std::map<Object, Key> > template<typename Key, typename Object, uint32 Mask = 0xffffffff, typename TBackMap = std::map<Object, Key> >
class CObjCircMapper class CObjCircMapper
{ {
public: public:

View file

@ -30,6 +30,9 @@
# include <Windows.h> # include <Windows.h>
typedef unsigned long ulong; typedef unsigned long ulong;
#endif #endif
#ifdef NL_OS_MAC
typedef unsigned long ulong;
#endif
#include <mysql.h> #include <mysql.h>
#include <time.h> #include <time.h>

View file

@ -2201,9 +2201,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CSessionPtr nil; static CSessionPtr nilPtr;
return nil; return nilPtr;
} }
@ -2252,9 +2252,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CSessionParticipantPtr nil; static CSessionParticipantPtr nilPtr;
return nil; return nilPtr;
} }
@ -2303,9 +2303,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CKnownUserPtr nil; static CKnownUserPtr nilPtr;
return nil; return nilPtr;
} }
@ -2354,9 +2354,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CPlayerRatingPtr nil; static CPlayerRatingPtr nilPtr;
return nil; return nilPtr;
} }
@ -3016,9 +3016,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CKnownUserPtr nil; static CKnownUserPtr nilPtr;
return nil; return nilPtr;
} }
@ -3054,8 +3054,8 @@ namespace RSMGR
if (it == _Characters->end()) if (it == _Characters->end())
{ {
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CCharacterPtr nil; static CCharacterPtr nilPtr;
return nil; return nilPtr;
} }
return const_cast< CCharacterPtr & >(it->second); return const_cast< CCharacterPtr & >(it->second);
@ -3107,9 +3107,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CFolderPtr nil; static CFolderPtr nilPtr;
return nil; return nilPtr;
} }
@ -3158,9 +3158,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CFolderAccessPtr nil; static CFolderAccessPtr nilPtr;
return nil; return nilPtr;
} }
@ -4273,9 +4273,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CSessionParticipantPtr nil; static CSessionParticipantPtr nilPtr;
return nil; return nilPtr;
} }
@ -4324,9 +4324,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CGuildInvitePtr nil; static CGuildInvitePtr nilPtr;
return nil; return nilPtr;
} }
@ -4375,9 +4375,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CJournalEntryPtr nil; static CJournalEntryPtr nilPtr;
return nil; return nilPtr;
} }
@ -4891,8 +4891,8 @@ namespace RSMGR
if (it == _Guilds->end()) if (it == _Guilds->end())
{ {
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CGuildPtr nil; static CGuildPtr nilPtr;
return nil; return nilPtr;
} }
return const_cast< CGuildPtr & >(it->second); return const_cast< CGuildPtr & >(it->second);
@ -5514,9 +5514,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CCharacterPtr nil; static CCharacterPtr nilPtr;
return nil; return nilPtr;
} }
@ -5565,9 +5565,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CGuildInvitePtr nil; static CGuildInvitePtr nilPtr;
return nil; return nilPtr;
} }
@ -8046,9 +8046,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CFolderAccessPtr nil; static CFolderAccessPtr nilPtr;
return nil; return nilPtr;
} }
@ -8097,9 +8097,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CSessionPtr nil; static CSessionPtr nilPtr;
return nil; return nilPtr;
} }
@ -9312,9 +9312,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CSessionLogPtr nil; static CSessionLogPtr nilPtr;
return nil; return nilPtr;
} }
@ -9363,9 +9363,9 @@ namespace RSMGR
} }
// no object with this id, return a null pointer // no object with this id, return a null pointer
static CPlayerRatingPtr nil; static CPlayerRatingPtr nilPtr;
return nil; return nilPtr;
} }