Merge with develop
--HG-- branch : compatibility-develop
This commit is contained in:
commit
4eb21c1612
372 changed files with 1824 additions and 1777 deletions
|
@ -18,6 +18,7 @@ FIND_PATH(MAXSDK_DIR
|
|||
PATHS
|
||||
"$ENV{ADSK_3DSMAX_SDK_2012}/maxsdk"
|
||||
"$ENV{3DSMAX_2011_SDK_PATH}/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2017 SDK/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2010 SDK/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2009 SDK/maxsdk"
|
||||
"$ENV{PROGRAMFILES}/Autodesk/3ds Max 2008 SDK/maxsdk"
|
||||
|
@ -36,12 +37,12 @@ FIND_PATH(MAXSDK_CS_INCLUDE_DIR bipexp.h
|
|||
)
|
||||
|
||||
IF(TARGET_X64)
|
||||
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/x64/lib)
|
||||
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/x64/lib ${MAXSDK_DIR}/lib/x64/Release)
|
||||
ELSE()
|
||||
SET(MAXSDK_LIBRARY_DIRS ${MAXSDK_DIR}/lib)
|
||||
ENDIF()
|
||||
|
||||
MACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
||||
MACRO(FIND_3DS_LIBRARY MYLIBRARY MYLIBRARYNAME)
|
||||
FIND_LIBRARY(${MYLIBRARY}
|
||||
NAMES ${MYLIBRARYNAME}
|
||||
HINTS
|
||||
|
@ -73,8 +74,26 @@ if(MAXSDK_FOUND)
|
|||
${MAXSDK_MAXUTIL_LIBRARY}
|
||||
${MAXSDK_MAXSCRIPT_LIBRARY}
|
||||
${MAXSDK_PARAMBLK2_LIBRARY}
|
||||
${MAXSDK_BMM_LIBRARY} )
|
||||
${MAXSDK_BMM_LIBRARY})
|
||||
|
||||
# parse maxversion.h to determine SDK version
|
||||
IF(EXISTS "${MAXSDK_DIR}/include/maxversion.h")
|
||||
FILE(STRINGS "${MAXSDK_DIR}/include/maxversion.h" LINES REGEX "#define MAX_PRODUCT_YEAR_NUMBER ([0-9]+)")
|
||||
|
||||
STRING(REGEX REPLACE ".+MAX_PRODUCT_YEAR_NUMBER ([0-9]+)" "\\1" MAXSDK_VERSION "${LINES}")
|
||||
UNSET(LINES)
|
||||
ELSE()
|
||||
SET(MAXSDK_VERSION "Unknown")
|
||||
ENDIF()
|
||||
|
||||
MESSAGE(STATUS "Found 3dsmax version ${MAXSDK_VERSION} in ${MAXSDK_DIR}")
|
||||
|
||||
# 3ds Max 2013 and later are always Unicode
|
||||
IF(MAXSDK_VERSION VERSION_GREATER 2012)
|
||||
SET(MAXSDK_DEFINITIONS -DUNICODE -D_UNICODE)
|
||||
ELSE()
|
||||
SET(MAXSDK_DEFINITIONS)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
set(MAXSDK_LIBRARIES)
|
||||
ENDIF()
|
||||
|
|
|
@ -367,7 +367,7 @@ ENDMACRO(NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS)
|
|||
MACRO(ADD_PLATFORM_FLAGS _FLAGS)
|
||||
SET(PLATFORM_CFLAGS "${PLATFORM_CFLAGS} ${_FLAGS}")
|
||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} ${_FLAGS}")
|
||||
ENDMACRO(ADD_PLATFORM_FLAGS)
|
||||
ENDMACRO()
|
||||
|
||||
MACRO(NL_SETUP_BUILD)
|
||||
|
||||
|
@ -390,9 +390,13 @@ MACRO(NL_SETUP_BUILD)
|
|||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
SET(HOST_CPU ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
||||
IF(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
SET(HOST_CPU ${CMAKE_CXX_LIBRARY_ARCHITECTURE})
|
||||
ELSE()
|
||||
SET(HOST_CPU ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
||||
ENDIF()
|
||||
|
||||
IF(HOST_CPU MATCHES "(amd|AMD)64")
|
||||
IF(HOST_CPU MATCHES "(amd|AMD|x86_)64")
|
||||
SET(HOST_CPU "x86_64")
|
||||
ELSEIF(HOST_CPU MATCHES "i.86")
|
||||
SET(HOST_CPU "x86")
|
||||
|
@ -402,10 +406,10 @@ MACRO(NL_SETUP_BUILD)
|
|||
|
||||
# If not specified, use the same CPU as host
|
||||
IF(NOT TARGET_CPU)
|
||||
SET(TARGET_CPU ${CMAKE_SYSTEM_PROCESSOR})
|
||||
SET(TARGET_CPU ${HOST_CPU})
|
||||
ENDIF()
|
||||
|
||||
IF(TARGET_CPU MATCHES "(amd|AMD)64")
|
||||
IF(TARGET_CPU MATCHES "(amd|AMD|x86_)64")
|
||||
SET(TARGET_CPU "x86_64")
|
||||
ELSEIF(TARGET_CPU MATCHES "i.86")
|
||||
SET(TARGET_CPU "x86")
|
||||
|
@ -413,7 +417,7 @@ MACRO(NL_SETUP_BUILD)
|
|||
|
||||
IF(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
||||
SET(CLANG ON)
|
||||
MESSAGE(STATUS "Using Clang compiler")
|
||||
MESSAGE(STATUS "Using Clang ${CMAKE_CXX_COMPILER_VERSION} compiler")
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_GENERATOR MATCHES "Xcode")
|
||||
|
@ -474,6 +478,9 @@ MACRO(NL_SETUP_BUILD)
|
|||
SET(TARGET_X86 1)
|
||||
ELSEIF(TARGET_CPU STREQUAL "x86")
|
||||
SET(TARGET_X86 1)
|
||||
ELSEIF(TARGET_CPU STREQUAL "arm64")
|
||||
SET(TARGET_ARM 1)
|
||||
SET(TARGET_ARM64 1)
|
||||
ELSEIF(TARGET_CPU STREQUAL "armv7s")
|
||||
SET(TARGET_ARM 1)
|
||||
SET(TARGET_ARMV7S 1)
|
||||
|
@ -493,6 +500,10 @@ MACRO(NL_SETUP_BUILD)
|
|||
ENDIF()
|
||||
|
||||
IF(TARGET_ARM)
|
||||
IF(TARGET_ARM64)
|
||||
ADD_PLATFORM_FLAGS("-DHAVE_ARM64")
|
||||
ENDIF()
|
||||
|
||||
IF(TARGET_ARMV7S)
|
||||
ADD_PLATFORM_FLAGS("-DHAVE_ARMV7S")
|
||||
ENDIF()
|
||||
|
@ -541,10 +552,6 @@ MACRO(NL_SETUP_BUILD)
|
|||
ENDIF()
|
||||
|
||||
IF(MSVC)
|
||||
IF(MSVC_VERSION EQUAL "1700" AND NOT MSVC11)
|
||||
SET(MSVC11 ON)
|
||||
ENDIF()
|
||||
|
||||
# Ignore default include paths
|
||||
ADD_PLATFORM_FLAGS("/X")
|
||||
|
||||
|
@ -555,31 +562,31 @@ MACRO(NL_SETUP_BUILD)
|
|||
# without inlining it's unusable, use custom optimizations again
|
||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||
ELSEIF(MSVC12)
|
||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
||||
ADD_PLATFORM_FLAGS("/Gy-")
|
||||
# /Ox is working with VC++ 2013, but custom optimizations don't exist
|
||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||
# without inlining it's unusable, use custom optimizations again
|
||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||
ELSEIF(MSVC11)
|
||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
||||
ADD_PLATFORM_FLAGS("/Gy-")
|
||||
# /Ox is working with VC++ 2012, but custom optimizations don't exist
|
||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||
# without inlining it's unusable, use custom optimizations again
|
||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||
ELSEIF(MSVC10)
|
||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
||||
ADD_PLATFORM_FLAGS("/Gy-")
|
||||
# /Ox is working with VC++ 2010, but custom optimizations don't exist
|
||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||
# without inlining it's unusable, use custom optimizations again
|
||||
SET(DEBUG_CFLAGS "/Od /Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||
ELSEIF(MSVC90)
|
||||
ADD_PLATFORM_FLAGS("/Gy- /MP /Zm1000")
|
||||
ADD_PLATFORM_FLAGS("/Gy-")
|
||||
# don't use a /O[012x] flag if you want custom optimizations
|
||||
SET(RELEASE_CFLAGS "/Ob2 /Oi /Ot /Oy /GT /GF /GS- ${RELEASE_CFLAGS}")
|
||||
# without inlining it's unusable, use custom optimizations again
|
||||
SET(DEBUG_CFLAGS "/Ob1 /GF- ${DEBUG_CFLAGS}")
|
||||
ELSEIF(MSVC80)
|
||||
ADD_PLATFORM_FLAGS("/Gy- /Wp64 /Zm1000")
|
||||
ADD_PLATFORM_FLAGS("/Gy- /Wp64")
|
||||
# don't use a /O[012x] flag if you want custom optimizations
|
||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||
# without inlining it's unusable, use custom optimizations again
|
||||
|
@ -588,16 +595,19 @@ MACRO(NL_SETUP_BUILD)
|
|||
MESSAGE(FATAL_ERROR "Can't determine compiler version ${MSVC_VERSION}")
|
||||
ENDIF()
|
||||
|
||||
ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DWIN32 /D_WINDOWS /wd4250")
|
||||
ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS /D_WIN32 /DWIN32 /D_WINDOWS /wd4250")
|
||||
|
||||
# huge PCH
|
||||
ADD_PLATFORM_FLAGS("/Zm1000")
|
||||
|
||||
IF(TARGET_X64)
|
||||
# Fix a bug with Intellisense
|
||||
ADD_PLATFORM_FLAGS("/D_WIN64")
|
||||
# Fix a compilation error for some big C++ files
|
||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} /bigobj")
|
||||
ADD_PLATFORM_FLAGS("/bigobj")
|
||||
ELSE()
|
||||
# Allows 32 bits applications to use 3 GB of RAM
|
||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /LARGEADDRESSAWARE")
|
||||
ADD_PLATFORM_LINKFLAGS("/LARGEADDRESSAWARE")
|
||||
ENDIF()
|
||||
|
||||
# Exceptions are only set for C++
|
||||
|
@ -840,6 +850,9 @@ MACRO(NL_SETUP_BUILD)
|
|||
|
||||
ADD_PLATFORM_FLAGS("-D_REENTRANT -fno-strict-aliasing")
|
||||
|
||||
# hardening
|
||||
ADD_PLATFORM_FLAGS("-D_FORTIFY_SOURCE=2")
|
||||
|
||||
IF(NOT WITH_LOW_MEMORY)
|
||||
ADD_PLATFORM_FLAGS("-pipe")
|
||||
ENDIF()
|
||||
|
@ -850,6 +863,12 @@ MACRO(NL_SETUP_BUILD)
|
|||
|
||||
IF(WITH_WARNINGS)
|
||||
ADD_PLATFORM_FLAGS("-Wall -W -Wpointer-arith -Wsign-compare -Wno-deprecated-declarations -Wno-multichar -Wno-unused")
|
||||
ELSE()
|
||||
# Check wrong formats in printf-like functions
|
||||
ADD_PLATFORM_FLAGS("-Wformat -Werror=format-security")
|
||||
|
||||
# Don't display invalid or unused command lines arguments by default (often too verbose)
|
||||
ADD_PLATFORM_FLAGS("-Wno-invalid-command-line-argument -Wno-unused-command-line-argument")
|
||||
ENDIF()
|
||||
|
||||
IF(ANDROID)
|
||||
|
@ -859,7 +878,7 @@ MACRO(NL_SETUP_BUILD)
|
|||
ADD_PLATFORM_FLAGS("-Wa,--noexecstack")
|
||||
|
||||
IF(TARGET_ARM)
|
||||
ADD_PLATFORM_FLAGS("-fpic -fstack-protector")
|
||||
ADD_PLATFORM_FLAGS("-fpic")
|
||||
ADD_PLATFORM_FLAGS("-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__")
|
||||
|
||||
IF(TARGET_ARMV7)
|
||||
|
@ -871,24 +890,20 @@ MACRO(NL_SETUP_BUILD)
|
|||
|
||||
SET(TARGET_THUMB ON)
|
||||
IF(TARGET_THUMB)
|
||||
ADD_PLATFORM_FLAGS("-mthumb -fno-strict-aliasing -finline-limit=64")
|
||||
ADD_PLATFORM_FLAGS("-mthumb -finline-limit=64")
|
||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -marm")
|
||||
ELSE()
|
||||
ADD_PLATFORM_FLAGS("-funswitch-loops -finline-limit=300")
|
||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -fno-strict-aliasing")
|
||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -fstrict-aliasing")
|
||||
ENDIF()
|
||||
ELSEIF(TARGET_X86)
|
||||
# Optimizations for Intel Atom
|
||||
ADD_PLATFORM_FLAGS("-march=i686 -mtune=atom -mstackrealign -msse3 -mfpmath=sse -m32 -flto -ffast-math -funroll-loops")
|
||||
ADD_PLATFORM_FLAGS("-fstack-protector -funswitch-loops -finline-limit=300")
|
||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -fstrict-aliasing")
|
||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -fno-strict-aliasing")
|
||||
ADD_PLATFORM_FLAGS("-funswitch-loops -finline-limit=300")
|
||||
ELSEIF(TARGET_MIPS)
|
||||
ADD_PLATFORM_FLAGS("-fpic -finline-functions -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -fno-strict-aliasing")
|
||||
ADD_PLATFORM_FLAGS("-fpic -finline-functions -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers")
|
||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -funswitch-loops -finline-limit=300")
|
||||
ENDIF()
|
||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
|
||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-z,noexecstack")
|
||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -L${PLATFORM_ROOT}/usr/lib")
|
||||
ENDIF()
|
||||
|
||||
|
@ -897,16 +912,22 @@ MACRO(NL_SETUP_BUILD)
|
|||
ENDIF()
|
||||
|
||||
# Fix "relocation R_X86_64_32 against.." error on x64 platforms
|
||||
IF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS AND NOT MINGW)
|
||||
IF(NOT MINGW)
|
||||
ADD_PLATFORM_FLAGS("-fPIC")
|
||||
ENDIF()
|
||||
|
||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -ftemplate-depth-48")
|
||||
|
||||
# hardening
|
||||
ADD_PLATFORM_FLAGS("-fstack-protector --param=ssp-buffer-size=4")
|
||||
|
||||
IF(NOT APPLE)
|
||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,--no-undefined -Wl,--as-needed")
|
||||
ENDIF()
|
||||
|
||||
# hardening
|
||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now")
|
||||
|
||||
IF(WITH_SYMBOLS)
|
||||
SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g")
|
||||
ELSE()
|
||||
|
@ -920,7 +941,7 @@ MACRO(NL_SETUP_BUILD)
|
|||
SET(NL_DEBUG_CFLAGS "-g -DNL_DEBUG -D_DEBUG ${NL_DEBUG_CFLAGS}")
|
||||
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -DNDEBUG -O3 ${NL_RELEASE_CFLAGS}")
|
||||
ENDIF()
|
||||
ENDMACRO(NL_SETUP_BUILD)
|
||||
ENDMACRO()
|
||||
|
||||
MACRO(NL_SETUP_BUILD_FLAGS)
|
||||
SET(CMAKE_C_FLAGS ${PLATFORM_CFLAGS} CACHE STRING "" FORCE)
|
||||
|
|
|
@ -84,7 +84,7 @@ public:
|
|||
void setTextureFile (const char* file);
|
||||
|
||||
/**
|
||||
* Add a coarse mesh in the manager. If an error occured, it returns CantAddCoarseMesh.
|
||||
* Add a coarse mesh in the manager. If an error occurred, it returns CantAddCoarseMesh.
|
||||
* \param vBuffer the VertexBuffer pre-transformed / Colored. Size MUST be numVertices*NL3D_COARSEMESH_VERTEX_FORMAT_MGR
|
||||
* \param indexBuffer containing triangles that will be inserted.
|
||||
* \return false if the mesh can't be added to this pass BECAUSE OF TOO MANY VERTICES or TOO MANY PRIMITIVES reason
|
||||
|
|
|
@ -716,7 +716,7 @@ private:
|
|||
bool _RefineMode;
|
||||
float _FarTransition;
|
||||
uint _TileMaxSubdivision;
|
||||
// For VertexProgram. true if change has occured in threshold since the last render().
|
||||
// For VertexProgram. true if change has occurred in threshold since the last render().
|
||||
float _VPThresholdChange;
|
||||
|
||||
/// \name VertexBuffer mgt.
|
||||
|
|
|
@ -92,9 +92,9 @@ public:
|
|||
void setWorldMatrix (const NLMISC::CMatrix &WM);
|
||||
|
||||
|
||||
void setName (std::string &name) { _Name = name; }
|
||||
void setName (const std::string &name) { _Name = name; }
|
||||
|
||||
std::string getName () { return _Name; }
|
||||
std::string getName () const { return _Name; }
|
||||
|
||||
void open (bool opened) { _Opened = opened; }
|
||||
bool isOpened () { return _Opened; }
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include "nel/misc/rgba.h"
|
||||
#include "nel/misc/traits_nl.h"
|
||||
|
||||
#include <iterator>
|
||||
|
||||
namespace NL3D {
|
||||
|
||||
/*
|
||||
|
@ -480,7 +482,11 @@ void CPSValueGradientFunc<T>::setValuesUnpacked(const T *valueTab, uint32 numVal
|
|||
_MaxValue = _MinValue = valueTab[0];
|
||||
_NbValues = (numValues - 1) * nbStages;
|
||||
_Tab.resize(_NbValues + 1);
|
||||
#ifdef NL_COMP_VC14
|
||||
std::copy(valueTab, valueTab + _NbValues + 1, stdext::make_checked_array_iterator(&_Tab[0], _Tab.size()));
|
||||
#else
|
||||
std::copy(valueTab, valueTab + _NbValues + 1, &_Tab[0]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -336,7 +336,7 @@ protected:
|
|||
* should not be called directly. Call CPSLocated::resize instead
|
||||
*/
|
||||
virtual void resize(uint32 size);
|
||||
virtual void bounceOccured(uint32 index, TAnimationTime timeToNextSimStep);
|
||||
virtual void bounceOccurred(uint32 index, TAnimationTime timeToNextSimStep);
|
||||
void updateMaxCountVect();
|
||||
|
||||
|
||||
|
|
|
@ -66,14 +66,14 @@ class CParticleSystem;
|
|||
|
||||
|
||||
/// This structure helps to perform the collision step, by telling which collisionner is the nearest if there are several candidate
|
||||
/// a distance of -1 indicates that no collisions occured
|
||||
/// a distance of -1 indicates that no collisions occurred
|
||||
struct CPSCollisionInfo
|
||||
{
|
||||
CPSCollisionInfo *Next;
|
||||
float Dist; // Distance to the nearest collider, or -1 if not collision occured
|
||||
float Dist; // Distance to the nearest collider, or -1 if not collision occurred
|
||||
NLMISC::CVector NewPos;
|
||||
NLMISC::CVector NewSpeed; // The speed of particle after a collision occured. After the updated of collision it is swapped with the post-collision speed
|
||||
CPSZone *CollisionZone; // The zone on which the bounce occured, can be useful to check the behaviour in case of collision
|
||||
NLMISC::CVector NewSpeed; // The speed of particle after a collision occurred. After the updated of collision it is swapped with the post-collision speed
|
||||
CPSZone *CollisionZone; // The zone on which the bounce occurred, can be useful to check the behaviour in case of collision
|
||||
uint32 Index;
|
||||
CPSCollisionInfo()
|
||||
{
|
||||
|
@ -906,10 +906,10 @@ protected:
|
|||
*/
|
||||
virtual void resize(uint32 size) = 0;
|
||||
|
||||
/** a bounce occured, so some action could be done. The default behaviour does nothing
|
||||
/** a bounce occurred, so some action could be done. The default behaviour does nothing
|
||||
* \param index the index of the element that bounced
|
||||
*/
|
||||
virtual void bounceOccured(uint32 /* index */, TAnimationTime /* timeToNextsimStep */) {}
|
||||
virtual void bounceOccurred(uint32 /* index */, TAnimationTime /* timeToNextsimStep */) {}
|
||||
|
||||
/** show an drawing to represent the object, and in red if it is selected
|
||||
* \param tab : a table of 2 * nbSeg vector. only the x and y coordinates are used
|
||||
|
|
|
@ -120,7 +120,7 @@ protected:
|
|||
/**
|
||||
* This set speed of a located so that it looks like bouncing on a surface
|
||||
* \param locatedIndex the index
|
||||
* \param bouncePoint the position where the collision occured
|
||||
* \param bouncePoint the position where the collision occurred
|
||||
* \param surfNormal the normal of the surface at the collision point (this must be a unit vector)
|
||||
* \elasticity 1 = full bounce, 0 = no bounce (contact)
|
||||
* \ellapsedTime the time ellapsed
|
||||
|
|
|
@ -79,7 +79,7 @@ public:
|
|||
|
||||
/** Set the userPos (relative to the height map coordinates). This is needed because a height map can't be used with large surface (such as a sea).
|
||||
* As a consequence, the height map is only valid below the user (e.g from user.x - 0.5 * size to user.x + 0.5 *size).
|
||||
* When setPos is called, and if a move has occured, new area of the height field are set to 0
|
||||
* When setPos is called, and if a move has occurred, new area of the height field are set to 0
|
||||
* The pos set will be taken in account when buffers have been swapped (e.g when the propagation time as ellapsed)
|
||||
*/
|
||||
void setUserPos(sint x, sint y);
|
||||
|
|
|
@ -90,7 +90,7 @@ namespace NLGUI
|
|||
virtual std::string luaWhat() const throw() {return NLMISC::toString("LUAError: %s", what());}
|
||||
};
|
||||
|
||||
// A parse error occured
|
||||
// A parse error occurred
|
||||
class ELuaParseError : public ELuaError
|
||||
{
|
||||
public:
|
||||
|
@ -117,7 +117,7 @@ namespace NLGUI
|
|||
std::string _Reason;
|
||||
};
|
||||
|
||||
// A execution error occured
|
||||
// A execution error occurred
|
||||
class ELuaExecuteError : public ELuaError
|
||||
{
|
||||
public:
|
||||
|
@ -128,7 +128,7 @@ namespace NLGUI
|
|||
virtual std::string luaWhat() const throw() {return NLMISC::toString("ELuaExecuteError: %s", what());}
|
||||
};
|
||||
|
||||
// A bad cast occured when using lua_checkcast
|
||||
// A bad cast occurred when using lua_checkcast
|
||||
class ELuaBadCast : public ELuaError
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -49,13 +49,13 @@ public:
|
|||
* This file will try to open the file ligo class description file (XML) using the LigoClass as file name.
|
||||
* It will try first to load directly the file and then to lookup the file in NLMISC::CPath.
|
||||
*/
|
||||
bool readConfigFile (const char *fileName, bool parsePrimitiveComboContent);
|
||||
bool readConfigFile (const std::string &fileName, bool parsePrimitiveComboContent);
|
||||
|
||||
/**
|
||||
* This file will read the file ligo class description file (XML) using the LigoClass as file name.
|
||||
* It will try first to load directly the file and then to lookup the file in NLMISC::CPath.
|
||||
*/
|
||||
bool readPrimitiveClass (const char *fileName, bool parsePrimitiveComboContent);
|
||||
bool readPrimitiveClass (const std::string &fileName, bool parsePrimitiveComboContent);
|
||||
|
||||
bool reloadIndexFile(const std::string &indexFileName = std::string());
|
||||
|
||||
|
@ -100,7 +100,7 @@ public:
|
|||
/// Build a standard human readable alias string
|
||||
std::string aliasToString(uint32 fullAlias);
|
||||
/// Read a standard human readable alias string
|
||||
uint32 aliasFromString(std::string fullAlias);
|
||||
uint32 aliasFromString(const std::string &fullAlias);
|
||||
|
||||
|
||||
// Get a primitive class
|
||||
|
|
|
@ -286,6 +286,15 @@ inline sint nlstricmp(const char *lhs, const std::string &rhs) { return stricmp(
|
|||
#define wideToUtf8(str) (ucstring((ucchar*)str).toUtf8())
|
||||
#define utf8ToWide(str) ((wchar_t*)ucstring::makeFromUtf8(str).c_str())
|
||||
|
||||
// macros helper to convert UTF-8 std::string and TCHAR*
|
||||
#ifdef _UNICODE
|
||||
#define tStrToUtf8(str) (ucstring((ucchar*)(LPCWSTR)str).toUtf8())
|
||||
#define utf8ToTStr(str) ((wchar_t*)ucstring::makeFromUtf8(str).c_str())
|
||||
#else
|
||||
#define tStrToUtf8(str) ((LPCSTR)str)
|
||||
#define utf8ToTStr(str) (str.c_str())
|
||||
#endif
|
||||
|
||||
// wrapper for fopen to be able to open files with an UTF-8 filename
|
||||
FILE* nlfopen(const std::string &filename, const std::string &mode);
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ public:
|
|||
double getSamplingPeriod() const { return _SamplingPeriod; }
|
||||
// Reset smoother. The next returned position will be the exact position of mouse (no smoothing with previous position is done)
|
||||
void reset();
|
||||
// \return trueif no sampling has occured since last resetor construction
|
||||
// \return trueif no sampling has occurred since last resetor construction
|
||||
bool isReseted() const { return !_Init; }
|
||||
// Sample pos, and return smoothed position
|
||||
CVector2f samplePos(const CVector2f &wantedPos, double date);
|
||||
|
|
|
@ -29,7 +29,7 @@ struct CHashKey
|
|||
|
||||
CHashKey (const unsigned char Message_Digest[20])
|
||||
{
|
||||
HashKeyString = "";
|
||||
HashKeyString.clear();
|
||||
for(sint i = 0; i < 20 ; ++i)
|
||||
{
|
||||
HashKeyString += Message_Digest[i];
|
||||
|
@ -45,7 +45,7 @@ struct CHashKey
|
|||
}
|
||||
else if (str.size() == 40)
|
||||
{
|
||||
HashKeyString = "";
|
||||
HashKeyString.clear();
|
||||
for(uint i = 0; i < str.size(); i+=2)
|
||||
{
|
||||
uint8 val;
|
||||
|
|
|
@ -81,7 +81,7 @@ public:
|
|||
}
|
||||
//nldebug("active, leave sleep, test assert");
|
||||
|
||||
// If this assert occured, it means that a checked part of the code was
|
||||
// If this assert occurred, it means that a checked part of the code was
|
||||
// to slow and then I decided to assert to display the problem.
|
||||
nlassert(!(_Control==ACTIVE && _Counter==lastCounter));
|
||||
}
|
||||
|
|
|
@ -159,7 +159,7 @@ public:
|
|||
/** Force to send data pending in the send queue now. If all the data could not be sent immediately,
|
||||
* the returned nbBytesRemaining value is non-zero.
|
||||
* \param nbBytesRemaining If the pointer is not NULL, the method sets the number of bytes still pending after the flush attempt.
|
||||
* \returns False if an error has occured (e.g. the remote host is disconnected).
|
||||
* \returns False if an error has occurred (e.g. the remote host is disconnected).
|
||||
* To retrieve the reason of the error, call CSock::getLastError() and/or CSock::errorString()
|
||||
*/
|
||||
bool flush( uint *nbBytesRemaining=NULL ) { return _BufSock->flush( nbBytesRemaining ); }
|
||||
|
|
|
@ -235,7 +235,7 @@ public:
|
|||
* the returned nbBytesRemaining value is non-zero.
|
||||
* \param destid The identifier of the destination connection.
|
||||
* \param nbBytesRemaining If the pointer is not NULL, the method sets the number of bytes still pending after the flush attempt.
|
||||
* \returns False if an error has occured (e.g. the remote host is disconnected).
|
||||
* \returns False if an error has occurred (e.g. the remote host is disconnected).
|
||||
* To retrieve the reason of the error, call CSock::getLastError() and/or CSock::errorString()
|
||||
*/
|
||||
bool flush( TSockId destid, uint *nbBytesRemaining=NULL );
|
||||
|
|
|
@ -84,7 +84,7 @@ protected:
|
|||
///@name Sending data
|
||||
//@{
|
||||
|
||||
/// Update the network sending (call this method evenly). Returns false if an error occured.
|
||||
/// Update the network sending (call this method evenly). Returns false if an error occurred.
|
||||
bool update();
|
||||
|
||||
/** Sets the time flush trigger (in millisecond). When this time is elapsed,
|
||||
|
@ -101,7 +101,7 @@ protected:
|
|||
* (see CNonBlockingBufSock), if all the data could not be sent immediately,
|
||||
* the returned nbBytesRemaining value is non-zero.
|
||||
* \param nbBytesRemaining If the pointer is not NULL, the method sets the number of bytes still pending after the flush attempt.
|
||||
* \returns False if an error has occured (e.g. the remote host is disconnected).
|
||||
* \returns False if an error has occurred (e.g. the remote host is disconnected).
|
||||
* To retrieve the reason of the error, call CSock::getLastError() and/or CSock::errorString()
|
||||
*/
|
||||
bool flush( uint *nbBytesRemaining=NULL );
|
||||
|
@ -170,7 +170,7 @@ protected:
|
|||
}
|
||||
|
||||
/** Pushes a buffer to the send queue and update,
|
||||
* or returns false if the socket is not physically connected the or an error occured during sending
|
||||
* or returns false if the socket is not physically connected the or an error occurred during sending
|
||||
*/
|
||||
bool pushBuffer( const NLMISC::CMemStream& buffer )
|
||||
{
|
||||
|
|
|
@ -553,7 +553,7 @@ static void cbPacsAnswer (CMessage &msgin, TSockId from, CCallbackNetBase &netba
|
|||
client->getPositionSpeedCallback (id, position, speed);
|
||||
}
|
||||
else
|
||||
NLMISC::nlError ("Pacs client: unkown sub message string");
|
||||
NLMISC::nlError ("Pacs client: unknown sub message string");
|
||||
|
||||
// Next message ?
|
||||
msgin.serial (again);
|
||||
|
|
|
@ -121,7 +121,7 @@ public:
|
|||
/// Releases the network engine
|
||||
static void releaseNetwork();
|
||||
|
||||
/** Returns the code of the last error that has occured.
|
||||
/** Returns the code of the last error that has occurred.
|
||||
* Note: This code is platform-dependant. On Unix, it is errno; on Windows it is the Winsock error code.
|
||||
* See also errorString()
|
||||
*/
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
static const char *getStringUniTime (NLMISC::TTime ut);
|
||||
|
||||
|
||||
/** You need to call this function before calling getUniTime or an assert will occured.
|
||||
/** You need to call this function before calling getUniTime or an assert will occurred.
|
||||
* This function will connect to the time service and synchronize your computer.
|
||||
* This function assumes that all services run on server that are time synchronized with NTP for example.
|
||||
* If addr is NULL, the function will connect to the Time Service via the Naming Service. In this case,
|
||||
|
@ -87,11 +87,11 @@ public:
|
|||
*/
|
||||
static void simulate() { nlstop; _Simulate = true; }
|
||||
|
||||
static bool Sync; // true if the synchronization occured
|
||||
static bool Sync; // true if the synchronization occurred
|
||||
private:
|
||||
|
||||
static NLMISC::TTime _SyncUniTime; // time in millisecond when the universal time received
|
||||
static NLMISC::TTime _SyncLocalTime; // time in millisecond when the syncro with universal time occured
|
||||
static NLMISC::TTime _SyncLocalTime; // time in millisecond when the syncro with universal time occurred
|
||||
|
||||
// If true, do not synchronize
|
||||
static bool _Simulate;
|
||||
|
|
|
@ -282,7 +282,7 @@ private:
|
|||
// Free world image pointers
|
||||
void freeWorldImage (CPrimitiveWorldImage *worldImage);
|
||||
|
||||
// Called by CMovePrimitive when a change occured on the primitive BB
|
||||
// Called by CMovePrimitive when a change occurred on the primitive BB
|
||||
void changed (CMovePrimitive* primitive, uint8 worldImage);
|
||||
|
||||
// Remove the collisionable primitive from the modified list
|
||||
|
|
|
@ -319,7 +319,7 @@ void CCluster::serial (NLMISC::IStream&f)
|
|||
// write the env fx name
|
||||
std::string envFxName = CStringMapper::unmap(_EnvironmentFxId);
|
||||
if (envFxName == "no fx")
|
||||
envFxName = "";
|
||||
envFxName.clear();
|
||||
f.serial(envFxName);
|
||||
}
|
||||
|
||||
|
|
|
@ -1265,7 +1265,7 @@ bool CDriverD3D::init (uintptr_t windowIcon, emptyProc exitFunc)
|
|||
if (error != ERROR_CLASS_ALREADY_EXISTS)
|
||||
{
|
||||
nlwarning("CDriverD3D::init: Can't register window class %s (error code %i)", _WindowClass.c_str(), (sint)error);
|
||||
_WindowClass = "";
|
||||
_WindowClass.clear();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -568,7 +568,7 @@ bool CDriverD3D::setupMaterial(CMaterial &mat)
|
|||
if (_PixelProgram)
|
||||
{
|
||||
#ifdef NL_DEBUG_D3D
|
||||
// Check, should not occured
|
||||
// Check, should not occur
|
||||
nlassertex (_PixelShader, ("STOP : no pixel shader available. Can't render this material."));
|
||||
#endif // NL_DEBUG_D3D
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ void CD3DShaderFX::setName (const char *name)
|
|||
|
||||
bool CD3DShaderFX::loadShaderFile (const char *filename)
|
||||
{
|
||||
_Text = "";
|
||||
_Text.clear();
|
||||
// Lookup
|
||||
string _filename = NLMISC::CPath::lookup(filename, false, true, true);
|
||||
if (!_filename.empty())
|
||||
|
|
|
@ -270,7 +270,7 @@ uint getPixelFormatSize (D3DFORMAT destFormat)
|
|||
case D3DFMT_DXT3: bits=8; break;
|
||||
case D3DFMT_DXT4: bits=8; break;
|
||||
case D3DFMT_DXT5: bits=8; break;
|
||||
default: nlstop; break; // unkown pixel format
|
||||
default: nlstop; break; // unknown pixel format
|
||||
}
|
||||
return bits;
|
||||
}
|
||||
|
|
|
@ -109,7 +109,7 @@ void dumpWriteMask(uint mask, std::string &out)
|
|||
H_AUTO_D3D(dumpWriteMask)
|
||||
if (mask == 0xf)
|
||||
{
|
||||
out = "";
|
||||
out.clear();
|
||||
return;
|
||||
}
|
||||
out = ".";
|
||||
|
@ -126,7 +126,7 @@ void dumpSwizzle(const CVPSwizzle &swz, std::string &out)
|
|||
H_AUTO_D3D(dumpSwizzle)
|
||||
if (swz.isIdentity())
|
||||
{
|
||||
out = "";
|
||||
out.clear();
|
||||
return;
|
||||
}
|
||||
out = ".";
|
||||
|
|
|
@ -491,7 +491,7 @@ void CDriverGL::showCursor(bool b)
|
|||
}
|
||||
else
|
||||
{
|
||||
_CurrName = "";
|
||||
_CurrName.clear();
|
||||
}
|
||||
|
||||
// update current hardware icon to avoid to have the plain arrow
|
||||
|
|
|
@ -1270,7 +1270,7 @@ static void ARBVertexProgramDumpWriteMask(uint mask, std::string &out)
|
|||
H_AUTO_OGL(ARBVertexProgramDumpWriteMask)
|
||||
if (mask == 0xf)
|
||||
{
|
||||
out = "";
|
||||
out.clear();
|
||||
return;
|
||||
}
|
||||
out = ".";
|
||||
|
@ -1286,7 +1286,7 @@ static void ARBVertexProgramDumpSwizzle(const CVPSwizzle &swz, std::string &out)
|
|||
H_AUTO_OGL(ARBVertexProgramDumpSwizzle)
|
||||
if (swz.isIdentity())
|
||||
{
|
||||
out = "";
|
||||
out.clear();
|
||||
return;
|
||||
}
|
||||
out = ".";
|
||||
|
|
|
@ -626,7 +626,7 @@ bool CUnixEventEmitter::processMessage (XEvent &event, CEventServer *server)
|
|||
}
|
||||
case SelectionClear:
|
||||
_SelectionOwned = false;
|
||||
_CopiedString = "";
|
||||
_CopiedString.clear();
|
||||
break;
|
||||
case SelectionNotify:
|
||||
{
|
||||
|
|
|
@ -262,8 +262,8 @@ void CLandscapeUser::refreshZonesAround(const CVector &pos, float radius, std::s
|
|||
{
|
||||
NL3D_HAUTO_LOAD_LANDSCAPE;
|
||||
|
||||
zoneRemoved= "";
|
||||
zoneAdded= "";
|
||||
zoneRemoved.clear();
|
||||
zoneAdded.clear();
|
||||
CZoneManager::SZoneManagerWork Work;
|
||||
// Check if new zone must be added to landscape
|
||||
if (_ZoneManager.isWorkComplete(Work))
|
||||
|
|
|
@ -1101,7 +1101,11 @@ bool CMeshGeom::retrieveTriangles(std::vector<uint32> &indices) const
|
|||
else
|
||||
{
|
||||
// std::copy will convert from 16 bits index to 32 bit index
|
||||
std::copy((uint16 *) iba.getPtr(), ((uint16 *) iba.getPtr()) + pb.getNumIndexes(), &indices[triIdx*3]);
|
||||
#ifdef NL_COMP_VC14
|
||||
std::copy((uint16 *)iba.getPtr(), ((uint16 *)iba.getPtr()) + pb.getNumIndexes(), stdext::make_checked_array_iterator(&indices[triIdx * 3], indices.size() - triIdx * 3));
|
||||
#else
|
||||
std::copy((uint16 *)iba.getPtr(), ((uint16 *)iba.getPtr()) + pb.getNumIndexes(), &indices[triIdx * 3]);
|
||||
#endif
|
||||
}
|
||||
// next
|
||||
triIdx+= pb.getNumIndexes()/3;
|
||||
|
|
|
@ -242,11 +242,11 @@ void CPortal::serial (NLMISC::IStream& f)
|
|||
{
|
||||
std::string occName = CStringMapper::unmap(_OcclusionModelId);
|
||||
if (occName == "no occlusion")
|
||||
occName = "";
|
||||
occName.clear();
|
||||
f.serial(occName);
|
||||
occName = CStringMapper::unmap(_OpenOcclusionModelId);
|
||||
if (occName == "no occlusion")
|
||||
occName = "";
|
||||
occName.clear();
|
||||
f.serial(occName);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1901,9 +1901,9 @@ void CPSEmitter::resize(uint32 size)
|
|||
}
|
||||
|
||||
///==========================================================================
|
||||
void CPSEmitter::bounceOccured(uint32 index, TAnimationTime timeToNextSimStep)
|
||||
void CPSEmitter::bounceOccurred(uint32 index, TAnimationTime timeToNextSimStep)
|
||||
{
|
||||
NL_PS_FUNC(CPSEmitter_bounceOccured)
|
||||
NL_PS_FUNC(CPSEmitter_bounceOccurred)
|
||||
// TODO : avoid duplication with deleteElement
|
||||
if (_EmittedType && _EmissionType == CPSEmitter::onBounce)
|
||||
{
|
||||
|
@ -2797,7 +2797,7 @@ void CPSEmitter::doEmitOnce(uint firstInstanceIndex)
|
|||
startPos = _Owner->getParametricInfos()[k].Pos;
|
||||
}
|
||||
float currTime = _Owner->getTime()[k];
|
||||
_Owner->getTime()[k] = 0.f; // when emit occured, time was 0
|
||||
_Owner->getTime()[k] = 0.f; // when emit occurred, time was 0
|
||||
sint32 nbToGenerate = (sint32) (emitLOD * *numToEmitPtr);
|
||||
if (nbToGenerate > 0)
|
||||
{
|
||||
|
@ -2830,7 +2830,7 @@ void CPSEmitter::doEmitOnce(uint firstInstanceIndex)
|
|||
startPos = _Owner->getParametricInfos()[k].Pos;
|
||||
}
|
||||
float currTime = _Owner->getTime()[k];
|
||||
_Owner->getTime()[k] = 0.f; // when emit occured, time was 0
|
||||
_Owner->getTime()[k] = 0.f; // when emit occurred, time was 0
|
||||
processEmitConsistent(startPos, k, nbToGenerate, _Owner->getAgeInSeconds(k) / CParticleSystem::RealEllapsedTimeRatio);
|
||||
// restore time & pos
|
||||
_Owner->getTime()[k] = currTime;
|
||||
|
|
|
@ -1004,7 +1004,7 @@ void CPSLocated::postNewElement(const NLMISC::CVector &pos,
|
|||
const CPSCollisionInfo &ci = _Collisions[indexInEmitter];
|
||||
if (ci.Dist != -1.f)
|
||||
{
|
||||
// a collision occured, check time from collision to next time step
|
||||
// a collision occurred, check time from collision to next time step
|
||||
if ((emitterLocated.getPos()[indexInEmitter] - ci.NewPos) * (pos - ci.NewPos) > 0.f) return; // discard emit that are farther than the collision
|
||||
}
|
||||
}
|
||||
|
@ -1839,10 +1839,10 @@ void CPSLocated::updateCollisions()
|
|||
{
|
||||
_Pos[currCollision->Index] = currCollision->NewPos;
|
||||
std::swap(_Speed[currCollision->Index], currCollision->NewSpeed); // keep speed because may be needed when removing particles
|
||||
// notify each located bindable that a bounce occured ...
|
||||
// notify each located bindable that a bounce occurred ...
|
||||
for (TLocatedBoundCont::iterator it = _LocatedBoundCont.begin(); it != _LocatedBoundCont.end(); ++it)
|
||||
{
|
||||
(*it)->bounceOccured(currCollision->Index, computeDateFromCollisionToNextSimStep(currCollision->Index, getAgeInSeconds(currCollision->Index)));
|
||||
(*it)->bounceOccurred(currCollision->Index, computeDateFromCollisionToNextSimStep(currCollision->Index, getAgeInSeconds(currCollision->Index)));
|
||||
}
|
||||
if (currCollision->CollisionZone->getCollisionBehaviour() == CPSZone::destroy)
|
||||
{
|
||||
|
@ -1878,13 +1878,13 @@ void CPSLocated::updateCollisions()
|
|||
// if particle is too old, check whether it died before the collision
|
||||
_Pos[currCollision->Index] = currCollision->NewPos;
|
||||
std::swap(_Speed[currCollision->Index], currCollision->NewSpeed);
|
||||
// notify each located bindable that a bounce occured ...
|
||||
// notify each located bindable that a bounce occurred ...
|
||||
if (!_LocatedBoundCont.empty())
|
||||
{
|
||||
TAnimationTime timeFromcollisionToNextSimStep = computeDateFromCollisionToNextSimStep(currCollision->Index, getAgeInSeconds(currCollision->Index));
|
||||
for (TLocatedBoundCont::iterator it = _LocatedBoundCont.begin(); it != _LocatedBoundCont.end(); ++it)
|
||||
{
|
||||
(*it)->bounceOccured(currCollision->Index, timeFromcollisionToNextSimStep);
|
||||
(*it)->bounceOccurred(currCollision->Index, timeFromcollisionToNextSimStep);
|
||||
}
|
||||
}
|
||||
if (currCollision->CollisionZone->getCollisionBehaviour() == CPSZone::destroy)
|
||||
|
@ -2190,7 +2190,7 @@ void CPSLocated::removeOldParticles()
|
|||
TAnimationTime timeUntilNextSimStep;
|
||||
if (_Collisions[*it].Dist == -1.f)
|
||||
{
|
||||
// no collision occured
|
||||
// no collision occurred
|
||||
if (_Time[*it] > 1.f)
|
||||
{
|
||||
|
||||
|
@ -2213,18 +2213,18 @@ void CPSLocated::removeOldParticles()
|
|||
}
|
||||
else
|
||||
{
|
||||
// a collision occured before particle died, so pos is already good
|
||||
// a collision occurred before particle died, so pos is already good
|
||||
if (_LifeScheme)
|
||||
{
|
||||
timeUntilNextSimStep = computeDateFromCollisionToNextSimStep(*it, _Time[*it] / _TimeIncrement[*it]);
|
||||
// compute age of particle when collision occured
|
||||
// compute age of particle when collision occurred
|
||||
_Time[*it] -= timeUntilNextSimStep * _TimeIncrement[*it];
|
||||
NLMISC::clamp(_Time[*it], 0.f, 1.f); // avoid imprecisions
|
||||
}
|
||||
else
|
||||
{
|
||||
timeUntilNextSimStep = computeDateFromCollisionToNextSimStep(*it, _Time[*it] * _InitialLife);
|
||||
// compute age of particle when collision occured
|
||||
// compute age of particle when collision occurred
|
||||
_Time[*it] -= timeUntilNextSimStep / (_InitialLife == 0.f ? 1.f : _InitialLife);
|
||||
NLMISC::clamp(_Time[*it], 0.f, 1.f); // avoid imprecisions
|
||||
}
|
||||
|
|
|
@ -1113,6 +1113,9 @@ void CPSConstraintMesh::getShapesNames(std::string *shapesNames) const
|
|||
{
|
||||
const_cast<CPSConstraintMesh *>(this)->update();
|
||||
}
|
||||
#ifdef NL_COMP_VC14
|
||||
std::copy(_MeshShapeFileName.begin(), _MeshShapeFileName.end(), stdext::make_unchecked_array_iterator(shapesNames));
|
||||
#else
|
||||
std::copy(_MeshShapeFileName.begin(), _MeshShapeFileName.end(), shapesNames);
|
||||
}
|
||||
|
||||
|
|
|
@ -1463,7 +1463,11 @@ void CPSRibbon::setShape(const CVector *shape, uint32 nbPointsInShape, bool brac
|
|||
///==================================================================================================================
|
||||
void CPSRibbon::getShape(CVector *shape) const
|
||||
{
|
||||
NL_PS_FUNC(CPSRibbon_getShape)
|
||||
NL_PS_FUNC(CPSRibbon_getShape);
|
||||
|
||||
#ifdef NL_COMP_VC14
|
||||
std::copy(_Shape.begin(), _Shape.end(), stdext::make_unchecked_array_iterator(shape));
|
||||
#else
|
||||
std::copy(_Shape.begin(), _Shape.end(), shape);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include <functional>
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
#include <iterator>
|
||||
|
||||
#include "nel/misc/rgba.h"
|
||||
#include "nel/misc/debug.h"
|
||||
|
|
|
@ -2530,7 +2530,7 @@ void CTessFace::refreshTesselationGeometry()
|
|||
// ***************************************************************************
|
||||
bool CTessFace::updateBindEdge(CTessFace *&edgeFace, bool &splitWanted)
|
||||
{
|
||||
// Return true, when the bind should be Ok, or if a split has occured.
|
||||
// Return true, when the bind should be Ok, or if a split has occurred.
|
||||
// Return false only if pointers are updated, without splits.
|
||||
|
||||
if(edgeFace==NULL)
|
||||
|
|
|
@ -134,7 +134,7 @@ void CTileBank::serial(NLMISC::IStream &f) throw(NLMISC::EStream)
|
|||
nlassert (f.isReading());
|
||||
|
||||
// Reset _AbsPath
|
||||
_AbsPath="";
|
||||
_AbsPath.clear();
|
||||
|
||||
// Remove diffuse and additive in transition
|
||||
uint tileCount=(uint)getTileCount ();
|
||||
|
@ -782,7 +782,7 @@ void CTile::serial(NLMISC::IStream &f) throw(NLMISC::EStream)
|
|||
_Flags=0;
|
||||
|
||||
// Initialize alpha name
|
||||
_BitmapName[alpha]="";
|
||||
_BitmapName[alpha].clear();
|
||||
|
||||
// Read free flag
|
||||
f.serial (tmp);
|
||||
|
@ -804,7 +804,7 @@ void CTile::serial(NLMISC::IStream &f) throw(NLMISC::EStream)
|
|||
// ***************************************************************************
|
||||
void CTile::clearTile (CTile::TBitmap type)
|
||||
{
|
||||
_BitmapName[type]="";
|
||||
_BitmapName[type].clear();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1521,7 +1521,7 @@ void CTileSet::setDisplacement (TDisplacement displacement, const std::string& f
|
|||
// ***************************************************************************
|
||||
void CTileSet::cleanUnusedData ()
|
||||
{
|
||||
_Name="";
|
||||
_Name.clear();
|
||||
_ChildName.clear();
|
||||
_Border128[0].reset ();
|
||||
_Border128[1].reset ();
|
||||
|
@ -1853,14 +1853,12 @@ CTileNoise::CTileNoise ()
|
|||
{
|
||||
// Not loaded
|
||||
_TileNoiseMap=NULL;
|
||||
_FileName="";
|
||||
}
|
||||
// ***************************************************************************
|
||||
CTileNoise::CTileNoise (const CTileNoise &src)
|
||||
{
|
||||
// Default ctor
|
||||
_TileNoiseMap=NULL;
|
||||
_FileName="";
|
||||
|
||||
// Copy
|
||||
*this=src;
|
||||
|
@ -1932,7 +1930,7 @@ void CTileNoise::reset()
|
|||
}
|
||||
|
||||
// Erase filename
|
||||
_FileName="";
|
||||
_FileName.clear();
|
||||
}
|
||||
// ***************************************************************************
|
||||
|
||||
|
|
|
@ -885,7 +885,7 @@ void CVertexBuffer::serialHeader(NLMISC::IStream &f)
|
|||
if(f.isReading())
|
||||
{
|
||||
_PreferredMemory = RAMPreferred;
|
||||
_Name = "";
|
||||
_Name.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1110,7 +1110,7 @@ static void dumpWriteMask(uint mask, std::string &out)
|
|||
{
|
||||
if (mask == 0xf)
|
||||
{
|
||||
out = "";
|
||||
out.clear();
|
||||
return;
|
||||
}
|
||||
out = ".";
|
||||
|
@ -1125,7 +1125,7 @@ static void dumpSwizzle(const CVPSwizzle &swz, std::string &out)
|
|||
{
|
||||
if (swz.isIdentity())
|
||||
{
|
||||
out = "";
|
||||
out.clear();
|
||||
return;
|
||||
}
|
||||
out = ".";
|
||||
|
|
|
@ -305,7 +305,11 @@ void CWaterHeightMap::makeCpy(uint buffer, uint dX, uint dY, uint sX, uint sY,
|
|||
{
|
||||
if (dest < src)
|
||||
{
|
||||
#ifdef NL_COMP_VC14
|
||||
std::copy(src, src + width, stdext::make_unchecked_array_iterator(dest));
|
||||
#else
|
||||
std::copy(src, src + width, dest);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -170,7 +170,7 @@ bool CZoneManager::isWorkComplete (CZoneManager::SZoneManagerWork &rWork)
|
|||
rWork.NameZoneAdded = ite->ZoneToAddName;
|
||||
rWork.ZoneRemoved = false;
|
||||
rWork.IdZoneToRemove = 0;
|
||||
rWork.NameZoneRemoved = "";
|
||||
rWork.NameZoneRemoved.clear();
|
||||
rWork.Zone = const_cast<CZone*>(ite->Zone);
|
||||
_LoadedZones.push_back (ite->ZoneToAddId);
|
||||
|
||||
|
@ -187,7 +187,7 @@ bool CZoneManager::isWorkComplete (CZoneManager::SZoneManagerWork &rWork)
|
|||
{
|
||||
_RemovingZone = false;
|
||||
rWork.ZoneAdded = false;
|
||||
rWork.NameZoneAdded = "";
|
||||
rWork.NameZoneAdded.clear();
|
||||
rWork.ZoneRemoved = true;
|
||||
rWork.IdZoneToRemove = _IdZoneToRemove;
|
||||
rWork.NameZoneRemoved = getZoneNameFromId(_IdZoneToRemove);
|
||||
|
|
|
@ -498,7 +498,7 @@ void CFormDfn::CEntry::setDfn (CFormLoader &loader, const char *filename)
|
|||
void CFormDfn::CEntry::setDfnPointer ()
|
||||
{
|
||||
TypeElement = EntryVirtualDfn;
|
||||
Filename = "";
|
||||
Filename.clear();
|
||||
Type = NULL;
|
||||
Dfn = NULL;
|
||||
}
|
||||
|
|
|
@ -1512,7 +1512,7 @@ const char* CFormElm::tokenize (const char *name, string &str, uint &/* errorInd
|
|||
return name+1;
|
||||
}
|
||||
|
||||
str = "";
|
||||
str.clear();
|
||||
while ( (*name != '.') && (*name != '[') && (*name != ']') && (*name != 0) )
|
||||
{
|
||||
// Add a char
|
||||
|
@ -2066,7 +2066,7 @@ void CFormElmStruct::getFormName (std::string &result, const CFormElm *child) co
|
|||
// Reset the result
|
||||
if (child == NULL)
|
||||
{
|
||||
result = "";
|
||||
result.clear();
|
||||
result.reserve (50);
|
||||
}
|
||||
|
||||
|
@ -2723,7 +2723,7 @@ void CFormElmArray::getFormName (std::string &result, const CFormElm *child) con
|
|||
// Reset the result
|
||||
if (child == NULL)
|
||||
{
|
||||
result = "";
|
||||
result.clear();
|
||||
result.reserve (50);
|
||||
}
|
||||
|
||||
|
@ -3067,7 +3067,7 @@ void CFormElmAtom::getFormName (std::string &result, const CFormElm *child) cons
|
|||
{
|
||||
// Must be NULL
|
||||
nlassert (child == NULL);
|
||||
result = "";
|
||||
result.clear();
|
||||
result.reserve (50);
|
||||
|
||||
// Get parent form name
|
||||
|
|
|
@ -159,7 +159,7 @@ void CFileHeader::read (xmlNodePtr root)
|
|||
}
|
||||
|
||||
// Look for the comment node
|
||||
Comments = "";
|
||||
Comments.clear();
|
||||
xmlNodePtr node = CIXml::getFirstChildNode (root, "COMMENTS");
|
||||
if (node)
|
||||
{
|
||||
|
@ -181,7 +181,7 @@ void CFileHeader::read (xmlNodePtr root)
|
|||
}
|
||||
|
||||
// Look for the log node
|
||||
Log = "";
|
||||
Log.clear();
|
||||
node = CIXml::getFirstChildNode (root, "LOG");
|
||||
if (node)
|
||||
{
|
||||
|
|
|
@ -185,7 +185,7 @@ void CType::read (xmlNodePtr root)
|
|||
xmlFree ((void*)value);
|
||||
}
|
||||
else
|
||||
Default = "";
|
||||
Default.clear();
|
||||
|
||||
// Read Min
|
||||
value = (const char*)xmlGetProp (root, (xmlChar*)"Min");
|
||||
|
@ -197,7 +197,7 @@ void CType::read (xmlNodePtr root)
|
|||
xmlFree ((void*)value);
|
||||
}
|
||||
else
|
||||
Min = "";
|
||||
Min.clear();
|
||||
|
||||
// Read Max
|
||||
value = (const char*)xmlGetProp (root, (xmlChar*)"Max");
|
||||
|
@ -209,7 +209,7 @@ void CType::read (xmlNodePtr root)
|
|||
xmlFree ((void*)value);
|
||||
}
|
||||
else
|
||||
Max = "";
|
||||
Max.clear();
|
||||
|
||||
// Read Increment
|
||||
value = (const char*)xmlGetProp (root, (xmlChar*)"Increment");
|
||||
|
@ -221,7 +221,7 @@ void CType::read (xmlNodePtr root)
|
|||
xmlFree ((void*)value);
|
||||
}
|
||||
else
|
||||
Increment = "";
|
||||
Increment.clear();
|
||||
|
||||
// Read the definitions
|
||||
uint childrenCount = CIXml::countChildren (root, "DEFINITION");
|
||||
|
@ -465,7 +465,7 @@ uint getNextToken (const char *startString, string &token, uint &offset)
|
|||
offset += 9;
|
||||
return NL_TOKEN_NAME;
|
||||
}
|
||||
token = "";
|
||||
token.clear();
|
||||
while (startString[offset])
|
||||
{
|
||||
if (startString[offset] == '\\')
|
||||
|
|
|
@ -1768,7 +1768,7 @@ namespace NLGUI
|
|||
// ***************************************************************************
|
||||
void CGroupEditBox::clearAllEditBox()
|
||||
{
|
||||
_InputString = "";
|
||||
_InputString.clear();
|
||||
_CursorPos = 0;
|
||||
_CursorAtPreviousLineEnd = false;
|
||||
if (!_ViewText) return;
|
||||
|
|
|
@ -2089,10 +2089,10 @@ namespace NLGUI
|
|||
templateName = value[MY_HTML_TEXTAREA_Z_INPUT_TMPL];
|
||||
|
||||
// Get the string name
|
||||
_TextAreaName = "";
|
||||
_TextAreaName.clear();
|
||||
_TextAreaRow = 1;
|
||||
_TextAreaCols = 10;
|
||||
_TextAreaContent = "";
|
||||
_TextAreaContent.clear();
|
||||
_TextAreaMaxLength = 1024;
|
||||
if (present[MY_HTML_TEXTAREA_NAME] && value[MY_HTML_TEXTAREA_NAME])
|
||||
_TextAreaName = value[MY_HTML_TEXTAREA_NAME];
|
||||
|
@ -2112,7 +2112,7 @@ namespace NLGUI
|
|||
if(!_TitlePrefix.empty())
|
||||
_TitleString = _TitlePrefix + " - ";
|
||||
else
|
||||
_TitleString = "";
|
||||
_TitleString.clear();
|
||||
_Title = true;
|
||||
}
|
||||
break;
|
||||
|
@ -2144,10 +2144,10 @@ namespace NLGUI
|
|||
endParagraph();
|
||||
break;
|
||||
case HTML_OBJECT:
|
||||
_ObjectType = "";
|
||||
_ObjectData = "";
|
||||
_ObjectMD5Sum = "";
|
||||
_ObjectAction = "";
|
||||
_ObjectType.clear();
|
||||
_ObjectData.clear();
|
||||
_ObjectMD5Sum.clear();
|
||||
_ObjectAction.clear();
|
||||
if (present[HTML_OBJECT_TYPE] && value[HTML_OBJECT_TYPE])
|
||||
_ObjectType = value[HTML_OBJECT_TYPE];
|
||||
if (present[HTML_OBJECT_DATA] && value[HTML_OBJECT_DATA])
|
||||
|
@ -2369,7 +2369,7 @@ namespace NLGUI
|
|||
{
|
||||
endParagraph();
|
||||
}
|
||||
_DivName = "";
|
||||
_DivName.clear();
|
||||
popIfNotEmpty (_Divs);
|
||||
popIfNotEmpty (_BlockLevelElement);
|
||||
break;
|
||||
|
@ -2614,7 +2614,7 @@ namespace NLGUI
|
|||
{
|
||||
CLuaManager::getInstance().executeLuaScript("\nlocal __ALLREADYDL__=true\n"+_ObjectScript, true);
|
||||
}
|
||||
_ObjectScript = "";
|
||||
_ObjectScript.clear();
|
||||
}
|
||||
}
|
||||
_Object = false;
|
||||
|
@ -2632,7 +2632,7 @@ namespace NLGUI
|
|||
{
|
||||
// we receive an embeded lua script
|
||||
_ParsingLua = _TrustedDomain; // Only parse lua if TrustedDomain
|
||||
_LuaScript = "";
|
||||
_LuaScript.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2687,8 +2687,6 @@ namespace NLGUI
|
|||
_LI = false;
|
||||
_SelectOption = false;
|
||||
_GroupListAdaptor = NULL;
|
||||
_DocumentUrl = "";
|
||||
_DocumentDomain = "";
|
||||
_UrlFragment.clear();
|
||||
_RefreshUrl.clear();
|
||||
_NextRefreshTime = 0.0;
|
||||
|
@ -2741,7 +2739,6 @@ namespace NLGUI
|
|||
DefaultCheckBoxBitmapOver = "checkbox_over.tga";
|
||||
DefaultRadioButtonBitmapNormal = "w_radiobutton.png";
|
||||
DefaultRadioButtonBitmapPushed = "w_radiobutton_pushed.png";
|
||||
DefaultRadioButtonBitmapOver = "";
|
||||
DefaultBackgroundBitmapView = "bg";
|
||||
clearContext();
|
||||
|
||||
|
@ -5825,7 +5822,7 @@ namespace NLGUI
|
|||
if (it->second == "monospace")
|
||||
style.FontFamily = "monospace";
|
||||
else
|
||||
style.FontFamily = "";
|
||||
style.FontFamily.clear();
|
||||
}
|
||||
else
|
||||
if (it->first == "font-weight")
|
||||
|
|
|
@ -363,7 +363,7 @@ namespace NLGUI
|
|||
uint32 i;
|
||||
if( fromString( value, i ) )
|
||||
_TextId = i;
|
||||
_HardText = "";
|
||||
_HardText.clear();
|
||||
onTextChanged();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -266,7 +266,7 @@ namespace NLGUI
|
|||
else
|
||||
if (stricmp((char*)cur->name, "action") == 0)
|
||||
{
|
||||
string strId, strAh, strParams, strCond, strTexture="";
|
||||
string strId, strAh, strParams, strCond, strTexture;
|
||||
ucstring ucstrName;
|
||||
|
||||
if (id) strId = (const char*)id;
|
||||
|
@ -1077,7 +1077,7 @@ namespace NLGUI
|
|||
for (uint32 i = 0; i < pCurGSM->_Lines.size(); ++i)
|
||||
if (sRest == pCurGSM->_Lines[i].Id)
|
||||
return pCurGSM->_Lines[i].ViewText;
|
||||
sRest = "";
|
||||
sRest.clear();
|
||||
}
|
||||
else // no a lot of token left
|
||||
{
|
||||
|
|
|
@ -337,7 +337,7 @@ namespace NLGUI
|
|||
if( fromString( value, i ) )
|
||||
{
|
||||
_TextId = i;
|
||||
_HardText = "";
|
||||
_HardText.clear();
|
||||
}
|
||||
onTextChanged();
|
||||
return;
|
||||
|
|
|
@ -765,7 +765,7 @@ namespace NLGUI
|
|||
rVR.getTextureSizeFromId(id, _XExtend, dummy);
|
||||
else
|
||||
// if not found, reset, to avoid errors
|
||||
_ArboXExtend= "";
|
||||
_ArboXExtend.clear();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
|
|
@ -1031,12 +1031,12 @@ namespace NLGUI
|
|||
if (posid > 0)
|
||||
idTmp = idTmp.substr (0, posid);
|
||||
else
|
||||
idTmp = "";
|
||||
idTmp.clear();
|
||||
|
||||
if (poslid > 0)
|
||||
lidTmp = lidTmp.substr (0, poslid);
|
||||
else
|
||||
lidTmp = "";
|
||||
lidTmp.clear();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -665,7 +665,7 @@ namespace NLGUI
|
|||
if (strchr(ptr, '#') != NULL)
|
||||
{
|
||||
string LastProp = ptr.str();
|
||||
string NewProp ="";
|
||||
string NewProp;
|
||||
string RepProp;
|
||||
|
||||
while (LastProp.size() > 0)
|
||||
|
@ -709,7 +709,7 @@ namespace NLGUI
|
|||
else
|
||||
{
|
||||
NewProp += LastProp;
|
||||
LastProp = "";
|
||||
LastProp.clear();
|
||||
}
|
||||
}
|
||||
xmlSetProp(node,props->name, (const xmlChar*)NewProp.c_str());
|
||||
|
|
|
@ -39,7 +39,7 @@ CLigoConfig::CLigoConfig()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CLigoConfig::readConfigFile (const char *fileName, bool parsePrimitiveComboContent)
|
||||
bool CLigoConfig::readConfigFile (const std::string &fileName, bool parsePrimitiveComboContent)
|
||||
{
|
||||
// The CF
|
||||
CConfigFile cf;
|
||||
|
@ -73,7 +73,7 @@ bool CLigoConfig::readConfigFile (const char *fileName, bool parsePrimitiveCombo
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CLigoConfig::readPrimitiveClass (const char *_fileName, bool parsePrimitiveComboContent)
|
||||
bool CLigoConfig::readPrimitiveClass (const std::string &_fileName, bool parsePrimitiveComboContent)
|
||||
{
|
||||
// File exist ?
|
||||
string filename = _fileName;
|
||||
|
@ -785,7 +785,7 @@ std::string CLigoConfig::aliasToString(uint32 fullAlias)
|
|||
|
||||
}
|
||||
|
||||
uint32 CLigoConfig::aliasFromString(std::string fullAlias)
|
||||
uint32 CLigoConfig::aliasFromString(const std::string &fullAlias)
|
||||
{
|
||||
uint32 staticPart;
|
||||
uint32 dynPart;
|
||||
|
|
|
@ -1240,7 +1240,7 @@ const IPrimitive *IPrimitive::getPrimitive (const std::string &absoluteOrRelativ
|
|||
if (indexStr==string::npos)
|
||||
{
|
||||
childName=path;
|
||||
path="";
|
||||
path.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1664,7 +1664,7 @@ bool IPrimitive::read (xmlNodePtr xmlNode, const char *filename, uint version, C
|
|||
if (commentNode)
|
||||
{
|
||||
if (!CIXml::getContentString(_UnparsedProperties, commentNode))
|
||||
_UnparsedProperties = "";
|
||||
_UnparsedProperties.clear();
|
||||
}
|
||||
|
||||
// Read the expanded flag
|
||||
|
|
|
@ -183,8 +183,8 @@ bool CPrimitiveClass::read (xmlNodePtr primitiveNode,
|
|||
// init default parameters
|
||||
AutoInit = false;
|
||||
Deletable = true;
|
||||
FileExtension = "";
|
||||
FileType = "";
|
||||
FileExtension.clear();
|
||||
FileType.clear();
|
||||
Collision = false;
|
||||
LinkBrothers = false;
|
||||
ShowArrow = true;
|
||||
|
@ -351,16 +351,16 @@ bool CPrimitiveClass::read (xmlNodePtr primitiveNode,
|
|||
parameter.WidgetHeight = (uint)temp;
|
||||
|
||||
// Read the file extension
|
||||
parameter.FileExtension = "";
|
||||
parameter.FileExtension.clear();
|
||||
CIXml::getPropertyString (parameter.FileExtension, paramNode, "FILE_EXTENSION");
|
||||
parameter.FileExtension = toLower(parameter.FileExtension);
|
||||
|
||||
// Autonaming preference
|
||||
parameter.Autoname = "";
|
||||
parameter.Autoname.clear();
|
||||
CIXml::getPropertyString (parameter.Autoname, paramNode, "AUTONAME");
|
||||
|
||||
// Read the file extension
|
||||
parameter.Folder = "";
|
||||
parameter.Folder.clear();
|
||||
CIXml::getPropertyString (parameter.Folder, paramNode, "FOLDER");
|
||||
parameter.Folder = toLower(parameter.Folder);
|
||||
|
||||
|
@ -650,7 +650,7 @@ void CPrimitiveClass::CParameter::CConstStringValue::getPrimitivesForPrimPath (s
|
|||
|
||||
bool CPrimitiveClass::CParameter::translateAutoname (std::string &result, const IPrimitive &primitive, const CPrimitiveClass &primitiveClass) const
|
||||
{
|
||||
result = "";
|
||||
result.clear();
|
||||
string::size_type strBegin = 0;
|
||||
string::size_type strEnd = 0;
|
||||
while (strBegin != Autoname.size())
|
||||
|
@ -745,7 +745,7 @@ bool CPrimitiveClass::CParameter::translateAutoname (std::string &result, const
|
|||
|
||||
bool CPrimitiveClass::CParameter::getDefaultValue (std::string &result, const IPrimitive &primitive, const CPrimitiveClass &primitiveClass, std::string *fromWhere) const
|
||||
{
|
||||
result = "";
|
||||
result.clear();
|
||||
if (!Autoname.empty())
|
||||
{
|
||||
if (fromWhere)
|
||||
|
|
|
@ -88,7 +88,7 @@ void CZoneBankElement::convertSize()
|
|||
}
|
||||
fromString(sTmp, _SizeX);
|
||||
|
||||
++i; sTmp = "";
|
||||
++i; sTmp.clear();
|
||||
for (; i < sizeString.size(); ++i)
|
||||
{
|
||||
sTmp += sizeString[i];
|
||||
|
|
|
@ -453,7 +453,7 @@ public:
|
|||
string shortExc, longExc, subject;
|
||||
string addr, ext;
|
||||
ULONG_PTR skipNFirst = 0;
|
||||
_Reason = "";
|
||||
_Reason.clear();
|
||||
|
||||
if (m_pexp == NULL)
|
||||
{
|
||||
|
@ -491,25 +491,25 @@ public:
|
|||
case EXCEPTION_STACK_OVERFLOW : shortExc="Stack Overflow"; longExc="Stack overflow. Can occur during errant recursion, or when a function creates a particularly large array on the stack"; break;
|
||||
case EXCEPTION_INVALID_DISPOSITION : shortExc="Invalid Disposition"; longExc="Whatever number the exception filter returned, it wasn't a value the OS knows about"; break;
|
||||
case EXCEPTION_GUARD_PAGE : shortExc="Guard Page"; longExc="Memory Allocated as PAGE_GUARD by VirtualAlloc() has been accessed"; break;
|
||||
case EXCEPTION_INVALID_HANDLE : shortExc="Invalid Handle"; longExc=""; break;
|
||||
case EXCEPTION_INVALID_HANDLE : shortExc="Invalid Handle"; longExc.clear(); break;
|
||||
case CONTROL_C_EXIT : shortExc="Control-C"; longExc="Lets the debugger know the user hit Ctrl-C. Seemingly for console apps only"; break;
|
||||
case STATUS_NO_MEMORY : shortExc="No Memory"; longExc="Called by HeapAlloc() if you specify HEAP_GENERATE_EXCEPTIONS and there is no memory or heap corruption";
|
||||
ext = ", unable to allocate ";
|
||||
ext += toString ("%d bytes", m_pexp->ExceptionRecord->ExceptionInformation [0]);
|
||||
break;
|
||||
case STATUS_WAIT_0 : shortExc="Wait 0"; longExc=""; break;
|
||||
case STATUS_ABANDONED_WAIT_0 : shortExc="Abandoned Wait 0"; longExc=""; break;
|
||||
case STATUS_WAIT_0 : shortExc="Wait 0"; longExc.clear(); break;
|
||||
case STATUS_ABANDONED_WAIT_0 : shortExc="Abandoned Wait 0"; longExc.clear(); break;
|
||||
case STATUS_USER_APC : shortExc="User APC"; longExc="A user APC was delivered to the current thread before the specified Timeout interval expired"; break;
|
||||
case STATUS_TIMEOUT : shortExc="Timeout"; longExc=""; break;
|
||||
case STATUS_PENDING : shortExc="Pending"; longExc=""; break;
|
||||
case STATUS_SEGMENT_NOTIFICATION : shortExc="Segment Notification"; longExc=""; break;
|
||||
case STATUS_FLOAT_MULTIPLE_FAULTS : shortExc="Float Multiple Faults"; longExc=""; break;
|
||||
case STATUS_FLOAT_MULTIPLE_TRAPS : shortExc="Float Multiple Traps"; longExc=""; break;
|
||||
case STATUS_TIMEOUT : shortExc="Timeout"; longExc.clear(); break;
|
||||
case STATUS_PENDING : shortExc="Pending"; longExc.clear(); break;
|
||||
case STATUS_SEGMENT_NOTIFICATION : shortExc="Segment Notification"; longExc.clear(); break;
|
||||
case STATUS_FLOAT_MULTIPLE_FAULTS : shortExc="Float Multiple Faults"; longExc.clear(); break;
|
||||
case STATUS_FLOAT_MULTIPLE_TRAPS : shortExc="Float Multiple Traps"; longExc.clear(); break;
|
||||
#ifdef NL_COMP_VC6
|
||||
case STATUS_ILLEGAL_VLM_REFERENCE : shortExc="Illegal VLM Reference"; longExc=""; break;
|
||||
case STATUS_ILLEGAL_VLM_REFERENCE : shortExc="Illegal VLM Reference"; longExc.clear(); break;
|
||||
#endif
|
||||
case 0xE06D7363 : shortExc="Microsoft C++ Exception"; longExc="Microsoft C++ Exception"; break; // cpp exception
|
||||
case 0xACE0ACE : shortExc=""; longExc="";
|
||||
case 0xACE0ACE : shortExc.clear(); longExc.clear();
|
||||
if (m_pexp->ExceptionRecord->NumberParameters == 1)
|
||||
skipNFirst = m_pexp->ExceptionRecord->ExceptionInformation [0];
|
||||
break; // just want the stack
|
||||
|
@ -824,7 +824,7 @@ public:
|
|||
// replace param with the value of the stack for this param
|
||||
|
||||
string parse = str;
|
||||
str = "";
|
||||
str.clear();
|
||||
uint pos2 = 0;
|
||||
sint stop = 0;
|
||||
|
||||
|
@ -943,7 +943,7 @@ public:
|
|||
str += tmp;
|
||||
}
|
||||
str += parse[i];
|
||||
type = "";
|
||||
type.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1442,7 +1442,7 @@ std::string formatErrorMessage(int errorCode)
|
|||
NULL
|
||||
);
|
||||
|
||||
// empty buffer, an error occured
|
||||
// empty buffer, an error occurred
|
||||
if (len == 0) return toString("FormatMessage returned error %d", getLastError());
|
||||
|
||||
// convert wchar_t* to std::string
|
||||
|
|
|
@ -255,7 +255,7 @@ void CLibrary::freeLibrary()
|
|||
_PureNelLibrary = NULL;
|
||||
_LibHandle = NULL;
|
||||
_Ownership = false;
|
||||
_LibFileName = "";
|
||||
_LibFileName.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -587,10 +587,10 @@ void CEntityIdTranslator::getEntityIdInfo (const CEntityId &eid, ucstring &entit
|
|||
if (it == RegisteredEntities.end ())
|
||||
{
|
||||
nlwarning ("EIT: %s is not registered in CEntityIdTranslator", reid.toString().c_str());
|
||||
entityName = "";
|
||||
entityName.clear();
|
||||
entitySlot = -1;
|
||||
uid = std::numeric_limits<uint32>::max();
|
||||
userName = "";
|
||||
userName.clear();
|
||||
online = false;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -550,7 +550,6 @@ uint CIFile::getDbgStreamSize() const
|
|||
COFile::COFile() : IStream(false)
|
||||
{
|
||||
_F=NULL;
|
||||
_FileName = "";
|
||||
}
|
||||
|
||||
// ======================================================================================================
|
||||
|
|
|
@ -67,7 +67,6 @@ CIXml::CIXml () : IStream (true /* Input mode */)
|
|||
_CurrentNode = NULL;
|
||||
_PushBegin = false;
|
||||
_AttribPresent = false;
|
||||
_ErrorString = "";
|
||||
_TryBinaryMode = false;
|
||||
_BinaryStream = NULL;
|
||||
}
|
||||
|
@ -82,7 +81,6 @@ CIXml::CIXml (bool tryBinaryMode) : IStream (true /* Input mode */)
|
|||
_CurrentNode = NULL;
|
||||
_PushBegin = false;
|
||||
_AttribPresent = false;
|
||||
_ErrorString = "";
|
||||
_TryBinaryMode = tryBinaryMode;
|
||||
_BinaryStream = NULL;
|
||||
}
|
||||
|
@ -116,7 +114,7 @@ void CIXml::release ()
|
|||
_CurrentNode = NULL;
|
||||
_PushBegin = false;
|
||||
_AttribPresent = false;
|
||||
_ErrorString = "";
|
||||
_ErrorString.clear();
|
||||
|
||||
resetPtrTable();
|
||||
}
|
||||
|
@ -195,7 +193,7 @@ bool CIXml::init (IStream &stream)
|
|||
}
|
||||
|
||||
// Set error handler
|
||||
_ErrorString = "";
|
||||
_ErrorString.clear();
|
||||
xmlSetGenericErrorFunc (this, xmlGenericErrorFuncRead);
|
||||
|
||||
// Ask to get debug info
|
||||
|
@ -319,7 +317,7 @@ void CIXml::serialSeparatedBufferIn ( string &value, bool checkSeparator )
|
|||
// If no more node, empty string
|
||||
if (_CurrentNode == NULL)
|
||||
{
|
||||
value = "";
|
||||
value.clear();
|
||||
_ContentStringIndex = 0;
|
||||
_ContentString.erase ();
|
||||
return;
|
||||
|
|
|
@ -377,11 +377,11 @@ void CLog::displayRawString (const char *str)
|
|||
{
|
||||
localargs.Date = 0;
|
||||
localargs.LogType = CLog::LOG_NO;
|
||||
localargs.ProcessName = "";
|
||||
localargs.ProcessName.clear();
|
||||
localargs.ThreadId = 0;
|
||||
localargs.FileName = NULL;
|
||||
localargs.Line = -1;
|
||||
localargs.CallstackAndLog = "";
|
||||
localargs.CallstackAndLog.clear();
|
||||
|
||||
TempString = str;
|
||||
}
|
||||
|
@ -397,11 +397,11 @@ void CLog::displayRawString (const char *str)
|
|||
{
|
||||
localargs.Date = 0;
|
||||
localargs.LogType = CLog::LOG_NO;
|
||||
localargs.ProcessName = "";
|
||||
localargs.ProcessName.clear();
|
||||
localargs.ThreadId = 0;
|
||||
localargs.FileName = NULL;
|
||||
localargs.Line = -1;
|
||||
localargs.CallstackAndLog = "";
|
||||
localargs.CallstackAndLog.clear();
|
||||
|
||||
disp = str;
|
||||
args = &localargs;
|
||||
|
|
|
@ -85,7 +85,7 @@ static string getFuncInfo (DWORD_TYPE funcAddr, DWORD_TYPE stackAddr)
|
|||
// replace param with the value of the stack for this param
|
||||
|
||||
string parse = str;
|
||||
str = "";
|
||||
str.clear();
|
||||
uint pos = 0;
|
||||
sint stop = 0;
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ COXml::COXml () : IStream (false /* Output mode */)
|
|||
_CurrentNode = NULL;
|
||||
|
||||
// Content string
|
||||
_ContentString = "";
|
||||
_ContentString.clear();
|
||||
|
||||
// Push begin
|
||||
_PushBegin = false;
|
||||
|
@ -160,7 +160,7 @@ bool COXml::init (IStream *stream, const char *version)
|
|||
if (!stream->isReading())
|
||||
{
|
||||
// Set error handler
|
||||
_ErrorString = "";
|
||||
_ErrorString.clear();
|
||||
xmlSetGenericErrorFunc (this, xmlGenericErrorFuncWrite);
|
||||
|
||||
// Set XML mode
|
||||
|
@ -179,7 +179,7 @@ bool COXml::init (IStream *stream, const char *version)
|
|||
_CurrentNode = NULL;
|
||||
|
||||
// Content string
|
||||
_ContentString = "";
|
||||
_ContentString.clear();
|
||||
|
||||
// Push begin
|
||||
_PushBegin = false;
|
||||
|
|
|
@ -33,8 +33,7 @@ CStringMapper CStringMapper::_GlobalMapper;
|
|||
// ****************************************************************************
|
||||
CStringMapper::CStringMapper()
|
||||
{
|
||||
_EmptyId = new string;
|
||||
*_EmptyId = "";
|
||||
_EmptyId = new string();
|
||||
}
|
||||
|
||||
// ****************************************************************************
|
||||
|
|
|
@ -1525,7 +1525,7 @@ NLMISC_CATEGORISED_DYNVARIABLE(nel, string, AvailableHDSpace, "Hard drive space
|
|||
if (get)
|
||||
{
|
||||
*pointer = (CSystemInfo::availableHDSpace(location));
|
||||
location = "";
|
||||
location.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -37,7 +37,7 @@ CTaskManager::CTaskManager() : _RunningTask (""), _TaskQueue (""), _DoneTaskQueu
|
|||
_IsTaskRunning = false;
|
||||
_ThreadRunning = true;
|
||||
CSynchronized<string>::CAccessor currentTask(&_RunningTask);
|
||||
currentTask.value () = "";
|
||||
currentTask.value ().clear();
|
||||
_Thread = IThread::create(this);
|
||||
_Thread->start();
|
||||
_ChangePriorityCallback = NULL;
|
||||
|
@ -111,7 +111,7 @@ void CTaskManager::run(void)
|
|||
CSynchronized<string>::CAccessor currentTask(&_RunningTask);
|
||||
CSynchronized<deque<string> >::CAccessor doneTask(&_DoneTaskQueue);
|
||||
doneTask.value().push_front (currentTask.value ());
|
||||
currentTask.value () = "";
|
||||
currentTask.value ().clear();
|
||||
if (doneTask.value().size () > NLMISC_DONE_TASK_SIZE)
|
||||
doneTask.value().resize (NLMISC_DONE_TASK_SIZE);
|
||||
}
|
||||
|
|
|
@ -156,7 +156,7 @@ LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
string str;
|
||||
while (*pos2 != '\0')
|
||||
{
|
||||
str = "";
|
||||
str.clear();
|
||||
|
||||
// get the string
|
||||
while (*pos2 != '\0' && *pos2 != '\n')
|
||||
|
|
|
@ -381,7 +381,7 @@ void serviceGetView (uint32 rid, const string &rawvarpath, TAdminViewResult &ans
|
|||
if (CCommandRegistry::getInstance().isNamedCommandHandler(varpath.Destination[0].first))
|
||||
{
|
||||
varpath.Destination[0].first += "."+varpath.Destination[0].second;
|
||||
varpath.Destination[0].second = "";
|
||||
varpath.Destination[0].second.clear();
|
||||
}
|
||||
|
||||
if (varpath.isFinal())
|
||||
|
|
|
@ -84,7 +84,7 @@ CBufSock::~CBufSock()
|
|||
delete Sock; // the socket disconnects automatically if needed
|
||||
|
||||
// destroy the structur to be sure that other people will not access to this anymore
|
||||
AuthorizedCallback = "";
|
||||
AuthorizedCallback.clear();
|
||||
Sock = NULL;
|
||||
_KnowConnected = false;
|
||||
_LastFlushTime = 0;
|
||||
|
@ -131,7 +131,7 @@ string stringFromVectorPart( const vector<uint8>& v, uint32 pos, uint32 len )
|
|||
* (see CNonBlockingBufSock), if all the data could not be sent immediately,
|
||||
* the returned nbBytesRemaining value is non-zero.
|
||||
* \param nbBytesRemaining If the pointer is not NULL, the method sets the number of bytes still pending after the flush attempt.
|
||||
* \returns False if an error has occured (e.g. the remote host is disconnected).
|
||||
* \returns False if an error has occurred (e.g. the remote host is disconnected).
|
||||
* To retrieve the reason of the error, call CSock::getLastError() and/or CSock::errorString()
|
||||
*
|
||||
* Note: this method works with both blocking and non-blocking sockets
|
||||
|
@ -270,7 +270,7 @@ void CBufSock::setTimeFlushTrigger( sint32 ms )
|
|||
|
||||
|
||||
/*
|
||||
* Update the network sending (call this method evenly). Returns false if an error occured.
|
||||
* Update the network sending (call this method evenly). Returns false if an error occurred.
|
||||
*/
|
||||
bool CBufSock::update()
|
||||
{
|
||||
|
|
|
@ -127,7 +127,7 @@ string CLoginClient::authenticate(const string &loginServiceAddr, const ucstring
|
|||
|
||||
string CLoginClient::authenticateBegin(const string &loginServiceAddr, const ucstring &login, const string &cpassword, const string &application)
|
||||
{
|
||||
VerifyLoginPasswordReason = "";
|
||||
VerifyLoginPasswordReason.clear();
|
||||
VerifyLoginPassword = false;
|
||||
|
||||
// S01: connect to the LS
|
||||
|
@ -355,7 +355,7 @@ string CLoginClient::selectShardBegin(sint32 shardId)
|
|||
{
|
||||
nlassert(_LSCallbackClient != 0 && _LSCallbackClient->connected());
|
||||
|
||||
ShardChooseShardReason = "";
|
||||
ShardChooseShardReason.clear();
|
||||
ShardChooseShard = false;
|
||||
|
||||
if (ShardList.empty())
|
||||
|
|
|
@ -157,7 +157,7 @@ void cbWSChooseShard (CMessage &msgin, const std::string &/* serviceName */, TSe
|
|||
// add it to the awaiting client
|
||||
nlinfo ("LS: New cookie %s (name '%s' priv '%s' extended '%s' instance %u slot %u) inserted in the pending user list (awaiting new client)", cookie.toString().c_str(), userName.c_str(), userPriv.c_str(), userExtended.c_str(), instanceId, charSlot);
|
||||
PendingUsers.push_back (CPendingUser (cookie, userName, userPriv, userExtended, instanceId, charSlot));
|
||||
reason = "";
|
||||
reason.clear();
|
||||
|
||||
// callback if needed
|
||||
if (NewCookieCallback != NULL)
|
||||
|
@ -233,7 +233,7 @@ void cbShardValidation (CMessage &msgin, TSockId from, CCallbackNetBase &netbase
|
|||
// if the cookie is not valid and we accept them, clear the error
|
||||
if(AcceptInvalidCookie && !reason.empty())
|
||||
{
|
||||
reason = "";
|
||||
reason.clear();
|
||||
cookie.set (rand(), rand(), rand());
|
||||
}
|
||||
|
||||
|
@ -425,7 +425,8 @@ void CLoginServer::addNewCookieCallback(TNewCookieCallback newCookieCb)
|
|||
|
||||
string CLoginServer::isValidCookie (const CLoginCookie &lc, string &userName, string &userPriv, string &userExtended, uint32 &instanceId, uint32 &charSlot)
|
||||
{
|
||||
userName = userPriv = "";
|
||||
userName.clear();
|
||||
userPriv.clear();
|
||||
|
||||
if (!AcceptInvalidCookie && !lc.isValid())
|
||||
return "The cookie is invalid";
|
||||
|
|
|
@ -159,7 +159,7 @@ void CMessageRecorder::recordNext( sint64 updatecounter, TNetworkEvent event, TS
|
|||
void CMessageRecorder::stopRecord()
|
||||
{
|
||||
_File.close();
|
||||
_Filename = "";
|
||||
_Filename.clear();
|
||||
}
|
||||
|
||||
|
||||
|
@ -395,7 +395,7 @@ TNetworkEvent CMessageRecorder::replayConnectionAttempt( const CInetAddress& add
|
|||
void CMessageRecorder::stopReplay()
|
||||
{
|
||||
_File.close();
|
||||
_Filename = "";
|
||||
_Filename.clear();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1453,7 +1453,7 @@ sint IService::main (const char *serviceShortName, const char *serviceLongName,
|
|||
}
|
||||
|
||||
if (dispName.empty())
|
||||
str = "";
|
||||
str.clear();
|
||||
else
|
||||
str = dispName + ": ";
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ void CSock::releaseNetwork()
|
|||
}
|
||||
|
||||
|
||||
/* Returns the code of the last error that has occured.
|
||||
/* Returns the code of the last error that has occurred.
|
||||
* Note: This code is platform-dependant. On Unix, it is errno; on Windows it is the Winsock error code.
|
||||
* See also errorString()
|
||||
*/
|
||||
|
|
|
@ -167,7 +167,7 @@ void CVarPath::decode ()
|
|||
if (val == "=")
|
||||
{
|
||||
srv += val + RawVarPath.substr (TokenPos);
|
||||
var = "";
|
||||
var.clear();
|
||||
}
|
||||
else
|
||||
var = RawVarPath.substr (TokenPos);
|
||||
|
|
|
@ -631,7 +631,7 @@ bool computeRetriever(CCollisionMeshBuild &cmb, CLocalRetriever &lr, CVector &tr
|
|||
{
|
||||
nlwarning("Edge issues reported !!");
|
||||
uint i;
|
||||
error = "";
|
||||
error.clear();
|
||||
for (i=0; i<errors.size(); ++i)
|
||||
error += errors[i]+"\n";
|
||||
return false;
|
||||
|
|
|
@ -43,7 +43,7 @@ Doc:
|
|||
// Collisionnable primitives
|
||||
Each primitive must be moved first with the move() method.
|
||||
Their moves are evaluate all at once. All the collisions found are time sorted in a time orderin table (_TimeOT).
|
||||
While the table is not empty, the first collision occured in time is solved and
|
||||
While the table is not empty, the first collision occurred in time is solved and
|
||||
If a collision is found, reaction() is called.
|
||||
|
||||
|
||||
|
|
|
@ -1770,7 +1770,7 @@ void CAudioMixerUser::update()
|
|||
str += tmp;
|
||||
}
|
||||
nldebug((string("Status1: ")+str).c_str());
|
||||
str = "";
|
||||
str.clear();
|
||||
for (i=_NbTracks/2; i<_NbTracks; ++i)
|
||||
{
|
||||
sprintf(tmp, "[%2u]%8p ", i, _Tracks[i]->getSource());
|
||||
|
|
|
@ -160,7 +160,7 @@ void CContextSound::init()
|
|||
uint contextArgIndex[SoundContextNbArgs];
|
||||
bool useRandom = false;
|
||||
bool parseArg = false;
|
||||
_BaseName = "";
|
||||
_BaseName.clear();
|
||||
|
||||
//nldebug("Init the context sound %s", _PatternName.c_str());
|
||||
|
||||
|
@ -190,7 +190,7 @@ void CContextSound::init()
|
|||
nlassertex(nbJoker < SoundContextNbArgs, ("Error will trying to play ContextSound '%s'", _Name.toString().c_str()/*CStringMapper::unmap(_Name).c_str()*/));
|
||||
fromString(index, contextArgIndex[nbJoker++]);
|
||||
parseArg = false;
|
||||
index = "";
|
||||
index.clear();
|
||||
}
|
||||
}
|
||||
else if (*first == 'r')
|
||||
|
|
|
@ -563,15 +563,15 @@ void CSoundDriverDSound::initDevice(const std::string &device, ISoundDriver::TSo
|
|||
switch (hr)
|
||||
{
|
||||
case DSERR_BUFFERLOST:
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer : DSERR_BUFFERLOST");
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer: DSERR_BUFFERLOST");
|
||||
case DSERR_INVALIDCALL:
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer : DSERR_INVALIDCALL");
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer: DSERR_INVALIDCALL");
|
||||
case DSERR_INVALIDPARAM:
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer : DSERR_INVALIDPARAM");
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer: DSERR_INVALIDPARAM");
|
||||
case DSERR_PRIOLEVELNEEDED:
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer : DSERR_PRIOLEVELNEEDED");
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer: DSERR_PRIOLEVELNEEDED");
|
||||
default:
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer : unkown error");
|
||||
throw ESoundDriver("Failed to lock the DirectSound primary buffer: unknown error");
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -92,7 +92,7 @@ CSound *CSound::createSound(const std::string &filename, NLGEORGES::UFormElm& fo
|
|||
}
|
||||
else
|
||||
{
|
||||
nlassertex(false, ("SoundType unsuported : %s", dfnName.c_str()));
|
||||
nlassertex(false, ("SoundType unsupported: %s", dfnName.c_str()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -271,7 +271,7 @@ int main (int argc, char **argv)
|
|||
bool _256=(type==CTileBank::_256x256);
|
||||
|
||||
// Diffuse bitmap filled ?
|
||||
if (pTile->getRelativeFileName (CTile::diffuse)!="")
|
||||
if (!pTile->getRelativeFileName (CTile::diffuse).empty())
|
||||
{
|
||||
// File exist ?
|
||||
string tileFilename = bank.getAbsPath()+CPath::standardizePath(pTile->getRelativeFileName (CTile::diffuse), false);
|
||||
|
@ -302,7 +302,7 @@ int main (int argc, char **argv)
|
|||
}
|
||||
|
||||
// Additive bitmap filled ?
|
||||
if (pTile->getRelativeFileName (CTile::additive)!="")
|
||||
if (!pTile->getRelativeFileName (CTile::additive).empty())
|
||||
{
|
||||
// File exist ?
|
||||
string tileFilename = bank.getAbsPath()+CPath::standardizePath(pTile->getRelativeFileName (CTile::additive), false);
|
||||
|
@ -333,7 +333,7 @@ int main (int argc, char **argv)
|
|||
}
|
||||
|
||||
// Alpha bitmap filled ?
|
||||
if (pTile->getRelativeFileName (CTile::alpha)!="")
|
||||
if (!pTile->getRelativeFileName (CTile::alpha).empty())
|
||||
{
|
||||
// File exist ?
|
||||
string tileFilename = bank.getAbsPath()+CPath::standardizePath(pTile->getRelativeFileName (CTile::alpha), false);
|
||||
|
|
|
@ -175,7 +175,6 @@ void LoadSceneScript (const char *ScriptName, CScene* pScene, vector<SDispCS> &D
|
|||
if (ITemp != NULL)
|
||||
{
|
||||
SDispCS dcsTemp;
|
||||
dcsTemp.Name = "";
|
||||
for (sint32 i = 0; i < (1+nNbPlus); ++i)
|
||||
dcsTemp.Name += " ";
|
||||
dcsTemp.Name += nameIG;
|
||||
|
|
|
@ -227,7 +227,7 @@ int main(int argc, char* argv[])
|
|||
CGlobalRetriever *globalRetriever= NULL;
|
||||
uint32 grFileDate= 0;
|
||||
uint32 rbankFileDate= 0;
|
||||
if( grFile!="" && rbankFile!="" )
|
||||
if( !grFile.empty() && !rbankFile.empty())
|
||||
{
|
||||
CIFile fin;
|
||||
// serial the retrieverBank. Exception if not found.
|
||||
|
|
|
@ -19,7 +19,9 @@ SET_TARGET_PROPERTIES(ligoscape_utility PROPERTIES SUFFIX ".dlx")
|
|||
NL_DEFAULT_PROPS(ligoscape_utility "MAX Plugin: Ligoscape Utility")
|
||||
NL_ADD_RUNTIME_FLAGS(ligoscape_utility)
|
||||
NL_ADD_LIB_SUFFIX(ligoscape_utility)
|
||||
|
||||
|
||||
ADD_DEFINITIONS(${MAXSDK_DEFINITIONS})
|
||||
|
||||
INSTALL(TARGETS ligoscape_utility RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||
INSTALL(FILES ligoscript.txt DESTINATION maxplugin/docs)
|
||||
INSTALL(DIRECTORY scripts/
|
||||
|
|
|
@ -46,7 +46,7 @@ NeLLigoGetErrorZoneTemplate code_array vertex_id_array message_array error_index
|
|||
Get the export errors after a call to NeLLigoExportZoneTemplate.
|
||||
|
||||
code_array is an integer array with the error code. (2 for OpenedEdge, 4 for InvalidVertexList, 5 for NotInserted)
|
||||
vertex_id_array is an integer array with the id of the vertex where an error occured.
|
||||
vertex_id_array is an integer array with the id of the vertex where an error occurred.
|
||||
message_array is a string array with the error message for the vertices
|
||||
error_index is the id of the error buffer (1 ~ 9)
|
||||
|
||||
|
|
|
@ -124,17 +124,17 @@ bool CMaxToLigo::loadLigoConfigFile (CLigoConfig& config, Interface& it, bool di
|
|||
if (hModule)
|
||||
{
|
||||
// Get the path
|
||||
char sModulePath[256];
|
||||
TCHAR sModulePath[256];
|
||||
int res=GetModuleFileName(hModule, sModulePath, 256);
|
||||
|
||||
// Success ?
|
||||
if (res)
|
||||
{
|
||||
// Path
|
||||
char sDrive[256];
|
||||
char sDir[256];
|
||||
_splitpath (sModulePath, sDrive, sDir, NULL, NULL);
|
||||
_makepath (sModulePath, sDrive, sDir, "ligoscape", ".cfg");
|
||||
TCHAR sDrive[256];
|
||||
TCHAR sDir[256];
|
||||
_tsplitpath (sModulePath, sDrive, sDir, NULL, NULL);
|
||||
_tmakepath (sModulePath, sDrive, sDir, _T("ligoscape"), _T(".cfg"));
|
||||
|
||||
try
|
||||
{
|
||||
|
@ -144,7 +144,7 @@ bool CMaxToLigo::loadLigoConfigFile (CLigoConfig& config, Interface& it, bool di
|
|||
// ok
|
||||
return true;
|
||||
}
|
||||
catch (Exception& e)
|
||||
catch (const Exception& e)
|
||||
{
|
||||
// Print an error message
|
||||
char msg[512];
|
||||
|
@ -160,22 +160,22 @@ bool CMaxToLigo::loadLigoConfigFile (CLigoConfig& config, Interface& it, bool di
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void CMaxToLigo::errorMessage (const char *msg, const char *title, Interface& it, bool dialog)
|
||||
void CMaxToLigo::errorMessage(const std::string &msg, const std::string &title, Interface& it, bool dialog)
|
||||
{
|
||||
// Text or dialog ?
|
||||
if (dialog)
|
||||
{
|
||||
// Dialog message
|
||||
MessageBox (it.GetMAXHWnd(), msg, title, MB_OK|MB_ICONEXCLAMATION);
|
||||
MessageBox (it.GetMAXHWnd(), utf8ToTStr(msg), utf8ToTStr(title), MB_OK|MB_ICONEXCLAMATION);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Text message
|
||||
mprintf ((string(msg) + "\n").c_str());
|
||||
mprintf (utf8ToTStr(msg + "\n"));
|
||||
}
|
||||
|
||||
// Output in log
|
||||
nlwarning ("LIGO ERROR : %s", msg);
|
||||
nlwarning ("LIGO ERROR : %s", msg.c_str());
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
|
|
@ -70,7 +70,7 @@ public:
|
|||
* \param it if a max interface
|
||||
* \param dialog is true to see the message in a dilog, false to see it in the script window.
|
||||
*/
|
||||
static void errorMessage (const char *msg, const char *title, Interface& it, bool dialog);
|
||||
static void errorMessage (const std::string &msg, const std::string &title, Interface& it, bool dialog);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -137,7 +137,7 @@ Value* export_material_cf (Value** arg_list, int count)
|
|||
check_arg_count(export_material, 4, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoExportMaterial [Object] [Filename] [CheckOnly] [Error in dialog]";
|
||||
TCHAR *message = _T("NeLLigoExportMaterial [Object] [Filename] [CheckOnly] [Error in dialog]");
|
||||
type_check(arg_list[0], MAXNode, message);
|
||||
type_check(arg_list[1], String, message);
|
||||
type_check(arg_list[2], Boolean, message);
|
||||
|
@ -306,7 +306,7 @@ Value* export_transition_cf (Value** arg_list, int count)
|
|||
check_arg_count(export_transition, 6, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoExportTransition [Object array (count=9)] [Output filename] [First material filename] [Second material filename] [CheckOnly] [Error in dialog]";
|
||||
TCHAR *message = _T("NeLLigoExportTransition [Object array (count=9)] [Output filename] [First material filename] [Second material filename] [CheckOnly] [Error in dialog]");
|
||||
type_check(arg_list[0], Array, message);
|
||||
type_check(arg_list[1], String, message);
|
||||
type_check(arg_list[2], String, message);
|
||||
|
@ -326,8 +326,8 @@ Value* export_transition_cf (Value** arg_list, int count)
|
|||
|
||||
// The second arg
|
||||
string matFilename[2];
|
||||
matFilename[0] = arg_list[2]->to_string();
|
||||
matFilename[1] = arg_list[3]->to_string();
|
||||
matFilename[0] = tStrToUtf8(arg_list[2]->to_string());
|
||||
matFilename[1] = tStrToUtf8(arg_list[3]->to_string());
|
||||
|
||||
// The third arg
|
||||
bool checkOnly = (arg_list[4]->to_bool() != FALSE);
|
||||
|
@ -427,7 +427,7 @@ Value* export_transition_cf (Value** arg_list, int count)
|
|||
// Serial
|
||||
materials[mat].serial (inputXml);
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[2048];
|
||||
|
@ -541,7 +541,7 @@ Value* export_transition_cf (Value** arg_list, int count)
|
|||
ok = false;
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[512];
|
||||
|
@ -595,7 +595,7 @@ Value* get_error_zone_template_cf (Value** arg_list, int count)
|
|||
check_arg_count(get_error_zone_template, 4, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoGetErrorZoneTemplate [Array error codes] [Array vertex id] [Array messages] [Error index]";
|
||||
TCHAR *message = _T("NeLLigoGetErrorZoneTemplate [Array error codes] [Array vertex id] [Array messages] [Error index]");
|
||||
type_check(arg_list[0], Array, message);
|
||||
type_check(arg_list[1], Array, message);
|
||||
type_check(arg_list[2], Array, message);
|
||||
|
@ -637,7 +637,7 @@ Value* get_error_zone_template_cf (Value** arg_list, int count)
|
|||
vertexId->append (Integer::intern (id+1));
|
||||
|
||||
// Append messages
|
||||
messages->append (new String("[LIGO DEBUG] Opened edge"));
|
||||
messages->append (new String(_T("[LIGO DEBUG] Opened edge")));
|
||||
}
|
||||
|
||||
// Return the main error message
|
||||
|
@ -687,7 +687,7 @@ Value* check_zone_with_material_cf (Value** arg_list, int count)
|
|||
check_arg_count(check_zone_with_template, 3, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoCheckZoneWithMaterial [Object] [Material filename] [Error in dialog]";
|
||||
TCHAR *message = _T("NeLLigoCheckZoneWithMaterial [Object] [Material filename] [Error in dialog]");
|
||||
type_check(arg_list[0], MAXNode, message);
|
||||
type_check(arg_list[1], String, message);
|
||||
type_check(arg_list[2], Boolean, message);
|
||||
|
@ -700,7 +700,7 @@ Value* check_zone_with_material_cf (Value** arg_list, int count)
|
|||
nlassert (node);
|
||||
|
||||
// The second arg
|
||||
string fileName = arg_list[1]->to_string();
|
||||
string fileName = tStrToUtf8(arg_list[1]->to_string());
|
||||
|
||||
// The fourth arg
|
||||
bool errorInDialog = (arg_list[2]->to_bool() != FALSE);
|
||||
|
@ -778,7 +778,7 @@ Value* check_zone_with_material_cf (Value** arg_list, int count)
|
|||
CMaxToLigo::errorMessage (tmp, "NeL Ligo check zone", *MAXScript_interface, errorInDialog);
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[512];
|
||||
|
@ -820,7 +820,7 @@ Value* check_zone_with_transition_cf (Value** arg_list, int count)
|
|||
check_arg_count(check_zone_with_template, 4, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoCheckZoneWithTransition [Object] [Transition filename] [Transition number: 0~8] [Error in dialog]";
|
||||
TCHAR *message = _T("NeLLigoCheckZoneWithTransition [Object] [Transition filename] [Transition number: 0~8] [Error in dialog]");
|
||||
type_check(arg_list[0], MAXNode, message);
|
||||
type_check(arg_list[1], String, message);
|
||||
type_check(arg_list[2], Integer, message);
|
||||
|
@ -834,7 +834,7 @@ Value* check_zone_with_transition_cf (Value** arg_list, int count)
|
|||
nlassert (node);
|
||||
|
||||
// The second arg
|
||||
string fileName = arg_list[1]->to_string();
|
||||
string fileName = tStrToUtf8(arg_list[1]->to_string());
|
||||
|
||||
// The second arg
|
||||
int transitionNumber = arg_list[2]->to_int();
|
||||
|
@ -901,7 +901,7 @@ Value* check_zone_with_transition_cf (Value** arg_list, int count)
|
|||
CMaxToLigo::errorMessage (tmp, "NeL Ligo check zone", *MAXScript_interface, errorInDialog);
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[512];
|
||||
|
@ -987,7 +987,7 @@ Value* export_zone_cf (Value** arg_list, int count)
|
|||
check_arg_count(check_zone_with_template, 5, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoExportZone [Object] [Ligozone filename] [Category Array] [Error in dialog] [Snapshot]";
|
||||
TCHAR *message = _T("NeLLigoExportZone [Object] [Ligozone filename] [Category Array] [Error in dialog] [Snapshot]");
|
||||
type_check(arg_list[0], MAXNode, message);
|
||||
type_check(arg_list[1], String, message);
|
||||
type_check(arg_list[2], Array, message);
|
||||
|
@ -1002,7 +1002,7 @@ Value* export_zone_cf (Value** arg_list, int count)
|
|||
nlassert (node);
|
||||
|
||||
// The second arg
|
||||
string fileName = arg_list[1]->to_string();
|
||||
string fileName = tStrToUtf8(arg_list[1]->to_string());
|
||||
|
||||
// The thrid arg
|
||||
Array *array = (Array*)arg_list[2];
|
||||
|
@ -1047,8 +1047,8 @@ Value* export_zone_cf (Value** arg_list, int count)
|
|||
type_check (cell->get(2), String, message);
|
||||
|
||||
// Get the strings
|
||||
categories[i].first = cell->get(1)->to_string();
|
||||
categories[i].second = cell->get(2)->to_string();
|
||||
categories[i].first = tStrToUtf8(cell->get(1)->to_string());
|
||||
categories[i].second = tStrToUtf8(cell->get(2)->to_string());
|
||||
}
|
||||
|
||||
// Get a Object pointer
|
||||
|
@ -1313,7 +1313,7 @@ Value* export_zone_cf (Value** arg_list, int count)
|
|||
CMaxToLigo::errorMessage (tmp, "NeL Ligo export zone", *MAXScript_interface, errorInDialog);
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[512];
|
||||
|
@ -1324,7 +1324,7 @@ Value* export_zone_cf (Value** arg_list, int count)
|
|||
}
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[512];
|
||||
|
@ -1362,14 +1362,14 @@ Value* get_error_string_cf (Value** arg_list, int count)
|
|||
check_arg_count(get_error_string, 1, count);
|
||||
|
||||
// Checks arg
|
||||
char *message = "NeLLigoGetErrorString [error code]";
|
||||
TCHAR *message = _T("NeLLigoGetErrorString [error code]");
|
||||
type_check(arg_list[0], Integer, message);
|
||||
|
||||
// The first arg
|
||||
int errorCode = arg_list[0]->to_int()-1;
|
||||
|
||||
// Error code
|
||||
return new String ((char*)CLigoError::getStringError ((CLigoError::TError)errorCode));
|
||||
return new String (utf8ToTStr(CLigoError::getStringError ((CLigoError::TError)errorCode)));
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
@ -1380,14 +1380,14 @@ Value* set_directory_cf (Value** arg_list, int count)
|
|||
check_arg_count(set_directory, 1, count);
|
||||
|
||||
// Checks arg
|
||||
char *message = "NeLLigoDirectory [path]";
|
||||
TCHAR *message = _T("NeLLigoDirectory [path]");
|
||||
type_check(arg_list[0], String, message);
|
||||
|
||||
// The first arg
|
||||
const char *dir = arg_list[0]->to_string();
|
||||
const std::string dir = tStrToUtf8(arg_list[0]->to_string());
|
||||
|
||||
// Set the directory
|
||||
return (chdir (dir)==0)?&true_value:&false_value;
|
||||
return (chdir (dir.c_str())==0)?&true_value:&false_value;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
@ -1398,7 +1398,7 @@ Value* get_zone_mask_cf (Value** arg_list, int count)
|
|||
check_arg_count(check_zone_with_template, 5, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoGetZoneMask [Object] [Mask Array] [Width Array] [Height Array] [Error in dialog]";
|
||||
TCHAR *message = _T("NeLLigoGetZoneMask [Object] [Mask Array] [Width Array] [Height Array] [Error in dialog]");
|
||||
type_check(arg_list[0], MAXNode, message);
|
||||
type_check(arg_list[1], Array, message);
|
||||
type_check(arg_list[2], Array, message);
|
||||
|
@ -1558,7 +1558,7 @@ Value* get_zone_size_cf (Value** arg_list, int count)
|
|||
check_arg_count(check_zone_with_template, 6, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoGetZoneMask [Object] [minx Array] [maxy Array] [miny Array] [maxy Array] [Error in dialog]";
|
||||
TCHAR *message = _T("NeLLigoGetZoneMask [Object] [minx Array] [maxy Array] [miny Array] [maxy Array] [Error in dialog]");
|
||||
type_check(arg_list[0], MAXNode, message);
|
||||
type_check(arg_list[1], Array, message);
|
||||
type_check(arg_list[2], Array, message);
|
||||
|
@ -1835,7 +1835,7 @@ bool MakeSnapShot (NLMISC::CBitmap &snapshot, const NL3D::CTileBank &tileBank, c
|
|||
CMaxToLigo::errorMessage ("Can't initialise opengl offscreen renderer", "NeL Ligo check zone", *MAXScript_interface, errorInDialog);
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error
|
||||
char tmp[512];
|
||||
|
@ -1859,7 +1859,7 @@ Value* make_snapshot_cf (Value** arg_list, int count)
|
|||
check_arg_count(NeLLigoMakeSnapShot, 7, count);
|
||||
|
||||
// Check to see if the arguments match up to what we expect
|
||||
char *message = "NeLLigoMakeSnapShot [Object] [Snapshot filename] [xMin] [xMax] [yMin] [yMax] [Error in dialog]";
|
||||
TCHAR *message = _T("NeLLigoMakeSnapShot [Object] [Snapshot filename] [xMin] [xMax] [yMin] [yMax] [Error in dialog]");
|
||||
type_check(arg_list[0], MAXNode, message);
|
||||
type_check(arg_list[1], String, message);
|
||||
type_check(arg_list[2], Integer, message);
|
||||
|
@ -1876,7 +1876,7 @@ Value* make_snapshot_cf (Value** arg_list, int count)
|
|||
nlassert (node);
|
||||
|
||||
// The second arg
|
||||
string fileName = arg_list[1]->to_string();
|
||||
string fileName = tStrToUtf8(arg_list[1]->to_string());
|
||||
|
||||
// The thrid arg
|
||||
int xMin = arg_list[2]->to_int();
|
||||
|
@ -2042,7 +2042,7 @@ Value* make_snapshot_cf (Value** arg_list, int count)
|
|||
CMaxToLigo::errorMessage (tmp, "NeL Ligo export zone", *MAXScript_interface, errorInDialog);
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[512];
|
||||
|
@ -2068,7 +2068,7 @@ Value* make_snapshot_cf (Value** arg_list, int count)
|
|||
}
|
||||
}
|
||||
}
|
||||
catch (Exception &e)
|
||||
catch (const Exception &e)
|
||||
{
|
||||
// Error message
|
||||
char tmp[512];
|
||||
|
|
|
@ -85,7 +85,7 @@ END_MESSAGE_MAP()
|
|||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CAnimationDlg message handlers
|
||||
|
||||
void CAnimationDlg::OnEnd()
|
||||
void CAnimationDlg::OnEnd()
|
||||
{
|
||||
UpdateData ();
|
||||
CurrentFrame=End;
|
||||
|
@ -95,7 +95,7 @@ void CAnimationDlg::OnEnd()
|
|||
updateBar ();
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnPlay()
|
||||
void CAnimationDlg::OnPlay()
|
||||
{
|
||||
// play
|
||||
UpdateData ();
|
||||
|
@ -111,7 +111,7 @@ void CAnimationDlg::OnPlay()
|
|||
Main->enableFXs(true);
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnStop()
|
||||
void CAnimationDlg::OnStop()
|
||||
{
|
||||
// Is checked ?
|
||||
UpdateData ();
|
||||
|
@ -124,7 +124,7 @@ void CAnimationDlg::OnStop()
|
|||
Main->enableFXs(false);
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnChangeCurrentFrame()
|
||||
void CAnimationDlg::OnChangeCurrentFrame()
|
||||
{
|
||||
// TODO: If this is a RICHEDIT control, the control will not
|
||||
// send this notification unless you override the CDialog::OnInitDialog()
|
||||
|
@ -133,7 +133,7 @@ void CAnimationDlg::OnChangeCurrentFrame()
|
|||
|
||||
// Update values
|
||||
UpdateData ();
|
||||
|
||||
|
||||
// Clamp current frame
|
||||
clamp (UICurrentFrame, (int)Start, (int)End);
|
||||
CurrentFrame=(float)UICurrentFrame;
|
||||
|
@ -141,21 +141,21 @@ void CAnimationDlg::OnChangeCurrentFrame()
|
|||
|
||||
// Update
|
||||
updateBar ();
|
||||
UpdateData (FALSE);
|
||||
UpdateData (FALSE);
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnChangeEndEdit()
|
||||
void CAnimationDlg::OnChangeEndEdit()
|
||||
{
|
||||
// TODO: If this is a RICHEDIT control, the control will not
|
||||
// send this notification unless you override the CDialog::OnInitDialog()
|
||||
// function and call CRichEditCtrl().SetEventMask()
|
||||
// with the ENM_CHANGE flag ORed into the mask.
|
||||
|
||||
|
||||
// TODO: Add your control notification handler code here
|
||||
|
||||
// Update values
|
||||
UpdateData ();
|
||||
|
||||
|
||||
// Clamp current frame
|
||||
if (End<Start)
|
||||
Start=End;
|
||||
|
@ -167,17 +167,17 @@ void CAnimationDlg::OnChangeEndEdit()
|
|||
UICurrentFrame=(int)CurrentFrame;
|
||||
|
||||
// Update
|
||||
UpdateData (FALSE);
|
||||
UpdateData (FALSE);
|
||||
Main->setAnimTime (Start, End);
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnChangeSpeed()
|
||||
void CAnimationDlg::OnChangeSpeed()
|
||||
{
|
||||
// TODO: If this is a RICHEDIT control, the control will not
|
||||
// send this notification unless you override the CDialog::OnInitDialog()
|
||||
// function and call CRichEditCtrl().SetEventMask()
|
||||
// with the ENM_CHANGE flag ORed into the mask.
|
||||
|
||||
|
||||
UpdateData();
|
||||
if (Speed<=0.001f)
|
||||
Speed=0.001f;
|
||||
|
@ -187,7 +187,7 @@ void CAnimationDlg::OnChangeSpeed()
|
|||
Main->setAnimTime (Start, End);
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnStart()
|
||||
void CAnimationDlg::OnStart()
|
||||
{
|
||||
UpdateData ();
|
||||
CurrentFrame=Start;
|
||||
|
@ -197,16 +197,16 @@ void CAnimationDlg::OnStart()
|
|||
updateBar ();
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnChangeStartEdit()
|
||||
void CAnimationDlg::OnChangeStartEdit()
|
||||
{
|
||||
// TODO: If this is a RICHEDIT control, the control will not
|
||||
// send this notification unless you override the CDialog::OnInitDialog()
|
||||
// function and call CRichEditCtrl().SetEventMask()
|
||||
// with the ENM_CHANGE flag ORed into the mask.
|
||||
|
||||
|
||||
// Update values
|
||||
UpdateData ();
|
||||
|
||||
|
||||
// Clamp current frame
|
||||
if (End<Start)
|
||||
End=Start;
|
||||
|
@ -218,11 +218,11 @@ void CAnimationDlg::OnChangeStartEdit()
|
|||
UICurrentFrame=(int)CurrentFrame;
|
||||
|
||||
// Update
|
||||
UpdateData (FALSE);
|
||||
UpdateData (FALSE);
|
||||
Main->setAnimTime (Start, End);
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
||||
void CAnimationDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
|
||||
{
|
||||
// TODO: Add your message handler code here and/or call default
|
||||
|
||||
|
@ -290,7 +290,7 @@ void CAnimationDlg::handle ()
|
|||
float backup = CurrentFrame;
|
||||
CurrentFrame=(float)fmod ((CurrentFrame-Start), End-Start)+Start;
|
||||
if (backup!=CurrentFrame)
|
||||
{
|
||||
{
|
||||
LastFrame = CurrentFrame;
|
||||
Main->enableFXs(false);
|
||||
Main->enableFXs(true);
|
||||
|
@ -306,7 +306,7 @@ void CAnimationDlg::handle ()
|
|||
|
||||
// Stop animation
|
||||
OnStop ();
|
||||
|
||||
|
||||
}
|
||||
if (CurrentFrame<Start)
|
||||
{
|
||||
|
@ -331,10 +331,10 @@ void CAnimationDlg::handle ()
|
|||
LastTime=newTime;
|
||||
}
|
||||
|
||||
BOOL CAnimationDlg::OnInitDialog()
|
||||
BOOL CAnimationDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
|
||||
// Stop
|
||||
LastTime=NLMISC::CTime::getLocalTime ();
|
||||
StopCtrl.SetCheck (1);
|
||||
|
@ -345,7 +345,7 @@ BOOL CAnimationDlg::OnInitDialog()
|
|||
|
||||
// Update the time line
|
||||
updateBar ();
|
||||
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
@ -363,7 +363,7 @@ void CAnimationDlg::updateBar ()
|
|||
{
|
||||
// Update value
|
||||
UpdateData();
|
||||
|
||||
|
||||
// Set cursor position
|
||||
int position;
|
||||
if (fabs (End-Start)<0.00001f)
|
||||
|
@ -389,7 +389,7 @@ NL3D::TAnimationTime CAnimationDlg::getLastTime ()
|
|||
return LastFrame/Speed;
|
||||
}
|
||||
|
||||
void CAnimationDlg::OnDestroy()
|
||||
void CAnimationDlg::OnDestroy()
|
||||
{
|
||||
setRegisterWindowState (this, REGKEY_OBJ_VIEW_ANIMATION_DLG);
|
||||
|
||||
|
@ -412,9 +412,9 @@ void CAnimationDlg::setCurrentFrame (float currentFrame)
|
|||
}
|
||||
|
||||
BOOL CAnimationDlg::EnableWindow(BOOL enable /*=TRUE*/)
|
||||
{
|
||||
{
|
||||
PlayCtrl.EnableWindow(Playing && enable);
|
||||
StopCtrl.EnableWindow(FALSE);
|
||||
StopCtrl.EnableWindow(FALSE);
|
||||
FRWCtrl.EnableWindow(enable);
|
||||
FFWCtrl.EnableWindow(enable);
|
||||
TimeLineCtrl.EnableWindow(enable);
|
||||
|
|
|
@ -46,7 +46,7 @@ public:
|
|||
CButton StopCtrl;
|
||||
float End;
|
||||
float Speed;
|
||||
float Start;
|
||||
float Start;
|
||||
BOOL Loop;
|
||||
int UICurrentFrame;
|
||||
BOOL Inplace;
|
||||
|
|
|
@ -81,12 +81,12 @@ void CAnimationSetDlg::OnAddAnimation ()
|
|||
if (instance != 0xffffffff)
|
||||
{
|
||||
// Create a dialog
|
||||
static char BASED_CODE szFilter[] =
|
||||
"NeL Animation Files (*.anim)\0*.anim\0"
|
||||
"All Files (*.*)\0*.*\0\0";
|
||||
static TCHAR BASED_CODE szFilter[] =
|
||||
_T("NeL Animation Files (*.anim)\0*.anim\0")
|
||||
_T("All Files (*.*)\0*.*\0\0");
|
||||
|
||||
// Filename buffer
|
||||
char buffer[65535];
|
||||
TCHAR buffer[65535];
|
||||
buffer[0]=0;
|
||||
|
||||
OPENFILENAME openFile;
|
||||
|
@ -98,7 +98,7 @@ void CAnimationSetDlg::OnAddAnimation ()
|
|||
openFile.lpstrFile = buffer;
|
||||
openFile.nMaxFile = 65535;
|
||||
openFile.Flags = OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT|OFN_ENABLESIZING|OFN_EXPLORER;
|
||||
openFile.lpstrDefExt = "*.anim";
|
||||
openFile.lpstrDefExt = _T("*.anim");
|
||||
|
||||
|
||||
if (GetOpenFileName(&openFile))
|
||||
|
@ -107,7 +107,7 @@ void CAnimationSetDlg::OnAddAnimation ()
|
|||
try
|
||||
{
|
||||
// Filename pointer
|
||||
char *c=buffer;
|
||||
TCHAR *c=buffer;
|
||||
|
||||
// Read the path
|
||||
CString path = buffer;
|
||||
|
@ -117,7 +117,7 @@ void CAnimationSetDlg::OnAddAnimation ()
|
|||
c[path.GetLength()+1]=0;
|
||||
|
||||
// Path is empty
|
||||
path = "";
|
||||
path.Empty();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -132,8 +132,8 @@ void CAnimationSetDlg::OnAddAnimation ()
|
|||
while (*c)
|
||||
{
|
||||
// File name
|
||||
char filename[256];
|
||||
char *ptr=filename;
|
||||
TCHAR filename[256];
|
||||
TCHAR *ptr=filename;
|
||||
|
||||
// Read a file name
|
||||
while (*c)
|
||||
|
@ -147,7 +147,7 @@ void CAnimationSetDlg::OnAddAnimation ()
|
|||
CString name = path + filename;
|
||||
|
||||
// Load the animation
|
||||
_ObjView->loadAnimation (name, instance);
|
||||
_ObjView->loadAnimation (tStrToUtf8(name), instance);
|
||||
|
||||
// Touch the channel mixer
|
||||
_ObjView->reinitChannels ();
|
||||
|
@ -156,9 +156,9 @@ void CAnimationSetDlg::OnAddAnimation ()
|
|||
refresh (TRUE);
|
||||
}
|
||||
}
|
||||
catch (Exception& e)
|
||||
catch (const Exception& e)
|
||||
{
|
||||
MessageBox (e.what(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION);
|
||||
MessageBox (utf8ToTStr(e.what()), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -173,8 +173,8 @@ void CAnimationSetDlg::OnAddSkelWt()
|
|||
if (instance != CB_ERR)
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
static char BASED_CODE szFilter[] = "NeL Skeleton Weight Template Files (*.swt)|*.swt|All Files (*.*)|*.*||";
|
||||
CFileDialog fileDlg( TRUE, ".swt", "*.swt", OFN_ALLOWMULTISELECT|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter);
|
||||
static TCHAR BASED_CODE szFilter[] = _T("NeL Skeleton Weight Template Files (*.swt)|*.swt|All Files (*.*)|*.*||");
|
||||
CFileDialog fileDlg( TRUE, _T(".swt"), _T("*.swt"), OFN_ALLOWMULTISELECT|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter);
|
||||
if (fileDlg.DoModal()==IDOK)
|
||||
{
|
||||
// Open the file
|
||||
|
@ -188,7 +188,7 @@ void CAnimationSetDlg::OnAddSkelWt()
|
|||
CString filename=fileDlg.GetNextPathName(pos);
|
||||
|
||||
// Load the animation
|
||||
_ObjView->loadSWT (filename, instance);
|
||||
_ObjView->loadSWT (tStrToUtf8(filename), instance);
|
||||
|
||||
// Touch the channel mixer
|
||||
_ObjView->reinitChannels ();
|
||||
|
@ -197,9 +197,9 @@ void CAnimationSetDlg::OnAddSkelWt()
|
|||
refresh (TRUE);
|
||||
}
|
||||
}
|
||||
catch (Exception& e)
|
||||
catch (const Exception& e)
|
||||
{
|
||||
MessageBox (e.what(), "NeL object viewer", MB_OK|MB_ICONEXCLAMATION);
|
||||
MessageBox (utf8ToTStr(e.what()), _T("NeL object viewer"), MB_OK|MB_ICONEXCLAMATION);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -233,9 +233,8 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
uint i;
|
||||
for (i=0; i<_ObjView->getNumInstance (); i++)
|
||||
{
|
||||
char name[512];
|
||||
_splitpath (_ObjView->getInstance (i)->Saved.ShapeFilename.c_str(), NULL, NULL, name, NULL);
|
||||
EditedObject.InsertString (-1, name);
|
||||
std::string name = NLMISC::CFile::getFilenameWithoutExtension(_ObjView->getInstance(i)->Saved.ShapeFilename);
|
||||
EditedObject.InsertString (-1, utf8ToTStr(name));
|
||||
}
|
||||
|
||||
// Get edited object
|
||||
|
@ -270,7 +269,7 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
CAnimation *anim = object->AnimationSet.getAnimation (object->AnimationSet.getAnimationIdByName (name));
|
||||
|
||||
// Insert an intem
|
||||
HTREEITEM item=Tree.InsertItem (name);
|
||||
HTREEITEM item=Tree.InsertItem(utf8ToTStr(name));
|
||||
Tree.SetItemData (item, i);
|
||||
nlassert (item!=NULL);
|
||||
|
||||
|
@ -281,7 +280,7 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
while (ite!=setString.end())
|
||||
{
|
||||
// Add this string
|
||||
HTREEITEM newItem = Tree.InsertItem (ite->c_str(), item);
|
||||
HTREEITEM newItem = Tree.InsertItem (utf8ToTStr(*ite), item);
|
||||
Tree.SetItemData (newItem, 0xffffffff);
|
||||
|
||||
// Get the track
|
||||
|
@ -296,20 +295,17 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
keyTrack->getKeysInRange (track->getBeginTime ()-1, track->getEndTime ()+1, keys);
|
||||
|
||||
// Print track info
|
||||
char name[512];
|
||||
_snprintf (name, 512, "%s (%f - %f) %d keys", typeid(*track).name(), track->getBeginTime (), track->getEndTime (), keys.size());
|
||||
HTREEITEM keyItem = Tree.InsertItem (name, newItem);
|
||||
Tree.SetItemData (keyItem, 0xffffffff);
|
||||
name = toString("%s (%f - %f) %u keys", typeid(*track).name(), track->getBeginTime(), track->getEndTime(), (uint32)keys.size());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Print track info
|
||||
char name[512];
|
||||
_snprintf (name, 512, "%s (%f - %f)", typeid(*track).name(), track->getBeginTime (), track->getEndTime ());
|
||||
HTREEITEM keyItem = Tree.InsertItem (name, newItem);
|
||||
Tree.SetItemData (keyItem, 0xffffffff);
|
||||
name = toString("%s (%f - %f)", typeid(*track).name(), track->getBeginTime(), track->getEndTime());
|
||||
}
|
||||
|
||||
HTREEITEM keyItem = Tree.InsertItem(utf8ToTStr(name), newItem);
|
||||
Tree.SetItemData(keyItem, 0xffffffff);
|
||||
|
||||
ite++;
|
||||
}
|
||||
}
|
||||
|
@ -325,7 +321,7 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
CSkeletonWeight *swt = object->AnimationSet.getSkeletonWeight (object->AnimationSet.getSkeletonWeightIdByName (name));
|
||||
|
||||
// Insert an intem
|
||||
HTREEITEM item=SkelTree.InsertItem (name);
|
||||
HTREEITEM item=SkelTree.InsertItem(utf8ToTStr(name));
|
||||
nlassert (item!=NULL);
|
||||
|
||||
// Get number of node in this skeleton weight
|
||||
|
@ -334,11 +330,10 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
// Add the nodein the tree
|
||||
for (uint n=0; n<numNode; n++)
|
||||
{
|
||||
char percent[512];
|
||||
sprintf (percent, "%s (%f%%)", swt->getNodeName (n).c_str(), swt->getNodeWeight(n)*100);
|
||||
std::string percent = toString("%s (%f%%)", swt->getNodeName(n).c_str(), swt->getNodeWeight(n)*100);
|
||||
|
||||
// Add this string
|
||||
SkelTree.InsertItem (percent, item);
|
||||
SkelTree.InsertItem (utf8ToTStr(percent), item);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -346,7 +341,7 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
for (i=0; i<object->Saved.PlayList.size(); i++)
|
||||
{
|
||||
// Insert an intem
|
||||
int item=PlayList.InsertString (-1, object->Saved.PlayList[i].c_str());
|
||||
int item=PlayList.InsertString (-1, utf8ToTStr(object->Saved.PlayList[i]));
|
||||
nlassert (item!=LB_ERR);
|
||||
}
|
||||
}
|
||||
|
@ -372,9 +367,9 @@ void CAnimationSetDlg::refresh (BOOL update)
|
|||
for (i=0; i<object->Saved.PlayList.size(); i++)
|
||||
{
|
||||
// Insert an intem
|
||||
char text[512];
|
||||
TCHAR text[512];
|
||||
PlayList.GetText( i, text);
|
||||
object->Saved.PlayList[i] = text;
|
||||
object->Saved.PlayList[i] = tStrToUtf8(text);
|
||||
}
|
||||
|
||||
CDialog::UpdateData (update);
|
||||
|
|
|
@ -355,7 +355,7 @@ void CAttribDlg::init(HBITMAP bitmap, sint x, sint y, CWnd *pParent)
|
|||
for (uint k = 0; k < getNumScheme(); ++k)
|
||||
{
|
||||
|
||||
m_Scheme.InsertString(k, getSchemeName(k).c_str());
|
||||
m_Scheme.InsertString(k, utf8ToTStr(getSchemeName(k)));
|
||||
|
||||
}
|
||||
|
||||
|
@ -683,7 +683,7 @@ END_MESSAGE_MAP()
|
|||
{
|
||||
|
||||
CString out;
|
||||
out.Format("%g", Scheme->getValue(index) );
|
||||
out.Format(_T("%g"), Scheme->getValue(index) );
|
||||
dc->TextOut(x + 10, y + 4, out);
|
||||
}
|
||||
CEditAttribDlg *newDialog(const std::string &id, IPSWrapperFloat *wrapper)
|
||||
|
@ -896,7 +896,7 @@ END_MESSAGE_MAP()
|
|||
{
|
||||
|
||||
CString out;
|
||||
out.Format("%d", Scheme->getValue(index) );
|
||||
out.Format(_T("%d"), Scheme->getValue(index) );
|
||||
dc->TextOut(x + 10, y + 4, out);
|
||||
}
|
||||
CEditAttribDlg *newDialog(const std::string &id, IPSWrapperUInt *wrapper)
|
||||
|
@ -1085,7 +1085,7 @@ END_MESSAGE_MAP()
|
|||
{
|
||||
|
||||
CString out;
|
||||
out.Format("%d", Scheme->getValue(index) );
|
||||
out.Format(_T("%d"), Scheme->getValue(index) );
|
||||
dc->TextOut(x + 10, y + 4, out);
|
||||
}
|
||||
CEditAttribDlg *newDialog(const std::string &id, IPSWrapper<sint32> *wrapper)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue