Fixed: #1448 Compilation with CLang
This commit is contained in:
parent
18ea4f8004
commit
cdcdc05e88
12 changed files with 51 additions and 31 deletions
|
@ -50,21 +50,21 @@ static CTxtCommandSetPtr<__CTxtCommandSet_##setName> setName;
|
||||||
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
#define TXT_COMMAND(cmdName,setName,CONTEXT_CLASS)\
|
#define TXT_COMMAND(cmdName,setName,CONTEXT_CLASS)\
|
||||||
struct __CTxtCommand_##cmdName: public ITxtCommand<CONTEXT_CLASS>\
|
struct __CTxtCommand_##cmdName##CONTEXT_CLASS: public ITxtCommand<CONTEXT_CLASS>\
|
||||||
{\
|
{\
|
||||||
static __CTxtCommand_##cmdName* getInstance()\
|
static __CTxtCommand_##cmdName##CONTEXT_CLASS* getInstance()\
|
||||||
{\
|
{\
|
||||||
static __CTxtCommand_##cmdName *p=NULL;\
|
static __CTxtCommand_##cmdName##CONTEXT_CLASS *p=NULL;\
|
||||||
if (p==NULL) p= new __CTxtCommand_##cmdName;\
|
if (p==NULL) p= new __CTxtCommand_##cmdName##CONTEXT_CLASS;\
|
||||||
return p;\
|
return p;\
|
||||||
}\
|
}\
|
||||||
virtual const char* getName() const {return #cmdName;}\
|
virtual const char* getName() const {return #cmdName;}\
|
||||||
virtual CTxtCommandResult execute(CONTEXT_CLASS& context,const NLMISC::CVectorSString& args,const NLMISC::CSString& rawArgs,const NLMISC::CSString& fullCmdLine);\
|
virtual CTxtCommandResult execute(CONTEXT_CLASS& context,const NLMISC::CVectorSString& args,const NLMISC::CSString& rawArgs,const NLMISC::CSString& fullCmdLine);\
|
||||||
private:\
|
private:\
|
||||||
__CTxtCommand_##cmdName() {}\
|
__CTxtCommand_##cmdName##CONTEXT_CLASS() {}\
|
||||||
};\
|
};\
|
||||||
static ITxtCommandRegisterer<__CTxtCommand_##cmdName,__CTxtCommandSet_##setName> __CTxtCommand_##cmdName##_Registerer;\
|
static ITxtCommandRegisterer<__CTxtCommand_##cmdName##CONTEXT_CLASS,__CTxtCommandSet_##setName> __CTxtCommand_##cmdName##CONTEXT_CLASS##_Registerer;\
|
||||||
CTxtCommandResult __CTxtCommand_##cmdName::execute(CONTEXT_CLASS& context,const NLMISC::CVectorSString& args,const NLMISC::CSString& rawArgs,const NLMISC::CSString& fullCmdLine)
|
CTxtCommandResult __CTxtCommand_##cmdName##CONTEXT_CLASS::execute(CONTEXT_CLASS& context,const NLMISC::CVectorSString& args,const NLMISC::CSString& rawArgs,const NLMISC::CSString& fullCmdLine)
|
||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -546,13 +546,13 @@ CAliasTreeOwner* CAliasCont<TChld>::getAliasChildByAlias(uint32 alias) const
|
||||||
template <class TChld>
|
template <class TChld>
|
||||||
CAliasTreeOwner* CAliasCont<TChld>::addAliasChild(CAliasTreeOwner* child)
|
CAliasTreeOwner* CAliasCont<TChld>::addAliasChild(CAliasTreeOwner* child)
|
||||||
{
|
{
|
||||||
return NLMISC::type_cast<CAliasTreeOwner*>(addChild(static_cast<TChld*>(child)));
|
return NLMISC::type_cast<CAliasTreeOwner*>(this->addChild(static_cast<TChld*>(child)));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class TChld>
|
template <class TChld>
|
||||||
CAliasTreeOwner* CAliasCont<TChld>::addAliasChild(CAliasTreeOwner* child, uint32 index)
|
CAliasTreeOwner* CAliasCont<TChld>::addAliasChild(CAliasTreeOwner* child, uint32 index)
|
||||||
{
|
{
|
||||||
return NLMISC::type_cast<CAliasTreeOwner*>(addChild(static_cast<TChld*>(child), index));
|
return NLMISC::type_cast<CAliasTreeOwner*>(this->addChild(static_cast<TChld*>(child), index));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class TChld>
|
template <class TChld>
|
||||||
|
|
|
@ -844,7 +844,7 @@ public:
|
||||||
}
|
}
|
||||||
protected:
|
protected:
|
||||||
private:
|
private:
|
||||||
size_t _index;
|
uint32 _index;
|
||||||
float _value;
|
float _value;
|
||||||
bool _detailled;
|
bool _detailled;
|
||||||
mutable CLogStringWriter _stringWriter;
|
mutable CLogStringWriter _stringWriter;
|
||||||
|
|
|
@ -172,6 +172,7 @@ IAiFactory<IFamilyProfile> *_ProfileNpc=&_singleProfileNpc;
|
||||||
|
|
||||||
extern IAiFactory<IFamilyProfile> *_ProfileTribe; // in another cpp.
|
extern IAiFactory<IFamilyProfile> *_ProfileTribe; // in another cpp.
|
||||||
|
|
||||||
|
NL_ISO_TEMPLATE_SPEC CAiFactoryContainer<IFamilyProfile, TStringId> *CAiFactoryContainer<IFamilyProfile, TStringId>::_Instance = NULL;
|
||||||
|
|
||||||
CFamilyProfileFactory::CFamilyProfileFactory()
|
CFamilyProfileFactory::CFamilyProfileFactory()
|
||||||
{
|
{
|
||||||
|
@ -217,10 +218,6 @@ IFamilyProfile* CFamilyProfileFactory::createFamilyProfile(const TStringId &keyW
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
NL_ISO_TEMPLATE_SPEC CAiFactoryContainer<IFamilyProfile, TStringId> *CAiFactoryContainer<IFamilyProfile, TStringId>::_Instance = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
IFamilyProfile* IFamilyProfile::createFamilyProfile(const TStringId &profileName, const IFamilyProfile::CtorParam& ctorParam)
|
IFamilyProfile* IFamilyProfile::createFamilyProfile(const TStringId &profileName, const IFamilyProfile::CtorParam& ctorParam)
|
||||||
{
|
{
|
||||||
return CFamilyProfileFactory::createFamilyProfile(profileName, ctorParam);
|
return CFamilyProfileFactory::createFamilyProfile(profileName, ctorParam);
|
||||||
|
|
|
@ -1933,7 +1933,7 @@ void CSubRuleTracer::generateCode(CSmartPtr<AIVM::CByteCode> &cByteCode) const
|
||||||
case CScriptVM::JUMP:
|
case CScriptVM::JUMP:
|
||||||
byteCode.push_back(op); // + Jump offset.
|
byteCode.push_back(op); // + Jump offset.
|
||||||
|
|
||||||
size_t index;
|
uint32 index;
|
||||||
NLMISC::fromString(param, index);
|
NLMISC::fromString(param, index);
|
||||||
jumpTable.add(CJumpRememberer(index));
|
jumpTable.add(CJumpRememberer(index));
|
||||||
byteCode.push_back(0); // Invalid
|
byteCode.push_back(0); // Invalid
|
||||||
|
@ -1950,7 +1950,7 @@ void CSubRuleTracer::generateCode(CSmartPtr<AIVM::CByteCode> &cByteCode) const
|
||||||
{
|
{
|
||||||
if (str.find("Atof")!=string::npos)
|
if (str.find("Atof")!=string::npos)
|
||||||
{
|
{
|
||||||
size_t index;
|
uint32 index;
|
||||||
NLMISC::fromString(param, index);
|
NLMISC::fromString(param, index);
|
||||||
--index;
|
--index;
|
||||||
string &strRef=_childTracers[index]->_TextValue;
|
string &strRef=_childTracers[index]->_TextValue;
|
||||||
|
@ -1962,7 +1962,7 @@ void CSubRuleTracer::generateCode(CSmartPtr<AIVM::CByteCode> &cByteCode) const
|
||||||
|
|
||||||
if (str.find("String")!=string::npos)
|
if (str.find("String")!=string::npos)
|
||||||
{
|
{
|
||||||
size_t index;
|
uint32 index;
|
||||||
NLMISC::fromString(param, index);
|
NLMISC::fromString(param, index);
|
||||||
--index;
|
--index;
|
||||||
string &strRef=_childTracers[index]->_TextValue;
|
string &strRef=_childTracers[index]->_TextValue;
|
||||||
|
@ -2021,7 +2021,7 @@ void CSubRuleTracer::generateCode(CSmartPtr<AIVM::CByteCode> &cByteCode) const
|
||||||
|
|
||||||
if (str.find("Code")!=string::npos)
|
if (str.find("Code")!=string::npos)
|
||||||
{
|
{
|
||||||
size_t index;
|
uint32 index;
|
||||||
NLMISC::fromString(param, index);
|
NLMISC::fromString(param, index);
|
||||||
--index;
|
--index;
|
||||||
if (byteCode.size()==0)
|
if (byteCode.size()==0)
|
||||||
|
|
|
@ -90,6 +90,14 @@ sint8 ExplosionResetPeriod = 50; // 5 s
|
||||||
|
|
||||||
CHarvestSource AutoSpawnSourceIniProperties;
|
CHarvestSource AutoSpawnSourceIniProperties;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Access to singleton
|
||||||
|
*/
|
||||||
|
CHarvestSourceManager *CHarvestSourceManager::getInstance()
|
||||||
|
{
|
||||||
|
return (CHarvestSourceManager*)_Instance;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialization of source manager
|
* Initialization of source manager
|
||||||
*/
|
*/
|
||||||
|
@ -103,7 +111,10 @@ void CHarvestSourceManager::init( TDataSetIndex baseRowIndex, TDataSetIndex size
|
||||||
//AutoSpawnSourceIniProperties.setDistVis( 100 );
|
//AutoSpawnSourceIniProperties.setDistVis( 100 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CHarvestSourceManager::release()
|
||||||
|
{
|
||||||
|
delete (CHarvestSourceManager*)_Instance;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* HarvestSource constructor
|
* HarvestSource constructor
|
||||||
|
|
|
@ -391,13 +391,13 @@ class CHarvestSourceManager : public CSimpleEntityManager<CHarvestSource>
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// Singleton access
|
/// Singleton access
|
||||||
static CHarvestSourceManager *getInstance() { return (CHarvestSourceManager*)_Instance; }
|
static CHarvestSourceManager *getInstance();
|
||||||
|
|
||||||
/// Initialization
|
/// Initialization
|
||||||
void init( TDataSetIndex baseRowIndex, TDataSetIndex size );
|
void init( TDataSetIndex baseRowIndex, TDataSetIndex size );
|
||||||
|
|
||||||
/// Release
|
/// Release
|
||||||
static void release() { delete (CHarvestSourceManager*)_Instance; }
|
static void release();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -67,3 +67,15 @@ NLMISC_DYNVARIABLE( uint, NbEnvironmentalEffects, "Number of environmental effec
|
||||||
if ( get )
|
if ( get )
|
||||||
*pointer = CEnvironmentalEffectManager::getInstance()->nbEntities();
|
*pointer = CEnvironmentalEffectManager::getInstance()->nbEntities();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Singleton access
|
||||||
|
CEnvironmentalEffectManager *CEnvironmentalEffectManager::getInstance()
|
||||||
|
{
|
||||||
|
return (CEnvironmentalEffectManager*)_Instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Release
|
||||||
|
void CEnvironmentalEffectManager::release()
|
||||||
|
{
|
||||||
|
delete (CEnvironmentalEffectManager*)_Instance;
|
||||||
|
}
|
||||||
|
|
|
@ -89,10 +89,10 @@ class CEnvironmentalEffectManager : public CSimpleEntityManager<CEnvironmentalEf
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// Singleton access
|
/// Singleton access
|
||||||
static CEnvironmentalEffectManager *getInstance() { return (CEnvironmentalEffectManager*)_Instance; }
|
static CEnvironmentalEffectManager *getInstance();
|
||||||
|
|
||||||
/// Release
|
/// Release
|
||||||
static void release() { delete (CEnvironmentalEffectManager*)_Instance; }
|
static void release();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -288,10 +288,10 @@ public :
|
||||||
TCDBDataIndex getDataIndex() const { return _DataIndex; }
|
TCDBDataIndex getDataIndex() const { return _DataIndex; }
|
||||||
|
|
||||||
/// Set the atomic branch flag (when all the modified nodes of a branch should be tranmitted at the same time)
|
/// Set the atomic branch flag (when all the modified nodes of a branch should be tranmitted at the same time)
|
||||||
void setAtomic( bool atomicBranch ) { _Atomic = atomicBranch; }
|
void setAtomic( bool atomicBranch ) { _AtomicFlag = atomicBranch; }
|
||||||
|
|
||||||
/// Return true if the branch has the atomic flag
|
/// Return true if the branch has the atomic flag
|
||||||
bool isAtomic() const { return _Atomic; }
|
bool isAtomic() const { return _AtomicFlag; }
|
||||||
|
|
||||||
/** Attach callback. Allow to attach a callback function that some code could call
|
/** Attach callback. Allow to attach a callback function that some code could call
|
||||||
* when an instance of this node is changed.
|
* when an instance of this node is changed.
|
||||||
|
@ -307,7 +307,7 @@ protected:
|
||||||
ICDBStructNode()
|
ICDBStructNode()
|
||||||
: _BankLabels(NULL),
|
: _BankLabels(NULL),
|
||||||
_DataIndex(CDB_INVALID_DATA_INDEX),
|
_DataIndex(CDB_INVALID_DATA_INDEX),
|
||||||
_Atomic(false),
|
_AtomicFlag(false),
|
||||||
_ChangeCallback(NULL)
|
_ChangeCallback(NULL)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -325,7 +325,7 @@ protected:
|
||||||
TCDBDataIndex _DataIndex;
|
TCDBDataIndex _DataIndex;
|
||||||
|
|
||||||
/// Atomic flag: is the branch an atomic group, or is the leaf a member of an atomic group
|
/// Atomic flag: is the branch an atomic group, or is the leaf a member of an atomic group
|
||||||
bool _Atomic;
|
bool _AtomicFlag;
|
||||||
|
|
||||||
/// Optional callback pointer.
|
/// Optional callback pointer.
|
||||||
TNodeChangeCallback _ChangeCallback;
|
TNodeChangeCallback _ChangeCallback;
|
||||||
|
|
|
@ -186,7 +186,7 @@ void ICDBStructNode::setLabel( const std::string& bankName )
|
||||||
*/
|
*/
|
||||||
void CCDBStructNodeBranch::initDataIndex( TCDBDataIndex& index )
|
void CCDBStructNodeBranch::initDataIndex( TCDBDataIndex& index )
|
||||||
{
|
{
|
||||||
if ( _Atomic )
|
if ( _AtomicFlag )
|
||||||
{
|
{
|
||||||
_DataIndex = index;
|
_DataIndex = index;
|
||||||
checkIfNotMaxIndex();
|
checkIfNotMaxIndex();
|
||||||
|
@ -207,7 +207,7 @@ void CCDBStructNodeBranch::initDataIndex( TCDBDataIndex& index )
|
||||||
*/
|
*/
|
||||||
void CCDBStructNodeBranch::initIdAndCallForEachIndex( CBinId& id, void (*callback)(ICDBStructNode*, void*), void *arg )
|
void CCDBStructNodeBranch::initIdAndCallForEachIndex( CBinId& id, void (*callback)(ICDBStructNode*, void*), void *arg )
|
||||||
{
|
{
|
||||||
if ( _Atomic )
|
if ( _AtomicFlag )
|
||||||
{
|
{
|
||||||
callback( this, arg );
|
callback( this, arg );
|
||||||
}
|
}
|
||||||
|
@ -537,7 +537,7 @@ TCDBDataIndex CCDBStructNodeBranch::findDataIndex( ICDBStructNode::CTextId& id )
|
||||||
*/
|
*/
|
||||||
void CCDBStructNodeBranch::foreachAtomBranchCall( void (*callback)(void*,TCDBDataIndex), void *arg ) const
|
void CCDBStructNodeBranch::foreachAtomBranchCall( void (*callback)(void*,TCDBDataIndex), void *arg ) const
|
||||||
{
|
{
|
||||||
if ( _Atomic )
|
if ( _AtomicFlag )
|
||||||
{
|
{
|
||||||
callback( arg, _DataIndex );
|
callback( arg, _DataIndex );
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,7 +144,7 @@ bool getProperty(xmlNodePtr node, const char* propName, T &result, const T &defa
|
||||||
if (!NLMISC::CIXml::getPropertyString(res, node, propName))
|
if (!NLMISC::CIXml::getPropertyString(res, node, propName))
|
||||||
{
|
{
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
nlwarning("Couldn't get property '%s' in xml node, use '%s' value instead", propName, toString(defaultValue).c_str());
|
nlwarning("Couldn't get property '%s' in xml node, use '%s' value instead", propName, NLMISC::toString(defaultValue).c_str());
|
||||||
result = defaultValue;
|
result = defaultValue;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue