merge from default

This commit is contained in:
cemycc 2011-06-08 14:51:07 +03:00
commit 34c3cecdc3
17 changed files with 155 additions and 74 deletions

View file

@ -90,27 +90,11 @@ NL_CONFIGURE_CHECKS()
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
#Platform specifics #Platform specifics
SETUP_EXTERNAL()
IF(WIN32) IF(WIN32)
INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
SET(WINSOCK2_LIB ws2_32.lib) SET(WINSOCK2_LIB ws2_32.lib)
FIND_PACKAGE(External REQUIRED)
IF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
# convert IDE fullpath to VC++ path
STRING(REGEX REPLACE "Common7/IDE/.+" "VC" VC_DIR ${CMAKE_MAKE_PROGRAM})
ELSE(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
IF(${CMAKE_CXX_COMPILER} MATCHES "VC")
# convert compiler fullpath to VC++ path
STRING(REGEX REPLACE "VC/bin/.+" "VC" VC_DIR ${CMAKE_CXX_COMPILER})
ELSE(${CMAKE_CXX_COMPILER} MATCHES "VC")
# Hack for Visual C++ 2010
GET_FILENAME_COMPONENT(VC_ROOT_PATH "[HKEY_CURRENT_USER\\Software\\Microsoft\\VCExpress\\10.0_Config;InstallDir]" ABSOLUTE)
# convert IDE fullpath to VC++ path
STRING(REGEX REPLACE "Common7/.*" "VC" VC_DIR ${VC_ROOT_PATH})
ENDIF(${CMAKE_CXX_COMPILER} MATCHES "VC")
ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
IF(WITH_MFC) IF(WITH_MFC)
FIND_PACKAGE(CustomMFC REQUIRED) FIND_PACKAGE(CustomMFC REQUIRED)
ENDIF(WITH_MFC) ENDIF(WITH_MFC)
@ -134,18 +118,6 @@ IF(WITH_STATIC)
ENDIF(APPLE) ENDIF(APPLE)
ENDIF(WITH_STATIC) ENDIF(WITH_STATIC)
IF(WITH_STLPORT)
FIND_PACKAGE(STLport REQUIRED)
INCLUDE_DIRECTORIES(${STLPORT_INCLUDE_DIR})
IF(WIN32)
SET(VC_INCLUDE_DIR "${VC_DIR}/include")
FIND_PACKAGE(WindowsSDK REQUIRED)
# use VC++ and Windows SDK include paths
INCLUDE_DIRECTORIES(${VC_INCLUDE_DIR} ${WINSDK_INCLUDE_DIR})
ENDIF(WIN32)
ENDIF(WITH_STLPORT)
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake) INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake)
IF(FINAL_VERSION) IF(FINAL_VERSION)

View file

@ -3,6 +3,7 @@
# The following values are defined # The following values are defined
# EXTERNAL_PATH - where to find external # EXTERNAL_PATH - where to find external
# EXTERNAL_INCLUDE_PATH - where to find external includes # EXTERNAL_INCLUDE_PATH - where to find external includes
# EXTERNAL_BINARY_PATH - where to find external binaries
# EXTERNAL_LIBRARY_PATH - where to find external libraries # EXTERNAL_LIBRARY_PATH - where to find external libraries
# EXTERNAL_FOUND - True if the external libraries are available # EXTERNAL_FOUND - True if the external libraries are available
@ -34,6 +35,13 @@ IF(EXTERNAL_PATH)
SET(EXTERNAL_FOUND TRUE) SET(EXTERNAL_FOUND TRUE)
SET(EXTERNAL_INCLUDE_PATH "${EXTERNAL_PATH}/include") SET(EXTERNAL_INCLUDE_PATH "${EXTERNAL_PATH}/include")
# Using 32 or 64 bits binaries
IF(TARGET_X64)
SET(EXTERNAL_BINARY_PATH "${EXTERNAL_PATH}/bin64")
ELSE(TARGET_X64)
SET(EXTERNAL_BINARY_PATH "${EXTERNAL_PATH}/bin")
ENDIF(TARGET_X64)
# Using 32 or 64 bits libraries # Using 32 or 64 bits libraries
IF(TARGET_X64) IF(TARGET_X64)
SET(EXTERNAL_LIBRARY_PATH "${EXTERNAL_PATH}/lib64") SET(EXTERNAL_LIBRARY_PATH "${EXTERNAL_PATH}/lib64")
@ -61,4 +69,4 @@ ELSE(EXTERNAL_FOUND)
ENDIF(External_FIND_REQUIRED) ENDIF(External_FIND_REQUIRED)
ENDIF(EXTERNAL_FOUND) ENDIF(EXTERNAL_FOUND)
MARK_AS_ADVANCED(EXTERNAL_INCLUDE_PATH EXTERNAL_LIBRARY_PATH) MARK_AS_ADVANCED(EXTERNAL_INCLUDE_PATH EXTERNAL_BINARY_PATH EXTERNAL_LIBRARY_PATH)

View file

@ -496,3 +496,44 @@ MACRO(RYZOM_SETUP_PREFIX_PATHS)
ENDIF(NOT RYZOM_GAMES_PREFIX) ENDIF(NOT RYZOM_GAMES_PREFIX)
ENDMACRO(RYZOM_SETUP_PREFIX_PATHS) ENDMACRO(RYZOM_SETUP_PREFIX_PATHS)
MACRO(SETUP_EXTERNAL)
IF(WIN32)
FIND_PACKAGE(External REQUIRED)
INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
IF(MSVC10)
GET_FILENAME_COMPONENT(VC_ROOT_DIR "[HKEY_CURRENT_USER\\Software\\Microsoft\\VisualStudio\\10.0_Config;InstallDir]" ABSOLUTE)
# VC_ROOT_DIR is set to "registry" when a key is not found
IF(VC_ROOT_DIR MATCHES "registry")
GET_FILENAME_COMPONENT(VC_ROOT_DIR "[HKEY_CURRENT_USER\\Software\\Microsoft\\VCExpress\\10.0_Config;InstallDir]" ABSOLUTE)
IF(VC_ROOT_DIR MATCHES "registry")
MESSAGE(FATAL_ERROR "Unable to find VC++ 2010 directory!")
ENDIF(VC_ROOT_DIR MATCHES "registry")
ENDIF(VC_ROOT_DIR MATCHES "registry")
# convert IDE fullpath to VC++ path
STRING(REGEX REPLACE "Common7/.*" "VC" VC_DIR ${VC_ROOT_DIR})
ELSE(MSVC10)
IF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
# convert IDE fullpath to VC++ path
STRING(REGEX REPLACE "Common7/.*" "VC" VC_DIR ${CMAKE_MAKE_PROGRAM})
ELSE(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
# convert compiler fullpath to VC++ path
STRING(REGEX REPLACE "VC/bin/.+" "VC" VC_DIR ${CMAKE_CXX_COMPILER})
ENDIF(${CMAKE_MAKE_PROGRAM} MATCHES "Common7")
ENDIF(MSVC10)
ENDIF(WIN32)
IF(WITH_STLPORT)
FIND_PACKAGE(STLport REQUIRED)
INCLUDE_DIRECTORIES(${STLPORT_INCLUDE_DIR})
IF(WIN32)
SET(VC_INCLUDE_DIR "${VC_DIR}/include")
FIND_PACKAGE(WindowsSDK REQUIRED)
# use VC++ and Windows SDK include paths
INCLUDE_DIRECTORIES(${VC_INCLUDE_DIR} ${WINSDK_INCLUDE_DIR})
ENDIF(WIN32)
ENDIF(WITH_STLPORT)
ENDMACRO(SETUP_EXTERNAL)

View file

@ -107,7 +107,7 @@ public:
bool Visible; bool Visible;
/// Precomputed Lighting. /// Precomputed Lighting.
// If true (false by default), then the instance don't cast shadow (used by ig_lighter.exe). // If true (false by default), then the instance don't cast shadow (used by ig_lighter).
bool DontCastShadow; bool DontCastShadow;
// If true (false by default), then the instance's lighting will not be precomputed. // If true (false by default), then the instance's lighting will not be precomputed.
bool AvoidStaticLightPreCompute; bool AvoidStaticLightPreCompute;
@ -120,7 +120,7 @@ public:
* If 0xFF => take Ambient of the sun. * If 0xFF => take Ambient of the sun.
*/ */
uint8 LocalAmbientId; uint8 LocalAmbientId;
/** if true (false by default), the instance don't cast shadow, but ONLY FOR ig_lighter.exe (ig_lighter_lib) /** if true (false by default), the instance don't cast shadow, but ONLY FOR ig_lighter (ig_lighter_lib)
* (zone_lighter and zone_ig_lighter ignore it). * (zone_lighter and zone_ig_lighter ignore it).
* This is a special trick for the "Matis Serre" where the exterior mesh cast shadow in the interior, but * This is a special trick for the "Matis Serre" where the exterior mesh cast shadow in the interior, but
* is not visible in the interior in realTime because of cluster clipping.... omg :( * is not visible in the interior in realTime because of cluster clipping.... omg :(

View file

@ -1,4 +1,5 @@
FILE(GLOB SRC *.cpp *.h *.def) FILE(GLOB SRC *.cpp *.h *.def)
IF(APPLE) IF(APPLE)
FILE(GLOB MAC_SRC mac/*.h mac/*.m mac/*.mm mac/*.cpp) FILE(GLOB MAC_SRC mac/*.h mac/*.m mac/*.mm mac/*.cpp)
SET(SRC ${SRC} ${MAC_SRC}) SET(SRC ${SRC} ${MAC_SRC})

View file

@ -20,22 +20,67 @@
#include "nel/misc/types_nl.h" #include "nel/misc/types_nl.h"
#ifdef USE_OPENGLES
# include <GLES/gl.h>
# include <GLES/glext.h>
#else
# ifdef NL_OS_MAC # ifdef NL_OS_MAC
# define GL_GLEXT_LEGACY # define GL_GLEXT_LEGACY
# include <OpenGL/gl.h> # include <OpenGL/gl.h>
# include "mac/glext.h" # include "mac/glext.h"
# else # else
# include <GL/gl.h> # include <GL/gl.h>
# include <GL/glext.h> // Please download it from http://www.opengl.org/registry/ # include <GL/glext.h>
# if defined(NL_OS_WINDOWS) # if defined(NL_OS_WINDOWS)
# include <GL/wglext.h> # include <GL/wglext.h>
# endif # endif
# endif # endif
#endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#ifdef USE_OPENGLES
// OES_mapbuffer
//==============
typedef void* (APIENTRY * NEL_PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
typedef GLboolean (APIENTRY * NEL_PFNGLUNMAPBUFFEROESPROC) (GLenum target);
typedef void (APIENTRY * NEL_PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params);
typedef void (APIENTRY * NEL_PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
// GL_OES_framebuffer_object
//==================================
typedef GLboolean (APIENTRY * NEL_PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
typedef void (APIENTRY * NEL_PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
typedef void (APIENTRY * NEL_PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint* renderbuffers);
typedef void (APIENTRY * NEL_PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint* renderbuffers);
typedef void (APIENTRY * NEL_PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
typedef void (APIENTRY * NEL_PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint* params);
typedef GLboolean (APIENTRY * NEL_PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
typedef void (APIENTRY * NEL_PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
typedef void (APIENTRY * NEL_PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint* framebuffers);
typedef void (APIENTRY * NEL_PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint* framebuffers);
typedef GLenum (APIENTRY * NEL_PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
typedef void (APIENTRY * NEL_PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
typedef void (APIENTRY * NEL_PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint* params);
typedef void (APIENTRY * NEL_PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
// GL_OES_texture_cube_map
//==================================
typedef void (APIENTRY * NEL_PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
typedef void (APIENTRY * NEL_PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
typedef void (APIENTRY * NEL_PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
typedef void (APIENTRY * NEL_PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
typedef void (APIENTRY * NEL_PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
typedef void (APIENTRY * NEL_PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
typedef void (APIENTRY * NEL_PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
typedef void (APIENTRY * NEL_PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
typedef void (APIENTRY * NEL_PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
#endif
// *************************************************************************** // ***************************************************************************
// *************************************************************************** // ***************************************************************************
// The NEL Functions Typedefs. // The NEL Functions Typedefs.

View file

@ -113,7 +113,7 @@ protected:
bool _Invalid; bool _Invalid;
}; };
#ifndef USE_OPENGLES
// *************************************************************************** // ***************************************************************************
// *************************************************************************** // ***************************************************************************
@ -456,6 +456,8 @@ public:
#endif #endif
}; };
#endif
// *************************************************************************** // ***************************************************************************
// *************************************************************************** // ***************************************************************************
// ARB_vertex_buffer_object implementation // ARB_vertex_buffer_object implementation
@ -553,6 +555,11 @@ private:
CVertexArrayRangeARB *_VertexArrayRange; CVertexArrayRangeARB *_VertexArrayRange;
CVertexBuffer::TPreferredMemory _MemType; CVertexBuffer::TPreferredMemory _MemType;
void *_VertexPtr; // pointer on current datas. Null if not locked void *_VertexPtr; // pointer on current datas. Null if not locked
#ifdef USE_OPENGLES
uint8 *_Buffer;
uint32 _BufferSize;
uint32 _LastBufferSize;
#endif
// if buffer has been invalidated, returns a dummy memory block and silently fails rendering // if buffer has been invalidated, returns a dummy memory block and silently fails rendering
std::vector<uint8> _DummyVB; std::vector<uint8> _DummyVB;
// for use by CVertexArrayRangeARB // for use by CVertexArrayRangeARB

View file

@ -331,9 +331,9 @@ void displayInfoFileInStream(FILE *logStream, const char *fileName, const set<st
fprintf(logStream, " 'StaticLight Not Computed' means the instance has a ASP flag or the ig is not yet lighted\n"); fprintf(logStream, " 'StaticLight Not Computed' means the instance has a ASP flag or the ig is not yet lighted\n");
fprintf(logStream, " If lighted, for each instance, the format is 'SunContribution(8Bit) - idLight0;idLight1 (or NOLIGHT) - LocalAmbientId (or GLOBAL_AMBIENT)' \n"); fprintf(logStream, " If lighted, for each instance, the format is 'SunContribution(8Bit) - idLight0;idLight1 (or NOLIGHT) - LocalAmbientId (or GLOBAL_AMBIENT)' \n");
fprintf(logStream, " DCS means the instance don't cast shadow (used in the lighter)\n"); fprintf(logStream, " DCS means the instance don't cast shadow (used in the lighter)\n");
fprintf(logStream, " DCSINT Same but very special for ig_lighter.exe only\n"); fprintf(logStream, " DCSINT Same but very special for ig_lighter only\n");
fprintf(logStream, " DCSEXT Same but very special for zone_lighter and zone_ig_lighter.exe only\n"); fprintf(logStream, " DCSEXT Same but very special for zone_lighter and zone_ig_lighter only\n");
fprintf(logStream, " ASP means the instance AvoidStaticLightPreCompute (used in the lighter.exe)\n"); fprintf(logStream, " ASP means the instance AvoidStaticLightPreCompute (used in the lighter)\n");
fprintf(logStream, " -------------------------------------------------------------\n"); fprintf(logStream, " -------------------------------------------------------------\n");
uint k; uint k;
for(k = 0; k < ig._InstancesInfos.size(); ++k) for(k = 0; k < ig._InstancesInfos.size(); ++k)

View file

@ -19,6 +19,8 @@
namespace Plugin namespace Plugin
{ {
NLMISC_SAFE_SINGLETON_IMPL(CZoneManager)
ZonePainterPlugin::~ZonePainterPlugin() ZonePainterPlugin::~ZonePainterPlugin()
{ {
Q_FOREACH(QObject *obj, _autoReleaseObjects) Q_FOREACH(QObject *obj, _autoReleaseObjects)

View file

@ -7,10 +7,12 @@
#include "zone_painter_main_window.h" #include "zone_painter_main_window.h"
// NeL includes // NeL includes
#include "nel/misc/app_context.h" #include <nel/misc/app_context.h>
#include <nel/misc/singleton.h>
#include <nel/3d/landscape.h> #include <nel/3d/landscape.h>
#include <nel/3d/patch.h> #include <nel/3d/patch.h>
#include <nel/3d/zone.h> #include <nel/3d/zone.h>
#include <nel/3d/u_scene.h>
// Qt includes // Qt includes
#include <QtCore/QObject> #include <QtCore/QObject>
@ -29,16 +31,15 @@ class IPluginSpec;
namespace Plugin namespace Plugin
{ {
class CZoneManager { class CZoneManager
{
NLMISC_SAFE_SINGLETON_DECL(CZoneManager)
public: public:
NL3D::CZone zone; //m_painterLandscape = static_cast<NL3D::CLandscapeModel *>
std::string getZoneInfo() { private:
NL3D::CZone zone; NL3D::CLandscapeModel *m_painterLandscape;
zone.getNumPatchs(); NL3D::CZone *m_currentZone;
return "";
}
}; };
class ZonePainterPlugin : public QObject, public ExtensionSystem::IPlugin class ZonePainterPlugin : public QObject, public ExtensionSystem::IPlugin

View file

@ -425,13 +425,13 @@ int main (int nNbArg, char **ppArgs)
} }
else else
{ {
nlwarning ("ERROR (bnp_make.exe) : can't set current directory to %s", ppArgs[2]); nlwarning ("ERROR (bnp_make) : can't set current directory to %s", ppArgs[2]);
return -1; return -1;
} }
} }
else else
{ {
nlwarning ("ERROR (bnp_make.exe) : can't set current directory to %s", ppArgs[3]); nlwarning ("ERROR (bnp_make) : can't set current directory to %s", ppArgs[3]);
return -1; return -1;
} }
} }
@ -439,7 +439,7 @@ int main (int nNbArg, char **ppArgs)
{ {
if (chdir (ppArgs[2]) == -1) if (chdir (ppArgs[2]) == -1)
{ {
nlwarning ("ERROR (bnp_make.exe) : can't set current directory to %s", ppArgs[2]); nlwarning ("ERROR (bnp_make) : can't set current directory to %s", ppArgs[2]);
return -1; return -1;
} }
//getcwd (sCurDir, MAX_PATH); //getcwd (sCurDir, MAX_PATH);
@ -476,7 +476,7 @@ int main (int nNbArg, char **ppArgs)
} }
else else
{ {
nlwarning ("ERROR (bnp_make.exe) : can't set current directory to %s", path.c_str()); nlwarning ("ERROR (bnp_make) : can't set current directory to %s", path.c_str());
return -1; return -1;
} }
} }
@ -522,7 +522,7 @@ int main (int nNbArg, char **ppArgs)
} }
else else
{ {
nlwarning ("ERROR (bnp_make.exe) : can't set current directory to %s", path.c_str()); nlwarning ("ERROR (bnp_make) : can't set current directory to %s", path.c_str());
return -1; return -1;
} }
} }

View file

@ -25,7 +25,7 @@ int main(int argc, char* argv[])
{ {
if (argc <3) if (argc <3)
{ {
printf ("lock.exe [filein] [fleout]\n\t"); printf ("lock [filein] [fleout]\n\t");
} }
else else
{ {

View file

@ -86,8 +86,7 @@ bool CCtrlTextButton::parse(xmlNodePtr cur, CInterfaceGroup * parentGroup)
prop = (char*) xmlGetProp( cur, (xmlChar*)"tx_normal" ); prop = (char*) xmlGetProp( cur, (xmlChar*)"tx_normal" );
if (prop) if (prop)
{ {
string TxName = (const char *) prop; string TxName = toLower(std::string((const char *) prop));
TxName = strlwr(TxName);
_TextureIdNormal[0].setTexture((TxName+"_l.tga").c_str()); _TextureIdNormal[0].setTexture((TxName+"_l.tga").c_str());
_TextureIdNormal[1].setTexture((TxName+"_m.tga").c_str()); _TextureIdNormal[1].setTexture((TxName+"_m.tga").c_str());
_TextureIdNormal[2].setTexture((TxName+"_r.tga").c_str()); _TextureIdNormal[2].setTexture((TxName+"_r.tga").c_str());
@ -96,8 +95,7 @@ bool CCtrlTextButton::parse(xmlNodePtr cur, CInterfaceGroup * parentGroup)
prop = (char*) xmlGetProp( cur, (xmlChar*)"tx_pushed" ); prop = (char*) xmlGetProp( cur, (xmlChar*)"tx_pushed" );
if (prop) if (prop)
{ {
string TxName = (const char *) prop; string TxName = toLower(std::string((const char *) prop));
TxName = strlwr(TxName);
_TextureIdPushed[0].setTexture((TxName+"_l.tga").c_str()); _TextureIdPushed[0].setTexture((TxName+"_l.tga").c_str());
_TextureIdPushed[1].setTexture((TxName+"_m.tga").c_str()); _TextureIdPushed[1].setTexture((TxName+"_m.tga").c_str());
_TextureIdPushed[2].setTexture((TxName+"_r.tga").c_str()); _TextureIdPushed[2].setTexture((TxName+"_r.tga").c_str());
@ -106,8 +104,7 @@ bool CCtrlTextButton::parse(xmlNodePtr cur, CInterfaceGroup * parentGroup)
prop = (char*) xmlGetProp( cur, (xmlChar*)"tx_over" ); prop = (char*) xmlGetProp( cur, (xmlChar*)"tx_over" );
if (prop) if (prop)
{ {
string TxName = (const char *) prop; string TxName = toLower(std::string((const char *) prop));
TxName = strlwr(TxName);
_TextureIdOver[0].setTexture((TxName+"_l.tga").c_str()); _TextureIdOver[0].setTexture((TxName+"_l.tga").c_str());
_TextureIdOver[1].setTexture((TxName+"_m.tga").c_str()); _TextureIdOver[1].setTexture((TxName+"_m.tga").c_str());
_TextureIdOver[2].setTexture((TxName+"_r.tga").c_str()); _TextureIdOver[2].setTexture((TxName+"_r.tga").c_str());

View file

@ -878,6 +878,10 @@ void CGroupHTML::beginElement (uint element_number, const BOOL *present, const c
fromString(value[HTML_FONT_SIZE], fontsize); fromString(value[HTML_FONT_SIZE], fontsize);
_FontSize.push_back(fontsize); _FontSize.push_back(fontsize);
} }
else
{
_FontSize.push_back(_FontSize.empty() ? TextFontSize : _FontSize.back());
}
} }
break; break;
case HTML_BR: case HTML_BR:

View file

@ -3027,7 +3027,7 @@ void CPatchThread::xDeltaPatch(const string &patch, const string &src, const str
} }
// Launching xdelta.exe // Launching xdelta
/* /*
STARTUPINFO si; STARTUPINFO si;
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;

View file

@ -1812,7 +1812,8 @@ bool execLoadScript(CStringWriter& stringWriter, vector<string> const& args)
NLMISC::CIFile file(NLMISC::CPath::lookup(args[2])); NLMISC::CIFile file(NLMISC::CPath::lookup(args[2]));
vector<string> lines; vector<string> lines;
while (!file.eof()) { while (!file.eof())
{
const size_t bufferSize = 4*1024; const size_t bufferSize = 4*1024;
char buffer[bufferSize]; char buffer[bufferSize];
file.getline(buffer, bufferSize); file.getline(buffer, bufferSize);
@ -1844,7 +1845,8 @@ NLMISC_COMMAND(getInfo,"display returned values of buffered commands","")
{ {
CLogStringWriter stringWriter(&log); CLogStringWriter stringWriter(&log);
FOREACHC(strIt, vector<string>, bufferedRetStrings) { FOREACHC(strIt, vector<string>, bufferedRetStrings)
{
stringWriter.append(*strIt); stringWriter.append(*strIt);
} }
@ -2995,7 +2997,8 @@ NLMISC_COMMAND(simulateBug, "simulate an old AIS bug; command is one of 'list',
initBugSimulationTexts(); initBugSimulationTexts();
log.displayNL("Bug simulations"); log.displayNL("Bug simulations");
log.displayNL("Id|Description |State"); log.displayNL("Id|Description |State");
for (int i=0; i<bugSimulationCount; ++i) { for (int i=0; i<bugSimulationCount; ++i)
{
log.displayNL("%02d|%s|%s", i, simulateBugText(i), simulateBugs[i]?"on":"off"); log.displayNL("%02d|%s|%s", i, simulateBugText(i), simulateBugs[i]?"on":"off");
} }
return true; return true;

View file

@ -21,8 +21,8 @@
named2csv: convert named_items.txt to .csv format and convert it back named2csv: convert named_items.txt to .csv format and convert it back
to named_items.txt after changes. to named_items.txt after changes.
use: named2csv.exe named_items.txt filter.script (to generate a .csv based on filter) use: named2csv named_items.txt filter.script (to generate a .csv based on filter)
named2csv.exe named_items.txt named_items.csv (to modify .txt with .csv) named2csv named_items.txt named_items.csv (to modify .txt with .csv)
*/ */