mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-23 17:38:44 +00:00
Merge with develop
This commit is contained in:
parent
75e183e637
commit
dab3de7a74
198 changed files with 1225 additions and 1963 deletions
|
@ -255,8 +255,19 @@ MACRO(USE_CURRENT_WINSDK)
|
|||
SET(WINSDK_VERSION "6.0A")
|
||||
ENDIF()
|
||||
ELSEIF(MSVC80)
|
||||
IF(NOT MSVC_EXPRESS)
|
||||
# TODO: fix this version
|
||||
SET(WINSDK_MSVC80_COMPATIBLES "7.1" "7.1A" "7.0" "7.0A" "6.1" "6.0" "6.0A" "5.2A")
|
||||
|
||||
# look for each Windows SDK supported by VC++ 2005 (7.1 is the latest)
|
||||
FOREACH(_VERSION ${WINSDK_DETECTED_VERSIONS})
|
||||
# look if this version of Windows SDK is installed
|
||||
LIST(FIND WINSDK_MSVC80_COMPATIBLES ${_VERSION} _FOUND)
|
||||
IF(NOT _FOUND EQUAL -1)
|
||||
SET(WINSDK_VERSION "${_VERSION}")
|
||||
BREAK()
|
||||
ENDIF()
|
||||
ENDFOREACH()
|
||||
|
||||
IF(NOT MSVC_EXPRESS AND NOT WINSDK_VERSION)
|
||||
SET(WINSDK_VERSION "5.2A")
|
||||
ENDIF()
|
||||
ELSE()
|
||||
|
@ -441,8 +452,8 @@ IF(WINSDK_INCLUDE_DIR)
|
|||
|
||||
SET(CMAKE_LIBRARY_PATH ${WINSDK_LIBRARY_DIR} ${CMAKE_LIBRARY_PATH})
|
||||
|
||||
# Fix for using Windows SDK 7.1 with Visual C++ 2012
|
||||
IF(WINSDK_VERSION STREQUAL "7.1" AND MSVC11)
|
||||
# Fix for using Windows SDK 7.1 with Visual C++ 2012, 2013 and 2015
|
||||
IF(WINSDK_VERSION STREQUAL "7.1" AND (MSVC11 OR MSVC12 OR MSVC14))
|
||||
ADD_DEFINITIONS(-D_USING_V110_SDK71_)
|
||||
ENDIF()
|
||||
ELSE()
|
||||
|
|
|
@ -888,7 +888,11 @@ MACRO(NL_SETUP_BUILD)
|
|||
ENDIF()
|
||||
|
||||
# never display these warnings because they are minor
|
||||
ADD_PLATFORM_FLAGS("-Wno-unused-parameter -Wno-unused-private-field -Wno-unused-local-typedef -Wno-unused-variable")
|
||||
ADD_PLATFORM_FLAGS("-Wno-unused-parameter -Wno-unused-variable -Wunused-function -Wunused-value")
|
||||
|
||||
IF(CLANG)
|
||||
ADD_PLATFORM_FLAGS("-Wno-unused-private-field -Wno-unused-local-typedef")
|
||||
ENDIF()
|
||||
|
||||
IF(ANDROID)
|
||||
ADD_PLATFORM_FLAGS("--sysroot=${PLATFORM_ROOT}")
|
||||
|
|
|
@ -93,7 +93,7 @@ public:
|
|||
uint addAnimation (const char* fileName, const char* animName, bool displayMissingFileWarning = true)
|
||||
{
|
||||
// Allocate an animation
|
||||
std::auto_ptr<CAnimation> anim (new CAnimation);
|
||||
CUniquePtr<CAnimation> anim (new CAnimation);
|
||||
|
||||
// Read it
|
||||
NLMISC::CIFile file;
|
||||
|
@ -130,7 +130,7 @@ public:
|
|||
virtual uint addSkeletonWeight (const char* fileName, const char* skelName)
|
||||
{
|
||||
// Allocate an animation
|
||||
std::auto_ptr<CSkeletonWeight> skeletonWeight (new CSkeletonWeight);
|
||||
CUniquePtr<CSkeletonWeight> skeletonWeight (new CSkeletonWeight);
|
||||
|
||||
// Read it
|
||||
NLMISC::CIFile file;
|
||||
|
|
|
@ -692,7 +692,7 @@ private:
|
|||
{
|
||||
NLMISC::CMatrix TexMat[IDRV_MAT_MAXTEXTURES];
|
||||
};
|
||||
std::auto_ptr<CUserTexMat> _TexUserMat; // user texture matrix
|
||||
CUniquePtr<CUserTexMat> _TexUserMat; // user texture matrix
|
||||
|
||||
public:
|
||||
// Private. For Driver only.
|
||||
|
|
|
@ -282,7 +282,7 @@ inline float CPSAttribMakerBinOp<float>::getMaxValue(void) const
|
|||
template <class T>
|
||||
inline CPSAttribMakerBinOp<T>::CPSAttribMakerBinOp(const CPSAttribMakerBinOp &other) : CPSAttribMaker<T>(other) // parent copy ctor
|
||||
{
|
||||
std::auto_ptr<CPSAttribMaker<T> > a0(NLMISC::safe_cast<CPSAttribMaker<T> *>(other._Arg[0]->clone()))
|
||||
CUniquePtr<CPSAttribMaker<T> > a0(NLMISC::safe_cast<CPSAttribMaker<T> *>(other._Arg[0]->clone()))
|
||||
, a1(NLMISC::safe_cast<CPSAttribMaker<T> *>(other._Arg[1]->clone()));
|
||||
this->_Op = other._Op;
|
||||
this->_Size = other._Size;
|
||||
|
|
|
@ -1463,7 +1463,7 @@ public:
|
|||
CPSAttribMakerMemoryBase(const CPSAttribMakerMemoryBase &src) : CPSAttribMaker<T>(src) // parent copy ctor
|
||||
{
|
||||
nlassert(src._Scheme);
|
||||
std::auto_ptr<CPSAttribMaker<T> > s(NLMISC::safe_cast<CPSAttribMaker<T> *>(src._Scheme->clone()));
|
||||
CUniquePtr<CPSAttribMaker<T> > s(NLMISC::safe_cast<CPSAttribMaker<T> *>(src._Scheme->clone()));
|
||||
this->_T = src._T;
|
||||
this->_DefaultValue = src._DefaultValue;
|
||||
this->_Scheme = s.release();
|
||||
|
|
|
@ -590,7 +590,7 @@ protected:
|
|||
void serial(NLMISC::IStream &f) throw(NLMISC::EStream);
|
||||
};
|
||||
|
||||
typedef std::auto_ptr<CGlobalTexAnims> PGlobalTexAnims;
|
||||
typedef CUniquePtr<CGlobalTexAnims> PGlobalTexAnims;
|
||||
PGlobalTexAnims _GlobalTexAnims;
|
||||
float _GlobalAnimDate;
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ public:
|
|||
const CPrimitiveClass *getPrimitiveClass (const NLLIGO::IPrimitive &primitive) const;
|
||||
|
||||
// Get a primitive class
|
||||
const CPrimitiveClass *getPrimitiveClass (const char *className) const;
|
||||
const CPrimitiveClass *getPrimitiveClass (const std::string &className) const;
|
||||
|
||||
// Get the primitive color
|
||||
NLMISC::CRGBA getPrimitiveColor (const NLLIGO::IPrimitive &primitive);
|
||||
|
@ -134,10 +134,10 @@ public:
|
|||
bool canBeRoot (const NLLIGO::IPrimitive &primitive);
|
||||
|
||||
// Read a property from an XML file
|
||||
bool getPropertyString (std::string &result, const char *filename, xmlNodePtr xmlNode, const char *propName);
|
||||
bool getPropertyString (std::string &result, const std::string &filename, xmlNodePtr xmlNode, const std::string &propName);
|
||||
|
||||
// Output error message
|
||||
void syntaxError (const char *filename, xmlNodePtr xmlNode, const char *format, ...);
|
||||
void syntaxError (const std::string &filename, xmlNodePtr xmlNode, const char *format, ...);
|
||||
virtual void errorMessage (const char *format, ... );
|
||||
|
||||
// Access to the config string
|
||||
|
@ -157,7 +157,7 @@ public:
|
|||
private:
|
||||
|
||||
// Init primitive class manager
|
||||
bool initPrimitiveClass (const char *filename);
|
||||
bool initPrimitiveClass (const std::string &ilename);
|
||||
|
||||
// The primitive class manager
|
||||
std::map<std::string, CPrimitiveClass> _PrimitiveClasses;
|
||||
|
|
|
@ -83,9 +83,8 @@ class CPropertyString : public IProperty
|
|||
{
|
||||
public:
|
||||
CPropertyString () {}
|
||||
CPropertyString (const char *str);
|
||||
CPropertyString (const std::string &str);
|
||||
CPropertyString (const char *str, bool _default);
|
||||
CPropertyString (const std::string &str, bool _default);
|
||||
virtual ~CPropertyString () {}
|
||||
std::string String;
|
||||
|
||||
|
@ -287,42 +286,42 @@ public:
|
|||
* If the property already exist, the method does nothing and returns false.
|
||||
* The pointer will be deleted by the primitive using the ::delete operator.
|
||||
**/
|
||||
bool addPropertyByName (const char *property_name, IProperty *result);
|
||||
bool addPropertyByName (const std::string &property_name, IProperty *result);
|
||||
|
||||
/**
|
||||
* Get a property with its name
|
||||
**/
|
||||
bool getPropertyByName (const char *property_name, const IProperty *&result) const;
|
||||
bool getPropertyByName (const std::string &property_name, const IProperty *&result) const;
|
||||
|
||||
/**
|
||||
* Get a property with its name
|
||||
**/
|
||||
bool getPropertyByName (const char *property_name, IProperty *&result) const;
|
||||
bool getPropertyByName (const std::string &property_name, IProperty *&result) const;
|
||||
|
||||
/**
|
||||
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||
**/
|
||||
bool getPropertyByName (const char *property_name, std::string *&result) const;
|
||||
bool getPropertyByName (const std::string &property_name, std::string *&result) const;
|
||||
|
||||
/**
|
||||
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||
**/
|
||||
bool getPropertyByName (const char *property_name, std::vector<std::string> *&result) const;
|
||||
bool getPropertyByName (const std::string &property_name, std::vector<std::string> *&result) const;
|
||||
|
||||
/**
|
||||
* Get a string property with its name. Return false if the property is not found or is not a string property.
|
||||
**/
|
||||
bool getPropertyByName (const char *property_name, std::string &result) const;
|
||||
bool getPropertyByName (const std::string &property_name, std::string &result) const;
|
||||
|
||||
/**
|
||||
* Get a string array property with its name. Return false if the property is not found or is not a string array property.
|
||||
**/
|
||||
bool getPropertyByName (const char *property_name, const std::vector<std::string> *&result) const;
|
||||
bool getPropertyByName (const std::string &property_name, const std::vector<std::string> *&result) const;
|
||||
|
||||
/**
|
||||
* Get a color property with its name. Return false if the property is not found or is not a string array property.
|
||||
**/
|
||||
bool getPropertyByName (const char *property_name, NLMISC::CRGBA &result) const;
|
||||
bool getPropertyByName (const std::string &property_name, NLMISC::CRGBA &result) const;
|
||||
|
||||
/**
|
||||
* Remove a property
|
||||
|
@ -333,7 +332,7 @@ public:
|
|||
/**
|
||||
* Remove a property by its name
|
||||
**/
|
||||
bool removePropertyByName (const char *property_name);
|
||||
bool removePropertyByName (const std::string &property_name);
|
||||
|
||||
/**
|
||||
* Remove all the properties
|
||||
|
@ -347,10 +346,10 @@ public:
|
|||
void initDefaultValues (CLigoConfig &config);
|
||||
|
||||
// Read the primitive, calls initDefaultValue (CLigoConfig &config)
|
||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||
virtual bool read (xmlNodePtr xmlNode, const std::string &property_name, uint version, CLigoConfig &config);
|
||||
|
||||
// Write the primitive
|
||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||
virtual void write (xmlNodePtr xmlNode, const std::string &property_name) const;
|
||||
|
||||
// Get the vertices
|
||||
virtual uint getNumVector () const = 0;
|
||||
|
@ -435,7 +434,7 @@ protected:
|
|||
virtual CPrimVector *getPrimVector ();
|
||||
|
||||
// Read the primitive
|
||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||
|
||||
// \name From IPrimitive
|
||||
virtual IPrimitive *copy () const;
|
||||
|
@ -474,10 +473,10 @@ protected:
|
|||
virtual CPrimVector *getPrimVector ();
|
||||
|
||||
// Read the primitive
|
||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||
|
||||
// Write the primitive
|
||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||
|
||||
// \name From IPrimitive
|
||||
virtual IPrimitive *copy () const;
|
||||
|
@ -509,10 +508,10 @@ protected:
|
|||
virtual CPrimVector *getPrimVector ();
|
||||
|
||||
// Read the primitive
|
||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||
|
||||
// Write the primitive
|
||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||
|
||||
// \name From IPrimitive
|
||||
virtual IPrimitive *copy () const;
|
||||
|
@ -568,10 +567,10 @@ protected:
|
|||
virtual CPrimVector *getPrimVector ();
|
||||
|
||||
// Read the primitive
|
||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||
|
||||
// Write the primitive
|
||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||
|
||||
// \name From IPrimitive
|
||||
virtual IPrimitive *copy () const;
|
||||
|
@ -632,9 +631,9 @@ public:
|
|||
uint32 getFullAlias() const;
|
||||
|
||||
// Read the primitive
|
||||
virtual bool read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config);
|
||||
virtual bool read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config);
|
||||
// Write the primitive
|
||||
virtual void write (xmlNodePtr xmlNode, const char *filename) const;
|
||||
virtual void write (xmlNodePtr xmlNode, const std::string &filename) const;
|
||||
// Create a copy of this primitive
|
||||
virtual IPrimitive *copy () const;
|
||||
// serial for binary save
|
||||
|
@ -686,13 +685,13 @@ public:
|
|||
void convert (const CPrimRegion ®ion);
|
||||
|
||||
// Read the primitive
|
||||
bool read (xmlNodePtr xmlNode, const char *filename, CLigoConfig &config);
|
||||
bool read (xmlNodePtr xmlNode, const std::string &filename, CLigoConfig &config);
|
||||
|
||||
// Write the primitive
|
||||
void write (xmlDocPtr xmlNode, const char *filename) const;
|
||||
void write (xmlDocPtr xmlNode, const std::string &filename) const;
|
||||
|
||||
// Write the primitive
|
||||
void write (xmlNodePtr root, const char *filename) const;
|
||||
void write (xmlNodePtr root, const std::string &filename) const;
|
||||
|
||||
// serial the primitive. Used for binary files.
|
||||
void serial(NLMISC::IStream &f);
|
||||
|
|
|
@ -108,6 +108,7 @@ namespace NLMISC
|
|||
{
|
||||
public:
|
||||
CApplicationContext();
|
||||
virtual ~CApplicationContext();
|
||||
|
||||
virtual void *getSingletonPointer(const std::string &singletonName);
|
||||
virtual void setSingletonPointer(const std::string &singletonName, void *ptr);
|
||||
|
|
|
@ -201,7 +201,9 @@ namespace NLMISC
|
|||
*/
|
||||
void sleep(uint milliseconds);
|
||||
|
||||
|
||||
/** Release internal instance.
|
||||
*/
|
||||
static void releaseInstance();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -120,11 +120,11 @@ public:
|
|||
|
||||
/** Get the first child node pointer named childName. NULL if no node named childName.
|
||||
*/
|
||||
static xmlNodePtr getFirstChildNode (xmlNodePtr parent, const char *childName);
|
||||
static xmlNodePtr getFirstChildNode (xmlNodePtr parent, const std::string &childName);
|
||||
|
||||
/** Get the next child node pointer name childName, brother of previous. NULL if no node named childName.
|
||||
*/
|
||||
static xmlNodePtr getNextChildNode (xmlNodePtr last, const char *childName);
|
||||
static xmlNodePtr getNextChildNode (xmlNodePtr last, const std::string &childName);
|
||||
|
||||
/** Get the first child node pointer of type. NULL if no node of type.
|
||||
*/
|
||||
|
@ -136,7 +136,7 @@ public:
|
|||
|
||||
/** Count number of sub node named with a given name for a given node.
|
||||
*/
|
||||
static uint countChildren (xmlNodePtr node, const char *childName);
|
||||
static uint countChildren (xmlNodePtr node, const std::string &childName);
|
||||
|
||||
/** Count number of sub node of type for a given node.
|
||||
*/
|
||||
|
@ -147,22 +147,22 @@ public:
|
|||
*
|
||||
* Returns true and the result if the property has been found, else false.
|
||||
*/
|
||||
static bool getPropertyString (std::string &result, xmlNodePtr node, const char *property);
|
||||
static bool getPropertyString (std::string &result, xmlNodePtr node, const std::string &property);
|
||||
|
||||
/**
|
||||
* Read an integer property - if the property is not found the default value is returned
|
||||
*/
|
||||
static int getIntProperty(xmlNodePtr node, const char *property, int defaultValue);
|
||||
static int getIntProperty(xmlNodePtr node, const std::string &property, int defaultValue);
|
||||
|
||||
/**
|
||||
* Read a floating point property - if the property is not found the default value is returned
|
||||
*/
|
||||
static double getFloatProperty(xmlNodePtr node, const char *property, float defaultValue);
|
||||
static double getFloatProperty(xmlNodePtr node, const std::string &property, float defaultValue);
|
||||
|
||||
/**
|
||||
* Read a string property - if the property is not found the default value is returned
|
||||
*/
|
||||
static std::string getStringProperty(xmlNodePtr node, const char *property, const std::string& defaultValue);
|
||||
static std::string getStringProperty(xmlNodePtr node, const std::string &property, const std::string& defaultValue);
|
||||
|
||||
/**
|
||||
* Read the content of the node as a string
|
||||
|
@ -198,12 +198,12 @@ private:
|
|||
virtual void serialBuffer(uint8 *buf, uint len);
|
||||
virtual void serialBit(bool &bit);
|
||||
|
||||
virtual bool xmlPushBeginInternal (const char *nodeName);
|
||||
virtual bool xmlPushBeginInternal (const std::string &nodeName);
|
||||
virtual bool xmlPushEndInternal ();
|
||||
virtual bool xmlPopInternal ();
|
||||
virtual bool xmlSetAttribInternal (const char *attribName);
|
||||
virtual bool xmlSetAttribInternal (const std::string &attribName);
|
||||
virtual bool xmlBreakLineInternal ();
|
||||
virtual bool xmlCommentInternal (const char *comment);
|
||||
virtual bool xmlCommentInternal (const std::string &comment);
|
||||
|
||||
// Internal functions
|
||||
void serialSeparatedBufferIn ( std::string &value, bool checkSeparator = true );
|
||||
|
|
|
@ -95,7 +95,7 @@ public:
|
|||
* \param version is the version to write in the XML header. Default is 1.0.
|
||||
* \return true if initialisation is successful, false if the stream passed is not an output stream.
|
||||
*/
|
||||
bool init (IStream *stream, const char *version="1.0");
|
||||
bool init (IStream *stream, const std::string &version = "1.0");
|
||||
|
||||
/** Return the error string.
|
||||
* if not empty, something wrong appends
|
||||
|
@ -120,7 +120,7 @@ public:
|
|||
|
||||
/** Return true if the string is valid to be stored in a XML property without modification.
|
||||
*/
|
||||
static bool isStringValidForProperties (const char *str);
|
||||
static bool isStringValidForProperties (const std::string &str);
|
||||
|
||||
private:
|
||||
|
||||
|
@ -144,15 +144,15 @@ private:
|
|||
virtual void serialBuffer(uint8 *buf, uint len);
|
||||
virtual void serialBit(bool &bit);
|
||||
|
||||
virtual bool xmlPushBeginInternal (const char *nodeName);
|
||||
virtual bool xmlPushBeginInternal (const std::string &nodeName);
|
||||
virtual bool xmlPushEndInternal ();
|
||||
virtual bool xmlPopInternal ();
|
||||
virtual bool xmlSetAttribInternal (const char *attribName);
|
||||
virtual bool xmlSetAttribInternal (const std::string &attribName);
|
||||
virtual bool xmlBreakLineInternal ();
|
||||
virtual bool xmlCommentInternal (const char *comment);
|
||||
virtual bool xmlCommentInternal (const std::string &comment);
|
||||
|
||||
// Internal functions
|
||||
void serialSeparatedBufferOut( const char *value );
|
||||
void serialSeparatedBufferOut( const std::string &value );
|
||||
inline void flushContentString ();
|
||||
|
||||
// Push mode
|
||||
|
|
|
@ -83,8 +83,10 @@ private:
|
|||
# define NL_USES_DEFAULT_ARENA_OBJECT_ALLOCATOR \
|
||||
void *operator new(size_t size) { return NLMISC::CObjectArenaAllocator::getDefaultAllocator().alloc((uint) size); }\
|
||||
void *operator new(size_t size, int _BlockUse, char const* _FileName, int _LineNumber) { return NLMISC::CObjectArenaAllocator::getDefaultAllocator().alloc((uint) size); }\
|
||||
void *operator new(size_t size, char const* _FileName, int _LineNumber) { return NLMISC::CObjectArenaAllocator::getDefaultAllocator().alloc((uint) size); }\
|
||||
void operator delete(void *block) { NLMISC::CObjectArenaAllocator::getDefaultAllocator().freeBlock(block); }\
|
||||
void operator delete(void *block, int _BlockUse, char const* _FileName, int _LineNumber) { NLMISC::CObjectArenaAllocator::getDefaultAllocator().freeBlock(block); }
|
||||
void operator delete(void *block, int _BlockUse, char const* _FileName, int _LineNumber) { NLMISC::CObjectArenaAllocator::getDefaultAllocator().freeBlock(block); } \
|
||||
void operator delete(void *block, char const* _FileName, int _LineNumber) { NLMISC::CObjectArenaAllocator::getDefaultAllocator().freeBlock(block); }
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -209,7 +209,7 @@ public:
|
|||
* \param relativePath is the path to make relative to basePath.
|
||||
* return true if relativePath as been done relative to basePath, false is relativePath has not been changed.
|
||||
*/
|
||||
bool makePathRelative (const char *basePath, std::string &relativePath);
|
||||
bool makePathRelative (const std::string &basePath, std::string &relativePath);
|
||||
|
||||
/** If File in this list is added more than one in an addSearchPath, it doesn't launch a warning.
|
||||
*/
|
||||
|
@ -505,7 +505,7 @@ public:
|
|||
* \param relativePath is the path to make relative to basePath.
|
||||
* return true if relativePath as been done relative to basePath, false is relativePath has not been changed.
|
||||
*/
|
||||
static bool makePathRelative (const char *basePath, std::string &relativePath);
|
||||
static bool makePathRelative(const std::string &basePath, std::string &relativePath);
|
||||
|
||||
/** Make path absolute
|
||||
* \param relativePath - The relative path
|
||||
|
|
|
@ -108,7 +108,7 @@ template <class TPtr, class TKey, class TResourceFinder>
|
|||
class CResourcePtr
|
||||
{
|
||||
private:
|
||||
CRefCount::CPtrInfo *pinfo; // A ptr to the handle of the object.
|
||||
CRefCount::CPtrInfoBase *pinfo; // A ptr to the handle of the object.
|
||||
TKey Key; // The key used to find the pointer
|
||||
mutable TPtr *Ptr; // A cache for pinfo->Ptr. Useful to speed up ope->() and ope*()
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ template <class TPtr, class TKey, class TResourceFinder> SMART_INLINE void CReso
|
|||
if(pinfo->Ptr)
|
||||
{
|
||||
// Inform the Object that no more CResourcePtr points on it.
|
||||
((TPtr*)(pinfo->Ptr))->pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
((TPtr*)(pinfo->Ptr))->pinfo = &CRefCount::NullPtrInfo;
|
||||
}
|
||||
// Then delete the pinfo.
|
||||
delete pinfo;
|
||||
|
@ -74,7 +74,7 @@ template <class TPtr, class TKey, class TResourceFinder> SMART_INLINE void CReso
|
|||
// Cons - dest.
|
||||
template <class TPtr, class TKey, class TResourceFinder> inline CResourcePtr<TPtr, TKey, TResourceFinder>::CResourcePtr()
|
||||
{
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
|
||||
REF_TRACE("Smart()");
|
||||
|
@ -95,7 +95,7 @@ template <class TPtr, class TKey, class TResourceFinder> inline CResourcePtr<TPt
|
|||
pinfo->RefCount++;
|
||||
}
|
||||
else
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
|
||||
REF_TRACE("Smart(TPtr*)");
|
||||
}
|
||||
|
@ -117,7 +117,7 @@ template <class TPtr, class TKey, class TResourceFinder> inline CResourcePtr<TPt
|
|||
REF_TRACE("~Smart()");
|
||||
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
}
|
||||
|
||||
|
@ -142,7 +142,7 @@ template <class TPtr, class TKey, class TResourceFinder> CResourcePtr<TPtr, TKey
|
|||
else
|
||||
{
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
}
|
||||
|
||||
|
||||
|
@ -179,7 +179,7 @@ template <class TPtr, class TKey, class TResourceFinder> void CResourcePtr<T>::k
|
|||
|
||||
// First, release the refptr.
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
|
||||
// Then delete the pointer.
|
||||
|
@ -196,7 +196,7 @@ template <class TPtr, class TKey, class TResourceFinder> inline CResourcePtr<TPt
|
|||
|
||||
// Refresh the Ptr.
|
||||
Ptr= (TPtr*)pinfo->Ptr;
|
||||
if (pinfo != static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo))
|
||||
if (pinfo != &CRefCount::NullPtrInfo)
|
||||
{
|
||||
// Does the pointer has been deleted ?
|
||||
if (Ptr == NULL)
|
||||
|
@ -310,7 +310,7 @@ template <class TPtr, class TKey, class TResourceFinder> void CStaticResourcePtr
|
|||
|
||||
// First, release the refptr.
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
|
||||
// Then delete the pointer.
|
||||
|
|
|
@ -43,7 +43,7 @@ public:
|
|||
/// Destructor which release pinfo if necessary.
|
||||
~CRefCount();
|
||||
/// Default constructor init crefs to 0.
|
||||
CRefCount() { crefs = 0; pinfo=static_cast<CPtrInfo*>(&NullPtrInfo); }
|
||||
CRefCount() { crefs = 0; pinfo = &NullPtrInfo; }
|
||||
|
||||
/* The instance handle.
|
||||
Can't put those to private since must be used by CRefPtr (and friend doesn't work with template).
|
||||
|
@ -56,6 +56,7 @@ public:
|
|||
sint RefCount; // RefCount of ptrinfo (!= instance)
|
||||
bool IsNullPtrInfo; // For dll problems, must use a flag to mark NullPtrInfo.
|
||||
};
|
||||
|
||||
struct CPtrInfo : public CPtrInfoBase
|
||||
{
|
||||
CPtrInfo(CRefCount const* p) {Ptr=p; RefCount=0; IsNullPtrInfo=false;}
|
||||
|
@ -75,13 +76,13 @@ public:
|
|||
// Can't put this to private since must be used by CSmartPtr (and friend doesn't work with template).
|
||||
// Provide incref()/decref() function doen't work since decref() can't do a delete this on a non virtual dtor.
|
||||
// So Ptr gestion can only be used via CSmartPtr.
|
||||
mutable sint crefs; // The ref counter for SmartPtr use.
|
||||
mutable CPtrInfo *pinfo; // The ref ptr for RefPtr use.
|
||||
mutable sint crefs; // The ref counter for SmartPtr use.
|
||||
mutable CPtrInfoBase *pinfo; // The ref ptr for RefPtr use.
|
||||
|
||||
/// operator= must NOT copy crefs/pinfo!!
|
||||
CRefCount &operator=(const CRefCount &) {return *this;}
|
||||
/// copy cons must NOT copy crefs/pinfo!!
|
||||
CRefCount(const CRefCount &) {crefs = 0; pinfo=static_cast<CPtrInfo*>(&NullPtrInfo);}
|
||||
CRefCount(const CRefCount &) { crefs = 0; pinfo = &NullPtrInfo; }
|
||||
};
|
||||
|
||||
// To use CVirtualRefPtr (or if you just want to have a RefCount with virtual destructor), derive from this class.
|
||||
|
@ -99,7 +100,7 @@ public:
|
|||
#define SMART_TRACE(_s) ((void)0)
|
||||
#define REF_TRACE(_s) ((void)0)
|
||||
//#define SMART_TRACE(_s) printf("%s: %d \n", _s, Ptr?Ptr->crefs:0)
|
||||
//#define REF_TRACE(_s) printf("%s: %d \n", _s, pinfo!=&CRefCount::NullPtrInfo?pinfo->RefCount:0)
|
||||
//#define REF_TRACE(_s) printf("%s: %d \n", _s, pinfo != &CRefCount::NullPtrInfo?pinfo->RefCount:0)
|
||||
|
||||
|
||||
/**
|
||||
|
@ -294,7 +295,8 @@ template <class T>
|
|||
class CRefPtr
|
||||
{
|
||||
private:
|
||||
CRefCount::CPtrInfo *pinfo; // A ptr to the handle of the object.
|
||||
CRefCount::CPtrInfoBase *pinfo; // A ptr to the handle of the object.
|
||||
|
||||
mutable T *Ptr; // A cache for pinfo->Ptr. Useful to speed up ope->() and ope*()
|
||||
|
||||
void unRef() const; // Just release the handle pinfo, but do not update pinfo/Ptr, if deleted.
|
||||
|
@ -380,7 +382,7 @@ template <class T>
|
|||
class CVirtualRefPtr
|
||||
{
|
||||
private:
|
||||
CRefCount::CPtrInfo *pinfo; // A ptr to the handle of the object.
|
||||
CRefCount::CPtrInfoBase *pinfo; // A ptr to the handle of the object.
|
||||
mutable T *Ptr; // A cache for pinfo->Ptr. Useful to speed up ope->() and ope*()
|
||||
|
||||
void unRef() const; // Just release the handle pinfo, but do not update pinfo/Ptr, if deleted.
|
||||
|
|
|
@ -134,7 +134,7 @@ SMART_INLINE void CRefPtr<T>::unRef() const
|
|||
if(pinfo->Ptr)
|
||||
{
|
||||
// Inform the Object that no more CRefPtr points on it.
|
||||
pinfo->Ptr->pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo->Ptr->pinfo = &CRefCount::NullPtrInfo;
|
||||
}
|
||||
// Then delete the pinfo.
|
||||
delete pinfo;
|
||||
|
@ -148,7 +148,7 @@ SMART_INLINE void CRefPtr<T>::unRef() const
|
|||
// Cons - dest.
|
||||
template <class T> inline CRefPtr<T>::CRefPtr()
|
||||
{
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
|
||||
REF_TRACE("Smart()");
|
||||
|
@ -170,7 +170,7 @@ template <class T> inline CRefPtr<T>::CRefPtr(T *v)
|
|||
#endif
|
||||
}
|
||||
else
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
|
||||
REF_TRACE("Smart(T*)");
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ template <class T> inline CRefPtr<T>::~CRefPtr(void)
|
|||
REF_TRACE("~Smart()");
|
||||
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
}
|
||||
|
||||
|
@ -216,7 +216,7 @@ template <class T> CRefPtr<T> &CRefPtr<T>::operator=(T *v)
|
|||
else
|
||||
{
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
}
|
||||
|
||||
|
||||
|
@ -250,7 +250,7 @@ template <class T> void CRefPtr<T>::kill()
|
|||
|
||||
// First, release the refptr.
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
|
||||
// Then delete the pointer.
|
||||
|
@ -316,7 +316,7 @@ SMART_INLINE void CVirtualRefPtr<T>::unRef() const
|
|||
if(pinfo->Ptr)
|
||||
{
|
||||
// Inform the Object that no more CVirtualRefPtr points on it.
|
||||
pinfo->Ptr->pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo->Ptr->pinfo = &CRefCount::NullPtrInfo;
|
||||
}
|
||||
// Then delete the pinfo.
|
||||
delete pinfo;
|
||||
|
@ -330,7 +330,7 @@ SMART_INLINE void CVirtualRefPtr<T>::unRef() const
|
|||
// Cons - dest.
|
||||
template <class T> inline CVirtualRefPtr<T>::CVirtualRefPtr()
|
||||
{
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
|
||||
REF_TRACE("Smart()");
|
||||
|
@ -352,7 +352,7 @@ template <class T> inline CVirtualRefPtr<T>::CVirtualRefPtr(T *v)
|
|||
#endif
|
||||
}
|
||||
else
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
|
||||
REF_TRACE("Smart(T*)");
|
||||
}
|
||||
|
@ -370,7 +370,7 @@ template <class T> inline CVirtualRefPtr<T>::~CVirtualRefPtr(void)
|
|||
REF_TRACE("~Smart()");
|
||||
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
}
|
||||
|
||||
|
@ -399,7 +399,7 @@ template <class T> CVirtualRefPtr<T> &CVirtualRefPtr<T>::operator=(T *v)
|
|||
else
|
||||
{
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
}
|
||||
|
||||
|
||||
|
@ -435,7 +435,7 @@ template <class T> void CVirtualRefPtr<T>::kill()
|
|||
|
||||
// First, release the refptr.
|
||||
unRef();
|
||||
pinfo= static_cast<CRefCount::CPtrInfo*>(&CRefCount::NullPtrInfo);
|
||||
pinfo = &CRefCount::NullPtrInfo;
|
||||
Ptr= NULL;
|
||||
|
||||
// Then delete the pointer.
|
||||
|
|
|
@ -724,7 +724,7 @@ public:
|
|||
* xmlSerial() serial a values into a node.
|
||||
*/
|
||||
template<class T>
|
||||
void xmlSerial (T& value0, const char *nodeName)
|
||||
void xmlSerial (T& value0, const std::string &nodeName)
|
||||
{
|
||||
// Open the node
|
||||
xmlPush (nodeName);
|
||||
|
@ -736,7 +736,7 @@ public:
|
|||
xmlPop ();
|
||||
}
|
||||
template<class T>
|
||||
void xmlSerial (T& value0, T& value1, const char *nodeName)
|
||||
void xmlSerial (T& value0, T& value1, const std::string &nodeName)
|
||||
{
|
||||
// Open the node
|
||||
xmlPush (nodeName);
|
||||
|
@ -748,7 +748,7 @@ public:
|
|||
xmlPop ();
|
||||
}
|
||||
template<class T>
|
||||
void xmlSerial (T& value0, T& value1, T& value2, const char *nodeName)
|
||||
void xmlSerial (T& value0, T& value1, T& value2, const std::string &nodeName)
|
||||
{
|
||||
// Open the node
|
||||
xmlPush (nodeName);
|
||||
|
@ -760,7 +760,7 @@ public:
|
|||
xmlPop ();
|
||||
}
|
||||
template<class T>
|
||||
void xmlSerial (T& value0, T& value1, T& value2, T& value3, const char *nodeName)
|
||||
void xmlSerial (T& value0, T& value1, T& value2, T& value3, const std::string &nodeName)
|
||||
{
|
||||
// Open the node
|
||||
xmlPush (nodeName);
|
||||
|
@ -778,7 +778,7 @@ public:
|
|||
* \name is the name of the node to open
|
||||
* \return true if you can open the node, false if the stream is between a xmlPushBegin() and a xmlPushEnd() call.
|
||||
*/
|
||||
bool xmlPush (const char *name)
|
||||
bool xmlPush (const std::string &name)
|
||||
{
|
||||
// XML Mode ?
|
||||
if (_XML)
|
||||
|
@ -802,7 +802,7 @@ public:
|
|||
* \name is the name of the node to open
|
||||
* \return true if you can open the node header, false if the stream is between a xmlPushBegin() and a xmlPushEnd() call.
|
||||
*/
|
||||
bool xmlPushBegin (const char *name)
|
||||
bool xmlPushBegin (const std::string &name)
|
||||
{
|
||||
// XML Mode ?
|
||||
if (_XML)
|
||||
|
@ -854,7 +854,7 @@ public:
|
|||
* \param name is the name of the node header attribute serialised.
|
||||
* \return true if the attribute name have been set, false if the node header is not open (the call is not between xmlPushBegin and xmlPushEnd)
|
||||
*/
|
||||
bool xmlSetAttrib (const char *name)
|
||||
bool xmlSetAttrib (const std::string &name)
|
||||
{
|
||||
// XML Mode ?
|
||||
if (_XML)
|
||||
|
@ -888,7 +888,7 @@ public:
|
|||
*
|
||||
* \return true if the comment is added, return false if no node is opened.
|
||||
*/
|
||||
bool xmlComment (const char *comment)
|
||||
bool xmlComment (const std::string &comment)
|
||||
{
|
||||
// XML Mode ?
|
||||
if (_XML)
|
||||
|
@ -910,7 +910,7 @@ protected:
|
|||
void setXMLMode (bool on);
|
||||
|
||||
/// xmlPushBegin implementation
|
||||
virtual bool xmlPushBeginInternal (const char * /* name */) { return true; };
|
||||
virtual bool xmlPushBeginInternal (const std::string &/* name */) { return true; };
|
||||
|
||||
/// xmlPushEnd implementation
|
||||
virtual bool xmlPushEndInternal () { return true; };
|
||||
|
@ -919,13 +919,13 @@ protected:
|
|||
virtual bool xmlPopInternal () { return true; };
|
||||
|
||||
/// xmlBreakLine implementation
|
||||
virtual bool xmlSetAttribInternal (const char * /* name */) { return true; };
|
||||
virtual bool xmlSetAttribInternal (const std::string &/* name */) { return true; };
|
||||
|
||||
/// xmlBreakLine implementation
|
||||
virtual bool xmlBreakLineInternal () { return true; };
|
||||
|
||||
/// xmlComment implementation
|
||||
virtual bool xmlCommentInternal (const char * /* comment */) { return true; };
|
||||
virtual bool xmlCommentInternal (const std::string &/* comment */) { return true; };
|
||||
|
||||
/**
|
||||
* for Deriver: reset the PtrTable in the stream.
|
||||
|
|
|
@ -162,7 +162,7 @@
|
|||
# define NL_COMP_GCC
|
||||
#endif
|
||||
|
||||
#if defined(_HAS_CPP0X) || defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
#if defined(_HAS_CPP0X) || defined(__GXX_EXPERIMENTAL_CXX0X__) || (defined(NL_COMP_VC_VERSION) && NL_COMP_VC_VERSION >= 110)
|
||||
# define NL_ISO_CPP0X_AVAILABLE
|
||||
#endif
|
||||
|
||||
|
@ -430,30 +430,40 @@ extern void operator delete[](void *p) throw();
|
|||
# define CHashSet ::std::hash_set
|
||||
# define CHashMultiMap ::std::hash_multimap
|
||||
# endif // _STLP_HASH_MAP
|
||||
# define CUniquePtr ::std::auto_ptr
|
||||
# define CUniquePtrMove
|
||||
#elif defined(NL_ISO_CPP0X_AVAILABLE) || (defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 100))
|
||||
# include <unordered_map>
|
||||
# include <unordered_set>
|
||||
# define CHashMap ::std::unordered_map
|
||||
# define CHashSet ::std::unordered_set
|
||||
# define CHashMultiMap ::std::unordered_multimap
|
||||
# define CUniquePtr ::std::unique_ptr
|
||||
# define CUniquePtrMove ::std::move
|
||||
#elif defined(NL_ISO_STDTR1_AVAILABLE) // use std::tr1 for CHash* classes, if available (gcc 4.1+ and VC9 with TR1 feature pack)
|
||||
# include NL_ISO_STDTR1_HEADER(unordered_map)
|
||||
# include NL_ISO_STDTR1_HEADER(unordered_set)
|
||||
# define CHashMap NL_ISO_STDTR1_NAMESPACE::unordered_map
|
||||
# define CHashSet NL_ISO_STDTR1_NAMESPACE::unordered_set
|
||||
# define CHashMultiMap NL_ISO_STDTR1_NAMESPACE::unordered_multimap
|
||||
# define CUniquePtr ::std::auto_ptr
|
||||
# define CUniquePtrMove
|
||||
#elif defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 70 && NL_COMP_VC_VERSION <= 90) // VC7 through 9
|
||||
# include <hash_map>
|
||||
# include <hash_set>
|
||||
# define CHashMap stdext::hash_map
|
||||
# define CHashSet stdext::hash_set
|
||||
# define CHashMultiMap stdext::hash_multimap
|
||||
#elif defined(NL_COMP_VC) && (NL_COMP_VC_VERSION >= 100)
|
||||
# include <unordered_map>
|
||||
# include <unordered_set>
|
||||
# define CHashMap ::std::unordered_map
|
||||
# define CHashSet ::std::unordered_set
|
||||
# define CHashMultiMap ::std::unordered_multimap
|
||||
# define CUniquePtr ::std::auto_ptr
|
||||
# define CUniquePtrMove
|
||||
#elif defined(NL_COMP_GCC) // GCC4
|
||||
# include <ext/hash_map>
|
||||
# include <ext/hash_set>
|
||||
# define CHashMap ::__gnu_cxx::hash_map
|
||||
# define CHashSet ::__gnu_cxx::hash_set
|
||||
# define CHashMultiMap ::__gnu_cxx::hash_multimap
|
||||
# define CUniquePtr ::std::auto_ptr
|
||||
# define CUniquePtrMove
|
||||
|
||||
namespace __gnu_cxx {
|
||||
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
#include "nel/3d/anim_ctrl.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -19,6 +19,9 @@
|
|||
#include "nel/3d/animatable.h"
|
||||
#include "nel/3d/channel_mixer.h"
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
|
|
@ -21,6 +21,10 @@
|
|||
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
|
|
@ -21,6 +21,10 @@
|
|||
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/animated_value.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
/*
|
||||
// Some compilation check: force Visual to compile to template
|
||||
CAnimatedValueBool atoto1;
|
||||
CAnimatedValueInt atoto2;
|
||||
CAnimatedValueFloat atoto3;
|
||||
CAnimatedValueVector atoto4;
|
||||
CAnimatedValueString atoto5;
|
||||
CAnimatedValueQuat atoto6;
|
||||
CAnimatedValueRGBA atoto7;
|
||||
*/
|
||||
|
||||
} // NL3D
|
|
@ -318,7 +318,7 @@ UAnimation* UAnimation::createAnimation (const char* sPath)
|
|||
NL3D_HAUTO_UI_ANIMATION;
|
||||
|
||||
// Allocate an animation
|
||||
std::auto_ptr<CAnimation> anim (new CAnimation);
|
||||
CUniquePtr<CAnimation> anim (new CAnimation);
|
||||
|
||||
// Read it
|
||||
NLMISC::CIFile file;
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
|
|
@ -29,6 +29,10 @@
|
|||
using namespace std;
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
@ -221,7 +225,7 @@ bool CAnimationSet::loadFromFiles(const std::string &path, bool recurse /* = tru
|
|||
{
|
||||
NLMISC::CIFile iFile;
|
||||
iFile.open(anims[k]);
|
||||
std::auto_ptr<CAnimation> anim(new CAnimation);
|
||||
CUniquePtr<CAnimation> anim(new CAnimation);
|
||||
anim->serial(iFile);
|
||||
addAnimation(NLMISC::CFile::getFilenameWithoutExtension(anims[k]).c_str(), anim.release());
|
||||
iFile.close();
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/animation_time.h"
|
||||
|
||||
|
||||
namespace NL3D {
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -31,6 +31,9 @@
|
|||
using namespace std;
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
#include "std3d.h"
|
||||
#include "nel/3d/async_texture_block.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,25 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/cube_grid.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
} // NL3D
|
|
@ -89,8 +89,8 @@ static uint8 *BuildCubeMapTexLuminance(const NLMISC::CVector &start,
|
|||
|
||||
CTextureCube *BuildCubeMap(sint mapSize, ICubeMapFunctor &f, bool luminanceOnly /* = false*/, const std::string &shareName /* = "" */)
|
||||
{
|
||||
std::auto_ptr<CTextureCube> cubeMap(new CTextureCube);
|
||||
std::auto_ptr<CTextureMem> faces[6];
|
||||
CUniquePtr<CTextureCube> cubeMap(new CTextureCube);
|
||||
CUniquePtr<CTextureMem> faces[6];
|
||||
|
||||
/// this gives the start (unormalized normal for each face for u,v = 0, 0)
|
||||
static const NLMISC::CVector start[] =
|
||||
|
|
|
@ -477,18 +477,18 @@ bool CDriverGL::unInit()
|
|||
// Restore monitor color parameters
|
||||
if (_NeedToRestoreGammaRamp)
|
||||
{
|
||||
HDC dc = CreateDCA ("DISPLAY", NULL, NULL, NULL);
|
||||
HDC dc = CreateDCA("DISPLAY", NULL, NULL, NULL);
|
||||
if (dc)
|
||||
{
|
||||
if (!SetDeviceGammaRamp (dc, _GammaRampBackuped))
|
||||
nlwarning ("(CDriverGL::release): SetDeviceGammaRamp failed");
|
||||
if (!SetDeviceGammaRamp(dc, _GammaRampBackuped))
|
||||
nlwarning("(CDriverGL::release): SetDeviceGammaRamp failed");
|
||||
|
||||
// Release the DC
|
||||
ReleaseDC (NULL, dc);
|
||||
ReleaseDC(NULL, dc);
|
||||
}
|
||||
else
|
||||
{
|
||||
nlwarning ("(CDriverGL::release): can't create DC");
|
||||
nlwarning("(CDriverGL::release): can't create DC");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -105,9 +105,9 @@ CMaterial &CMaterial::operator=(const CMaterial &mat)
|
|||
// copy texture matrix if there.
|
||||
if (mat._TexUserMat.get())
|
||||
{
|
||||
std::auto_ptr<CUserTexMat> texMatClone( new CUserTexMat(*(mat._TexUserMat))); // make cpy
|
||||
CUniquePtr<CUserTexMat> texMatClone(new CUserTexMat(*(mat._TexUserMat))); // make cpy
|
||||
//std::swap(texMatClone, _TexUserMat); // swap with old
|
||||
_TexUserMat = texMatClone;
|
||||
_TexUserMat = CUniquePtrMove(texMatClone);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -265,9 +265,9 @@ void CMaterial::serial(NLMISC::IStream &f)
|
|||
|
||||
if ((_Flags & IDRV_MAT_USER_TEX_MAT_ALL)) // are there user textrue coordinates matrix ?
|
||||
{
|
||||
std::auto_ptr<CUserTexMat> newPtr(new CUserTexMat); // create new
|
||||
CUniquePtr<CUserTexMat> newPtr(new CUserTexMat); // create new
|
||||
//std::swap(_TexUserMat, newPtr); // replace old
|
||||
_TexUserMat = newPtr;
|
||||
_TexUserMat = CUniquePtrMove(newPtr);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/matrix_3x4.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,26 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/mesh_vertex_program.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,26 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/mrm_parameters.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1533,7 +1533,7 @@ void CPSConstraintMesh::serial(NLMISC::IStream &f) throw(NLMISC::EStream)
|
|||
{
|
||||
PGlobalTexAnims newPtr(new CGlobalTexAnims); // create new
|
||||
//std::swap(_GlobalTexAnims, newPtr); // replace old
|
||||
_GlobalTexAnims = newPtr;
|
||||
_GlobalTexAnims = CUniquePtrMove(newPtr);
|
||||
f.serial(*_GlobalTexAnims);
|
||||
}
|
||||
|
||||
|
@ -2352,7 +2352,7 @@ void CPSConstraintMesh::setTexAnimType(TTexAnimType type)
|
|||
{
|
||||
PGlobalTexAnims newPtr(new CGlobalTexAnims);
|
||||
//std::swap(_GlobalTexAnims, newPtr);
|
||||
_GlobalTexAnims = newPtr;
|
||||
_GlobalTexAnims = CUniquePtrMove(newPtr);
|
||||
_GlobalAnimationEnabled = 1;
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/ps_particle.h"
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
/// NOTE : implementation of particles rendering has now been split accross vrious files...
|
||||
|
||||
} // NL3D
|
|
@ -1,24 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/ps_particle2.h"
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
} // NL3D
|
|
@ -36,7 +36,7 @@ CPSRibbon::TVBMap CPSRibbon::_VBMaps[16];
|
|||
static ITexture *CreateGradientTexture()
|
||||
{
|
||||
NL_PS_FUNC(CreateGradientTexture)
|
||||
std::auto_ptr<CTextureMem> tex(new CTextureMem((uint8 *) &GradientB2W,
|
||||
CUniquePtr<CTextureMem> tex(new CTextureMem((uint8 *) &GradientB2W,
|
||||
sizeof(GradientB2W),
|
||||
false, /* dont delete */
|
||||
false, /* not a file */
|
||||
|
|
|
@ -33,7 +33,7 @@ static NLMISC::CRGBA GradientB2W[] = {NLMISC::CRGBA(0, 0, 0, 0), NLMISC::CRGBA(2
|
|||
static ITexture *CreateGradientTexture()
|
||||
{
|
||||
NL_PS_FUNC(CreateGradientTexture)
|
||||
std::auto_ptr<CTextureMem> tex(new CTextureMem((uint8 *) &GradientB2W,
|
||||
CUniquePtr<CTextureMem> tex(new CTextureMem((uint8 *) &GradientB2W,
|
||||
sizeof(GradientB2W),
|
||||
false, /* dont delete */
|
||||
false, /* not a file */
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/ptr_set.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,41 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/radix_sort.h"
|
||||
|
||||
|
||||
namespace NL3D {
|
||||
|
||||
|
||||
// To test compiling.
|
||||
/*struct Pipo
|
||||
{
|
||||
uint32 a;
|
||||
uint32 getRadixKey() const {return a;}
|
||||
};
|
||||
|
||||
|
||||
CRadixSort<Pipo> PipoSort;
|
||||
|
||||
static void pipo()
|
||||
{
|
||||
PipoSort.sort(NULL, NULL, 30);
|
||||
}*/
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,27 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/scissor.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,27 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/static_quad_grid.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,27 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/tess_list.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,25 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/texture_bloom.h"
|
||||
|
||||
|
||||
namespace NL3D {
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -193,7 +193,7 @@ bool CTextureCube::isSelectable() const
|
|||
ITexture *CTextureCube::buildNonSelectableVersion(uint index)
|
||||
{
|
||||
if (!isSelectable()) return this;
|
||||
std::auto_ptr<CTextureCube> tc(new CTextureCube);
|
||||
CUniquePtr<CTextureCube> tc(new CTextureCube);
|
||||
|
||||
// copy basic texture parameters
|
||||
(ITexture &) *tc.get() = (ITexture &) *this; // invoke ITexture = op for basics parameters
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/texture_user.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
void dummyToAvoidStupidCompilerWarning_texture_user_cpp()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,26 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/tile_color.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,33 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/trav_scene.h"
|
||||
#include "nel/3d/scene.h"
|
||||
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
} // NL3D
|
||||
|
||||
|
||||
|
||||
|
||||
/* End of trav_scene.cpp */
|
|
@ -1,27 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/vegetable_def.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -1,26 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "std3d.h"
|
||||
|
||||
#include "nel/3d/vegetable_uv8.h"
|
||||
|
||||
|
||||
namespace NL3D
|
||||
{
|
||||
|
||||
|
||||
} // NL3D
|
|
@ -21,6 +21,10 @@
|
|||
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
// This code is not used actually and doesn't compile
|
||||
// just preproc comment it
|
||||
#if 0
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||
// Copyright (C) 2010 Winch Gate Property Limited
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as
|
||||
// published by the Free Software Foundation, either version 3 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "stdgeorges.h"
|
|
@ -4625,34 +4625,21 @@ namespace NLGUI
|
|||
result = url;
|
||||
string tmp;
|
||||
|
||||
// folder used for images cache
|
||||
static const string cacheDir = "cache";
|
||||
|
||||
string::size_type protocolPos = toLower(result).find("://");
|
||||
|
||||
if (protocolPos != string::npos)
|
||||
if (toLower(result).find("file:") == 0 && result.size() > 5)
|
||||
{
|
||||
// protocol present, it's an url so file must be searched in cache folder
|
||||
// TODO: case of special characters & and ?
|
||||
result = cacheDir + result.substr(protocolPos+2);
|
||||
|
||||
// if the file is already cached, use it
|
||||
if (CFile::fileExists(result)) tmp = result;
|
||||
result = result.substr(5, result.size()-5);
|
||||
}
|
||||
else
|
||||
else if (result.find("://") != string::npos || result.find("//") == 0)
|
||||
{
|
||||
// Url is a file ?
|
||||
if (toLower(result).find("file:") == 0)
|
||||
{
|
||||
result = result.substr(5, result.size()-5);
|
||||
}
|
||||
// http://, https://, etc or protocol-less url "//domain.com/image.png"
|
||||
return false;
|
||||
}
|
||||
|
||||
tmp = CPath::lookup (CFile::getFilename(result), false, false, false);
|
||||
if (tmp.empty())
|
||||
{
|
||||
// try to find in local directory
|
||||
tmp = CPath::lookup (result, false, false, true);
|
||||
}
|
||||
tmp = CPath::lookup (CFile::getFilename(result), false, false, false);
|
||||
if (tmp.empty())
|
||||
{
|
||||
// try to find in local directory
|
||||
tmp = CPath::lookup (result, false, false, true);
|
||||
}
|
||||
|
||||
if (!tmp.empty())
|
||||
|
|
|
@ -508,13 +508,13 @@ bool CLigoConfig::canBeRoot (const NLLIGO::IPrimitive &child)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CLigoConfig::getPropertyString (std::string &result, const char *filename, xmlNodePtr xmlNode, const char *propName)
|
||||
bool CLigoConfig::getPropertyString(std::string &result, const std::string &filename, xmlNodePtr xmlNode, const std::string &propName)
|
||||
{
|
||||
// Call the CIXml version
|
||||
if (!CIXml::getPropertyString (result, xmlNode, propName))
|
||||
{
|
||||
// Output a formated error
|
||||
syntaxError (filename, xmlNode, "Missing XML node property (%s)", propName);
|
||||
syntaxError (filename, xmlNode, "Missing XML node property (%s)", propName.c_str());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -522,7 +522,7 @@ bool CLigoConfig::getPropertyString (std::string &result, const char *filename,
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void CLigoConfig::syntaxError (const char *filename, xmlNodePtr xmlNode, const char *format, ...)
|
||||
void CLigoConfig::syntaxError (const std::string &filename, xmlNodePtr xmlNode, const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start( args, format );
|
||||
|
@ -530,7 +530,7 @@ void CLigoConfig::syntaxError (const char *filename, xmlNodePtr xmlNode, const c
|
|||
vsnprintf( buffer, 1024, format, args );
|
||||
va_end( args );
|
||||
|
||||
errorMessage ("(%s), node (%s), line (%p) :\n%s", filename, xmlNode->name, xmlNode->content, buffer);
|
||||
errorMessage ("(%s), node (%s), line (%p) :\n%s", filename.c_str(), xmlNode->name, xmlNode->content, buffer);
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
@ -589,7 +589,7 @@ const CPrimitiveClass *CLigoConfig::getPrimitiveClass (const IPrimitive &primiti
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
const CPrimitiveClass *CLigoConfig::getPrimitiveClass (const char *className) const
|
||||
const CPrimitiveClass *CLigoConfig::getPrimitiveClass(const std::string &className) const
|
||||
{
|
||||
std::map<std::string, CPrimitiveClass>::const_iterator ite = _PrimitiveClasses.find (className);
|
||||
if (ite != _PrimitiveClasses.end ())
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
|
||||
//using namespace NL3D;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NLLIGO
|
||||
{
|
||||
|
||||
|
|
|
@ -28,6 +28,10 @@ using namespace std;
|
|||
|
||||
const uint32 NLLIGO_PRIMITIVE_VERSION = 1;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NLLIGO
|
||||
{
|
||||
|
||||
|
@ -38,7 +42,7 @@ CPrimitiveContext *CPrimitiveContext::_Instance = NULL;
|
|||
// XML helpers
|
||||
// ***************************************************************************
|
||||
|
||||
void Error (const char *filename, const char *format, ...)
|
||||
void Error (const std::string &filename, const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start( args, format );
|
||||
|
@ -46,12 +50,12 @@ void Error (const char *filename, const char *format, ...)
|
|||
vsnprintf( buffer, 1024, format, args );
|
||||
va_end( args );
|
||||
|
||||
nlwarning ("In File (%s) %s", filename, buffer);
|
||||
nlwarning ("In File (%s) %s", filename.c_str(), buffer);
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
||||
void XMLError (xmlNodePtr xmlNode, const char *filename, const char *format, ... )
|
||||
void XMLError (xmlNodePtr xmlNode, const std::string &filename, const char *format, ... )
|
||||
{
|
||||
va_list args;
|
||||
va_start( args, format );
|
||||
|
@ -65,20 +69,20 @@ void XMLError (xmlNodePtr xmlNode, const char *filename, const char *format, ...
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
xmlNodePtr GetFirstChildNode (xmlNodePtr xmlNode, const char *filename, const char *childName)
|
||||
xmlNodePtr GetFirstChildNode (xmlNodePtr xmlNode, const std::string &filename, const std::string &childName)
|
||||
{
|
||||
// Call the CIXml version
|
||||
xmlNodePtr result = CIXml::getFirstChildNode (xmlNode, childName);
|
||||
if (result) return result;
|
||||
|
||||
// Output a formated error
|
||||
XMLError (xmlNode, filename, "Can't find XML node named (%s)", childName);
|
||||
XMLError (xmlNode, filename.c_str(), "Can't find XML node named (%s)", childName);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
||||
bool GetPropertyString (string &result, const char *filename, xmlNodePtr xmlNode, const char *propName)
|
||||
bool GetPropertyString (string &result, const std::string &filename, xmlNodePtr xmlNode, const std::string &propName)
|
||||
{
|
||||
// Call the CIXml version
|
||||
if (!CIXml::getPropertyString (result, xmlNode, propName))
|
||||
|
@ -92,7 +96,7 @@ bool GetPropertyString (string &result, const char *filename, xmlNodePtr xmlNode
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool ReadInt (const char *propName, int &result, const char *filename, xmlNodePtr xmlNode)
|
||||
bool ReadInt (const std::string &propName, int &result, const std::string &filename, xmlNodePtr xmlNode)
|
||||
{
|
||||
string value;
|
||||
if (GetPropertyString (value, filename, xmlNode, propName))
|
||||
|
@ -105,15 +109,15 @@ bool ReadInt (const char *propName, int &result, const char *filename, xmlNodePt
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void WriteInt (const char *propName, int value, xmlNodePtr xmlNode)
|
||||
void WriteInt (const std::string &propName, int value, xmlNodePtr xmlNode)
|
||||
{
|
||||
// Set properties
|
||||
xmlSetProp (xmlNode, (const xmlChar*)propName, (const xmlChar*)(toString (value).c_str ()));
|
||||
xmlSetProp (xmlNode, (const xmlChar*)propName.c_str(), (const xmlChar*)(toString (value).c_str ()));
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
||||
bool ReadUInt (const char *propName, uint &result, const char *filename, xmlNodePtr xmlNode)
|
||||
bool ReadUInt (const std::string &propName, uint &result, const std::string &filename, xmlNodePtr xmlNode)
|
||||
{
|
||||
string value;
|
||||
if (GetPropertyString (value, filename, xmlNode, propName))
|
||||
|
@ -126,15 +130,15 @@ bool ReadUInt (const char *propName, uint &result, const char *filename, xmlNode
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void WriteUInt (const char *propName, uint value, xmlNodePtr xmlNode)
|
||||
void WriteUInt (const std::string &propName, uint value, xmlNodePtr xmlNode)
|
||||
{
|
||||
// Set properties
|
||||
xmlSetProp (xmlNode, (const xmlChar*)propName, (const xmlChar*)(toString (value).c_str ()));
|
||||
xmlSetProp (xmlNode, (const xmlChar*)propName.c_str(), (const xmlChar*)(toString (value).c_str ()));
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
||||
bool ReadFloat (const char *propName, float &result, const char *filename, xmlNodePtr xmlNode)
|
||||
bool ReadFloat (const std::string &propName, float &result, const std::string &filename, xmlNodePtr xmlNode)
|
||||
{
|
||||
string value;
|
||||
if (GetPropertyString (value, filename, xmlNode, propName))
|
||||
|
@ -147,15 +151,15 @@ bool ReadFloat (const char *propName, float &result, const char *filename, xmlNo
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void WriteFloat (const char *propName, float value, xmlNodePtr xmlNode)
|
||||
void WriteFloat (const std::string &propName, float value, xmlNodePtr xmlNode)
|
||||
{
|
||||
// Set properties
|
||||
xmlSetProp (xmlNode, (const xmlChar*)propName, (const xmlChar*)(toString (value).c_str ()));
|
||||
xmlSetProp (xmlNode, (const xmlChar*)propName.c_str(), (const xmlChar*)(toString (value).c_str ()));
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
||||
bool ReadVector (CPrimVector &point, const char *filename, xmlNodePtr xmlNode)
|
||||
bool ReadVector (CPrimVector &point, const std::string &filename, xmlNodePtr xmlNode)
|
||||
{
|
||||
CPrimVector pos;
|
||||
if (ReadFloat ("X", pos.x, filename, xmlNode))
|
||||
|
@ -194,7 +198,7 @@ void WriteVector (const CPrimVector &point, xmlNodePtr xmlNode)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool GetNodeString (string &result, const char *filename, xmlNodePtr xmlNode, const char *nodeName)
|
||||
bool GetNodeString (string &result, const std::string &filename, xmlNodePtr xmlNode, const std::string &nodeName)
|
||||
{
|
||||
// Look for the node
|
||||
xmlNodePtr node = CIXml::getFirstChildNode (xmlNode, nodeName);
|
||||
|
@ -216,7 +220,7 @@ bool GetNodeString (string &result, const char *filename, xmlNodePtr xmlNode, co
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool GetContentString (string &result, const char *filename, xmlNodePtr xmlNode)
|
||||
bool GetContentString (string &result, const std::string &filename, xmlNodePtr xmlNode)
|
||||
{
|
||||
// Get the node string
|
||||
if (!CIXml::getContentString (result, xmlNode))
|
||||
|
@ -232,11 +236,6 @@ bool GetContentString (string &result, const char *filename, xmlNodePtr xmlNode)
|
|||
// CPropertyString
|
||||
// ***************************************************************************
|
||||
|
||||
CPropertyString::CPropertyString (const char *str)
|
||||
{
|
||||
String = str;
|
||||
}
|
||||
|
||||
CPropertyString::CPropertyString (const std::string &str)
|
||||
{
|
||||
String = str;
|
||||
|
@ -244,7 +243,7 @@ CPropertyString::CPropertyString (const std::string &str)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
CPropertyString::CPropertyString (const char *str, bool _default)
|
||||
CPropertyString::CPropertyString (const std::string &str, bool _default)
|
||||
{
|
||||
String = str;
|
||||
Default = _default;
|
||||
|
@ -386,7 +385,7 @@ bool CPrimZone::contains (const NLMISC::CVector &v, const std::vector<NLMISC::CV
|
|||
// CPrimNode
|
||||
// ***************************************************************************
|
||||
|
||||
bool CPrimNode::read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config)
|
||||
bool CPrimNode::read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config)
|
||||
{
|
||||
return IPrimitive::read (xmlNode, filename, version, config);
|
||||
}
|
||||
|
@ -484,7 +483,7 @@ NLLIGO::IPrimitive *CPrimPoint::copy () const
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CPrimPoint::read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config)
|
||||
bool CPrimPoint::read(xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config)
|
||||
{
|
||||
// Read points
|
||||
xmlNodePtr ptNode = GetFirstChildNode (xmlNode, filename, "PT");
|
||||
|
@ -514,7 +513,7 @@ bool CPrimPoint::read (xmlNodePtr xmlNode, const char *filename, uint version, C
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void CPrimPoint::write (xmlNodePtr xmlNode, const char *filename) const
|
||||
void CPrimPoint::write (xmlNodePtr xmlNode, const std::string &filename) const
|
||||
{
|
||||
// Save the point
|
||||
xmlNodePtr ptNode = xmlNewChild ( xmlNode, NULL, (const xmlChar*)"PT", NULL);
|
||||
|
@ -566,7 +565,7 @@ CPrimVector *CPrimPath::getPrimVector ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CPrimPath::read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config)
|
||||
bool CPrimPath::read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config)
|
||||
{
|
||||
// Read points
|
||||
VPoints.clear ();
|
||||
|
@ -591,7 +590,7 @@ bool CPrimPath::read (xmlNodePtr xmlNode, const char *filename, uint version, CL
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void CPrimPath::write (xmlNodePtr xmlNode, const char *filename) const
|
||||
void CPrimPath::write (xmlNodePtr xmlNode, const std::string &filename) const
|
||||
{
|
||||
// Save the points
|
||||
for (uint i=0; i<VPoints.size (); i++)
|
||||
|
@ -638,7 +637,7 @@ CPrimVector *CPrimZone::getPrimVector ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CPrimZone::read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config)
|
||||
bool CPrimZone::read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config)
|
||||
{
|
||||
// Read points
|
||||
VPoints.clear ();
|
||||
|
@ -663,7 +662,7 @@ bool CPrimZone::read (xmlNodePtr xmlNode, const char *filename, uint version, CL
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void CPrimZone::write (xmlNodePtr xmlNode, const char *filename) const
|
||||
void CPrimZone::write (xmlNodePtr xmlNode, const std::string &filename) const
|
||||
{
|
||||
// Save the points
|
||||
for (uint i=0; i<VPoints.size (); i++)
|
||||
|
@ -1310,7 +1309,7 @@ bool IPrimitive::getProperty (uint index, std::string &property_name, IProperty
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::getPropertyByName (const char *property_name, const IProperty *&result) const
|
||||
bool IPrimitive::getPropertyByName (const std::string &property_name, const IProperty *&result) const
|
||||
{
|
||||
// Look for the property
|
||||
std::map<std::string, IProperty*>::const_iterator ite = _Properties.find (property_name);
|
||||
|
@ -1324,7 +1323,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, const IProperty *
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::getPropertyByName (const char *property_name, IProperty *&result) const
|
||||
bool IPrimitive::getPropertyByName (const std::string &property_name, IProperty *&result) const
|
||||
{
|
||||
// Look for the property
|
||||
std::map<std::string, IProperty*>::const_iterator ite = _Properties.find (property_name);
|
||||
|
@ -1338,7 +1337,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, IProperty *&resul
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::getPropertyByName (const char *property_name, std::string *&result) const
|
||||
bool IPrimitive::getPropertyByName (const std::string &property_name, std::string *&result) const
|
||||
{
|
||||
// Get the property
|
||||
IProperty *prop;
|
||||
|
@ -1352,7 +1351,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, std::string *&res
|
|||
}
|
||||
else
|
||||
{
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name);
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name.c_str());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -1360,7 +1359,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, std::string *&res
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::getPropertyByName (const char *property_name, std::string &result) const
|
||||
bool IPrimitive::getPropertyByName (const std::string &property_name, std::string &result) const
|
||||
{
|
||||
// Get the property
|
||||
const IProperty *prop;
|
||||
|
@ -1374,7 +1373,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, std::string &resu
|
|||
}
|
||||
else
|
||||
{
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name);
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name.c_str());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -1382,7 +1381,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, std::string &resu
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::getPropertyByName (const char *property_name, std::vector<std::string> *&result) const
|
||||
bool IPrimitive::getPropertyByName (const std::string &property_name, std::vector<std::string> *&result) const
|
||||
{
|
||||
// Get the property
|
||||
IProperty *prop;
|
||||
|
@ -1396,7 +1395,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, std::vector<std::
|
|||
}
|
||||
else
|
||||
{
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name);
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name.c_str());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -1404,7 +1403,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, std::vector<std::
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::getPropertyByName (const char *property_name, const std::vector<std::string> *&result) const
|
||||
bool IPrimitive::getPropertyByName (const std::string &property_name, const std::vector<std::string> *&result) const
|
||||
{
|
||||
// Get the property
|
||||
IProperty *prop;
|
||||
|
@ -1418,7 +1417,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, const std::vector
|
|||
}
|
||||
else
|
||||
{
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name);
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a string.", property_name.c_str());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -1426,7 +1425,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, const std::vector
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::getPropertyByName (const char *property_name, NLMISC::CRGBA &result) const
|
||||
bool IPrimitive::getPropertyByName (const std::string &property_name, NLMISC::CRGBA &result) const
|
||||
{
|
||||
// Get the property
|
||||
IProperty *prop;
|
||||
|
@ -1440,7 +1439,7 @@ bool IPrimitive::getPropertyByName (const char *property_name, NLMISC::CRGBA &re
|
|||
}
|
||||
else
|
||||
{
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a color.", property_name);
|
||||
nlwarning ("NLLIGO::IPrimitive::getPropertyByName : property (%s) in not a color.", property_name.c_str());
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -1468,7 +1467,7 @@ bool IPrimitive::removeProperty (uint index)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::removePropertyByName (const char *property_name)
|
||||
bool IPrimitive::removePropertyByName (const std::string &property_name)
|
||||
{
|
||||
// Look for the property
|
||||
std::map<std::string, IProperty*>::iterator ite = _Properties.find (property_name);
|
||||
|
@ -1642,7 +1641,7 @@ bool IPrimitive::checkProperty(const std::string &property_name) const
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::addPropertyByName (const char *property_name, IProperty *result)
|
||||
bool IPrimitive::addPropertyByName (const std::string &property_name, IProperty *result)
|
||||
{
|
||||
bool inserted = _Properties.insert (std::map<std::string, IProperty*>::value_type (property_name, result)).second;
|
||||
if (inserted)
|
||||
|
@ -1654,7 +1653,7 @@ bool IPrimitive::addPropertyByName (const char *property_name, IProperty *result
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool IPrimitive::read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config)
|
||||
bool IPrimitive::read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config)
|
||||
{
|
||||
// Erase old properties
|
||||
_Properties.clear ();
|
||||
|
@ -1915,7 +1914,7 @@ void IPrimitive::initDefaultValues (CLigoConfig &config)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void IPrimitive::write (xmlNodePtr xmlNode, const char *filename) const
|
||||
void IPrimitive::write (xmlNodePtr xmlNode, const std::string &filename) const
|
||||
{
|
||||
// Save the expanded flag
|
||||
// if (!Expanded)
|
||||
|
@ -2112,7 +2111,7 @@ void CPrimAlias::regenAlias()
|
|||
|
||||
|
||||
// Read the primitive
|
||||
bool CPrimAlias::read (xmlNodePtr xmlNode, const char *filename, uint version, CLigoConfig &config)
|
||||
bool CPrimAlias::read (xmlNodePtr xmlNode, const std::string &filename, uint version, CLigoConfig &config)
|
||||
{
|
||||
// Read alias
|
||||
xmlNodePtr ptNode = CIXml::getFirstChildNode (xmlNode, "ALIAS");
|
||||
|
@ -2146,7 +2145,7 @@ bool CPrimAlias::read (xmlNodePtr xmlNode, const char *filename, uint version, C
|
|||
return IPrimitive::read (xmlNode, filename, version, config);
|
||||
}
|
||||
// Write the primitive
|
||||
void CPrimAlias::write (xmlNodePtr xmlNode, const char *filename) const
|
||||
void CPrimAlias::write (xmlNodePtr xmlNode, const std::string &filename) const
|
||||
{
|
||||
// Write alias
|
||||
xmlNodePtr ptNode = xmlNewChild(xmlNode, NULL, (const xmlChar*)"ALIAS", NULL);
|
||||
|
@ -2458,7 +2457,7 @@ CPrimitives& CPrimitives::operator= (const CPrimitives &other)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CPrimitives::read (xmlNodePtr xmlNode, const char *filename, CLigoConfig &config)
|
||||
bool CPrimitives::read (xmlNodePtr xmlNode, const std::string &filename, CLigoConfig &config)
|
||||
{
|
||||
nlassert (xmlNode);
|
||||
|
||||
|
@ -2531,7 +2530,7 @@ bool CPrimitives::read (xmlNodePtr xmlNode, const char *filename, CLigoConfig &c
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void CPrimitives::write (xmlDocPtr doc, const char *filename) const
|
||||
void CPrimitives::write (xmlDocPtr doc, const std::string &filename) const
|
||||
{
|
||||
nlassert (doc);
|
||||
|
||||
|
@ -2544,7 +2543,7 @@ void CPrimitives::write (xmlDocPtr doc, const char *filename) const
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void CPrimitives::write (xmlNodePtr root, const char *filename) const
|
||||
void CPrimitives::write (xmlNodePtr root, const std::string &filename) const
|
||||
{
|
||||
nlassert (root);
|
||||
|
||||
|
|
|
@ -14,7 +14,15 @@
|
|||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
#ifndef STDLIGO_H
|
||||
#define STDLIGO_H
|
||||
|
||||
#if defined(_MSC_VER) && defined(_DEBUG)
|
||||
#define _CRTDBG_MAP_ALLOC
|
||||
#include <stdlib.h>
|
||||
#include <crtdbg.h>
|
||||
#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
|
||||
#endif
|
||||
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
|
@ -44,6 +52,7 @@
|
|||
// Include from libxml2
|
||||
#include <libxml/parser.h>
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
#include "nel/misc/debug.h"
|
||||
#include "nel/misc/common.h"
|
||||
#include "nel/misc/fast_mem.h"
|
||||
|
@ -67,3 +76,5 @@
|
|||
#endif
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
#include "nel/ligo/ligo_error.h"
|
||||
#include "nel/ligo/ligo_material.h"
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NLLIGO
|
||||
{
|
||||
|
||||
|
|
|
@ -28,6 +28,9 @@
|
|||
using namespace std;
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NLLIGO
|
||||
{
|
||||
|
|
|
@ -25,6 +25,10 @@
|
|||
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NLLIGO
|
||||
{
|
||||
|
||||
|
|
|
@ -14,8 +14,15 @@
|
|||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef NL_STDMISC_H
|
||||
#define NL_STDMISC_H
|
||||
#ifndef NL_STDLOGIC_H
|
||||
#define NL_STDLOGIC_H
|
||||
|
||||
#if defined(_MSC_VER) && defined(_DEBUG)
|
||||
#define _CRTDBG_MAP_ALLOC
|
||||
#include <stdlib.h>
|
||||
#include <crtdbg.h>
|
||||
#define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__)
|
||||
#endif
|
||||
|
||||
#include <vector>
|
||||
#include <map>
|
||||
|
@ -24,6 +31,12 @@
|
|||
|
||||
#include <libxml/parser.h>
|
||||
|
||||
#include "nel/misc/types_nl.h"
|
||||
#include "nel/misc/entity_id.h"
|
||||
#include "nel/misc/i_xml.h"
|
||||
#include "nel/misc/o_xml.h"
|
||||
#include "nel/misc/stream.h"
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# define _WIN32_WINDOWS 0x0500
|
||||
|
|
|
@ -124,6 +124,27 @@ CApplicationContext::CApplicationContext()
|
|||
contextReady();
|
||||
}
|
||||
|
||||
CApplicationContext::~CApplicationContext()
|
||||
{
|
||||
#ifdef NL_DEBUG
|
||||
TSingletonRegistry::iterator it = _SingletonRegistry.begin(), iend = _SingletonRegistry.end();
|
||||
|
||||
while (it != iend)
|
||||
{
|
||||
// can't use nldebug there because it'll create new displayers
|
||||
std::string message = toString("Instance '%s' still allocated at %p", it->first.c_str(), it->second);
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
OutputDebugStringW(utf8ToWide(message));
|
||||
#else
|
||||
printf("%s\n", message.c_str());
|
||||
#endif
|
||||
|
||||
++it;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void *CApplicationContext::getSingletonPointer(const std::string &singletonName)
|
||||
{
|
||||
TSingletonRegistry::iterator it(_SingletonRegistry.find(singletonName));
|
||||
|
|
|
@ -339,6 +339,9 @@ bool CBigFile::BNP::readHeader(FILE *file)
|
|||
it++;
|
||||
}
|
||||
|
||||
if (FileNames)
|
||||
delete[] FileNames;
|
||||
|
||||
FileNames = new char[nSize];
|
||||
memset(FileNames, 0, nSize);
|
||||
Files.resize(nNb);
|
||||
|
|
|
@ -213,6 +213,16 @@ namespace NLMISC
|
|||
return _ThreadMainFiber.getPointer();
|
||||
}
|
||||
#endif
|
||||
|
||||
static void releaseInstance()
|
||||
{
|
||||
if (_Instance)
|
||||
{
|
||||
NLMISC::INelContext::getInstance().releaseSingletonPointer("CCurrentCoTask", _Instance);
|
||||
delete _Instance;
|
||||
_Instance = NULL;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
NLMISC_SAFE_SINGLETON_IMPL(CCurrentCoTask);
|
||||
|
@ -560,5 +570,10 @@ namespace NLMISC
|
|||
}
|
||||
}
|
||||
|
||||
void CCoTask::releaseInstance()
|
||||
{
|
||||
CCurrentCoTask::releaseInstance();
|
||||
}
|
||||
|
||||
} // namespace NLMISC
|
||||
|
||||
|
|
|
@ -765,7 +765,8 @@ static bool createProcess(const std::string &programName, const std::string &arg
|
|||
args = toString("\"%s\" ", programName.c_str()) + arguments;
|
||||
}
|
||||
|
||||
BOOL res = CreateProcessW(sProgramName, utf8ToWide(args), NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
|
||||
// or 0 for a window
|
||||
BOOL res = CreateProcessW(sProgramName, utf8ToWide(args), NULL, NULL, FALSE, CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW, NULL, NULL /* current dir */, &si, &pi);
|
||||
|
||||
if (sProgramName)
|
||||
{
|
||||
|
@ -1012,20 +1013,32 @@ sint launchProgramAndWaitForResult(const std::string &programName, const std::st
|
|||
if (!createProcess(programName, arguments, log, pi)) return -1;
|
||||
|
||||
// Successfully created the process. Wait for it to finish.
|
||||
WaitForSingleObject(pi.hProcess, INFINITE);
|
||||
DWORD ret = WaitForSingleObject(pi.hProcess, INFINITE);
|
||||
|
||||
// Get the exit code.
|
||||
DWORD exitCode = 0;
|
||||
BOOL ok = GetExitCodeProcess(pi.hProcess, &exitCode);
|
||||
if (ret == WAIT_OBJECT_0)
|
||||
{
|
||||
// Get the exit code.
|
||||
DWORD exitCode = 0;
|
||||
BOOL ok = GetExitCodeProcess(pi.hProcess, &exitCode);
|
||||
|
||||
//nldebug("LAUNCH: Successful launch '%s' with arg '%s'", programName.c_str(), arguments.c_str());
|
||||
CloseHandle(pi.hProcess);
|
||||
CloseHandle(pi.hThread);
|
||||
//nldebug("LAUNCH: Successful launch '%s' with arg '%s'", programName.c_str(), arguments.c_str());
|
||||
CloseHandle(pi.hProcess);
|
||||
CloseHandle(pi.hThread);
|
||||
|
||||
if (ok) return (sint)exitCode;
|
||||
if (ok) return (sint)exitCode;
|
||||
}
|
||||
|
||||
if (log)
|
||||
nlwarning("LAUNCH: Failed launched '%s' with arg '%s'", programName.c_str(), arguments.c_str());
|
||||
{
|
||||
std::string error = toString((uint)ret);
|
||||
|
||||
if (ret == WAIT_FAILED)
|
||||
{
|
||||
error += "(" + formatErrorMessage(getLastError()) +")";
|
||||
}
|
||||
|
||||
nlwarning("LAUNCH: Failed launched '%s' with arg '%s' and error: %s", programName.c_str(), arguments.c_str(), error.c_str());
|
||||
}
|
||||
|
||||
return -1;
|
||||
#else
|
||||
|
@ -1535,7 +1548,7 @@ static bool openDocWithExtension (const std::string &document, const std::string
|
|||
|
||||
if (command.empty())
|
||||
{
|
||||
nlwarning("Unable to open %s", document);
|
||||
nlwarning("Unable to open %s", document.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -3221,7 +3221,7 @@ static void *yy_flex_alloc( size )
|
|||
yy_size_t size;
|
||||
#endif
|
||||
{
|
||||
return (void *) malloc( size ); // TODO: delete
|
||||
return (void *) malloc( size );
|
||||
}
|
||||
|
||||
#ifdef YY_USE_PROTOS
|
||||
|
|
|
@ -715,7 +715,7 @@ void CIXml::serialBuffer(uint8 *buf, uint len)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CIXml::xmlPushBeginInternal (const char *nodeName)
|
||||
bool CIXml::xmlPushBeginInternal (const std::string &nodeName)
|
||||
{
|
||||
nlassert( isReading() );
|
||||
|
||||
|
@ -744,12 +744,12 @@ bool CIXml::xmlPushBeginInternal (const char *nodeName)
|
|||
nlassert (_CurrentNode->name);
|
||||
|
||||
// Node element with the good name ?
|
||||
if ( (_CurrentNode->type != XML_ELEMENT_NODE) || ( (const char*)_CurrentNode->name != string(nodeName)) )
|
||||
if ( (_CurrentNode->type != XML_ELEMENT_NODE) || ( (const char*)_CurrentNode->name != nodeName) )
|
||||
{
|
||||
// Make an error message
|
||||
char tmp[512];
|
||||
smprintf (tmp, 512, "NeL XML Syntax error : root node has the wrong name : \"%s\" should have \"%s\"",
|
||||
_CurrentNode->name, nodeName);
|
||||
_CurrentNode->name, nodeName.c_str());
|
||||
throw EXmlParsingError (tmp);
|
||||
}
|
||||
}
|
||||
|
@ -769,7 +769,7 @@ bool CIXml::xmlPushBeginInternal (const char *nodeName)
|
|||
nlassert (_CurrentNode->name);
|
||||
|
||||
// Node with the good name
|
||||
if ( (_CurrentNode->type == XML_ELEMENT_NODE) && ( (const char*)_CurrentNode->name == string(nodeName)) )
|
||||
if ( (_CurrentNode->type == XML_ELEMENT_NODE) && ( (const char*)_CurrentNode->name == nodeName) )
|
||||
{
|
||||
// Save current element
|
||||
_CurrentElement = _CurrentNode;
|
||||
|
@ -789,7 +789,7 @@ bool CIXml::xmlPushBeginInternal (const char *nodeName)
|
|||
// Make an error message
|
||||
char tmp[512];
|
||||
smprintf (tmp, 512, "NeL XML Syntax error in block line %d \nCan't open the node named %s in node named %s",
|
||||
(int)_CurrentElement->line, nodeName, _CurrentElement->name);
|
||||
(int)_CurrentElement->line, nodeName.c_str(), _CurrentElement->name);
|
||||
throw EXmlParsingError (tmp);
|
||||
}
|
||||
|
||||
|
@ -902,7 +902,7 @@ bool CIXml::xmlPopInternal ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CIXml::xmlSetAttribInternal (const char *attribName)
|
||||
bool CIXml::xmlSetAttribInternal (const std::string &attribName)
|
||||
{
|
||||
nlassert( isReading() );
|
||||
|
||||
|
@ -951,7 +951,7 @@ bool CIXml::xmlBreakLineInternal ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CIXml::xmlCommentInternal (const char * /* comment */)
|
||||
bool CIXml::xmlCommentInternal (const std::string &/* comment */)
|
||||
{
|
||||
// Ok
|
||||
return true;
|
||||
|
@ -959,12 +959,12 @@ bool CIXml::xmlCommentInternal (const char * /* comment */)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
xmlNodePtr CIXml::getFirstChildNode (xmlNodePtr parent, const char *childName)
|
||||
xmlNodePtr CIXml::getFirstChildNode (xmlNodePtr parent, const std::string &childName)
|
||||
{
|
||||
xmlNodePtr child = parent->children;
|
||||
while (child)
|
||||
{
|
||||
if (strcmp ((const char*)child->name, childName) == 0)
|
||||
if (childName == (const char*)child->name)
|
||||
return child;
|
||||
child = child->next;
|
||||
}
|
||||
|
@ -973,12 +973,12 @@ xmlNodePtr CIXml::getFirstChildNode (xmlNodePtr parent, const char *childName)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
xmlNodePtr CIXml::getNextChildNode (xmlNodePtr last, const char *childName)
|
||||
xmlNodePtr CIXml::getNextChildNode (xmlNodePtr last, const std::string &childName)
|
||||
{
|
||||
last = last->next;
|
||||
while (last)
|
||||
{
|
||||
if (strcmp ((const char*)last->name, childName) == 0)
|
||||
if (childName == (const char*)last->name)
|
||||
return last;
|
||||
last = last->next;
|
||||
}
|
||||
|
@ -1015,7 +1015,7 @@ xmlNodePtr CIXml::getNextChildNode (xmlNodePtr last, sint /* xmlElementType */ t
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
uint CIXml::countChildren (xmlNodePtr node, const char *childName)
|
||||
uint CIXml::countChildren (xmlNodePtr node, const std::string &childName)
|
||||
{
|
||||
uint count=0;
|
||||
xmlNodePtr child = getFirstChildNode (node, childName);
|
||||
|
@ -1053,10 +1053,10 @@ xmlNodePtr CIXml::getRootNode () const
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool CIXml::getPropertyString (std::string &result, xmlNodePtr node, const char *property)
|
||||
bool CIXml::getPropertyString (std::string &result, xmlNodePtr node, const std::string &property)
|
||||
{
|
||||
// Get the value
|
||||
const char *value = (const char*)xmlGetProp (node, (xmlChar*)property);
|
||||
const char *value = (const char*)xmlGetProp (node, (xmlChar*)property.c_str());
|
||||
if (value)
|
||||
{
|
||||
// Active value
|
||||
|
@ -1073,7 +1073,7 @@ bool CIXml::getPropertyString (std::string &result, xmlNodePtr node, const char
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
int CIXml::getIntProperty(xmlNodePtr node, const char *property, int defaultValue)
|
||||
int CIXml::getIntProperty(xmlNodePtr node, const std::string &property, int defaultValue)
|
||||
{
|
||||
CSString s;
|
||||
bool b;
|
||||
|
@ -1095,7 +1095,7 @@ int CIXml::getIntProperty(xmlNodePtr node, const char *property, int defaultValu
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
double CIXml::getFloatProperty(xmlNodePtr node, const char *property, float defaultValue)
|
||||
double CIXml::getFloatProperty(xmlNodePtr node, const std::string &property, float defaultValue)
|
||||
{
|
||||
CSString s;
|
||||
bool b;
|
||||
|
@ -1109,7 +1109,7 @@ double CIXml::getFloatProperty(xmlNodePtr node, const char *property, float defa
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
std::string CIXml::getStringProperty(xmlNodePtr node, const char *property, const std::string& defaultValue)
|
||||
std::string CIXml::getStringProperty(xmlNodePtr node, const std::string &property, const std::string& defaultValue)
|
||||
{
|
||||
std::string s;
|
||||
bool b;
|
||||
|
|
|
@ -268,7 +268,7 @@ namespace NLMISC
|
|||
typedef CSynchronized<TMessageQueueMap>::CAccessor TAccessor;
|
||||
// NB : use a 'new' instead of an automatic object here, because I got an 'INTERNAL COMPILER ERROR' compiler file 'msc1.cpp', line 1794
|
||||
// else, this is one of the way recommended by microsoft to solve the problem.
|
||||
std::auto_ptr<TAccessor> messageQueueMap(new TAccessor(&_MessageQueueMap));
|
||||
CUniquePtr<TAccessor> messageQueueMap(new TAccessor(&_MessageQueueMap));
|
||||
CMsgQueueIdent msgQueueIdent(ownerWindow, localId, foreignId);
|
||||
if (messageQueueMap->value().count(msgQueueIdent))
|
||||
{
|
||||
|
@ -368,7 +368,7 @@ namespace NLMISC
|
|||
typedef CSynchronized<TMessageQueueMap>::CAccessor TAccessor;
|
||||
// NB : use a 'new' instead of an automatic object here, because I got an 'INTERNAL COMPILER ERROR' compiler file 'msc1.cpp', line 1794
|
||||
// else, this is one of the way recommended by microsoft to solve the problem.
|
||||
std::auto_ptr<TAccessor> messageQueueMap(new TAccessor(&_MessageQueueMap));
|
||||
CUniquePtr<TAccessor> messageQueueMap(new TAccessor(&_MessageQueueMap));
|
||||
TMessageQueueMap::iterator it = messageQueueMap->value().find(CMsgQueueIdent(_LocalWindow.getWnd(), _LocalWindow.getId(), _ForeignWindow.getId()));
|
||||
nlassert(it != messageQueueMap->value().end());
|
||||
messageQueueMap->value().erase(it);
|
||||
|
@ -408,7 +408,7 @@ namespace NLMISC
|
|||
typedef CSynchronized<TMessageQueueMap>::CAccessor TAccessor;
|
||||
// NB : use a 'new' instead of an automatic object here, because I got an 'INTERNAL COMPILER ERROR' compiler file 'msc1.cpp', line 1794
|
||||
// else, this is one of the way recommended by microsoft to solve the problem.
|
||||
std::auto_ptr<TAccessor> messageQueueMap(new TAccessor(&_MessageQueueMap));
|
||||
CUniquePtr<TAccessor> messageQueueMap(new TAccessor(&_MessageQueueMap));
|
||||
TMessageQueueMap::iterator it = messageQueueMap->value().find(CMsgQueueIdent(hwnd, toId, fromId));
|
||||
if (it != messageQueueMap->value().end())
|
||||
{
|
||||
|
|
|
@ -152,7 +152,7 @@ void xmlGenericErrorFuncWrite (void *ctx, const char *msg, ...)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool COXml::init (IStream *stream, const char *version)
|
||||
bool COXml::init (IStream *stream, const std::string &version)
|
||||
{
|
||||
resetPtrTable();
|
||||
|
||||
|
@ -201,7 +201,7 @@ COXml::~COXml ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
void COXml::serialSeparatedBufferOut( const char *value )
|
||||
void COXml::serialSeparatedBufferOut( const std::string &value )
|
||||
{
|
||||
nlassert( ! isReading() );
|
||||
|
||||
|
@ -218,7 +218,7 @@ void COXml::serialSeparatedBufferOut( const char *value )
|
|||
if (_AttribPresent)
|
||||
{
|
||||
// Set the attribute
|
||||
xmlSetProp (_CurrentNode, (const xmlChar*)_AttribName.c_str(), (const xmlChar*)value);
|
||||
xmlSetProp (_CurrentNode, (const xmlChar*)_AttribName.c_str(), (const xmlChar*)value.c_str());
|
||||
|
||||
// The attribute has been used
|
||||
_AttribPresent = false;
|
||||
|
@ -349,7 +349,8 @@ void COXml::serialBit(bool &bit)
|
|||
#ifndef NL_OS_CYGWIN
|
||||
void COXml::serial(char &b)
|
||||
{
|
||||
char tmp[2] = {b , 0};
|
||||
std::string tmp;
|
||||
tmp += b;
|
||||
serialSeparatedBufferOut( tmp );
|
||||
}
|
||||
#endif // NL_OS_CYGWIN
|
||||
|
@ -364,7 +365,7 @@ void COXml::serial(std::string &b)
|
|||
if (_PushBegin)
|
||||
{
|
||||
// Only serial the string
|
||||
serialSeparatedBufferOut( b.c_str() );
|
||||
serialSeparatedBufferOut( b );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -372,7 +373,7 @@ void COXml::serial(std::string &b)
|
|||
xmlPush ("S");
|
||||
|
||||
// Serial the string
|
||||
serialSeparatedBufferOut( b.c_str() );
|
||||
serialSeparatedBufferOut( b );
|
||||
|
||||
// Close the node
|
||||
xmlPop ();
|
||||
|
@ -415,7 +416,7 @@ void COXml::serialBuffer(uint8 *buf, uint len)
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool COXml::xmlPushBeginInternal (const char *nodeName)
|
||||
bool COXml::xmlPushBeginInternal (const std::string &nodeName)
|
||||
{
|
||||
nlassert( ! isReading() );
|
||||
|
||||
|
@ -439,7 +440,7 @@ bool COXml::xmlPushBeginInternal (const char *nodeName)
|
|||
}
|
||||
|
||||
// Create the first node
|
||||
_CurrentNode=xmlNewDocNode (_Document, NULL, (const xmlChar*)nodeName, NULL);
|
||||
_CurrentNode=xmlNewDocNode (_Document, NULL, (const xmlChar*)nodeName.c_str(), NULL);
|
||||
xmlDocSetRootElement (_Document, _CurrentNode);
|
||||
|
||||
// Return NULL if error
|
||||
|
@ -451,7 +452,7 @@ bool COXml::xmlPushBeginInternal (const char *nodeName)
|
|||
flushContentString ();
|
||||
|
||||
// Create a new node
|
||||
_CurrentNode=xmlNewChild (_CurrentNode, NULL, (const xmlChar*)nodeName, NULL);
|
||||
_CurrentNode=xmlNewChild (_CurrentNode, NULL, (const xmlChar*)nodeName.c_str(), NULL);
|
||||
|
||||
// Return NULL if error
|
||||
nlassert (_CurrentNode);
|
||||
|
@ -543,7 +544,7 @@ bool COXml::xmlPopInternal ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool COXml::xmlSetAttribInternal (const char *attribName)
|
||||
bool COXml::xmlSetAttribInternal (const std::string &attribName)
|
||||
{
|
||||
nlassert( ! isReading() );
|
||||
|
||||
|
@ -608,7 +609,7 @@ bool COXml::xmlBreakLineInternal ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool COXml::xmlCommentInternal (const char *comment)
|
||||
bool COXml::xmlCommentInternal (const std::string &comment)
|
||||
{
|
||||
nlassert( ! isReading() );
|
||||
|
||||
|
@ -619,7 +620,7 @@ bool COXml::xmlCommentInternal (const char *comment)
|
|||
if ( _CurrentNode != NULL)
|
||||
{
|
||||
// Add a comment node
|
||||
xmlNodePtr commentPtr = xmlNewComment ((const xmlChar *)comment);
|
||||
xmlNodePtr commentPtr = xmlNewComment ((const xmlChar *)comment.c_str());
|
||||
|
||||
// Add the node
|
||||
xmlAddChild (_CurrentNode, commentPtr);
|
||||
|
@ -665,15 +666,9 @@ void COXml::flush ()
|
|||
|
||||
// ***************************************************************************
|
||||
|
||||
bool COXml::isStringValidForProperties (const char *str)
|
||||
bool COXml::isStringValidForProperties (const std::string &str)
|
||||
{
|
||||
while (*str)
|
||||
{
|
||||
if (*str == '\n')
|
||||
return false;
|
||||
str++;
|
||||
}
|
||||
return true;
|
||||
return str.find('\n') == std::string::npos;
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
|
|
@ -50,8 +50,11 @@ struct CPMainThread : public CPThread
|
|||
|
||||
~CPMainThread()
|
||||
{
|
||||
if(pthread_key_delete(threadSpecificKey) != 0)
|
||||
throw EThread("cannot delete thread specific storage key.");
|
||||
if (pthread_key_delete(threadSpecificKey) != 0)
|
||||
{
|
||||
nlwarning("cannot delete thread specific storage key.");
|
||||
// throw EThread("cannot delete thread specific storage key.");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -2523,7 +2523,7 @@ bool CFile::createDirectoryTree(const std::string &filename)
|
|||
return lastResult;
|
||||
}
|
||||
|
||||
bool CPath::makePathRelative (const char *basePath, std::string &relativePath)
|
||||
bool CPath::makePathRelative (const std::string &basePath, std::string &relativePath)
|
||||
{
|
||||
// Standard path with final slash
|
||||
string tmp = standardizePath (basePath, true);
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
using namespace std;
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
|
||||
namespace NLNET
|
||||
|
@ -69,7 +72,7 @@ namespace NLNET
|
|||
friend class CL3ServerRoute;
|
||||
public:
|
||||
/// The callback server that receive connection and dispatch message
|
||||
auto_ptr<CCallbackServer> _CallbackServer;
|
||||
CUniquePtr<CCallbackServer> _CallbackServer;
|
||||
|
||||
/// A static mapper to retrieve transport from the CCallbackServer pointer
|
||||
typedef map<CCallbackNetBase*, CGatewayL3ServerTransport*> TDispatcherIndex;
|
||||
|
@ -221,7 +224,7 @@ namespace NLNET
|
|||
throw ETransportError("openServer : The server is already open");
|
||||
|
||||
// create a new callback server
|
||||
auto_ptr<CCallbackServer> cbs = auto_ptr<CCallbackServer> (new CCallbackServer());
|
||||
CUniquePtr<CCallbackServer> cbs(new CCallbackServer());
|
||||
|
||||
// register the callbacks
|
||||
cbs->setConnectionCallback(cbConnection, static_cast<IGatewayTransport*>(this));
|
||||
|
@ -231,7 +234,7 @@ namespace NLNET
|
|||
// open the server
|
||||
cbs->init(port);
|
||||
|
||||
_CallbackServer = cbs;
|
||||
_CallbackServer = CUniquePtrMove(cbs);
|
||||
|
||||
// register it in the dispatcher
|
||||
_DispatcherIndex.insert(make_pair(_CallbackServer.get(), this));
|
||||
|
@ -670,7 +673,7 @@ namespace NLNET
|
|||
_FreeRoutesIds.pop_back();
|
||||
}
|
||||
|
||||
auto_ptr<CL3ClientRoute> route = auto_ptr<CL3ClientRoute>(new CL3ClientRoute(this, addr, connId));
|
||||
CUniquePtr<CL3ClientRoute> route(new CL3ClientRoute(this, addr, connId));
|
||||
|
||||
// set the callbacks
|
||||
route->CallbackClient.setDisconnectionCallback(cbDisconnection, static_cast<IGatewayTransport*>(this));
|
||||
|
|
|
@ -250,7 +250,7 @@ namespace NLNET
|
|||
|
||||
// now, load the library
|
||||
string fullName = NLMISC::CPath::standardizePath(path)+CLibrary::makeLibName(shortName);
|
||||
std::auto_ptr<TModuleLibraryInfo> mli = auto_ptr<TModuleLibraryInfo>(new TModuleLibraryInfo);
|
||||
CUniquePtr<TModuleLibraryInfo> mli(new TModuleLibraryInfo);
|
||||
if (!mli->LibraryHandler.loadLibrary(fullName, false, true, true))
|
||||
{
|
||||
nlwarning("CModuleManager : failed to load the library '%s' in '%s'",
|
||||
|
@ -399,7 +399,7 @@ namespace NLNET
|
|||
IModuleFactory *mf = it->second;
|
||||
// sanity check
|
||||
nlassert(mf->getModuleClassName() == className);
|
||||
std::auto_ptr<IModule> module = auto_ptr<IModule>(mf->createModule());
|
||||
CUniquePtr<IModule> module(mf->createModule());
|
||||
if (module.get() == NULL)
|
||||
{
|
||||
nlwarning("createModule : factory failed to create a module instance for class '%s'", className.c_str());
|
||||
|
@ -623,7 +623,7 @@ namespace NLNET
|
|||
const std::string &moduleManifest,
|
||||
TModuleId foreignModuleId)
|
||||
{
|
||||
std::auto_ptr<CModuleProxy> modProx = auto_ptr<CModuleProxy>(new CModuleProxy(localModule, ++_LastGeneratedId, moduleClassName, moduleFullyQualifiedName, moduleManifest));
|
||||
CUniquePtr<CModuleProxy> modProx(new CModuleProxy(localModule, ++_LastGeneratedId, moduleClassName, moduleFullyQualifiedName, moduleManifest));
|
||||
modProx->_Gateway = gateway;
|
||||
modProx->_Route = route;
|
||||
modProx->_Distance = distance;
|
||||
|
|
|
@ -63,6 +63,10 @@ typedef int SOCKET;
|
|||
using namespace std;
|
||||
using namespace NLMISC;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
namespace NLNET {
|
||||
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ UPrimitiveBlock *UPrimitiveBlock::createPrimitiveBlock(NLMISC::IStream &src)
|
|||
{
|
||||
|
||||
nlassert(src.isReading());
|
||||
std::auto_ptr<CPrimitiveBlock> pb(new CPrimitiveBlock);
|
||||
CUniquePtr<CPrimitiveBlock> pb(new CPrimitiveBlock);
|
||||
pb->serial(src);
|
||||
return pb.release();
|
||||
}
|
||||
|
|
|
@ -94,6 +94,10 @@ using namespace NLMISC;
|
|||
using namespace NLLIGO;
|
||||
using namespace NL3D;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
// APP DATA
|
||||
#define NEL3D_APPDATA_LIGO_USE_BOUNDINGBOX ((uint32)1342141818)
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ struct CDupObjPolicy
|
|||
dest.serialPtr(obj);
|
||||
/*if (dest.isReading())
|
||||
{
|
||||
std::auto_ptr<T> newObj(new T);
|
||||
CUniquePtr<T> newObj(new T);
|
||||
newObj->serialPtr(dest);
|
||||
delete obj;
|
||||
obj = newObj.release();
|
||||
|
@ -112,7 +112,7 @@ NL3D::CParticleSystemProcess *DupPSLocated(const CParticleSystemProcess *in)
|
|||
/** Duplicate the system, and detach.
|
||||
* We can't duplicate the object direclty (it may be referencing other objects in the system, so these objects will be copied too...)
|
||||
*/
|
||||
std::auto_ptr<CParticleSystem> newPS(DupSerializable<CDupObjPolicy>(in->getOwner()));
|
||||
CUniquePtr<CParticleSystem> newPS(DupSerializable<CDupObjPolicy>(in->getOwner()));
|
||||
// scene pointer is not serialised, but 'detach' may need the scene to be specified
|
||||
newPS->setScene(in->getOwner()->getScene());
|
||||
return newPS->detach(index);
|
||||
|
@ -142,7 +142,7 @@ NL3D::CPSLocatedBindable *DupPSLocatedBindable(CPSLocatedBindable *in)
|
|||
else
|
||||
{
|
||||
CParticleSystem *srcPS = in->getOwner()->getOwner();
|
||||
std::auto_ptr<CParticleSystem> newPS(DupSerializable<CDupObjPolicy>(srcPS));
|
||||
CUniquePtr<CParticleSystem> newPS(DupSerializable<CDupObjPolicy>(srcPS));
|
||||
// scene pointer is not serialised, but 'detach' may need the scene to be specified
|
||||
newPS->setScene(in->getOwner()->getOwner()->getScene());
|
||||
//
|
||||
|
|
|
@ -764,7 +764,7 @@ void CLocatedBindableDialog::updateZBias()
|
|||
m_ZBias.GetWindowText(value);
|
||||
float zbias = 0.f;
|
||||
int dummy; // to test if end of string as no not wanted extra characters
|
||||
if (sscanf((LPCTSTR) (value + "\n0"), "%f\n%d", &zbias, &dummy) == 2)
|
||||
if (_stscanf((LPCTSTR)(value + _T("\n0")), _T("%f\n%d"), &zbias, &dummy) == 2)
|
||||
{
|
||||
NLMISC::safe_cast<NL3D::CPSParticle *>(_Bindable)->setZBias(-zbias);
|
||||
}
|
||||
|
|
|
@ -469,7 +469,7 @@ void CObjectViewer::loadConfigFile()
|
|||
try
|
||||
{
|
||||
CConfigFile::CVar &var = cf.getVar("automatic_animation_path");
|
||||
std::auto_ptr<CAnimationSet> as(new CAnimationSet);
|
||||
CUniquePtr<CAnimationSet> as(new CAnimationSet);
|
||||
//
|
||||
bool loadingOk = as->loadFromFiles(var.asString(),true ,"anim",true);
|
||||
//
|
||||
|
|
|
@ -574,7 +574,7 @@ void CParticleDlg::OnLoadPSWorkspace()
|
|||
void CParticleDlg::loadWorkspace(const std::string &fullPath)
|
||||
{
|
||||
// Add to the path
|
||||
std::auto_ptr<CParticleWorkspace> newPW(new CParticleWorkspace);
|
||||
CUniquePtr<CParticleWorkspace> newPW(new CParticleWorkspace);
|
||||
newPW->init(_ObjView, fullPath, _ObjView->getFontManager(), _ObjView->getFontGenerator());
|
||||
newPW->setModificationCallback(ParticleTreeCtrl);
|
||||
// save empty workspace
|
||||
|
|
|
@ -1006,7 +1006,7 @@ BOOL CParticleTreeCtrl::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHA
|
|||
// Add search path for the texture
|
||||
NLMISC::CPath::addSearchPath (NLMISC::CFile::getPath(tStrToUtf8(fd.GetPathName())));
|
||||
|
||||
std::auto_ptr<NL3D::CShapeBank> sb(new NL3D::CShapeBank);
|
||||
CUniquePtr<NL3D::CShapeBank> sb(new NL3D::CShapeBank);
|
||||
CParticleSystemModel *psm = NULL;
|
||||
try
|
||||
{
|
||||
|
@ -1147,7 +1147,7 @@ BOOL CParticleTreeCtrl::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHA
|
|||
{
|
||||
float value;
|
||||
int dummy; // to avoid non numeric characters at the end
|
||||
if (sscanf ((LPCTSTR)(valueDlg.Value + "\n0"), "%f\n%d", &value, &dummy) == 2)
|
||||
if (_stscanf((LPCTSTR)(valueDlg.Value + _T("\n0")), _T("%f\n%d"), &value, &dummy) == 2)
|
||||
{
|
||||
nlassert(getOwnerNode(nt)->getPSPointer());
|
||||
getOwnerNode(nt)->getPSPointer()->setZBias(-value);
|
||||
|
@ -1526,9 +1526,11 @@ void CParticleTreeCtrl::insertNewPS(CParticleWorkspace &pws)
|
|||
{
|
||||
static const TCHAR BASED_CODE szFilter[] = _T("NeL Particle systems (*.ps)|*.ps||");
|
||||
CFileDialog fd(TRUE, _T(".ps"), _T("*.ps"), OFN_ALLOWMULTISELECT|OFN_FILEMUSTEXIST, szFilter, this);
|
||||
|
||||
const uint MAX_NUM_CHAR = 65536;
|
||||
TCHAR filenamesBuf[MAX_NUM_CHAR];
|
||||
_tcscpy(filenamesBuf, _T("*.ps"));
|
||||
_tcscpy_s(filenamesBuf, MAX_NUM_CHAR, _T("*.ps"));
|
||||
|
||||
fd.m_ofn.lpstrFile = filenamesBuf;
|
||||
fd.m_ofn.nMaxFile = MAX_NUM_CHAR - 1;
|
||||
if (fd.DoModal() == IDOK)
|
||||
|
|
|
@ -182,8 +182,8 @@ private:
|
|||
// Matching infos for each nodes in the CTreeCtrl
|
||||
std::vector<CNodeType *> _NodeTypes;
|
||||
//
|
||||
std::auto_ptr<NL3D::CPSLocated> _LocatedCopy;
|
||||
std::auto_ptr<NL3D::CPSLocatedBindable> _LocatedBindableCopy;
|
||||
CUniquePtr<NL3D::CPSLocated> _LocatedCopy;
|
||||
CUniquePtr<NL3D::CPSLocatedBindable> _LocatedBindableCopy;
|
||||
//
|
||||
DECLARE_MESSAGE_MAP()
|
||||
// from CParticleWorkspace::IModificationCallback
|
||||
|
|
|
@ -202,7 +202,7 @@ void CParticleWorkspace::CNode::createEmptyPS()
|
|||
NL3D::CParticleSystem emptyPS;
|
||||
NL3D::CParticleSystemShape *pss = new NL3D::CParticleSystemShape;
|
||||
pss->buildFromPS(emptyPS);
|
||||
std::auto_ptr<NL3D::CShapeBank> sb(new NL3D::CShapeBank);
|
||||
CUniquePtr<NL3D::CShapeBank> sb(new NL3D::CShapeBank);
|
||||
std::string shapeName = NLMISC::CFile::getFilename(_RelativePath);
|
||||
sb->add(shapeName, pss);
|
||||
NL3D::CShapeBank *oldSB = NL3D::CNELU::Scene->getShapeBank();
|
||||
|
@ -276,16 +276,7 @@ void CParticleWorkspace::CNode::savePSAs(const std::string &fullPath) throw(NLMI
|
|||
std::string CParticleWorkspace::CNode::getFullPath() const
|
||||
{
|
||||
nlassert(_WS);
|
||||
char fullPath[MAX_PATH];
|
||||
std::string basePath = NLMISC::CPath::standardizeDosPath(_WS->getPath());
|
||||
if (PathCombine(fullPath, basePath.c_str(), _RelativePath.c_str()))
|
||||
{
|
||||
return fullPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
return _RelativePath.c_str();
|
||||
}
|
||||
return NLMISC::CPath::makePathAbsolute(_RelativePath, _WS->getPath(), true);
|
||||
}
|
||||
|
||||
//***********************************************************************************************
|
||||
|
@ -298,7 +289,7 @@ bool CParticleWorkspace::CNode::loadPS()
|
|||
// collapse name
|
||||
inputFile.open(getFullPath());
|
||||
ss.serial(inputFile);
|
||||
std::auto_ptr<NL3D::CShapeBank> sb(new NL3D::CShapeBank);
|
||||
CUniquePtr<NL3D::CShapeBank> sb(new NL3D::CShapeBank);
|
||||
std::string shapeName = NLMISC::CFile::getFilename(_RelativePath);
|
||||
sb->add(shapeName, ss.getShapePointer());
|
||||
NL3D::CShapeBank *oldSB = NL3D::CNELU::Scene->getShapeBank();
|
||||
|
@ -374,17 +365,19 @@ CParticleWorkspace::CNode *CParticleWorkspace::addNode(const std::string &filena
|
|||
for(uint k = 0; k < _Nodes.size(); ++k)
|
||||
{
|
||||
if (NLMISC::nlstricmp(_Nodes[k]->getFilename(), fileName) == 0) return NULL;
|
||||
}
|
||||
char resultPath[MAX_PATH];
|
||||
}
|
||||
|
||||
// TODO: replace with NeL methods
|
||||
TCHAR resultPath[MAX_PATH];
|
||||
std::string dosPath = NLMISC::CPath::standardizeDosPath(getPath());
|
||||
std::string relativePath;
|
||||
if (!PathRelativePathTo(resultPath, dosPath.c_str(), FILE_ATTRIBUTE_DIRECTORY, filenameWithFullPath.c_str(), 0))
|
||||
if (!PathRelativePathTo(resultPath, utf8ToTStr(dosPath), FILE_ATTRIBUTE_DIRECTORY, utf8ToTStr(filenameWithFullPath), 0))
|
||||
{
|
||||
relativePath = filenameWithFullPath;
|
||||
}
|
||||
else
|
||||
{
|
||||
relativePath = resultPath;
|
||||
relativePath = tStrToUtf8(resultPath);
|
||||
}
|
||||
|
||||
if (relativePath.size() >= 2)
|
||||
|
|
|
@ -121,7 +121,7 @@ void CSnapshotToolDlg::stringFromRegistry(HKEY hKey, const TCHAR *name, CString
|
|||
return;
|
||||
}
|
||||
|
||||
std::auto_ptr<TCHAR> tmpDest(new TCHAR[size]);
|
||||
CUniquePtr<TCHAR[]> tmpDest(new TCHAR[size]);
|
||||
result = RegQueryValueEx(hKey, name, NULL, &type, (BYTE*)tmpDest.get(), &size);
|
||||
|
||||
if (result != ERROR_SUCCESS)
|
||||
|
@ -130,7 +130,7 @@ void CSnapshotToolDlg::stringFromRegistry(HKEY hKey, const TCHAR *name, CString
|
|||
return;
|
||||
}
|
||||
|
||||
dest = *tmpDest;
|
||||
dest = tmpDest.get();
|
||||
}
|
||||
|
||||
|
||||
|
@ -210,8 +210,8 @@ void CSnapshotToolDlg::toRegistry()
|
|||
HKEY hKey;
|
||||
if (RegCreateKey(HKEY_CURRENT_USER, NEL_OV_SNAPSHOT_TOOL_REGKEY, &hKey)==ERROR_SUCCESS)
|
||||
{
|
||||
RegSetValueEx(hKey, _T("InputPath"), 0, REG_SZ, (BYTE*) (LPCTSTR) m_InputPath, m_InputPath.GetLength() + 1);
|
||||
RegSetValueEx(hKey, _T("OutputPath"), 0, REG_SZ, (BYTE*) (LPCTSTR) m_OutputPath, m_OutputPath.GetLength() + 1);
|
||||
RegSetValueEx(hKey, _T("InputPath"), 0, REG_SZ, (BYTE*) (LPCTSTR) m_InputPath, (m_InputPath.GetLength() + 1) * sizeof(TCHAR));
|
||||
RegSetValueEx(hKey, _T("OutputPath"), 0, REG_SZ, (BYTE*) (LPCTSTR) m_OutputPath, (m_OutputPath.GetLength() + 1) * sizeof(TCHAR));
|
||||
CString filters;
|
||||
for (uint k = 0; k < (uint) m_Filters.GetCount(); ++k)
|
||||
{
|
||||
|
@ -221,7 +221,7 @@ void CSnapshotToolDlg::toRegistry()
|
|||
filters += filter;
|
||||
}
|
||||
|
||||
RegSetValueEx(hKey, _T("Filters"), 0, REG_SZ, (BYTE*) (LPCTSTR) filters, filters.GetLength() + 1);
|
||||
RegSetValueEx(hKey, _T("Filters"), 0, REG_SZ, (BYTE*) (LPCTSTR) filters, (filters.GetLength() + 1) * sizeof(TCHAR));
|
||||
DWORD recurseSubFolder = m_RecurseSubFolder;
|
||||
DWORD dumpTextureSets = m_DumpTextureSets;
|
||||
DWORD width = (DWORD) m_OutputWidth;
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
//
|
||||
|
||||
#include "std_afx.h"
|
||||
|
||||
#include <tchar.h>
|
||||
|
||||
//#include "nel/3d/register_3d.h"
|
||||
//#include "nel/3d/scene.h"
|
||||
|
@ -29,9 +29,9 @@
|
|||
using namespace NLMISC;
|
||||
using namespace std;
|
||||
|
||||
int APIENTRY WinMain(HINSTANCE hInstance,
|
||||
int APIENTRY _tWinMain(HINSTANCE hInstance,
|
||||
HINSTANCE hPrevInstance,
|
||||
LPSTR lpCmdLine,
|
||||
LPTSTR lpCmdLine,
|
||||
int nCmdShow)
|
||||
{
|
||||
// Register 3d
|
||||
|
@ -41,13 +41,13 @@ int APIENTRY WinMain(HINSTANCE hInstance,
|
|||
// init3d ();
|
||||
|
||||
// Remove command line ""
|
||||
char commandLine[512];
|
||||
char *commandLinePtr=commandLine;
|
||||
strcpy (commandLine, lpCmdLine);
|
||||
if (commandLine[0]=='"')
|
||||
TCHAR commandLine[512];
|
||||
TCHAR *commandLinePtr=commandLine;
|
||||
_tcscpy (commandLine, lpCmdLine);
|
||||
if (commandLine[0]==_T('"'))
|
||||
commandLinePtr++;
|
||||
if (commandLinePtr[strlen (commandLinePtr)-1]=='"')
|
||||
commandLinePtr[strlen (commandLinePtr)-1]=0;
|
||||
if (commandLinePtr[_tcslen (commandLinePtr)-1]==_T('"'))
|
||||
commandLinePtr[_tcslen (commandLinePtr)-1]=0;
|
||||
|
||||
// Create a object viewer
|
||||
IObjectViewer *objectViewer=IObjectViewer::getInterface();
|
||||
|
@ -58,11 +58,11 @@ int APIENTRY WinMain(HINSTANCE hInstance,
|
|||
if (objectViewer->initUI ())
|
||||
{
|
||||
// Argument ?
|
||||
if (strcmp (commandLinePtr, "")!=0)
|
||||
if (_tcscmp (commandLinePtr, _T(""))!=0)
|
||||
{
|
||||
// Make a string vector
|
||||
vector<string> strVector;
|
||||
strVector.push_back (commandLinePtr);
|
||||
strVector.push_back (tStrToUtf8(commandLinePtr));
|
||||
|
||||
// Try to load a shape
|
||||
if (objectViewer->loadMesh (strVector, ""))
|
||||
|
|
|
@ -18,103 +18,42 @@
|
|||
|
||||
#include "nel_export.h"
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
#include "nel/misc/path.h"
|
||||
|
||||
ULONG CNelExport::ExtractFileName(char* Path, char* Name)
|
||||
{
|
||||
long i,j;
|
||||
char temp[MAX_PATH];
|
||||
|
||||
for(j=0,i=strlen(Path)-1 ; i>=0 && Path[i]!='\\' && Path[i]!='//' ; i--,j++)
|
||||
temp[j]=Path[i];
|
||||
temp[j]=0;
|
||||
|
||||
for(i=strlen(temp)-1,j=0 ; i>=0 ; i--,j++)
|
||||
Name[j]=temp[i];
|
||||
Name[j]=0;
|
||||
|
||||
return(1);
|
||||
}
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::ExtractPath(char* FullPath, char* Path)
|
||||
ULONG CNelExport::SelectFileForSave(HWND Parent, TCHAR* Title, const TCHAR* Mask, std::string &FileName)
|
||||
{
|
||||
long i;
|
||||
TCHAR curdir[MAX_PATH];
|
||||
TCHAR fname[MAX_PATH];
|
||||
|
||||
for(i=strlen(FullPath)-1 ; i>=0 && FullPath[i]!='\\' && FullPath[i]!='//' ; i--);
|
||||
strncpy(Path,FullPath,i+1);
|
||||
Path[i+1]=0;
|
||||
std::string path, filename;
|
||||
|
||||
return(1);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::SelectFileForLoad(HWND Parent, char* Title, const char* Mask, char* FileName)
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
char r;
|
||||
char curdir[MAX_PATH];
|
||||
char fname[MAX_PATH];
|
||||
|
||||
fname[0]=0;
|
||||
if (!FileName[0])
|
||||
{
|
||||
GetCurrentDirectory(MAX_PATH,curdir);
|
||||
path = NLMISC::CPath::getCurrentPath();
|
||||
}
|
||||
else
|
||||
{
|
||||
ExtractPath(FileName,curdir);
|
||||
if (!curdir[0])
|
||||
path = NLMISC::CFile::getPath(FileName);
|
||||
|
||||
if (path.empty())
|
||||
{
|
||||
GetCurrentDirectory(MAX_PATH,curdir);
|
||||
path = NLMISC::CPath::getCurrentPath();
|
||||
}
|
||||
ExtractFileName(FileName,fname);
|
||||
|
||||
filename = NLMISC::CFile::getFilename(FileName);
|
||||
}
|
||||
|
||||
memset(&ofn,0,sizeof(OPENFILENAME));
|
||||
ofn.lStructSize = sizeof ( OPENFILENAME );
|
||||
ofn.hwndOwner = Parent;
|
||||
ofn.hInstance = GetModuleHandle(NULL);
|
||||
ofn.lpstrFilter = Mask;
|
||||
ofn.lpstrCustomFilter = NULL;
|
||||
ofn.nFilterIndex = 0;
|
||||
ofn.lpstrFile = fname;
|
||||
ofn.nMaxFile = 500;
|
||||
ofn.lpstrTitle = Title;
|
||||
ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_LONGNAMES | OFN_OVERWRITEPROMPT;
|
||||
ofn.lpstrDefExt = "*";
|
||||
ofn.lpstrInitialDir = curdir;
|
||||
r=GetOpenFileName ( &ofn );
|
||||
strcpy(FileName,fname);
|
||||
return(r);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::SelectFileForSave(HWND Parent, char* Title, const char* Mask, char* FileName)
|
||||
{
|
||||
OPENFILENAME ofn;
|
||||
char r;
|
||||
char curdir[MAX_PATH];
|
||||
char fname[MAX_PATH];
|
||||
|
||||
fname[0]=0;
|
||||
if (!FileName[0])
|
||||
{
|
||||
GetCurrentDirectory(MAX_PATH,curdir);
|
||||
}
|
||||
else
|
||||
{
|
||||
ExtractPath(FileName,curdir);
|
||||
if (!curdir[0])
|
||||
{
|
||||
GetCurrentDirectory(MAX_PATH,curdir);
|
||||
}
|
||||
ExtractFileName(FileName,fname);
|
||||
}
|
||||
// copy path and filename to temporary buffers
|
||||
_tcscpy_s(curdir, MAX_PATH, utf8ToTStr(path));
|
||||
_tcscpy_s(fname, MAX_PATH, utf8ToTStr(filename));
|
||||
|
||||
OPENFILENAME ofn;
|
||||
memset(&ofn,0,sizeof(OPENFILENAME));
|
||||
ofn.lStructSize = sizeof ( OPENFILENAME );
|
||||
ofn.hwndOwner = Parent;
|
||||
|
@ -126,201 +65,40 @@ ULONG CNelExport::SelectFileForSave(HWND Parent, char* Title, const char* Mask,
|
|||
ofn.nMaxFile = 500;
|
||||
ofn.lpstrTitle = Title;
|
||||
ofn.Flags = OFN_HIDEREADONLY | OFN_LONGNAMES | OFN_OVERWRITEPROMPT;
|
||||
ofn.lpstrDefExt = "*";
|
||||
ofn.lpstrDefExt = _T("*");
|
||||
ofn.lpstrInitialDir = curdir;
|
||||
r=GetSaveFileName ( &ofn );
|
||||
strcpy(FileName,fname);
|
||||
return(r);
|
||||
BOOL r = GetSaveFileName ( &ofn );
|
||||
|
||||
FileName = tStrToUtf8(fname);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::SelectDir(HWND Parent, char* Title, char* Path)
|
||||
ULONG CNelExport::SelectDir(HWND Parent, TCHAR* Title, std::string &Path)
|
||||
{
|
||||
BROWSEINFO bi;
|
||||
char str[MAX_PATH];
|
||||
ITEMIDLIST* pidl;
|
||||
TCHAR str[MAX_PATH];
|
||||
_tcscpy_s(str, MAX_PATH, utf8ToTStr(Path));
|
||||
|
||||
BROWSEINFO bi;
|
||||
bi.hwndOwner=Parent;
|
||||
bi.pidlRoot=NULL;
|
||||
bi.pszDisplayName=Path;
|
||||
bi.pszDisplayName=str;
|
||||
bi.lpszTitle=Title;
|
||||
bi.ulFlags=0;
|
||||
bi.lpfn=0;
|
||||
bi.lParam=0;
|
||||
bi.iImage=0;
|
||||
pidl=SHBrowseForFolder(&bi);
|
||||
|
||||
ITEMIDLIST* pidl = SHBrowseForFolder(&bi);
|
||||
|
||||
if (!SHGetPathFromIDList(pidl,str) )
|
||||
{
|
||||
return(0);
|
||||
return 0;
|
||||
}
|
||||
strcpy(Path,str);
|
||||
return(1);
|
||||
|
||||
Path = tStrToUtf8(str);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::FileExists(const char* FileName)
|
||||
{
|
||||
FILE *file;
|
||||
if ( !strcmp(FileName,"") ) return(0);
|
||||
file=fopen(FileName,"rb");
|
||||
if (!file) return(0);
|
||||
fclose(file);
|
||||
return(1);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::GetFileSize(char* FileName)
|
||||
{
|
||||
FILE *file;
|
||||
unsigned long fsize;
|
||||
|
||||
file=fopen(FileName,"rb");
|
||||
if (!file) return(0);
|
||||
fseek(file,0,SEEK_END);
|
||||
fsize=ftell(file);
|
||||
fclose(file);
|
||||
return(fsize);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::ProcessDir(char* Dir, const char* Mask, unsigned long flag, ULONG Fnct(char* FileName) )
|
||||
{
|
||||
char ToFound[MAX_PATH];
|
||||
char FullDir[MAX_PATH];
|
||||
char str[MAX_PATH];
|
||||
HANDLE h;
|
||||
WIN32_FIND_DATA fi;
|
||||
BOOL r;
|
||||
|
||||
GetFullPathName(Dir,MAX_PATH,FullDir,NULL);
|
||||
// --- Directory
|
||||
if (flag)
|
||||
{
|
||||
strcpy(ToFound,Dir);
|
||||
if ( ToFound[strlen(ToFound)-1]!='\\')
|
||||
strcat(ToFound,"\\");
|
||||
strcat(ToFound,"*.*");
|
||||
h=FindFirstFile(ToFound,&fi);
|
||||
if (h!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
r=1;
|
||||
while(r)
|
||||
{
|
||||
if ( strcmp(fi.cFileName,".") && strcmp(fi.cFileName,"..") )
|
||||
{
|
||||
if (
|
||||
fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY &&
|
||||
!(fi.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN)
|
||||
)
|
||||
{
|
||||
strcpy(str,Dir);
|
||||
if ( str[strlen(str)-1]!='\\' ) strcat(str,"\\");
|
||||
strcat(str,fi.cFileName);
|
||||
if ( !ProcessDir(str,Mask,flag,Fnct) ) return(0);
|
||||
}
|
||||
}
|
||||
r=FindNextFile(h,&fi);
|
||||
}
|
||||
FindClose(h);
|
||||
}
|
||||
}
|
||||
// --- Files
|
||||
strcpy(ToFound,Dir);
|
||||
if ( ToFound[strlen(ToFound)-1]!='\\') strcat(ToFound,"\\");
|
||||
strcat(ToFound,Mask);
|
||||
h=FindFirstFile(ToFound,&fi);
|
||||
if (h!=INVALID_HANDLE_VALUE)
|
||||
{
|
||||
r=1;
|
||||
while(r)
|
||||
{
|
||||
if ( strcmp(fi.cFileName,".") && strcmp(fi.cFileName,"..") )
|
||||
{
|
||||
if ( !(fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) )
|
||||
{
|
||||
strcpy(str,FullDir);
|
||||
if ( str[strlen(str)-1]!='\\' ) strcat(str,"\\");
|
||||
strcat(str,fi.cFileName);
|
||||
::strupr(str);
|
||||
if ( !Fnct(str) ) return(0);
|
||||
}
|
||||
}
|
||||
r=FindNextFile(h,&fi);
|
||||
}
|
||||
FindClose(h);
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::CleanFileName(char* FileName)
|
||||
{
|
||||
char str[MAX_PATH];
|
||||
unsigned long i,j,found;
|
||||
|
||||
j=0;
|
||||
for(i=0 ; i<strlen(FileName) ; i++)
|
||||
{
|
||||
found=0;
|
||||
if (FileName[i]=='\\' && i!=0 && FileName[i-1]!='\\') { str[j]='\\'; j++; found=1; }
|
||||
if (FileName[i]=='/' && i!=0 && FileName[i-1]!='/') { str[j]='/'; j++; found=1; }
|
||||
if (!found) { str[j]=FileName[i]; j++; }
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------------------
|
||||
|
||||
ULONG CNelExport::CreateBAKFile(char* FileName)
|
||||
{
|
||||
FILE *fin,*fout;
|
||||
unsigned long fsize;
|
||||
char *block;
|
||||
char str[MAX_PATH];
|
||||
|
||||
if ( !FileExists(FileName) )
|
||||
{
|
||||
return(1);
|
||||
}
|
||||
fin=fopen(FileName,"rb");
|
||||
if (!fin)
|
||||
{
|
||||
//SetError("CreateBAKFile, unable to open %s",FileName);
|
||||
return(0);
|
||||
}
|
||||
fsize=GetFileSize(FileName);
|
||||
if (!fsize)
|
||||
{
|
||||
//SetError("CreateBAKFile, unable to get file size for %s",FileName);
|
||||
return(0);
|
||||
}
|
||||
block=(char*)calloc(1,fsize);
|
||||
if (!block)
|
||||
{
|
||||
//SetError("CreateBAKFile, not enough memory");
|
||||
return(0);
|
||||
}
|
||||
fread(block,1,fsize,fin);
|
||||
fclose(fin);
|
||||
|
||||
strcpy(str,FileName);
|
||||
str[strlen(str)-1]='K';
|
||||
str[strlen(str)-2]='A';
|
||||
str[strlen(str)-3]='B';
|
||||
|
||||
fout=fopen(str,"w+b");
|
||||
if (!fout)
|
||||
{
|
||||
//SetError("CreateBAKFile, unable to open %s",str);
|
||||
return(0);
|
||||
}
|
||||
fwrite(block,1,fsize,fout);
|
||||
fclose(fout);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,8 @@ INT_PTR CALLBACK CalculatingDialogCallback (
|
|||
(((uint32)TimeLeft)/60)%60,
|
||||
(((uint32)TimeLeft))%60 );
|
||||
if (pClass->bCancelCalculation)
|
||||
_tcscpy (temp, _T("INTERRUPTED - Finishing current object..."));
|
||||
_tcscpy_s (temp, 256, _T("INTERRUPTED - Finishing current object..."));
|
||||
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_STATICTIMELEFT), WM_SETTEXT, 0, (LPARAM)temp);
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_BUTTONCANCEL), WM_PAINT, 0, 0);
|
||||
}
|
||||
|
|
|
@ -34,6 +34,10 @@
|
|||
using namespace NLMISC;
|
||||
using namespace NL3D;
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
static Class_ID DefNoteTrackClassID(NOTETRACK_CLASS_ID, 0);
|
||||
|
||||
#define BOOL_CONTROL_CLASS_ID 0x984b8d27
|
||||
|
|
|
@ -1180,7 +1180,7 @@ void CExportNel::getBSMeshBuild (std::vector<CMesh::CMeshBuild*> &bsList, INode
|
|||
convertMatrix(finalSpace, node.GetNodeTM(time));
|
||||
|
||||
CMeshBase::CMeshBaseBuild *dummyMBB = NULL;
|
||||
std::auto_ptr<CMesh::CMeshBuild> baseMB(createMeshBuild (node, time, dummyMBB, finalSpace));
|
||||
CUniquePtr<CMesh::CMeshBuild> baseMB(createMeshBuild (node, time, dummyMBB, finalSpace));
|
||||
delete dummyMBB;
|
||||
dummyMBB = NULL;
|
||||
if (baseMB.get() == NULL) return;
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include <set>
|
||||
#include <vector>
|
||||
|
||||
#include <iterator>
|
||||
|
||||
#include "nel/misc/line.h"
|
||||
#include "nel/misc/polygon.h"
|
||||
|
|
|
@ -39,7 +39,7 @@ static void buildRemanenceError(CExportNel *en, INode &node, const char *mess)
|
|||
//=============================================================================================
|
||||
NL3D::IShape *CExportNel::buildRemanence(INode& node, TimeValue time)
|
||||
{
|
||||
std::auto_ptr<CSegRemanenceShape> srs(new CSegRemanenceShape);
|
||||
CUniquePtr<CSegRemanenceShape> srs(new CSegRemanenceShape);
|
||||
uint numSlices = getScriptAppData (&node, NEL3D_APPDATA_REMANENCE_SLICE_NUMBER, 2);
|
||||
float samplingPeriod = getScriptAppData (&node, NEL3D_APPDATA_REMANENCE_SAMPLING_PERIOD, 0.02f);
|
||||
float rollupRatio = getScriptAppData (&node, NEL3D_APPDATA_REMANENCE_ROLLUP_RATIO, 1.f);
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
#include "stdafx.h"
|
||||
#include "editpat.h"
|
||||
|
||||
#ifdef DEBUG_NEW
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
||||
// ------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#define DBGWELD_DUMPx
|
||||
|
|
|
@ -133,7 +133,10 @@ void SetBankPathName (const std::string& path)
|
|||
HKEY hKey;
|
||||
if (RegCreateKey(HKEY_CURRENT_USER, REGKEY_TILEDIT, &hKey)==ERROR_SUCCESS)
|
||||
{
|
||||
RegSetValueEx(hKey, "Bank Path", 0, REG_SZ, (LPBYTE)path.c_str(), path.length()+1);
|
||||
TCHAR buffer[MAX_PATH];
|
||||
_tcscpy_s(buffer, MAX_PATH, utf8ToTStr(path));
|
||||
|
||||
RegSetValueEx(hKey, _T("Bank Path"), 0, REG_SZ, (LPBYTE)buffer, (_tcslen(buffer)+1)*sizeof(TCHAR));
|
||||
RegCloseKey (hKey);
|
||||
}
|
||||
}
|
||||
|
@ -1972,7 +1975,7 @@ IOResult RPatchMesh::Load(ILoad *iload)
|
|||
for (i=0; i<nSize; i++)
|
||||
{
|
||||
bool bBinded;
|
||||
typeBind nType;
|
||||
uint /* typeBind */ nType;
|
||||
uint nEdge;
|
||||
uint nPatch;
|
||||
uint nBefore;
|
||||
|
@ -2113,7 +2116,7 @@ IOResult RPatchMesh::Save(ISave *isave)
|
|||
uint nAfter=getUIVertex (i).Binding.nAfter;
|
||||
uint nAfter2=getUIVertex (i).Binding.nAfter2;
|
||||
uint nT=getUIVertex (i).Binding.nT;
|
||||
typeBind nType=(typeBind)getUIVertex (i).Binding.nType;
|
||||
uint /* typeBind */ nType=(uint /* typeBind */)getUIVertex (i).Binding.nType;
|
||||
uint nPrimVert=getUIVertex (i).Binding.nPrimVert;
|
||||
|
||||
isave->Write(&bBinded, sizeof (bool), &nb);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue