Merge branch 'testing' of git.stellabellum.net:staff/src into testing

This commit is contained in:
DarthArgus
2016-10-02 20:30:13 -05:00
267 changed files with 13070 additions and 2710 deletions
@@ -543,16 +543,22 @@ set(SHARED_SOURCES
shared/objectTemplate/ServerManufactureInstallationObjectTemplate.h
shared/objectTemplate/ServerManufactureSchematicObjectTemplate.cpp
shared/objectTemplate/ServerManufactureSchematicObjectTemplate.h
shared/objectTemplate/ServerMissionBoardObjectTemplate.cpp
shared/objectTemplate/ServerMissionBoardObjectTemplate.h
shared/objectTemplate/ServerMissionDataObjectTemplate.cpp
shared/objectTemplate/ServerMissionDataObjectTemplate.h
shared/objectTemplate/ServerMissionListEntryObjectTemplate.cpp
shared/objectTemplate/ServerMissionListEntryObjectTemplate.h
shared/objectTemplate/ServerMissionObjectTemplate.cpp
shared/objectTemplate/ServerMissionObjectTemplate.h
shared/objectTemplate/ServerObjectTemplate.cpp
shared/objectTemplate/ServerObjectTemplate.h
shared/objectTemplate/ServerPlanetObjectTemplate.cpp
shared/objectTemplate/ServerPlanetObjectTemplate.h
shared/objectTemplate/ServerPlayerQuestObjectTemplate.h
shared/objectTemplate/ServerPlayerQuestObjectTemplate.cpp
shared/objectTemplate/ServerPlayerObjectTemplate.cpp
shared/objectTemplate/ServerPlayerObjectTemplate.h
shared/objectTemplate/ServerPlayerQuestObjectTemplate.cpp
shared/objectTemplate/ServerPlayerQuestObjectTemplate.h
shared/objectTemplate/ServerResourceContainerObjectTemplate.cpp
shared/objectTemplate/ServerResourceContainerObjectTemplate.h
shared/objectTemplate/ServerSharedObjectTemplateInterface.cpp
@@ -563,6 +569,8 @@ set(SHARED_SOURCES
shared/objectTemplate/ServerStaticObjectTemplate.h
shared/objectTemplate/ServerTangibleObjectTemplate.cpp
shared/objectTemplate/ServerTangibleObjectTemplate.h
shared/objectTemplate/ServerTokenObjectTemplate.cpp
shared/objectTemplate/ServerTokenObjectTemplate.h
shared/objectTemplate/ServerUniverseObjectTemplate.cpp
shared/objectTemplate/ServerUniverseObjectTemplate.h
shared/objectTemplate/ServerVehicleObjectTemplate.cpp
@@ -570,7 +578,7 @@ set(SHARED_SOURCES
shared/objectTemplate/ServerWeaponObjectTemplate.cpp
shared/objectTemplate/ServerWeaponObjectTemplate.h
shared/objectTemplate/ServerXpManagerObjectTemplate.cpp
shared/objectTemplate/ServerXpManagerObjectTemplate.h
shared/objectTemplate/ServerXpManagerObjectTemplate.h
shared/pvp/Pvp.cpp
shared/pvp/PvpFactions.cpp
+288 -48
View File
@@ -18,27 +18,26 @@
#include "sharedObject/ObjectTemplateList.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <algorithm>
#include <cstdio>
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerArmorTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerArmorTemplate::ServerArmorTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ObjectTemplate(filename)
, m_specialProtectionLoaded(false)
, m_specialProtectionAppend(false)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_specialProtectionLoaded(false)
,m_specialProtectionAppend(false)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerArmorTemplate::ServerArmorTemplate
@@ -47,7 +46,7 @@ ServerArmorTemplate::ServerArmorTemplate(const std::string & filename)
*/
ServerArmorTemplate::~ServerArmorTemplate()
{
//@BEGIN TFD CLEANUP
//@BEGIN TFD CLEANUP
{
std::vector<StructParamOT *>::iterator iter;
for (iter = m_specialProtection.begin(); iter != m_specialProtection.end(); ++iter)
@@ -57,7 +56,7 @@ ServerArmorTemplate::~ServerArmorTemplate()
}
m_specialProtection.clear();
}
//@END TFD CLEANUP
//@END TFD CLEANUP
} // ServerArmorTemplate::~ServerArmorTemplate
/**
@@ -105,21 +104,31 @@ Tag ServerArmorTemplate::getTemplateVersion(void) const
*/
Tag ServerArmorTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerArmorTemplate * base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerArmorTemplate::getHighestTemplateVersion
//@BEGIN TFD
ServerArmorTemplate::ArmorRating ServerArmorTemplate::getRating() const
ServerArmorTemplate::ArmorRating ServerArmorTemplate::getRating(bool testData) const
{
#ifdef _DEBUG
ServerArmorTemplate::ArmorRating testDataValue = static_cast<ServerArmorTemplate::ArmorRating>(0);
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getRating(true);
#endif
}
if (!m_rating.isLoaded())
@@ -137,16 +146,31 @@ ServerArmorTemplate::ArmorRating ServerArmorTemplate::getRating() const
}
ArmorRating value = static_cast<ArmorRating>(m_rating.getValue());
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getRating
int ServerArmorTemplate::getIntegrity() const
int ServerArmorTemplate::getIntegrity(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getIntegrity(true);
#endif
}
if (!m_integrity.isLoaded())
@@ -186,16 +210,31 @@ int ServerArmorTemplate::getIntegrity() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getIntegrity
int ServerArmorTemplate::getIntegrityMin() const
int ServerArmorTemplate::getIntegrityMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getIntegrityMin(true);
#endif
}
if (!m_integrity.isLoaded())
@@ -235,16 +274,31 @@ int ServerArmorTemplate::getIntegrityMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getIntegrityMin
int ServerArmorTemplate::getIntegrityMax() const
int ServerArmorTemplate::getIntegrityMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getIntegrityMax(true);
#endif
}
if (!m_integrity.isLoaded())
@@ -284,16 +338,31 @@ int ServerArmorTemplate::getIntegrityMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getIntegrityMax
int ServerArmorTemplate::getEffectiveness() const
int ServerArmorTemplate::getEffectiveness(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getEffectiveness(true);
#endif
}
if (!m_effectiveness.isLoaded())
@@ -333,16 +402,31 @@ int ServerArmorTemplate::getEffectiveness() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getEffectiveness
int ServerArmorTemplate::getEffectivenessMin() const
int ServerArmorTemplate::getEffectivenessMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getEffectivenessMin(true);
#endif
}
if (!m_effectiveness.isLoaded())
@@ -382,16 +466,31 @@ int ServerArmorTemplate::getEffectivenessMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getEffectivenessMin
int ServerArmorTemplate::getEffectivenessMax() const
int ServerArmorTemplate::getEffectivenessMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getEffectivenessMax(true);
#endif
}
if (!m_effectiveness.isLoaded())
@@ -431,6 +530,11 @@ int ServerArmorTemplate::getEffectivenessMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getEffectivenessMax
@@ -448,7 +552,7 @@ void ServerArmorTemplate::getSpecialProtection(SpecialProtection &data, int inde
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter specialProtection in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -462,10 +566,10 @@ void ServerArmorTemplate::getSpecialProtection(SpecialProtection &data, int inde
{
int baseCount = base->getSpecialProtectionCount();
if (index < baseCount)
{
base->getSpecialProtection(data, index);
return;
}
{
base->getSpecialProtection(data, index);
return;
}
index -= baseCount;
}
@@ -491,7 +595,7 @@ void ServerArmorTemplate::getSpecialProtectionMin(SpecialProtection &data, int i
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter specialProtection in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -505,10 +609,10 @@ void ServerArmorTemplate::getSpecialProtectionMin(SpecialProtection &data, int i
{
int baseCount = base->getSpecialProtectionCount();
if (index < baseCount)
{
base->getSpecialProtectionMin(data, index);
return;
}
{
base->getSpecialProtectionMin(data, index);
return;
}
index -= baseCount;
}
@@ -534,7 +638,7 @@ void ServerArmorTemplate::getSpecialProtectionMax(SpecialProtection &data, int i
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter specialProtection in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -548,10 +652,10 @@ void ServerArmorTemplate::getSpecialProtectionMax(SpecialProtection &data, int i
{
int baseCount = base->getSpecialProtectionCount();
if (index < baseCount)
{
base->getSpecialProtectionMax(data, index);
return;
}
{
base->getSpecialProtectionMax(data, index);
return;
}
index -= baseCount;
}
@@ -588,12 +692,22 @@ size_t ServerArmorTemplate::getSpecialProtectionCount(void) const
return count;
} // ServerArmorTemplate::getSpecialProtectionCount
int ServerArmorTemplate::getVulnerability() const
int ServerArmorTemplate::getVulnerability(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getVulnerability(true);
#endif
}
if (!m_vulnerability.isLoaded())
@@ -633,16 +747,31 @@ int ServerArmorTemplate::getVulnerability() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getVulnerability
int ServerArmorTemplate::getVulnerabilityMin() const
int ServerArmorTemplate::getVulnerabilityMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getVulnerabilityMin(true);
#endif
}
if (!m_vulnerability.isLoaded())
@@ -682,16 +811,31 @@ int ServerArmorTemplate::getVulnerabilityMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getVulnerabilityMin
int ServerArmorTemplate::getVulnerabilityMax() const
int ServerArmorTemplate::getVulnerabilityMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getVulnerabilityMax(true);
#endif
}
if (!m_vulnerability.isLoaded())
@@ -731,6 +875,11 @@ int ServerArmorTemplate::getVulnerabilityMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::getVulnerabilityMax
@@ -882,6 +1031,22 @@ int ServerArmorTemplate::getEncumbranceMax(int index) const
return value;
} // ServerArmorTemplate::getEncumbranceMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerArmorTemplate::testValues(void) const
{
IGNORE_RETURN(getRating(true));
IGNORE_RETURN(getIntegrityMin(true));
IGNORE_RETURN(getIntegrityMax(true));
IGNORE_RETURN(getEffectivenessMin(true));
IGNORE_RETURN(getEffectivenessMax(true));
IGNORE_RETURN(getVulnerabilityMin(true));
IGNORE_RETURN(getVulnerabilityMax(true));
} // ServerArmorTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -890,8 +1055,8 @@ int ServerArmorTemplate::getEncumbranceMax(int index) const
*/
void ServerArmorTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerArmorTemplate_tag)
{
@@ -900,7 +1065,7 @@ void ServerArmorTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -920,8 +1085,10 @@ void ServerArmorTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -982,6 +1149,7 @@ void ServerArmorTemplate::load(Iff &file)
return;
} // ServerArmorTemplate::load
//=============================================================================
// class ServerArmorTemplate::_SpecialProtection
@@ -1028,12 +1196,22 @@ Tag ServerArmorTemplate::_SpecialProtection::getId(void) const
return _SpecialProtection_tag;
} // ServerArmorTemplate::_SpecialProtection::getId
ServerArmorTemplate::DamageType ServerArmorTemplate::_SpecialProtection::getType(bool versionOk) const
ServerArmorTemplate::DamageType ServerArmorTemplate::_SpecialProtection::getType(bool versionOk, bool testData) const
{
#ifdef _DEBUG
ServerArmorTemplate::DamageType testDataValue = static_cast<ServerArmorTemplate::DamageType>(0);
#else
UNREF(testData);
#endif
const ServerArmorTemplate::_SpecialProtection * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate::_SpecialProtection *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getType(true);
#endif
}
if (!m_type.isLoaded())
@@ -1051,16 +1229,31 @@ ServerArmorTemplate::DamageType ServerArmorTemplate::_SpecialProtection::getType
}
DamageType value = static_cast<DamageType>(m_type.getValue());
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::_SpecialProtection::getType
int ServerArmorTemplate::_SpecialProtection::getEffectiveness(bool versionOk) const
int ServerArmorTemplate::_SpecialProtection::getEffectiveness(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate::_SpecialProtection * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate::_SpecialProtection *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getEffectiveness(true);
#endif
}
if (!m_effectiveness.isLoaded())
@@ -1100,16 +1293,31 @@ int ServerArmorTemplate::_SpecialProtection::getEffectiveness(bool versionOk) co
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::_SpecialProtection::getEffectiveness
int ServerArmorTemplate::_SpecialProtection::getEffectivenessMin(bool versionOk) const
int ServerArmorTemplate::_SpecialProtection::getEffectivenessMin(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate::_SpecialProtection * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate::_SpecialProtection *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getEffectivenessMin(true);
#endif
}
if (!m_effectiveness.isLoaded())
@@ -1149,16 +1357,31 @@ int ServerArmorTemplate::_SpecialProtection::getEffectivenessMin(bool versionOk)
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::_SpecialProtection::getEffectivenessMin
int ServerArmorTemplate::_SpecialProtection::getEffectivenessMax(bool versionOk) const
int ServerArmorTemplate::_SpecialProtection::getEffectivenessMax(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerArmorTemplate::_SpecialProtection * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerArmorTemplate::_SpecialProtection *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getEffectivenessMax(true);
#endif
}
if (!m_effectiveness.isLoaded())
@@ -1198,10 +1421,27 @@ int ServerArmorTemplate::_SpecialProtection::getEffectivenessMax(bool versionOk)
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerArmorTemplate::_SpecialProtection::getEffectivenessMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerArmorTemplate::_SpecialProtection::testValues(void) const
{
IGNORE_RETURN(getType(true));
IGNORE_RETURN(getEffectivenessMin(true));
IGNORE_RETURN(getEffectivenessMax(true));
} // ServerArmorTemplate::_SpecialProtection::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -1210,8 +1450,8 @@ int ServerArmorTemplate::_SpecialProtection::getEffectivenessMax(bool versionOk)
*/
void ServerArmorTemplate::_SpecialProtection::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -1233,4 +1473,4 @@ void ServerArmorTemplate::_SpecialProtection::load(Iff &file)
UNREF(file);
} // ServerArmorTemplate::_SpecialProtection::load
//@END TFD
//@END TFD
+24 -15
View File
@@ -57,7 +57,6 @@ public:
enum DamageType
{
DT_none = 0x00000000,
DT_kinetic = 0x00000001,
DT_energy = 0x00000002,
DT_blast = 0x00000004,
@@ -98,11 +97,16 @@ protected:
virtual Tag getId(void) const;
public:
DamageType getType(bool versionOk) const;
int getEffectiveness(bool versionOk) const;
int getEffectivenessMin(bool versionOk) const;
int getEffectivenessMax(bool versionOk) const;
DamageType getType(bool versionOk, bool testData = false) const;
int getEffectiveness(bool versionOk, bool testData = false) const;
int getEffectivenessMin(bool versionOk, bool testData = false) const;
int getEffectivenessMax(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -120,24 +124,29 @@ private:
friend class ServerArmorTemplate::_SpecialProtection;
public:
ArmorRating getRating() const;
int getIntegrity() const;
int getIntegrityMin() const;
int getIntegrityMax() const;
int getEffectiveness() const;
int getEffectivenessMin() const;
int getEffectivenessMax() const;
ArmorRating getRating(bool testData = false) const;
int getIntegrity(bool testData = false) const;
int getIntegrityMin(bool testData = false) const;
int getIntegrityMax(bool testData = false) const;
int getEffectiveness(bool testData = false) const;
int getEffectivenessMin(bool testData = false) const;
int getEffectivenessMax(bool testData = false) const;
void getSpecialProtection(SpecialProtection &data, int index) const;
void getSpecialProtectionMin(SpecialProtection &data, int index) const;
void getSpecialProtectionMax(SpecialProtection &data, int index) const;
size_t getSpecialProtectionCount(void) const;
int getVulnerability() const;
int getVulnerabilityMin() const;
int getVulnerabilityMax() const;
int getVulnerability(bool testData = false) const;
int getVulnerabilityMin(bool testData = false) const;
int getVulnerabilityMax(bool testData = false) const;
int getEncumbrance(int index) const;
int getEncumbranceMin(int index) const;
int getEncumbranceMax(int index) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -13,7 +13,7 @@
#include "serverGame/FirstServerGame.h"
#include "ServerBattlefieldMarkerObjectTemplate.h"
#include "serverGame/BattlefieldMarkerObject.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerBattlefieldMarkerObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerBattlefieldMarkerObjectTemplate::ServerBattlefieldMarkerObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerBattlefieldMarkerObjectTemplate::ServerBattlefieldMarkerObjectTemplate
@@ -45,8 +45,8 @@ ServerBattlefieldMarkerObjectTemplate::ServerBattlefieldMarkerObjectTemplate(con
*/
ServerBattlefieldMarkerObjectTemplate::~ServerBattlefieldMarkerObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerBattlefieldMarkerObjectTemplate::~ServerBattlefieldMarkerObjectTemplate
/**
@@ -94,10 +94,10 @@ Tag ServerBattlefieldMarkerObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerBattlefieldMarkerObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerBattlefieldMarkerObjectTemplate * base = dynamic_cast<const ServerBattlefieldMarkerObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerBattlefieldMarkerObjectTemplate::getHighestTemplateVersion
@@ -113,6 +113,15 @@ Object * ServerBattlefieldMarkerObjectTemplate::createObject(void) const
} // ServerBattlefieldMarkerObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerBattlefieldMarkerObjectTemplate::testValues(void) const
{
ServerTangibleObjectTemplate::testValues();
} // ServerBattlefieldMarkerObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -122,8 +131,8 @@ Object * ServerBattlefieldMarkerObjectTemplate::createObject(void) const
*/
void ServerBattlefieldMarkerObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerBattlefieldMarkerObjectTemplate_tag)
{
@@ -133,7 +142,7 @@ void ServerBattlefieldMarkerObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -153,8 +162,10 @@ void ServerBattlefieldMarkerObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -172,4 +183,4 @@ void ServerBattlefieldMarkerObjectTemplate::load(Iff &file)
return;
} // ServerBattlefieldMarkerObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerBuildingObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerBuildingObjectTemplate::ServerBuildingObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerBuildingObjectTemplate::ServerBuildingObjectTemplate
@@ -44,8 +44,8 @@ ServerBuildingObjectTemplate::ServerBuildingObjectTemplate(const std::string & f
*/
ServerBuildingObjectTemplate::~ServerBuildingObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerBuildingObjectTemplate::~ServerBuildingObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerBuildingObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerBuildingObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerBuildingObjectTemplate * base = dynamic_cast<const ServerBuildingObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerBuildingObjectTemplate::getHighestTemplateVersion
@@ -112,12 +112,22 @@ Object * ServerBuildingObjectTemplate::createObject(void) const
} // ServerBuildingObjectTemplate::createObject
//@BEGIN TFD
int ServerBuildingObjectTemplate::getMaintenanceCost() const
int ServerBuildingObjectTemplate::getMaintenanceCost(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerBuildingObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerBuildingObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaintenanceCost(true);
#endif
}
if (!m_maintenanceCost.isLoaded())
@@ -157,16 +167,31 @@ int ServerBuildingObjectTemplate::getMaintenanceCost() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerBuildingObjectTemplate::getMaintenanceCost
int ServerBuildingObjectTemplate::getMaintenanceCostMin() const
int ServerBuildingObjectTemplate::getMaintenanceCostMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerBuildingObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerBuildingObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaintenanceCostMin(true);
#endif
}
if (!m_maintenanceCost.isLoaded())
@@ -206,16 +231,31 @@ int ServerBuildingObjectTemplate::getMaintenanceCostMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerBuildingObjectTemplate::getMaintenanceCostMin
int ServerBuildingObjectTemplate::getMaintenanceCostMax() const
int ServerBuildingObjectTemplate::getMaintenanceCostMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerBuildingObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerBuildingObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaintenanceCostMax(true);
#endif
}
if (!m_maintenanceCost.isLoaded())
@@ -255,16 +295,31 @@ int ServerBuildingObjectTemplate::getMaintenanceCostMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerBuildingObjectTemplate::getMaintenanceCostMax
bool ServerBuildingObjectTemplate::getIsPublic() const
bool ServerBuildingObjectTemplate::getIsPublic(bool testData) const
{
#ifdef _DEBUG
bool testDataValue = false;
#else
UNREF(testData);
#endif
const ServerBuildingObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerBuildingObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getIsPublic(true);
#endif
}
if (!m_isPublic.isLoaded())
@@ -282,10 +337,28 @@ bool ServerBuildingObjectTemplate::getIsPublic() const
}
bool value = m_isPublic.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerBuildingObjectTemplate::getIsPublic
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerBuildingObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getMaintenanceCostMin(true));
IGNORE_RETURN(getMaintenanceCostMax(true));
IGNORE_RETURN(getIsPublic(true));
ServerTangibleObjectTemplate::testValues();
} // ServerBuildingObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -294,8 +367,8 @@ bool ServerBuildingObjectTemplate::getIsPublic() const
*/
void ServerBuildingObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerBuildingObjectTemplate_tag)
{
@@ -305,7 +378,7 @@ void ServerBuildingObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -325,8 +398,10 @@ void ServerBuildingObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -352,4 +427,4 @@ void ServerBuildingObjectTemplate::load(Iff &file)
return;
} // ServerBuildingObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,11 +44,16 @@ public:
//@BEGIN TFD
public:
int getMaintenanceCost() const;
int getMaintenanceCostMin() const;
int getMaintenanceCostMax() const;
bool getIsPublic() const;
int getMaintenanceCost(bool testData = false) const;
int getMaintenanceCostMin(bool testData = false) const;
int getMaintenanceCostMax(bool testData = false) const;
bool getIsPublic(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerCellObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerCellObjectTemplate::ServerCellObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerCellObjectTemplate::ServerCellObjectTemplate
@@ -46,12 +46,12 @@ ServerCellObjectTemplate::~ServerCellObjectTemplate()
{
if (m_baseData)
{
DEBUG_REPORT_LOG(true, ("Released m_baseData.\n"));
DEBUG_REPORT_LOG(true,("Released m_baseData.\n"));
m_baseData->releaseReference();
m_baseData = 0;
m_baseData=0;
}
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerCellObjectTemplate::~ServerCellObjectTemplate
/**
@@ -99,10 +99,10 @@ Tag ServerCellObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerCellObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerCellObjectTemplate * base = dynamic_cast<const ServerCellObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerCellObjectTemplate::getHighestTemplateVersion
@@ -118,6 +118,15 @@ Object * ServerCellObjectTemplate::createObject(void) const
} // ServerCellObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerCellObjectTemplate::testValues(void) const
{
ServerObjectTemplate::testValues();
} // ServerCellObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -127,8 +136,8 @@ Object * ServerCellObjectTemplate::createObject(void) const
*/
void ServerCellObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerCellObjectTemplate_tag)
{
@@ -138,7 +147,7 @@ void ServerCellObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -158,8 +167,10 @@ void ServerCellObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -177,4 +188,4 @@ void ServerCellObjectTemplate::load(Iff &file)
return;
} // ServerCellObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -24,20 +24,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerCityObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerCityObjectTemplate::ServerCityObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerCityObjectTemplate::ServerCityObjectTemplate
@@ -46,8 +46,8 @@ ServerCityObjectTemplate::ServerCityObjectTemplate(const std::string & filename)
*/
ServerCityObjectTemplate::~ServerCityObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerCityObjectTemplate::~ServerCityObjectTemplate
/**
@@ -95,10 +95,10 @@ Tag ServerCityObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerCityObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerCityObjectTemplate * base = dynamic_cast<const ServerCityObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerCityObjectTemplate::getHighestTemplateVersion
@@ -114,6 +114,15 @@ Object * ServerCityObjectTemplate::createObject(void) const
} // ServerCityObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerCityObjectTemplate::testValues(void) const
{
ServerUniverseObjectTemplate::testValues();
} // ServerCityObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -123,8 +132,8 @@ Object * ServerCityObjectTemplate::createObject(void) const
*/
void ServerCityObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerCityObjectTemplate_tag)
{
@@ -134,7 +143,7 @@ void ServerCityObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -154,8 +163,10 @@ void ServerCityObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -173,4 +184,4 @@ void ServerCityObjectTemplate::load(Iff &file)
return;
} // ServerCityObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -18,25 +18,24 @@
#include "sharedObject/ObjectTemplateList.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <algorithm>
#include <cstdio>
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerConstructionContractObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerConstructionContractObjectTemplate::ServerConstructionContractObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerConstructionContractObjectTemplate::ServerConstructionContractObjectTemplate
@@ -45,8 +44,8 @@ ServerConstructionContractObjectTemplate::ServerConstructionContractObjectTempla
*/
ServerConstructionContractObjectTemplate::~ServerConstructionContractObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerConstructionContractObjectTemplate::~ServerConstructionContractObjectTemplate
/**
@@ -84,10 +83,10 @@ Tag ServerConstructionContractObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerConstructionContractObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerConstructionContractObjectTemplate * base = dynamic_cast<const ServerConstructionContractObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerConstructionContractObjectTemplate::getHighestTemplateVersion
@@ -103,6 +102,15 @@ Tag ServerConstructionContractObjectTemplate::getId(void) const
} // ServerConstructionContractObjectTemplate::getId
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerConstructionContractObjectTemplate::testValues(void) const
{
ServerIntangibleObjectTemplate::testValues();
} // ServerConstructionContractObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +120,8 @@ Tag ServerConstructionContractObjectTemplate::getId(void) const
*/
void ServerConstructionContractObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerConstructionContractObjectTemplate_tag)
{
@@ -123,7 +131,7 @@ void ServerConstructionContractObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +151,10 @@ void ServerConstructionContractObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +172,4 @@ void ServerConstructionContractObjectTemplate::load(Iff &file)
return;
} // ServerConstructionContractObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -26,22 +26,22 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerCreatureObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerCreatureObjectTemplate::ServerCreatureObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_attribModsLoaded(false)
, m_attribModsAppend(false)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_attribModsLoaded(false)
,m_attribModsAppend(false)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerCreatureObjectTemplate::ServerCreatureObjectTemplate
@@ -50,7 +50,7 @@ ServerCreatureObjectTemplate::ServerCreatureObjectTemplate(const std::string & f
*/
ServerCreatureObjectTemplate::~ServerCreatureObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@BEGIN TFD CLEANUP
{
std::vector<StructParamOT *>::iterator iter;
for (iter = m_attribMods.begin(); iter != m_attribMods.end(); ++iter)
@@ -60,7 +60,7 @@ ServerCreatureObjectTemplate::~ServerCreatureObjectTemplate()
}
m_attribMods.clear();
}
//@END TFD CLEANUP
//@END TFD CLEANUP
} // ServerCreatureObjectTemplate::~ServerCreatureObjectTemplate
/**
@@ -108,10 +108,10 @@ Tag ServerCreatureObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerCreatureObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerCreatureObjectTemplate * base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerCreatureObjectTemplate::getHighestTemplateVersion
@@ -155,7 +155,7 @@ const ServerWeaponObjectTemplate * ServerCreatureObjectTemplate::getDefaultWeapo
{
returnValue = dynamic_cast<const ServerWeaponObjectTemplate *>(ObjectTemplateList::fetch(templateName));
if (returnValue == nullptr)
WARNING_STRICT_FATAL(true, ("Error loading template %s", templateName.c_str()));
WARNING_STRICT_FATAL(true, ("Error loading template %s",templateName.c_str()));
}
return returnValue;
} // ServerCreatureObjectTemplate::getDefaultWeapon
@@ -168,7 +168,7 @@ int ServerCreatureObjectTemplate::getAttributes(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_attributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -217,7 +217,7 @@ int ServerCreatureObjectTemplate::getAttributesMin(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_attributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -266,7 +266,7 @@ int ServerCreatureObjectTemplate::getAttributesMax(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_attributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -315,7 +315,7 @@ int ServerCreatureObjectTemplate::getMinAttributes(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_minAttributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -364,7 +364,7 @@ int ServerCreatureObjectTemplate::getMinAttributesMin(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_minAttributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -413,7 +413,7 @@ int ServerCreatureObjectTemplate::getMinAttributesMax(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_minAttributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -462,7 +462,7 @@ int ServerCreatureObjectTemplate::getMaxAttributes(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_maxAttributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -511,7 +511,7 @@ int ServerCreatureObjectTemplate::getMaxAttributesMin(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_maxAttributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -560,7 +560,7 @@ int ServerCreatureObjectTemplate::getMaxAttributesMax(Attributes index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 6, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 6, ("template param index out of range"));
if (!m_maxAttributes[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -601,12 +601,22 @@ int ServerCreatureObjectTemplate::getMaxAttributesMax(Attributes index) const
return value;
} // ServerCreatureObjectTemplate::getMaxAttributesMax
float ServerCreatureObjectTemplate::getMinDrainModifier() const
float ServerCreatureObjectTemplate::getMinDrainModifier(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMinDrainModifier(true);
#endif
}
if (!m_minDrainModifier.isLoaded())
@@ -646,16 +656,31 @@ float ServerCreatureObjectTemplate::getMinDrainModifier() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMinDrainModifier
float ServerCreatureObjectTemplate::getMinDrainModifierMin() const
float ServerCreatureObjectTemplate::getMinDrainModifierMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMinDrainModifierMin(true);
#endif
}
if (!m_minDrainModifier.isLoaded())
@@ -695,16 +720,31 @@ float ServerCreatureObjectTemplate::getMinDrainModifierMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMinDrainModifierMin
float ServerCreatureObjectTemplate::getMinDrainModifierMax() const
float ServerCreatureObjectTemplate::getMinDrainModifierMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMinDrainModifierMax(true);
#endif
}
if (!m_minDrainModifier.isLoaded())
@@ -744,16 +784,31 @@ float ServerCreatureObjectTemplate::getMinDrainModifierMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMinDrainModifierMax
float ServerCreatureObjectTemplate::getMaxDrainModifier() const
float ServerCreatureObjectTemplate::getMaxDrainModifier(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxDrainModifier(true);
#endif
}
if (!m_maxDrainModifier.isLoaded())
@@ -793,16 +848,31 @@ float ServerCreatureObjectTemplate::getMaxDrainModifier() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMaxDrainModifier
float ServerCreatureObjectTemplate::getMaxDrainModifierMin() const
float ServerCreatureObjectTemplate::getMaxDrainModifierMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxDrainModifierMin(true);
#endif
}
if (!m_maxDrainModifier.isLoaded())
@@ -842,16 +912,31 @@ float ServerCreatureObjectTemplate::getMaxDrainModifierMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMaxDrainModifierMin
float ServerCreatureObjectTemplate::getMaxDrainModifierMax() const
float ServerCreatureObjectTemplate::getMaxDrainModifierMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxDrainModifierMax(true);
#endif
}
if (!m_maxDrainModifier.isLoaded())
@@ -891,16 +976,31 @@ float ServerCreatureObjectTemplate::getMaxDrainModifierMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMaxDrainModifierMax
float ServerCreatureObjectTemplate::getMinFaucetModifier() const
float ServerCreatureObjectTemplate::getMinFaucetModifier(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMinFaucetModifier(true);
#endif
}
if (!m_minFaucetModifier.isLoaded())
@@ -940,16 +1040,31 @@ float ServerCreatureObjectTemplate::getMinFaucetModifier() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMinFaucetModifier
float ServerCreatureObjectTemplate::getMinFaucetModifierMin() const
float ServerCreatureObjectTemplate::getMinFaucetModifierMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMinFaucetModifierMin(true);
#endif
}
if (!m_minFaucetModifier.isLoaded())
@@ -989,16 +1104,31 @@ float ServerCreatureObjectTemplate::getMinFaucetModifierMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMinFaucetModifierMin
float ServerCreatureObjectTemplate::getMinFaucetModifierMax() const
float ServerCreatureObjectTemplate::getMinFaucetModifierMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMinFaucetModifierMax(true);
#endif
}
if (!m_minFaucetModifier.isLoaded())
@@ -1038,16 +1168,31 @@ float ServerCreatureObjectTemplate::getMinFaucetModifierMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMinFaucetModifierMax
float ServerCreatureObjectTemplate::getMaxFaucetModifier() const
float ServerCreatureObjectTemplate::getMaxFaucetModifier(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxFaucetModifier(true);
#endif
}
if (!m_maxFaucetModifier.isLoaded())
@@ -1087,16 +1232,31 @@ float ServerCreatureObjectTemplate::getMaxFaucetModifier() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMaxFaucetModifier
float ServerCreatureObjectTemplate::getMaxFaucetModifierMin() const
float ServerCreatureObjectTemplate::getMaxFaucetModifierMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxFaucetModifierMin(true);
#endif
}
if (!m_maxFaucetModifier.isLoaded())
@@ -1136,16 +1296,31 @@ float ServerCreatureObjectTemplate::getMaxFaucetModifierMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMaxFaucetModifierMin
float ServerCreatureObjectTemplate::getMaxFaucetModifierMax() const
float ServerCreatureObjectTemplate::getMaxFaucetModifierMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxFaucetModifierMax(true);
#endif
}
if (!m_maxFaucetModifier.isLoaded())
@@ -1185,6 +1360,11 @@ float ServerCreatureObjectTemplate::getMaxFaucetModifierMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getMaxFaucetModifierMax
@@ -1202,7 +1382,7 @@ void ServerCreatureObjectTemplate::getAttribMods(AttribMod &data, int index) con
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attribMods in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -1215,15 +1395,15 @@ void ServerCreatureObjectTemplate::getAttribMods(AttribMod &data, int index) con
if (m_attribModsAppend && base != nullptr)
{
int baseCount = base->getAttribModsCount();
if (static_cast<int>(index) < baseCount)
{
base->getAttribMods(data, index);
return;
}
if (index < baseCount)
{
base->getAttribMods(data, index);
return;
}
index -= baseCount;
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<size_t>(index) >= m_attribMods.size(), ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || static_cast<size_t>(index) >= m_attribMods.size(), ("template param index out of range"));
const ObjectTemplate * structTemplate = (*m_attribMods[index]).getValue();
NOT_NULL(structTemplate);
const _AttribMod *param = dynamic_cast<const _AttribMod *>(structTemplate);
@@ -1248,7 +1428,7 @@ void ServerCreatureObjectTemplate::getAttribModsMin(AttribMod &data, int index)
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attribMods in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -1261,15 +1441,15 @@ void ServerCreatureObjectTemplate::getAttribModsMin(AttribMod &data, int index)
if (m_attribModsAppend && base != nullptr)
{
int baseCount = base->getAttribModsCount();
if (static_cast<int>(index) < baseCount)
{
base->getAttribModsMin(data, index);
return;
}
if (index < baseCount)
{
base->getAttribModsMin(data, index);
return;
}
index -= baseCount;
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<size_t>(index) >= m_attribMods.size(), ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || static_cast<size_t>(index) >= m_attribMods.size(), ("template param index out of range"));
const ObjectTemplate * structTemplate = (*m_attribMods[index]).getValue();
NOT_NULL(structTemplate);
const _AttribMod *param = dynamic_cast<const _AttribMod *>(structTemplate);
@@ -1294,7 +1474,7 @@ void ServerCreatureObjectTemplate::getAttribModsMax(AttribMod &data, int index)
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attribMods in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -1307,15 +1487,15 @@ void ServerCreatureObjectTemplate::getAttribModsMax(AttribMod &data, int index)
if (m_attribModsAppend && base != nullptr)
{
int baseCount = base->getAttribModsCount();
if (static_cast<int>(index) < baseCount)
{
base->getAttribModsMax(data, index);
return;
}
if (index < baseCount)
{
base->getAttribModsMax(data, index);
return;
}
index -= baseCount;
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<size_t>(index) >= m_attribMods.size(), ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || static_cast<size_t>(index) >= m_attribMods.size(), ("template param index out of range"));
const ObjectTemplate * structTemplate = (*m_attribMods[index]).getValue();
NOT_NULL(structTemplate);
const _AttribMod *param = dynamic_cast<const _AttribMod *>(structTemplate);
@@ -1351,12 +1531,22 @@ size_t ServerCreatureObjectTemplate::getAttribModsCount(void) const
return count;
} // ServerCreatureObjectTemplate::getAttribModsCount
int ServerCreatureObjectTemplate::getShockWounds() const
int ServerCreatureObjectTemplate::getShockWounds(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getShockWounds(true);
#endif
}
if (!m_shockWounds.isLoaded())
@@ -1396,16 +1586,31 @@ int ServerCreatureObjectTemplate::getShockWounds() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getShockWounds
int ServerCreatureObjectTemplate::getShockWoundsMin() const
int ServerCreatureObjectTemplate::getShockWoundsMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getShockWoundsMin(true);
#endif
}
if (!m_shockWounds.isLoaded())
@@ -1445,16 +1650,31 @@ int ServerCreatureObjectTemplate::getShockWoundsMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getShockWoundsMin
int ServerCreatureObjectTemplate::getShockWoundsMax() const
int ServerCreatureObjectTemplate::getShockWoundsMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getShockWoundsMax(true);
#endif
}
if (!m_shockWounds.isLoaded())
@@ -1494,16 +1714,31 @@ int ServerCreatureObjectTemplate::getShockWoundsMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getShockWoundsMax
bool ServerCreatureObjectTemplate::getCanCreateAvatar() const
bool ServerCreatureObjectTemplate::getCanCreateAvatar(bool testData) const
{
#ifdef _DEBUG
bool testDataValue = false;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCanCreateAvatar(true);
#endif
}
if (!m_canCreateAvatar.isLoaded())
@@ -1521,16 +1756,31 @@ bool ServerCreatureObjectTemplate::getCanCreateAvatar() const
}
bool value = m_canCreateAvatar.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getCanCreateAvatar
const std::string & ServerCreatureObjectTemplate::getNameGeneratorType() const
const std::string & ServerCreatureObjectTemplate::getNameGeneratorType(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getNameGeneratorType(true);
#endif
}
if (!m_nameGeneratorType.isLoaded())
@@ -1548,16 +1798,31 @@ const std::string & ServerCreatureObjectTemplate::getNameGeneratorType() const
}
const std::string & value = m_nameGeneratorType.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getNameGeneratorType
float ServerCreatureObjectTemplate::getApproachTriggerRange() const
float ServerCreatureObjectTemplate::getApproachTriggerRange(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getApproachTriggerRange(true);
#endif
}
if (!m_approachTriggerRange.isLoaded())
@@ -1597,16 +1862,31 @@ float ServerCreatureObjectTemplate::getApproachTriggerRange() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getApproachTriggerRange
float ServerCreatureObjectTemplate::getApproachTriggerRangeMin() const
float ServerCreatureObjectTemplate::getApproachTriggerRangeMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getApproachTriggerRangeMin(true);
#endif
}
if (!m_approachTriggerRange.isLoaded())
@@ -1646,16 +1926,31 @@ float ServerCreatureObjectTemplate::getApproachTriggerRangeMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getApproachTriggerRangeMin
float ServerCreatureObjectTemplate::getApproachTriggerRangeMax() const
float ServerCreatureObjectTemplate::getApproachTriggerRangeMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerCreatureObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getApproachTriggerRangeMax(true);
#endif
}
if (!m_approachTriggerRange.isLoaded())
@@ -1695,6 +1990,11 @@ float ServerCreatureObjectTemplate::getApproachTriggerRangeMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerCreatureObjectTemplate::getApproachTriggerRangeMax
@@ -1707,7 +2007,7 @@ float ServerCreatureObjectTemplate::getMaxMentalStates(MentalStates index) const
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 4, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 4, ("template param index out of range"));
if (!m_maxMentalStates[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -1756,7 +2056,7 @@ float ServerCreatureObjectTemplate::getMaxMentalStatesMin(MentalStates index) co
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 4, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 4, ("template param index out of range"));
if (!m_maxMentalStates[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -1805,7 +2105,7 @@ float ServerCreatureObjectTemplate::getMaxMentalStatesMax(MentalStates index) co
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 4, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 4, ("template param index out of range"));
if (!m_maxMentalStates[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -1854,7 +2154,7 @@ float ServerCreatureObjectTemplate::getMentalStatesDecay(MentalStates index) con
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 4, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 4, ("template param index out of range"));
if (!m_mentalStatesDecay[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -1903,7 +2203,7 @@ float ServerCreatureObjectTemplate::getMentalStatesDecayMin(MentalStates index)
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 4, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 4, ("template param index out of range"));
if (!m_mentalStatesDecay[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -1952,7 +2252,7 @@ float ServerCreatureObjectTemplate::getMentalStatesDecayMax(MentalStates index)
base = dynamic_cast<const ServerCreatureObjectTemplate *>(m_baseData);
}
DEBUG_FATAL(static_cast<int>(index) < 0 || static_cast<int>(index) >= 4, ("template param static_cast<int>(index) <out of range"));
DEBUG_FATAL(index < 0 || index >= 4, ("template param index out of range"));
if (!m_mentalStatesDecay[index].isLoaded())
{
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
@@ -1993,6 +2293,30 @@ float ServerCreatureObjectTemplate::getMentalStatesDecayMax(MentalStates index)
return value;
} // ServerCreatureObjectTemplate::getMentalStatesDecayMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerCreatureObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getMinDrainModifierMin(true));
IGNORE_RETURN(getMinDrainModifierMax(true));
IGNORE_RETURN(getMaxDrainModifierMin(true));
IGNORE_RETURN(getMaxDrainModifierMax(true));
IGNORE_RETURN(getMinFaucetModifierMin(true));
IGNORE_RETURN(getMinFaucetModifierMax(true));
IGNORE_RETURN(getMaxFaucetModifierMin(true));
IGNORE_RETURN(getMaxFaucetModifierMax(true));
IGNORE_RETURN(getShockWoundsMin(true));
IGNORE_RETURN(getShockWoundsMax(true));
IGNORE_RETURN(getCanCreateAvatar(true));
IGNORE_RETURN(getNameGeneratorType(true));
IGNORE_RETURN(getApproachTriggerRangeMin(true));
IGNORE_RETURN(getApproachTriggerRangeMax(true));
ServerTangibleObjectTemplate::testValues();
} // ServerCreatureObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -2001,8 +2325,8 @@ float ServerCreatureObjectTemplate::getMentalStatesDecayMax(MentalStates index)
*/
void ServerCreatureObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerCreatureObjectTemplate_tag)
{
@@ -2012,7 +2336,7 @@ void ServerCreatureObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -2032,8 +2356,10 @@ void ServerCreatureObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 5))
if (getHighestTemplateVersion() != TAG(0,0,0,5))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -2183,4 +2509,4 @@ const StringId &ServerCreatureObjectTemplate::verifyName(const Unicode::String &
void ServerCreatureObjectTemplate::postLoad()
{
ServerTangibleObjectTemplate::postLoad();
}
}
@@ -70,30 +70,30 @@ public:
int getMaxAttributes(Attributes index) const;
int getMaxAttributesMin(Attributes index) const;
int getMaxAttributesMax(Attributes index) const;
float getMinDrainModifier() const;
float getMinDrainModifierMin() const;
float getMinDrainModifierMax() const;
float getMaxDrainModifier() const;
float getMaxDrainModifierMin() const;
float getMaxDrainModifierMax() const;
float getMinFaucetModifier() const;
float getMinFaucetModifierMin() const;
float getMinFaucetModifierMax() const;
float getMaxFaucetModifier() const;
float getMaxFaucetModifierMin() const;
float getMaxFaucetModifierMax() const;
float getMinDrainModifier(bool testData = false) const;
float getMinDrainModifierMin(bool testData = false) const;
float getMinDrainModifierMax(bool testData = false) const;
float getMaxDrainModifier(bool testData = false) const;
float getMaxDrainModifierMin(bool testData = false) const;
float getMaxDrainModifierMax(bool testData = false) const;
float getMinFaucetModifier(bool testData = false) const;
float getMinFaucetModifierMin(bool testData = false) const;
float getMinFaucetModifierMax(bool testData = false) const;
float getMaxFaucetModifier(bool testData = false) const;
float getMaxFaucetModifierMin(bool testData = false) const;
float getMaxFaucetModifierMax(bool testData = false) const;
void getAttribMods(AttribMod &data, int index) const;
void getAttribModsMin(AttribMod &data, int index) const;
void getAttribModsMax(AttribMod &data, int index) const;
size_t getAttribModsCount(void) const;
int getShockWounds() const;
int getShockWoundsMin() const;
int getShockWoundsMax() const;
bool getCanCreateAvatar() const;
const std::string & getNameGeneratorType() const;
float getApproachTriggerRange() const;
float getApproachTriggerRangeMin() const;
float getApproachTriggerRangeMax() const;
int getShockWounds(bool testData = false) const;
int getShockWoundsMin(bool testData = false) const;
int getShockWoundsMax(bool testData = false) const;
bool getCanCreateAvatar(bool testData = false) const;
const std::string & getNameGeneratorType(bool testData = false) const;
float getApproachTriggerRange(bool testData = false) const;
float getApproachTriggerRangeMin(bool testData = false) const;
float getApproachTriggerRangeMax(bool testData = false) const;
float getMaxMentalStates(MentalStates index) const;
float getMaxMentalStatesMin(MentalStates index) const;
float getMaxMentalStatesMax(MentalStates index) const;
@@ -101,6 +101,11 @@ public:
float getMentalStatesDecayMin(MentalStates index) const;
float getMentalStatesDecayMax(MentalStates index) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -24,26 +24,26 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerDraftSchematicObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerDraftSchematicObjectTemplate::ServerDraftSchematicObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
, m_slotsLoaded(false)
, m_slotsAppend(false)
, m_skillCommandsLoaded(false)
, m_skillCommandsAppend(false)
, m_manufactureScriptsLoaded(false)
, m_manufactureScriptsAppend(false)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_slotsLoaded(false)
,m_slotsAppend(false)
,m_skillCommandsLoaded(false)
,m_skillCommandsAppend(false)
,m_manufactureScriptsLoaded(false)
,m_manufactureScriptsAppend(false)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerDraftSchematicObjectTemplate::ServerDraftSchematicObjectTemplate
@@ -52,7 +52,7 @@ ServerDraftSchematicObjectTemplate::ServerDraftSchematicObjectTemplate(const std
*/
ServerDraftSchematicObjectTemplate::~ServerDraftSchematicObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@BEGIN TFD CLEANUP
{
std::vector<StructParamOT *>::iterator iter;
for (iter = m_slots.begin(); iter != m_slots.end(); ++iter)
@@ -80,7 +80,7 @@ ServerDraftSchematicObjectTemplate::~ServerDraftSchematicObjectTemplate()
}
m_manufactureScripts.clear();
}
//@END TFD CLEANUP
//@END TFD CLEANUP
} // ServerDraftSchematicObjectTemplate::~ServerDraftSchematicObjectTemplate
/**
@@ -128,10 +128,10 @@ Tag ServerDraftSchematicObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerDraftSchematicObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerDraftSchematicObjectTemplate * base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerDraftSchematicObjectTemplate::getHighestTemplateVersion
@@ -143,26 +143,59 @@ Tag ServerDraftSchematicObjectTemplate::getHighestTemplateVersion(void) const
*/
Object * ServerDraftSchematicObjectTemplate::createObject(void) const
{
#ifdef _DEBUG
if (DataLint::isEnabled())
{
return new DraftSchematicObject(this);
}
#endif
WARNING(true, ("Trying to create a draft schematic %s outside the draft "
"schematic factory!\n", getName()));
return nullptr;
return NULL;
} // ServerDraftSchematicObjectTemplate::createObject
/**
* Called after the template data has been loaded. Verifies that the schematic has
* Called after the template data has been loaded. Verifies that the schematic has
* good data.
*/
void ServerDraftSchematicObjectTemplate::postLoad()
{
#ifdef _DEBUG
// verify that all slot names are unique
std::set<std::string> slotNames;
IngredientSlot data;
int count = getSlotsCount();
for (int i = 0; i < count; ++i)
{
getSlots(data, i);
if (slotNames.insert(data.name.getText()).second == false)
{
WARNING(true, ("Draft schematic %s has duplicate slot name %s",
getName(), data.name.getText().c_str()));
}
}
#endif
} // ServerDraftSchematicObjectTemplate::postLoad
//@BEGIN TFD
ServerDraftSchematicObjectTemplate::CraftingType ServerDraftSchematicObjectTemplate::getCategory() const
ServerDraftSchematicObjectTemplate::CraftingType ServerDraftSchematicObjectTemplate::getCategory(bool testData) const
{
#ifdef _DEBUG
ServerDraftSchematicObjectTemplate::CraftingType testDataValue = static_cast<ServerDraftSchematicObjectTemplate::CraftingType>(0);
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCategory(true);
#endif
}
if (!m_category.isLoaded())
@@ -180,6 +213,11 @@ ServerDraftSchematicObjectTemplate::CraftingType ServerDraftSchematicObjectTempl
}
CraftingType value = static_cast<CraftingType>(m_category.getValue());
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getCategory
@@ -206,10 +244,14 @@ const ServerObjectTemplate * ServerDraftSchematicObjectTemplate::getCraftedObjec
}
}
const ServerObjectTemplate * returnValue = nullptr;
const std::string & templateName = m_craftedObjectTemplate.getValue();
const ServerObjectTemplate * returnValue = dynamic_cast<const ServerObjectTemplate *>(ObjectTemplateList::fetch(templateName));
if (returnValue == nullptr)
WARNING_STRICT_FATAL(true, ("Error loading template %s", templateName.c_str()));
if (!templateName.empty())
{
returnValue = dynamic_cast<const ServerObjectTemplate *>(ObjectTemplateList::fetch(templateName));
if (returnValue == nullptr)
WARNING_STRICT_FATAL(true, ("Error loading template %s",templateName.c_str()));
}
return returnValue;
} // ServerDraftSchematicObjectTemplate::getCraftedObjectTemplate
@@ -235,10 +277,14 @@ const ServerFactoryObjectTemplate * ServerDraftSchematicObjectTemplate::getCrate
}
}
const ServerFactoryObjectTemplate * returnValue = nullptr;
const std::string & templateName = m_crateObjectTemplate.getValue();
const ServerFactoryObjectTemplate * returnValue = dynamic_cast<const ServerFactoryObjectTemplate *>(ObjectTemplateList::fetch(templateName));
if (returnValue == nullptr)
WARNING_STRICT_FATAL(true, ("Error loading template %s", templateName.c_str()));
if (!templateName.empty())
{
returnValue = dynamic_cast<const ServerFactoryObjectTemplate *>(ObjectTemplateList::fetch(templateName));
if (returnValue == nullptr)
WARNING_STRICT_FATAL(true, ("Error loading template %s",templateName.c_str()));
}
return returnValue;
} // ServerDraftSchematicObjectTemplate::getCrateObjectTemplate
@@ -255,7 +301,7 @@ void ServerDraftSchematicObjectTemplate::getSlots(IngredientSlot &data, int inde
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter slots in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -269,10 +315,10 @@ void ServerDraftSchematicObjectTemplate::getSlots(IngredientSlot &data, int inde
{
int baseCount = base->getSlotsCount();
if (index < baseCount)
{
base->getSlots(data, index);
return;
}
{
base->getSlots(data, index);
return;
}
index -= baseCount;
}
@@ -308,7 +354,7 @@ void ServerDraftSchematicObjectTemplate::getSlotsMin(IngredientSlot &data, int i
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter slots in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -322,10 +368,10 @@ void ServerDraftSchematicObjectTemplate::getSlotsMin(IngredientSlot &data, int i
{
int baseCount = base->getSlotsCount();
if (index < baseCount)
{
base->getSlotsMin(data, index);
return;
}
{
base->getSlotsMin(data, index);
return;
}
index -= baseCount;
}
@@ -361,7 +407,7 @@ void ServerDraftSchematicObjectTemplate::getSlotsMax(IngredientSlot &data, int i
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter slots in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -375,10 +421,10 @@ void ServerDraftSchematicObjectTemplate::getSlotsMax(IngredientSlot &data, int i
{
int baseCount = base->getSlotsCount();
if (index < baseCount)
{
base->getSlotsMax(data, index);
return;
}
{
base->getSlotsMax(data, index);
return;
}
index -= baseCount;
}
@@ -484,12 +530,22 @@ size_t ServerDraftSchematicObjectTemplate::getSkillCommandsCount(void) const
return count;
} // ServerDraftSchematicObjectTemplate::getSkillCommandsCount
bool ServerDraftSchematicObjectTemplate::getDestroyIngredients() const
bool ServerDraftSchematicObjectTemplate::getDestroyIngredients(bool testData) const
{
#ifdef _DEBUG
bool testDataValue = false;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getDestroyIngredients(true);
#endif
}
if (!m_destroyIngredients.isLoaded())
@@ -507,6 +563,11 @@ bool ServerDraftSchematicObjectTemplate::getDestroyIngredients() const
}
bool value = m_destroyIngredients.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getDestroyIngredients
@@ -570,12 +631,22 @@ size_t ServerDraftSchematicObjectTemplate::getManufactureScriptsCount(void) cons
return count;
} // ServerDraftSchematicObjectTemplate::getManufactureScriptsCount
int ServerDraftSchematicObjectTemplate::getItemsPerContainer() const
int ServerDraftSchematicObjectTemplate::getItemsPerContainer(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getItemsPerContainer(true);
#endif
}
if (!m_itemsPerContainer.isLoaded())
@@ -615,16 +686,31 @@ int ServerDraftSchematicObjectTemplate::getItemsPerContainer() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getItemsPerContainer
int ServerDraftSchematicObjectTemplate::getItemsPerContainerMin() const
int ServerDraftSchematicObjectTemplate::getItemsPerContainerMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getItemsPerContainerMin(true);
#endif
}
if (!m_itemsPerContainer.isLoaded())
@@ -664,16 +750,31 @@ int ServerDraftSchematicObjectTemplate::getItemsPerContainerMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getItemsPerContainerMin
int ServerDraftSchematicObjectTemplate::getItemsPerContainerMax() const
int ServerDraftSchematicObjectTemplate::getItemsPerContainerMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getItemsPerContainerMax(true);
#endif
}
if (!m_itemsPerContainer.isLoaded())
@@ -713,16 +814,31 @@ int ServerDraftSchematicObjectTemplate::getItemsPerContainerMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getItemsPerContainerMax
float ServerDraftSchematicObjectTemplate::getManufactureTime() const
float ServerDraftSchematicObjectTemplate::getManufactureTime(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getManufactureTime(true);
#endif
}
if (!m_manufactureTime.isLoaded())
@@ -762,16 +878,31 @@ float ServerDraftSchematicObjectTemplate::getManufactureTime() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getManufactureTime
float ServerDraftSchematicObjectTemplate::getManufactureTimeMin() const
float ServerDraftSchematicObjectTemplate::getManufactureTimeMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getManufactureTimeMin(true);
#endif
}
if (!m_manufactureTime.isLoaded())
@@ -811,16 +942,31 @@ float ServerDraftSchematicObjectTemplate::getManufactureTimeMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getManufactureTimeMin
float ServerDraftSchematicObjectTemplate::getManufactureTimeMax() const
float ServerDraftSchematicObjectTemplate::getManufactureTimeMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getManufactureTimeMax(true);
#endif
}
if (!m_manufactureTime.isLoaded())
@@ -860,16 +1006,31 @@ float ServerDraftSchematicObjectTemplate::getManufactureTimeMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getManufactureTimeMax
float ServerDraftSchematicObjectTemplate::getPrototypeTime() const
float ServerDraftSchematicObjectTemplate::getPrototypeTime(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getPrototypeTime(true);
#endif
}
if (!m_prototypeTime.isLoaded())
@@ -909,16 +1070,31 @@ float ServerDraftSchematicObjectTemplate::getPrototypeTime() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getPrototypeTime
float ServerDraftSchematicObjectTemplate::getPrototypeTimeMin() const
float ServerDraftSchematicObjectTemplate::getPrototypeTimeMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getPrototypeTimeMin(true);
#endif
}
if (!m_prototypeTime.isLoaded())
@@ -958,16 +1134,31 @@ float ServerDraftSchematicObjectTemplate::getPrototypeTimeMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getPrototypeTimeMin
float ServerDraftSchematicObjectTemplate::getPrototypeTimeMax() const
float ServerDraftSchematicObjectTemplate::getPrototypeTimeMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getPrototypeTimeMax(true);
#endif
}
if (!m_prototypeTime.isLoaded())
@@ -1007,10 +1198,33 @@ float ServerDraftSchematicObjectTemplate::getPrototypeTimeMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::getPrototypeTimeMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerDraftSchematicObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getCategory(true));
IGNORE_RETURN(getDestroyIngredients(true));
IGNORE_RETURN(getItemsPerContainerMin(true));
IGNORE_RETURN(getItemsPerContainerMax(true));
IGNORE_RETURN(getManufactureTimeMin(true));
IGNORE_RETURN(getManufactureTimeMax(true));
IGNORE_RETURN(getPrototypeTimeMin(true));
IGNORE_RETURN(getPrototypeTimeMax(true));
ServerIntangibleObjectTemplate::testValues();
} // ServerDraftSchematicObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -1019,8 +1233,8 @@ float ServerDraftSchematicObjectTemplate::getPrototypeTimeMax() const
*/
void ServerDraftSchematicObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerDraftSchematicObjectTemplate_tag)
{
@@ -1030,7 +1244,7 @@ void ServerDraftSchematicObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -1050,8 +1264,10 @@ void ServerDraftSchematicObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 7))
if (getHighestTemplateVersion() != TAG(0,0,0,7))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -1144,6 +1360,7 @@ void ServerDraftSchematicObjectTemplate::load(Iff &file)
return;
} // ServerDraftSchematicObjectTemplate::load
//=============================================================================
// class ServerDraftSchematicObjectTemplate::_IngredientSlot
@@ -1152,8 +1369,8 @@ void ServerDraftSchematicObjectTemplate::load(Iff &file)
*/
ServerDraftSchematicObjectTemplate::_IngredientSlot::_IngredientSlot(const std::string & filename)
: ObjectTemplate(filename)
, m_optionsLoaded(false)
, m_optionsAppend(false)
,m_optionsLoaded(false)
,m_optionsAppend(false)
{
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::_IngredientSlot
@@ -1201,12 +1418,22 @@ Tag ServerDraftSchematicObjectTemplate::_IngredientSlot::getId(void) const
return _IngredientSlot_tag;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getId
bool ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptional(bool versionOk) const
bool ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptional(bool versionOk, bool testData) const
{
#ifdef _DEBUG
bool testDataValue = false;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getOptional(true);
#endif
}
if (!m_optional.isLoaded())
@@ -1224,16 +1451,31 @@ bool ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptional(bool versi
}
bool value = m_optional.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptional
const StringId ServerDraftSchematicObjectTemplate::_IngredientSlot::getName(bool versionOk) const
const StringId ServerDraftSchematicObjectTemplate::_IngredientSlot::getName(bool versionOk, bool testData) const
{
#ifdef _DEBUG
StringId testDataValue = DefaultStringId;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getName(true);
#endif
}
if (!m_name.isLoaded())
@@ -1251,6 +1493,11 @@ const StringId ServerDraftSchematicObjectTemplate::_IngredientSlot::getName(bool
}
const StringId value = m_name.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getName
@@ -1268,7 +1515,7 @@ void ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptions(Ingredient
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter options in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -1282,10 +1529,10 @@ void ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptions(Ingredient
{
int baseCount = base->getOptionsCount();
if (index < baseCount)
{
base->getOptions(data, index, versionOk);
return;
}
{
base->getOptions(data, index, versionOk);
return;
}
index -= baseCount;
}
@@ -1319,7 +1566,7 @@ void ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionsMin(Ingredie
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter options in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -1333,10 +1580,10 @@ void ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionsMin(Ingredie
{
int baseCount = base->getOptionsCount();
if (index < baseCount)
{
base->getOptionsMin(data, index, versionOk);
return;
}
{
base->getOptionsMin(data, index, versionOk);
return;
}
index -= baseCount;
}
@@ -1370,7 +1617,7 @@ void ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionsMax(Ingredie
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter options in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -1384,10 +1631,10 @@ void ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionsMax(Ingredie
{
int baseCount = base->getOptionsCount();
if (index < baseCount)
{
base->getOptionsMax(data, index, versionOk);
return;
}
{
base->getOptionsMax(data, index, versionOk);
return;
}
index -= baseCount;
}
@@ -1432,12 +1679,22 @@ size_t ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionsCount(void
return count;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionsCount
const std::string & ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionalSkillCommand(bool versionOk) const
const std::string & ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionalSkillCommand(bool versionOk, bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getOptionalSkillCommand(true);
#endif
}
if (!m_optionalSkillCommand.isLoaded())
@@ -1455,16 +1712,31 @@ const std::string & ServerDraftSchematicObjectTemplate::_IngredientSlot::getOpti
}
const std::string & value = m_optionalSkillCommand.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getOptionalSkillCommand
float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexity(bool versionOk) const
float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexity(bool versionOk, bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getComplexity(true);
#endif
}
if (!m_complexity.isLoaded())
@@ -1504,16 +1776,31 @@ float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexity(bool ve
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexity
float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMin(bool versionOk) const
float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMin(bool versionOk, bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getComplexityMin(true);
#endif
}
if (!m_complexity.isLoaded())
@@ -1553,16 +1840,31 @@ float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMin(bool
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMin
float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMax(bool versionOk) const
float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMax(bool versionOk, bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getComplexityMax(true);
#endif
}
if (!m_complexity.isLoaded())
@@ -1602,16 +1904,31 @@ float ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMax(bool
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getComplexityMax
const std::string & ServerDraftSchematicObjectTemplate::_IngredientSlot::getAppearance(bool versionOk) const
const std::string & ServerDraftSchematicObjectTemplate::_IngredientSlot::getAppearance(bool versionOk, bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getAppearance(true);
#endif
}
if (!m_appearance.isLoaded())
@@ -1629,10 +1946,30 @@ const std::string & ServerDraftSchematicObjectTemplate::_IngredientSlot::getAppe
}
const std::string & value = m_appearance.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::getAppearance
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerDraftSchematicObjectTemplate::_IngredientSlot::testValues(void) const
{
IGNORE_RETURN(getOptional(true));
IGNORE_RETURN(getName(true));
IGNORE_RETURN(getOptionalSkillCommand(true));
IGNORE_RETURN(getComplexityMin(true));
IGNORE_RETURN(getComplexityMax(true));
IGNORE_RETURN(getAppearance(true));
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -1641,8 +1978,8 @@ const std::string & ServerDraftSchematicObjectTemplate::_IngredientSlot::getAppe
*/
void ServerDraftSchematicObjectTemplate::_IngredientSlot::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -1689,4 +2026,4 @@ void ServerDraftSchematicObjectTemplate::_IngredientSlot::load(Iff &file)
UNREF(file);
} // ServerDraftSchematicObjectTemplate::_IngredientSlot::load
//@END TFD
//@END TFD
@@ -73,18 +73,23 @@ protected:
virtual Tag getId(void) const;
public:
bool getOptional(bool versionOk) const;
const StringId getName(bool versionOk) const;
bool getOptional(bool versionOk, bool testData = false) const;
const StringId getName(bool versionOk, bool testData = false) const;
void getOptions(Ingredient &data, int index, bool versionOk) const;
void getOptionsMin(Ingredient &data, int index, bool versionOk) const;
void getOptionsMax(Ingredient &data, int index, bool versionOk) const;
size_t getOptionsCount(void) const;
const std::string & getOptionalSkillCommand(bool versionOk) const;
float getComplexity(bool versionOk) const;
float getComplexityMin(bool versionOk) const;
float getComplexityMax(bool versionOk) const;
const std::string & getAppearance(bool versionOk) const;
const std::string & getOptionalSkillCommand(bool versionOk, bool testData = false) const;
float getComplexity(bool versionOk, bool testData = false) const;
float getComplexityMin(bool versionOk, bool testData = false) const;
float getComplexityMax(bool versionOk, bool testData = false) const;
const std::string & getAppearance(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -108,7 +113,7 @@ private:
friend class ServerDraftSchematicObjectTemplate::_IngredientSlot;
public:
CraftingType getCategory() const;
CraftingType getCategory(bool testData = false) const;
const ServerObjectTemplate * getCraftedObjectTemplate() const;
const ServerFactoryObjectTemplate * getCrateObjectTemplate() const;
void getSlots(IngredientSlot &data, int index) const;
@@ -117,19 +122,24 @@ public:
size_t getSlotsCount(void) const;
const std::string & getSkillCommands(int index) const;
size_t getSkillCommandsCount(void) const;
bool getDestroyIngredients() const;
bool getDestroyIngredients(bool testData = false) const;
const std::string & getManufactureScripts(int index) const;
size_t getManufactureScriptsCount(void) const;
int getItemsPerContainer() const;
int getItemsPerContainerMin() const;
int getItemsPerContainerMax() const;
float getManufactureTime() const;
float getManufactureTimeMin() const;
float getManufactureTimeMax() const;
float getPrototypeTime() const;
float getPrototypeTimeMin() const;
float getPrototypeTimeMax() const;
int getItemsPerContainer(bool testData = false) const;
int getItemsPerContainerMin(bool testData = false) const;
int getItemsPerContainerMax(bool testData = false) const;
float getManufactureTime(bool testData = false) const;
float getManufactureTimeMin(bool testData = false) const;
float getManufactureTimeMax(bool testData = false) const;
float getPrototypeTime(bool testData = false) const;
float getPrototypeTimeMin(bool testData = false) const;
float getPrototypeTimeMax(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerFactoryObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerFactoryObjectTemplate::ServerFactoryObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerFactoryObjectTemplate::ServerFactoryObjectTemplate
@@ -44,8 +44,8 @@ ServerFactoryObjectTemplate::ServerFactoryObjectTemplate(const std::string & fil
*/
ServerFactoryObjectTemplate::~ServerFactoryObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerFactoryObjectTemplate::~ServerFactoryObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerFactoryObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerFactoryObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerFactoryObjectTemplate * base = dynamic_cast<const ServerFactoryObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerFactoryObjectTemplate::getHighestTemplateVersion
@@ -112,6 +112,15 @@ Object * ServerFactoryObjectTemplate::createObject(void) const
} // ServerFactoryObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerFactoryObjectTemplate::testValues(void) const
{
ServerTangibleObjectTemplate::testValues();
} // ServerFactoryObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -121,8 +130,8 @@ Object * ServerFactoryObjectTemplate::createObject(void) const
*/
void ServerFactoryObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerFactoryObjectTemplate_tag)
{
@@ -132,7 +141,7 @@ void ServerFactoryObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -152,8 +161,10 @@ void ServerFactoryObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -171,4 +182,4 @@ void ServerFactoryObjectTemplate::load(Iff &file)
return;
} // ServerFactoryObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -24,20 +24,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerGroupObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerGroupObjectTemplate::ServerGroupObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerGroupObjectTemplate::ServerGroupObjectTemplate
@@ -46,8 +46,8 @@ ServerGroupObjectTemplate::ServerGroupObjectTemplate(const std::string & filenam
*/
ServerGroupObjectTemplate::~ServerGroupObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerGroupObjectTemplate::~ServerGroupObjectTemplate
/**
@@ -95,10 +95,10 @@ Tag ServerGroupObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerGroupObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerGroupObjectTemplate * base = dynamic_cast<const ServerGroupObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerGroupObjectTemplate::getHighestTemplateVersion
@@ -114,6 +114,15 @@ Object * ServerGroupObjectTemplate::createObject(void) const
} // ServerGroupObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerGroupObjectTemplate::testValues(void) const
{
ServerUniverseObjectTemplate::testValues();
} // ServerGroupObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -123,8 +132,8 @@ Object * ServerGroupObjectTemplate::createObject(void) const
*/
void ServerGroupObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerGroupObjectTemplate_tag)
{
@@ -134,7 +143,7 @@ void ServerGroupObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -154,8 +163,10 @@ void ServerGroupObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -173,4 +184,4 @@ void ServerGroupObjectTemplate::load(Iff &file)
return;
} // ServerGroupObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -24,20 +24,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerGuildObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerGuildObjectTemplate::ServerGuildObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerGuildObjectTemplate::ServerGuildObjectTemplate
@@ -46,8 +46,8 @@ ServerGuildObjectTemplate::ServerGuildObjectTemplate(const std::string & filenam
*/
ServerGuildObjectTemplate::~ServerGuildObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerGuildObjectTemplate::~ServerGuildObjectTemplate
/**
@@ -95,10 +95,10 @@ Tag ServerGuildObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerGuildObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerGuildObjectTemplate * base = dynamic_cast<const ServerGuildObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerGuildObjectTemplate::getHighestTemplateVersion
@@ -114,6 +114,15 @@ Object * ServerGuildObjectTemplate::createObject(void) const
} // ServerGuildObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerGuildObjectTemplate::testValues(void) const
{
ServerUniverseObjectTemplate::testValues();
} // ServerGuildObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -123,8 +132,8 @@ Object * ServerGuildObjectTemplate::createObject(void) const
*/
void ServerGuildObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerGuildObjectTemplate_tag)
{
@@ -134,7 +143,7 @@ void ServerGuildObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -154,8 +163,10 @@ void ServerGuildObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -173,4 +184,4 @@ void ServerGuildObjectTemplate::load(Iff &file)
return;
} // ServerGuildObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerHarvesterInstallationObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerHarvesterInstallationObjectTemplate::ServerHarvesterInstallationObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerInstallationObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerHarvesterInstallationObjectTemplate::ServerHarvesterInstallationObjectTemplate
@@ -44,8 +44,8 @@ ServerHarvesterInstallationObjectTemplate::ServerHarvesterInstallationObjectTemp
*/
ServerHarvesterInstallationObjectTemplate::~ServerHarvesterInstallationObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerHarvesterInstallationObjectTemplate::~ServerHarvesterInstallationObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerHarvesterInstallationObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerHarvesterInstallationObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerHarvesterInstallationObjectTemplate * base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerHarvesterInstallationObjectTemplate::getHighestTemplateVersion
@@ -112,12 +112,22 @@ Object * ServerHarvesterInstallationObjectTemplate::createObject(void) const
} // ServerHarvesterInstallationObjectTemplate::createObject
//@BEGIN TFD
int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRate() const
int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRate(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxExtractionRate(true);
#endif
}
if (!m_maxExtractionRate.isLoaded())
@@ -157,16 +167,31 @@ int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRate() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getMaxExtractionRate
int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMin() const
int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxExtractionRateMin(true);
#endif
}
if (!m_maxExtractionRate.isLoaded())
@@ -206,16 +231,31 @@ int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMin
int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMax() const
int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxExtractionRateMax(true);
#endif
}
if (!m_maxExtractionRate.isLoaded())
@@ -255,16 +295,31 @@ int ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getMaxExtractionRateMax
int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRate() const
int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRate(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCurrentExtractionRate(true);
#endif
}
if (!m_currentExtractionRate.isLoaded())
@@ -304,16 +359,31 @@ int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRate() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRate
int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMin() const
int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCurrentExtractionRateMin(true);
#endif
}
if (!m_currentExtractionRate.isLoaded())
@@ -353,16 +423,31 @@ int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMin() con
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMin
int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMax() const
int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCurrentExtractionRateMax(true);
#endif
}
if (!m_currentExtractionRate.isLoaded())
@@ -402,16 +487,31 @@ int ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMax() con
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getCurrentExtractionRateMax
int ServerHarvesterInstallationObjectTemplate::getMaxHopperSize() const
int ServerHarvesterInstallationObjectTemplate::getMaxHopperSize(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxHopperSize(true);
#endif
}
if (!m_maxHopperSize.isLoaded())
@@ -451,16 +551,31 @@ int ServerHarvesterInstallationObjectTemplate::getMaxHopperSize() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getMaxHopperSize
int ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMin() const
int ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxHopperSizeMin(true);
#endif
}
if (!m_maxHopperSize.isLoaded())
@@ -500,16 +615,31 @@ int ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMin
int ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMax() const
int ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxHopperSizeMax(true);
#endif
}
if (!m_maxHopperSize.isLoaded())
@@ -549,16 +679,31 @@ int ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getMaxHopperSizeMax
const std::string & ServerHarvesterInstallationObjectTemplate::getMasterClassName() const
const std::string & ServerHarvesterInstallationObjectTemplate::getMasterClassName(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerHarvesterInstallationObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerHarvesterInstallationObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMasterClassName(true);
#endif
}
if (!m_masterClassName.isLoaded())
@@ -576,10 +721,32 @@ const std::string & ServerHarvesterInstallationObjectTemplate::getMasterClassNam
}
const std::string & value = m_masterClassName.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerHarvesterInstallationObjectTemplate::getMasterClassName
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerHarvesterInstallationObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getMaxExtractionRateMin(true));
IGNORE_RETURN(getMaxExtractionRateMax(true));
IGNORE_RETURN(getCurrentExtractionRateMin(true));
IGNORE_RETURN(getCurrentExtractionRateMax(true));
IGNORE_RETURN(getMaxHopperSizeMin(true));
IGNORE_RETURN(getMaxHopperSizeMax(true));
IGNORE_RETURN(getMasterClassName(true));
ServerInstallationObjectTemplate::testValues();
} // ServerHarvesterInstallationObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -588,8 +755,8 @@ const std::string & ServerHarvesterInstallationObjectTemplate::getMasterClassNam
*/
void ServerHarvesterInstallationObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerHarvesterInstallationObjectTemplate_tag)
{
@@ -599,7 +766,7 @@ void ServerHarvesterInstallationObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -619,8 +786,10 @@ void ServerHarvesterInstallationObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -650,4 +819,4 @@ void ServerHarvesterInstallationObjectTemplate::load(Iff &file)
return;
} // ServerHarvesterInstallationObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,17 +44,22 @@ public:
//@BEGIN TFD
public:
int getMaxExtractionRate() const;
int getMaxExtractionRateMin() const;
int getMaxExtractionRateMax() const;
int getCurrentExtractionRate() const;
int getCurrentExtractionRateMin() const;
int getCurrentExtractionRateMax() const;
int getMaxHopperSize() const;
int getMaxHopperSizeMin() const;
int getMaxHopperSizeMax() const;
const std::string & getMasterClassName() const;
int getMaxExtractionRate(bool testData = false) const;
int getMaxExtractionRateMin(bool testData = false) const;
int getMaxExtractionRateMax(bool testData = false) const;
int getCurrentExtractionRate(bool testData = false) const;
int getCurrentExtractionRateMin(bool testData = false) const;
int getCurrentExtractionRateMax(bool testData = false) const;
int getMaxHopperSize(bool testData = false) const;
int getMaxHopperSizeMin(bool testData = false) const;
int getMaxHopperSizeMax(bool testData = false) const;
const std::string & getMasterClassName(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerInstallationObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerInstallationObjectTemplate::ServerInstallationObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerInstallationObjectTemplate::ServerInstallationObjectTemplate
@@ -45,8 +45,8 @@ ServerInstallationObjectTemplate::ServerInstallationObjectTemplate(const std::st
*/
ServerInstallationObjectTemplate::~ServerInstallationObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerInstallationObjectTemplate::~ServerInstallationObjectTemplate
/**
@@ -94,10 +94,10 @@ Tag ServerInstallationObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerInstallationObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerInstallationObjectTemplate * base = dynamic_cast<const ServerInstallationObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerInstallationObjectTemplate::getHighestTemplateVersion
@@ -113,6 +113,15 @@ Object * ServerInstallationObjectTemplate::createObject(void) const
} // ServerInstallationObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerInstallationObjectTemplate::testValues(void) const
{
ServerTangibleObjectTemplate::testValues();
} // ServerInstallationObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -122,8 +131,8 @@ Object * ServerInstallationObjectTemplate::createObject(void) const
*/
void ServerInstallationObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerInstallationObjectTemplate_tag)
{
@@ -133,7 +142,7 @@ void ServerInstallationObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -153,8 +162,10 @@ void ServerInstallationObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -172,4 +183,4 @@ void ServerInstallationObjectTemplate::load(Iff &file)
return;
} // ServerInstallationObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerIntangibleObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerIntangibleObjectTemplate::ServerIntangibleObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerIntangibleObjectTemplate::ServerIntangibleObjectTemplate
@@ -44,8 +44,8 @@ ServerIntangibleObjectTemplate::ServerIntangibleObjectTemplate(const std::string
*/
ServerIntangibleObjectTemplate::~ServerIntangibleObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerIntangibleObjectTemplate::~ServerIntangibleObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerIntangibleObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerIntangibleObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerIntangibleObjectTemplate * base = dynamic_cast<const ServerIntangibleObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerIntangibleObjectTemplate::getHighestTemplateVersion
@@ -112,12 +112,22 @@ Object * ServerIntangibleObjectTemplate::createObject(void) const
} // ServerIntangibleObjectTemplate::createObject
//@BEGIN TFD
int ServerIntangibleObjectTemplate::getCount() const
int ServerIntangibleObjectTemplate::getCount(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCount(true);
#endif
}
if (!m_count.isLoaded())
@@ -157,16 +167,31 @@ int ServerIntangibleObjectTemplate::getCount() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::getCount
int ServerIntangibleObjectTemplate::getCountMin() const
int ServerIntangibleObjectTemplate::getCountMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCountMin(true);
#endif
}
if (!m_count.isLoaded())
@@ -206,16 +231,31 @@ int ServerIntangibleObjectTemplate::getCountMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::getCountMin
int ServerIntangibleObjectTemplate::getCountMax() const
int ServerIntangibleObjectTemplate::getCountMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCountMax(true);
#endif
}
if (!m_count.isLoaded())
@@ -255,10 +295,27 @@ int ServerIntangibleObjectTemplate::getCountMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::getCountMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerIntangibleObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getCountMin(true));
IGNORE_RETURN(getCountMax(true));
ServerObjectTemplate::testValues();
} // ServerIntangibleObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -267,8 +324,8 @@ int ServerIntangibleObjectTemplate::getCountMax() const
*/
void ServerIntangibleObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerIntangibleObjectTemplate_tag)
{
@@ -278,7 +335,7 @@ void ServerIntangibleObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -298,8 +355,10 @@ void ServerIntangibleObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -323,6 +382,7 @@ void ServerIntangibleObjectTemplate::load(Iff &file)
return;
} // ServerIntangibleObjectTemplate::load
//=============================================================================
// class ServerIntangibleObjectTemplate::_Ingredient
@@ -331,8 +391,8 @@ void ServerIntangibleObjectTemplate::load(Iff &file)
*/
ServerIntangibleObjectTemplate::_Ingredient::_Ingredient(const std::string & filename)
: ObjectTemplate(filename)
, m_ingredientsLoaded(false)
, m_ingredientsAppend(false)
,m_ingredientsLoaded(false)
,m_ingredientsAppend(false)
{
} // ServerIntangibleObjectTemplate::_Ingredient::_Ingredient
@@ -380,12 +440,22 @@ Tag ServerIntangibleObjectTemplate::_Ingredient::getId(void) const
return _Ingredient_tag;
} // ServerIntangibleObjectTemplate::_Ingredient::getId
ServerIntangibleObjectTemplate::IngredientType ServerIntangibleObjectTemplate::_Ingredient::getIngredientType(bool versionOk) const
ServerIntangibleObjectTemplate::IngredientType ServerIntangibleObjectTemplate::_Ingredient::getIngredientType(bool versionOk, bool testData) const
{
#ifdef _DEBUG
ServerIntangibleObjectTemplate::IngredientType testDataValue = static_cast<ServerIntangibleObjectTemplate::IngredientType>(0);
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_Ingredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_Ingredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getIngredientType(true);
#endif
}
if (!m_ingredientType.isLoaded())
@@ -403,6 +473,11 @@ ServerIntangibleObjectTemplate::IngredientType ServerIntangibleObjectTemplate::_
}
IngredientType value = static_cast<IngredientType>(m_ingredientType.getValue());
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_Ingredient::getIngredientType
@@ -420,7 +495,7 @@ void ServerIntangibleObjectTemplate::_Ingredient::getIngredients(SimpleIngredien
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredients in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -434,10 +509,10 @@ void ServerIntangibleObjectTemplate::_Ingredient::getIngredients(SimpleIngredien
{
int baseCount = base->getIngredientsCount();
if (index < baseCount)
{
base->getIngredients(data, index, versionOk);
return;
}
{
base->getIngredients(data, index, versionOk);
return;
}
index -= baseCount;
}
@@ -464,7 +539,7 @@ void ServerIntangibleObjectTemplate::_Ingredient::getIngredientsMin(SimpleIngred
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredients in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -478,10 +553,10 @@ void ServerIntangibleObjectTemplate::_Ingredient::getIngredientsMin(SimpleIngred
{
int baseCount = base->getIngredientsCount();
if (index < baseCount)
{
base->getIngredientsMin(data, index, versionOk);
return;
}
{
base->getIngredientsMin(data, index, versionOk);
return;
}
index -= baseCount;
}
@@ -508,7 +583,7 @@ void ServerIntangibleObjectTemplate::_Ingredient::getIngredientsMax(SimpleIngred
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredients in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -522,10 +597,10 @@ void ServerIntangibleObjectTemplate::_Ingredient::getIngredientsMax(SimpleIngred
{
int baseCount = base->getIngredientsCount();
if (index < baseCount)
{
base->getIngredientsMax(data, index, versionOk);
return;
}
{
base->getIngredientsMax(data, index, versionOk);
return;
}
index -= baseCount;
}
@@ -563,12 +638,22 @@ size_t ServerIntangibleObjectTemplate::_Ingredient::getIngredientsCount(void) co
return count;
} // ServerIntangibleObjectTemplate::_Ingredient::getIngredientsCount
float ServerIntangibleObjectTemplate::_Ingredient::getComplexity(bool versionOk) const
float ServerIntangibleObjectTemplate::_Ingredient::getComplexity(bool versionOk, bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_Ingredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_Ingredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getComplexity(true);
#endif
}
if (!m_complexity.isLoaded())
@@ -608,16 +693,31 @@ float ServerIntangibleObjectTemplate::_Ingredient::getComplexity(bool versionOk)
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_Ingredient::getComplexity
float ServerIntangibleObjectTemplate::_Ingredient::getComplexityMin(bool versionOk) const
float ServerIntangibleObjectTemplate::_Ingredient::getComplexityMin(bool versionOk, bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_Ingredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_Ingredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getComplexityMin(true);
#endif
}
if (!m_complexity.isLoaded())
@@ -657,16 +757,31 @@ float ServerIntangibleObjectTemplate::_Ingredient::getComplexityMin(bool version
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_Ingredient::getComplexityMin
float ServerIntangibleObjectTemplate::_Ingredient::getComplexityMax(bool versionOk) const
float ServerIntangibleObjectTemplate::_Ingredient::getComplexityMax(bool versionOk, bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_Ingredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_Ingredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getComplexityMax(true);
#endif
}
if (!m_complexity.isLoaded())
@@ -706,16 +821,31 @@ float ServerIntangibleObjectTemplate::_Ingredient::getComplexityMax(bool version
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_Ingredient::getComplexityMax
const std::string & ServerIntangibleObjectTemplate::_Ingredient::getSkillCommand(bool versionOk) const
const std::string & ServerIntangibleObjectTemplate::_Ingredient::getSkillCommand(bool versionOk, bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_Ingredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_Ingredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getSkillCommand(true);
#endif
}
if (!m_skillCommand.isLoaded())
@@ -733,10 +863,28 @@ const std::string & ServerIntangibleObjectTemplate::_Ingredient::getSkillCommand
}
const std::string & value = m_skillCommand.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_Ingredient::getSkillCommand
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerIntangibleObjectTemplate::_Ingredient::testValues(void) const
{
IGNORE_RETURN(getIngredientType(true));
IGNORE_RETURN(getComplexityMin(true));
IGNORE_RETURN(getComplexityMax(true));
IGNORE_RETURN(getSkillCommand(true));
} // ServerIntangibleObjectTemplate::_Ingredient::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -745,8 +893,8 @@ const std::string & ServerIntangibleObjectTemplate::_Ingredient::getSkillCommand
*/
void ServerIntangibleObjectTemplate::_Ingredient::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -789,6 +937,7 @@ void ServerIntangibleObjectTemplate::_Ingredient::load(Iff &file)
UNREF(file);
} // ServerIntangibleObjectTemplate::_Ingredient::load
//=============================================================================
// class ServerIntangibleObjectTemplate::_SchematicAttribute
@@ -835,12 +984,22 @@ Tag ServerIntangibleObjectTemplate::_SchematicAttribute::getId(void) const
return _SchematicAttribute_tag;
} // ServerIntangibleObjectTemplate::_SchematicAttribute::getId
const StringId ServerIntangibleObjectTemplate::_SchematicAttribute::getName(bool versionOk) const
const StringId ServerIntangibleObjectTemplate::_SchematicAttribute::getName(bool versionOk, bool testData) const
{
#ifdef _DEBUG
StringId testDataValue = DefaultStringId;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getName(true);
#endif
}
if (!m_name.isLoaded())
@@ -858,16 +1017,31 @@ const StringId ServerIntangibleObjectTemplate::_SchematicAttribute::getName(bool
}
const StringId value = m_name.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SchematicAttribute::getName
int ServerIntangibleObjectTemplate::_SchematicAttribute::getValue(bool versionOk) const
int ServerIntangibleObjectTemplate::_SchematicAttribute::getValue(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getValue(true);
#endif
}
if (!m_value.isLoaded())
@@ -907,16 +1081,31 @@ int ServerIntangibleObjectTemplate::_SchematicAttribute::getValue(bool versionOk
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SchematicAttribute::getValue
int ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMin(bool versionOk) const
int ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMin(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getValueMin(true);
#endif
}
if (!m_value.isLoaded())
@@ -956,16 +1145,31 @@ int ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMin(bool versio
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMin
int ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMax(bool versionOk) const
int ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMax(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getValueMax(true);
#endif
}
if (!m_value.isLoaded())
@@ -1005,10 +1209,27 @@ int ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMax(bool versio
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerIntangibleObjectTemplate::_SchematicAttribute::testValues(void) const
{
IGNORE_RETURN(getName(true));
IGNORE_RETURN(getValueMin(true));
IGNORE_RETURN(getValueMax(true));
} // ServerIntangibleObjectTemplate::_SchematicAttribute::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -1017,8 +1238,8 @@ int ServerIntangibleObjectTemplate::_SchematicAttribute::getValueMax(bool versio
*/
void ServerIntangibleObjectTemplate::_SchematicAttribute::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -1040,6 +1261,7 @@ void ServerIntangibleObjectTemplate::_SchematicAttribute::load(Iff &file)
UNREF(file);
} // ServerIntangibleObjectTemplate::_SchematicAttribute::load
//=============================================================================
// class ServerIntangibleObjectTemplate::_SimpleIngredient
@@ -1086,12 +1308,22 @@ Tag ServerIntangibleObjectTemplate::_SimpleIngredient::getId(void) const
return _SimpleIngredient_tag;
} // ServerIntangibleObjectTemplate::_SimpleIngredient::getId
const StringId ServerIntangibleObjectTemplate::_SimpleIngredient::getName(bool versionOk) const
const StringId ServerIntangibleObjectTemplate::_SimpleIngredient::getName(bool versionOk, bool testData) const
{
#ifdef _DEBUG
StringId testDataValue = DefaultStringId;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SimpleIngredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SimpleIngredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getName(true);
#endif
}
if (!m_name.isLoaded())
@@ -1109,16 +1341,31 @@ const StringId ServerIntangibleObjectTemplate::_SimpleIngredient::getName(bool v
}
const StringId value = m_name.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SimpleIngredient::getName
const std::string & ServerIntangibleObjectTemplate::_SimpleIngredient::getIngredient(bool versionOk) const
const std::string & ServerIntangibleObjectTemplate::_SimpleIngredient::getIngredient(bool versionOk, bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SimpleIngredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SimpleIngredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getIngredient(true);
#endif
}
if (!m_ingredient.isLoaded())
@@ -1136,16 +1383,31 @@ const std::string & ServerIntangibleObjectTemplate::_SimpleIngredient::getIngred
}
const std::string & value = m_ingredient.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SimpleIngredient::getIngredient
int ServerIntangibleObjectTemplate::_SimpleIngredient::getCount(bool versionOk) const
int ServerIntangibleObjectTemplate::_SimpleIngredient::getCount(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SimpleIngredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SimpleIngredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCount(true);
#endif
}
if (!m_count.isLoaded())
@@ -1185,16 +1447,31 @@ int ServerIntangibleObjectTemplate::_SimpleIngredient::getCount(bool versionOk)
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SimpleIngredient::getCount
int ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMin(bool versionOk) const
int ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMin(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SimpleIngredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SimpleIngredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCountMin(true);
#endif
}
if (!m_count.isLoaded())
@@ -1234,16 +1511,31 @@ int ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMin(bool versionO
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMin
int ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMax(bool versionOk) const
int ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMax(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerIntangibleObjectTemplate::_SimpleIngredient * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerIntangibleObjectTemplate::_SimpleIngredient *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCountMax(true);
#endif
}
if (!m_count.isLoaded())
@@ -1283,10 +1575,28 @@ int ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMax(bool versionO
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerIntangibleObjectTemplate::_SimpleIngredient::testValues(void) const
{
IGNORE_RETURN(getName(true));
IGNORE_RETURN(getIngredient(true));
IGNORE_RETURN(getCountMin(true));
IGNORE_RETURN(getCountMax(true));
} // ServerIntangibleObjectTemplate::_SimpleIngredient::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -1295,8 +1605,8 @@ int ServerIntangibleObjectTemplate::_SimpleIngredient::getCountMax(bool versionO
*/
void ServerIntangibleObjectTemplate::_SimpleIngredient::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -1320,4 +1630,4 @@ void ServerIntangibleObjectTemplate::_SimpleIngredient::load(Iff &file)
UNREF(file);
} // ServerIntangibleObjectTemplate::_SimpleIngredient::load
//@END TFD
//@END TFD
@@ -96,12 +96,17 @@ protected:
virtual Tag getId(void) const;
public:
const StringId getName(bool versionOk) const;
const std::string & getIngredient(bool versionOk) const;
int getCount(bool versionOk) const;
int getCountMin(bool versionOk) const;
int getCountMax(bool versionOk) const;
const StringId getName(bool versionOk, bool testData = false) const;
const std::string & getIngredient(bool versionOk, bool testData = false) const;
int getCount(bool versionOk, bool testData = false) const;
int getCountMin(bool versionOk, bool testData = false) const;
int getCountMax(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -135,16 +140,21 @@ private:
virtual Tag getId(void) const;
public:
IngredientType getIngredientType(bool versionOk) const;
IngredientType getIngredientType(bool versionOk, bool testData = false) const;
void getIngredients(SimpleIngredient &data, int index, bool versionOk) const;
void getIngredientsMin(SimpleIngredient &data, int index, bool versionOk) const;
void getIngredientsMax(SimpleIngredient &data, int index, bool versionOk) const;
size_t getIngredientsCount(void) const;
float getComplexity(bool versionOk) const;
float getComplexityMin(bool versionOk) const;
float getComplexityMax(bool versionOk) const;
const std::string & getSkillCommand(bool versionOk) const;
float getComplexity(bool versionOk, bool testData = false) const;
float getComplexityMin(bool versionOk, bool testData = false) const;
float getComplexityMax(bool versionOk, bool testData = false) const;
const std::string & getSkillCommand(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -181,11 +191,16 @@ private:
virtual Tag getId(void) const;
public:
const StringId getName(bool versionOk) const;
int getValue(bool versionOk) const;
int getValueMin(bool versionOk) const;
int getValueMax(bool versionOk) const;
const StringId getName(bool versionOk, bool testData = false) const;
int getValue(bool versionOk, bool testData = false) const;
int getValueMin(bool versionOk, bool testData = false) const;
int getValueMax(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -203,10 +218,15 @@ private:
friend class ServerIntangibleObjectTemplate::_SchematicAttribute;
public:
int getCount() const;
int getCountMin() const;
int getCountMax() const;
int getCount(bool testData = false) const;
int getCountMin(bool testData = false) const;
int getCountMax(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerManufactureInstallationObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerManufactureInstallationObjectTemplate::ServerManufactureInstallationObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerInstallationObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerManufactureInstallationObjectTemplate::ServerManufactureInstallationObjectTemplate
@@ -44,8 +44,8 @@ ServerManufactureInstallationObjectTemplate::ServerManufactureInstallationObject
*/
ServerManufactureInstallationObjectTemplate::~ServerManufactureInstallationObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerManufactureInstallationObjectTemplate::~ServerManufactureInstallationObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerManufactureInstallationObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerManufactureInstallationObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerManufactureInstallationObjectTemplate * base = dynamic_cast<const ServerManufactureInstallationObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerManufactureInstallationObjectTemplate::getHighestTemplateVersion
@@ -112,6 +112,15 @@ Object * ServerManufactureInstallationObjectTemplate::createObject(void) const
} // ServerManufactureInstallationObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerManufactureInstallationObjectTemplate::testValues(void) const
{
ServerInstallationObjectTemplate::testValues();
} // ServerManufactureInstallationObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -121,8 +130,8 @@ Object * ServerManufactureInstallationObjectTemplate::createObject(void) const
*/
void ServerManufactureInstallationObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerManufactureInstallationObjectTemplate_tag)
{
@@ -132,7 +141,7 @@ void ServerManufactureInstallationObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -152,8 +161,10 @@ void ServerManufactureInstallationObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -171,4 +182,4 @@ void ServerManufactureInstallationObjectTemplate::load(Iff &file)
return;
} // ServerManufactureInstallationObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,24 +22,24 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerManufactureSchematicObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerManufactureSchematicObjectTemplate::ServerManufactureSchematicObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
, m_ingredientsLoaded(false)
, m_ingredientsAppend(false)
, m_attributesLoaded(false)
, m_attributesAppend(false)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_ingredientsLoaded(false)
,m_ingredientsAppend(false)
,m_attributesLoaded(false)
,m_attributesAppend(false)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerManufactureSchematicObjectTemplate::ServerManufactureSchematicObjectTemplate
@@ -48,7 +48,7 @@ ServerManufactureSchematicObjectTemplate::ServerManufactureSchematicObjectTempla
*/
ServerManufactureSchematicObjectTemplate::~ServerManufactureSchematicObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@BEGIN TFD CLEANUP
{
std::vector<StructParamOT *>::iterator iter;
for (iter = m_ingredients.begin(); iter != m_ingredients.end(); ++iter)
@@ -67,7 +67,7 @@ ServerManufactureSchematicObjectTemplate::~ServerManufactureSchematicObjectTempl
}
m_attributes.clear();
}
//@END TFD CLEANUP
//@END TFD CLEANUP
} // ServerManufactureSchematicObjectTemplate::~ServerManufactureSchematicObjectTemplate
/**
@@ -115,24 +115,24 @@ Tag ServerManufactureSchematicObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerManufactureSchematicObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerManufactureSchematicObjectTemplate * base = dynamic_cast<const ServerManufactureSchematicObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerManufactureSchematicObjectTemplate::getHighestTemplateVersion
/**
* Called when the game tries to create a manf schematic via the default method.
* Manf must be created via a draft schematic, so we always return nullptr;
* Manf must be created via a draft schematic, so we always return NULL;
*
* @return the object
*/
Object * ServerManufactureSchematicObjectTemplate::createObject(void) const
{
// WARNING(true, ("Someone is trying to create a manf schematic without a "
// "draft schematic source!"));
// WARNING(true, ("Someone is trying to create a manf schematic without a "
// "draft schematic source!"));
return new ManufactureSchematicObject(this);
} // ServerManufactureSchematicObjectTemplate::createObject
@@ -146,17 +146,17 @@ Object * ServerManufactureSchematicObjectTemplate::createObject(const char *cons
const ObjectTemplate *const objectTemplate = ObjectTemplateList::fetch(fileName);
if (objectTemplate)
{
Object * object = nullptr;
const ServerManufactureSchematicObjectTemplate * const manfTemplate =
Object * object = NULL;
const ServerManufactureSchematicObjectTemplate * const manfTemplate =
dynamic_cast<const ServerManufactureSchematicObjectTemplate *const>(
objectTemplate);
if (manfTemplate != nullptr)
objectTemplate);
if (manfTemplate != NULL)
object = manfTemplate->createObject(schematic);
objectTemplate->releaseReference();
objectTemplate->releaseReference ();
return object;
}
return nullptr;
return NULL;
} // ServerManufactureSchematicObjectTemplate::createObject
/**
@@ -170,12 +170,22 @@ Object * ServerManufactureSchematicObjectTemplate::createObject(const DraftSchem
} // ServerManufactureSchematicObjectTemplate::createObject
//@BEGIN TFD
const std::string & ServerManufactureSchematicObjectTemplate::getDraftSchematic() const
const std::string & ServerManufactureSchematicObjectTemplate::getDraftSchematic(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerManufactureSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerManufactureSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getDraftSchematic(true);
#endif
}
if (!m_draftSchematic.isLoaded())
@@ -193,16 +203,31 @@ const std::string & ServerManufactureSchematicObjectTemplate::getDraftSchematic(
}
const std::string & value = m_draftSchematic.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerManufactureSchematicObjectTemplate::getDraftSchematic
const std::string & ServerManufactureSchematicObjectTemplate::getCreator() const
const std::string & ServerManufactureSchematicObjectTemplate::getCreator(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerManufactureSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerManufactureSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCreator(true);
#endif
}
if (!m_creator.isLoaded())
@@ -220,6 +245,11 @@ const std::string & ServerManufactureSchematicObjectTemplate::getCreator() const
}
const std::string & value = m_creator.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerManufactureSchematicObjectTemplate::getCreator
@@ -237,7 +267,7 @@ void ServerManufactureSchematicObjectTemplate::getIngredients(IngredientSlot &da
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredients in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -251,10 +281,10 @@ void ServerManufactureSchematicObjectTemplate::getIngredients(IngredientSlot &da
{
int baseCount = base->getIngredientsCount();
if (index < baseCount)
{
base->getIngredients(data, index);
return;
}
{
base->getIngredients(data, index);
return;
}
index -= baseCount;
}
@@ -280,7 +310,7 @@ void ServerManufactureSchematicObjectTemplate::getIngredientsMin(IngredientSlot
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredients in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -294,10 +324,10 @@ void ServerManufactureSchematicObjectTemplate::getIngredientsMin(IngredientSlot
{
int baseCount = base->getIngredientsCount();
if (index < baseCount)
{
base->getIngredientsMin(data, index);
return;
}
{
base->getIngredientsMin(data, index);
return;
}
index -= baseCount;
}
@@ -323,7 +353,7 @@ void ServerManufactureSchematicObjectTemplate::getIngredientsMax(IngredientSlot
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredients in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -337,10 +367,10 @@ void ServerManufactureSchematicObjectTemplate::getIngredientsMax(IngredientSlot
{
int baseCount = base->getIngredientsCount();
if (index < baseCount)
{
base->getIngredientsMax(data, index);
return;
}
{
base->getIngredientsMax(data, index);
return;
}
index -= baseCount;
}
@@ -377,12 +407,22 @@ size_t ServerManufactureSchematicObjectTemplate::getIngredientsCount(void) const
return count;
} // ServerManufactureSchematicObjectTemplate::getIngredientsCount
int ServerManufactureSchematicObjectTemplate::getItemCount() const
int ServerManufactureSchematicObjectTemplate::getItemCount(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerManufactureSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerManufactureSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getItemCount(true);
#endif
}
if (!m_itemCount.isLoaded())
@@ -422,16 +462,31 @@ int ServerManufactureSchematicObjectTemplate::getItemCount() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerManufactureSchematicObjectTemplate::getItemCount
int ServerManufactureSchematicObjectTemplate::getItemCountMin() const
int ServerManufactureSchematicObjectTemplate::getItemCountMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerManufactureSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerManufactureSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getItemCountMin(true);
#endif
}
if (!m_itemCount.isLoaded())
@@ -471,16 +526,31 @@ int ServerManufactureSchematicObjectTemplate::getItemCountMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerManufactureSchematicObjectTemplate::getItemCountMin
int ServerManufactureSchematicObjectTemplate::getItemCountMax() const
int ServerManufactureSchematicObjectTemplate::getItemCountMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerManufactureSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerManufactureSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getItemCountMax(true);
#endif
}
if (!m_itemCount.isLoaded())
@@ -520,6 +590,11 @@ int ServerManufactureSchematicObjectTemplate::getItemCountMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerManufactureSchematicObjectTemplate::getItemCountMax
@@ -537,7 +612,7 @@ void ServerManufactureSchematicObjectTemplate::getAttributes(SchematicAttribute
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attributes in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -551,10 +626,10 @@ void ServerManufactureSchematicObjectTemplate::getAttributes(SchematicAttribute
{
int baseCount = base->getAttributesCount();
if (index < baseCount)
{
base->getAttributes(data, index);
return;
}
{
base->getAttributes(data, index);
return;
}
index -= baseCount;
}
@@ -580,7 +655,7 @@ void ServerManufactureSchematicObjectTemplate::getAttributesMin(SchematicAttribu
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attributes in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -594,10 +669,10 @@ void ServerManufactureSchematicObjectTemplate::getAttributesMin(SchematicAttribu
{
int baseCount = base->getAttributesCount();
if (index < baseCount)
{
base->getAttributesMin(data, index);
return;
}
{
base->getAttributesMin(data, index);
return;
}
index -= baseCount;
}
@@ -623,7 +698,7 @@ void ServerManufactureSchematicObjectTemplate::getAttributesMax(SchematicAttribu
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attributes in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -637,10 +712,10 @@ void ServerManufactureSchematicObjectTemplate::getAttributesMax(SchematicAttribu
{
int baseCount = base->getAttributesCount();
if (index < baseCount)
{
base->getAttributesMax(data, index);
return;
}
{
base->getAttributesMax(data, index);
return;
}
index -= baseCount;
}
@@ -677,6 +752,20 @@ size_t ServerManufactureSchematicObjectTemplate::getAttributesCount(void) const
return count;
} // ServerManufactureSchematicObjectTemplate::getAttributesCount
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerManufactureSchematicObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getDraftSchematic(true));
IGNORE_RETURN(getCreator(true));
IGNORE_RETURN(getItemCountMin(true));
IGNORE_RETURN(getItemCountMax(true));
ServerIntangibleObjectTemplate::testValues();
} // ServerManufactureSchematicObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -685,8 +774,8 @@ size_t ServerManufactureSchematicObjectTemplate::getAttributesCount(void) const
*/
void ServerManufactureSchematicObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerManufactureSchematicObjectTemplate_tag)
{
@@ -696,7 +785,7 @@ void ServerManufactureSchematicObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -716,8 +805,10 @@ void ServerManufactureSchematicObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -783,6 +874,7 @@ void ServerManufactureSchematicObjectTemplate::load(Iff &file)
return;
} // ServerManufactureSchematicObjectTemplate::load
//=============================================================================
// class ServerManufactureSchematicObjectTemplate::_IngredientSlot
@@ -829,12 +921,22 @@ Tag ServerManufactureSchematicObjectTemplate::_IngredientSlot::getId(void) const
return _IngredientSlot_tag;
} // ServerManufactureSchematicObjectTemplate::_IngredientSlot::getId
const StringId ServerManufactureSchematicObjectTemplate::_IngredientSlot::getName(bool versionOk) const
const StringId ServerManufactureSchematicObjectTemplate::_IngredientSlot::getName(bool versionOk, bool testData) const
{
#ifdef _DEBUG
StringId testDataValue = DefaultStringId;
#else
UNREF(testData);
#endif
const ServerManufactureSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerManufactureSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getName(true);
#endif
}
if (!m_name.isLoaded())
@@ -852,6 +954,11 @@ const StringId ServerManufactureSchematicObjectTemplate::_IngredientSlot::getNam
}
const StringId value = m_name.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerManufactureSchematicObjectTemplate::_IngredientSlot::getName
@@ -869,7 +976,7 @@ void ServerManufactureSchematicObjectTemplate::_IngredientSlot::getIngredient(In
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredient in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -908,7 +1015,7 @@ void ServerManufactureSchematicObjectTemplate::_IngredientSlot::getIngredientMin
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredient in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -947,7 +1054,7 @@ void ServerManufactureSchematicObjectTemplate::_IngredientSlot::getIngredientMax
if (ms_allowDefaultTemplateParams && /*!versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter ingredient in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -973,6 +1080,16 @@ void ServerManufactureSchematicObjectTemplate::_IngredientSlot::getIngredientMax
data.skillCommand = param->getSkillCommand(versionOk);
} // ServerManufactureSchematicObjectTemplate::_IngredientSlot::getIngredientMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerManufactureSchematicObjectTemplate::_IngredientSlot::testValues(void) const
{
IGNORE_RETURN(getName(true));
} // ServerManufactureSchematicObjectTemplate::_IngredientSlot::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -981,8 +1098,8 @@ void ServerManufactureSchematicObjectTemplate::_IngredientSlot::getIngredientMax
*/
void ServerManufactureSchematicObjectTemplate::_IngredientSlot::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -1004,4 +1121,4 @@ void ServerManufactureSchematicObjectTemplate::_IngredientSlot::load(Iff &file)
UNREF(file);
} // ServerManufactureSchematicObjectTemplate::_IngredientSlot::load
//@END TFD
//@END TFD
@@ -68,11 +68,16 @@ protected:
virtual Tag getId(void) const;
public:
const StringId getName(bool versionOk) const;
const StringId getName(bool versionOk, bool testData = false) const;
void getIngredient(Ingredient &data, bool versionOk) const;
void getIngredientMin(Ingredient &data, bool versionOk) const;
void getIngredientMax(Ingredient &data, bool versionOk) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -90,20 +95,25 @@ private:
friend class ServerManufactureSchematicObjectTemplate::_IngredientSlot;
public:
const std::string & getDraftSchematic() const;
const std::string & getCreator() const;
const std::string & getDraftSchematic(bool testData = false) const;
const std::string & getCreator(bool testData = false) const;
void getIngredients(IngredientSlot &data, int index) const;
void getIngredientsMin(IngredientSlot &data, int index) const;
void getIngredientsMax(IngredientSlot &data, int index) const;
size_t getIngredientsCount(void) const;
int getItemCount() const;
int getItemCountMin() const;
int getItemCountMax() const;
int getItemCount(bool testData = false) const;
int getItemCountMin(bool testData = false) const;
int getItemCountMax(bool testData = false) const;
void getAttributes(SchematicAttribute &data, int index) const;
void getAttributesMin(SchematicAttribute &data, int index) const;
void getAttributesMax(SchematicAttribute &data, int index) const;
size_t getAttributesCount(void) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -0,0 +1,176 @@
//========================================================================
//
// ServerMissionBoardObjectTemplate.cpp
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#include "serverGame/FirstServerGame.h"
#include "ServerMissionBoardObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
#include "sharedMath/Vector.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerMissionBoardObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerMissionBoardObjectTemplate::ServerMissionBoardObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerUniverseObjectTemplate(filename)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerMissionBoardObjectTemplate::ServerMissionBoardObjectTemplate
/**
* Class destructor.
*/
ServerMissionBoardObjectTemplate::~ServerMissionBoardObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerMissionBoardObjectTemplate::~ServerMissionBoardObjectTemplate
/**
* Static function used to register this template.
*/
void ServerMissionBoardObjectTemplate::registerMe(void)
{
ObjectTemplateList::registerTemplate(ServerMissionBoardObjectTemplate_tag, create);
} // ServerMissionBoardObjectTemplate::registerMe
/**
* Creates a ServerMissionBoardObjectTemplate template.
*
* @return a new instance of the template
*/
ObjectTemplate * ServerMissionBoardObjectTemplate::create(const std::string & filename)
{
return new ServerMissionBoardObjectTemplate(filename);
} // ServerMissionBoardObjectTemplate::create
/**
* Returns the template id.
*
* @return the template id
*/
Tag ServerMissionBoardObjectTemplate::getId(void) const
{
return ServerMissionBoardObjectTemplate_tag;
} // ServerMissionBoardObjectTemplate::getId
/**
* Returns this template's version.
*
* @return the version
*/
Tag ServerMissionBoardObjectTemplate::getTemplateVersion(void) const
{
return m_templateVersion;
} // ServerMissionBoardObjectTemplate::getTemplateVersion
/**
* Returns the highest version of this template or it's base templates.
*
* @return the highest version
*/
Tag ServerMissionBoardObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
return m_templateVersion;
const ServerMissionBoardObjectTemplate * base = dynamic_cast<const ServerMissionBoardObjectTemplate *>(m_baseData);
if (base == nullptr)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerMissionBoardObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerMissionBoardObjectTemplate::testValues(void) const
{
ServerUniverseObjectTemplate::testValues();
} // ServerMissionBoardObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
*
* @param file file to load from
*/
void ServerMissionBoardObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerMissionBoardObjectTemplate_tag)
{
ServerUniverseObjectTemplate::load(file);
return;
}
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
std::string baseFilename;
file.read_string(baseFilename);
file.exitChunk();
const ObjectTemplate *base = ObjectTemplateList::fetch(baseFilename);
DEBUG_WARNING(base == nullptr, ("was unable to load base template %s", baseFilename.c_str()));
if (m_baseData == base && base != nullptr)
base->releaseReference();
else
{
if (m_baseData != nullptr)
m_baseData->releaseReference();
m_baseData = base;
}
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
file.enterForm();
file.enterChunk();
int paramCount = file.read_int32();
file.exitChunk();
UNREF(paramName);
UNREF(paramCount);
file.exitForm();
ServerUniverseObjectTemplate::load(file);
file.exitForm();
return;
} // ServerMissionBoardObjectTemplate::load
//@END TFD
@@ -0,0 +1,83 @@
//========================================================================
//
// ServerMissionBoardObjectTemplate.h
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#ifndef _INCLUDED_ServerMissionBoardObjectTemplate_H
#define _INCLUDED_ServerMissionBoardObjectTemplate_H
#include "ServerUniverseObjectTemplate.h"
#include "sharedFoundation/DynamicVariable.h"
#include "sharedUtility/TemplateParameter.h"
class Vector;
typedef StructParam<ObjectTemplate> StructParamOT;
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
class ServerMissionBoardObjectTemplate : public ServerUniverseObjectTemplate
{
public:
//@BEGIN TFD ID
enum
{
ServerMissionBoardObjectTemplate_tag = TAG(M,I,S,B)
};
//@END TFD ID
public:
ServerMissionBoardObjectTemplate(const std::string & filename);
virtual ~ServerMissionBoardObjectTemplate();
virtual Tag getId(void) const;
virtual Tag getTemplateVersion(void) const;
virtual Tag getHighestTemplateVersion(void) const;
static void install(bool allowDefaultTemplateParams = true);
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
private:
//@END TFD
private:
Tag m_templateVersion; // the template version
bool m_versionOk; // flag that the template version loaded is the one we expect
static bool ms_allowDefaultTemplateParams; // flag to allow defaut params instead of fataling
static void registerMe(void);
static ObjectTemplate * create(const std::string & filename);
// no copying
ServerMissionBoardObjectTemplate(const ServerMissionBoardObjectTemplate &);
ServerMissionBoardObjectTemplate & operator =(const ServerMissionBoardObjectTemplate &);
};
inline void ServerMissionBoardObjectTemplate::install(bool allowDefaultTemplateParams)
{
ms_allowDefaultTemplateParams = allowDefaultTemplateParams;
//@BEGIN TFD INSTALL
ServerMissionBoardObjectTemplate::registerMe();
//@END TFD INSTALL
}
#endif // _INCLUDED_ServerMissionBoardObjectTemplate_H
@@ -0,0 +1,176 @@
//========================================================================
//
// ServerMissionDataObjectTemplate.cpp
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#include "serverGame/FirstServerGame.h"
#include "ServerMissionDataObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
#include "sharedMath/Vector.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerMissionDataObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerMissionDataObjectTemplate::ServerMissionDataObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerMissionDataObjectTemplate::ServerMissionDataObjectTemplate
/**
* Class destructor.
*/
ServerMissionDataObjectTemplate::~ServerMissionDataObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerMissionDataObjectTemplate::~ServerMissionDataObjectTemplate
/**
* Static function used to register this template.
*/
void ServerMissionDataObjectTemplate::registerMe(void)
{
ObjectTemplateList::registerTemplate(ServerMissionDataObjectTemplate_tag, create);
} // ServerMissionDataObjectTemplate::registerMe
/**
* Creates a ServerMissionDataObjectTemplate template.
*
* @return a new instance of the template
*/
ObjectTemplate * ServerMissionDataObjectTemplate::create(const std::string & filename)
{
return new ServerMissionDataObjectTemplate(filename);
} // ServerMissionDataObjectTemplate::create
/**
* Returns the template id.
*
* @return the template id
*/
Tag ServerMissionDataObjectTemplate::getId(void) const
{
return ServerMissionDataObjectTemplate_tag;
} // ServerMissionDataObjectTemplate::getId
/**
* Returns this template's version.
*
* @return the version
*/
Tag ServerMissionDataObjectTemplate::getTemplateVersion(void) const
{
return m_templateVersion;
} // ServerMissionDataObjectTemplate::getTemplateVersion
/**
* Returns the highest version of this template or it's base templates.
*
* @return the highest version
*/
Tag ServerMissionDataObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
return m_templateVersion;
const ServerMissionDataObjectTemplate * base = dynamic_cast<const ServerMissionDataObjectTemplate *>(m_baseData);
if (base == nullptr)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerMissionDataObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerMissionDataObjectTemplate::testValues(void) const
{
ServerIntangibleObjectTemplate::testValues();
} // ServerMissionDataObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
*
* @param file file to load from
*/
void ServerMissionDataObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerMissionDataObjectTemplate_tag)
{
ServerIntangibleObjectTemplate::load(file);
return;
}
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
std::string baseFilename;
file.read_string(baseFilename);
file.exitChunk();
const ObjectTemplate *base = ObjectTemplateList::fetch(baseFilename);
DEBUG_WARNING(base == nullptr, ("was unable to load base template %s", baseFilename.c_str()));
if (m_baseData == base && base != nullptr)
base->releaseReference();
else
{
if (m_baseData != nullptr)
m_baseData->releaseReference();
m_baseData = base;
}
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
file.enterForm();
file.enterChunk();
int paramCount = file.read_int32();
file.exitChunk();
UNREF(paramName);
UNREF(paramCount);
file.exitForm();
ServerIntangibleObjectTemplate::load(file);
file.exitForm();
return;
} // ServerMissionDataObjectTemplate::load
//@END TFD
@@ -0,0 +1,83 @@
//========================================================================
//
// ServerMissionDataObjectTemplate.h
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#ifndef _INCLUDED_ServerMissionDataObjectTemplate_H
#define _INCLUDED_ServerMissionDataObjectTemplate_H
#include "ServerIntangibleObjectTemplate.h"
#include "sharedFoundation/DynamicVariable.h"
#include "sharedUtility/TemplateParameter.h"
class Vector;
typedef StructParam<ObjectTemplate> StructParamOT;
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
class ServerMissionDataObjectTemplate : public ServerIntangibleObjectTemplate
{
public:
//@BEGIN TFD ID
enum
{
ServerMissionDataObjectTemplate_tag = TAG(M,I,S,D)
};
//@END TFD ID
public:
ServerMissionDataObjectTemplate(const std::string & filename);
virtual ~ServerMissionDataObjectTemplate();
virtual Tag getId(void) const;
virtual Tag getTemplateVersion(void) const;
virtual Tag getHighestTemplateVersion(void) const;
static void install(bool allowDefaultTemplateParams = true);
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
private:
//@END TFD
private:
Tag m_templateVersion; // the template version
bool m_versionOk; // flag that the template version loaded is the one we expect
static bool ms_allowDefaultTemplateParams; // flag to allow defaut params instead of fataling
static void registerMe(void);
static ObjectTemplate * create(const std::string & filename);
// no copying
ServerMissionDataObjectTemplate(const ServerMissionDataObjectTemplate &);
ServerMissionDataObjectTemplate & operator =(const ServerMissionDataObjectTemplate &);
};
inline void ServerMissionDataObjectTemplate::install(bool allowDefaultTemplateParams)
{
ms_allowDefaultTemplateParams = allowDefaultTemplateParams;
//@BEGIN TFD INSTALL
ServerMissionDataObjectTemplate::registerMe();
//@END TFD INSTALL
}
#endif // _INCLUDED_ServerMissionDataObjectTemplate_H
@@ -0,0 +1,176 @@
//========================================================================
//
// ServerMissionListEntryObjectTemplate.cpp
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#include "serverGame/FirstServerGame.h"
#include "ServerMissionListEntryObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
#include "sharedMath/Vector.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerMissionListEntryObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerMissionListEntryObjectTemplate::ServerMissionListEntryObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerMissionListEntryObjectTemplate::ServerMissionListEntryObjectTemplate
/**
* Class destructor.
*/
ServerMissionListEntryObjectTemplate::~ServerMissionListEntryObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerMissionListEntryObjectTemplate::~ServerMissionListEntryObjectTemplate
/**
* Static function used to register this template.
*/
void ServerMissionListEntryObjectTemplate::registerMe(void)
{
ObjectTemplateList::registerTemplate(ServerMissionListEntryObjectTemplate_tag, create);
} // ServerMissionListEntryObjectTemplate::registerMe
/**
* Creates a ServerMissionListEntryObjectTemplate template.
*
* @return a new instance of the template
*/
ObjectTemplate * ServerMissionListEntryObjectTemplate::create(const std::string & filename)
{
return new ServerMissionListEntryObjectTemplate(filename);
} // ServerMissionListEntryObjectTemplate::create
/**
* Returns the template id.
*
* @return the template id
*/
Tag ServerMissionListEntryObjectTemplate::getId(void) const
{
return ServerMissionListEntryObjectTemplate_tag;
} // ServerMissionListEntryObjectTemplate::getId
/**
* Returns this template's version.
*
* @return the version
*/
Tag ServerMissionListEntryObjectTemplate::getTemplateVersion(void) const
{
return m_templateVersion;
} // ServerMissionListEntryObjectTemplate::getTemplateVersion
/**
* Returns the highest version of this template or it's base templates.
*
* @return the highest version
*/
Tag ServerMissionListEntryObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
return m_templateVersion;
const ServerMissionListEntryObjectTemplate * base = dynamic_cast<const ServerMissionListEntryObjectTemplate *>(m_baseData);
if (base == nullptr)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerMissionListEntryObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerMissionListEntryObjectTemplate::testValues(void) const
{
ServerIntangibleObjectTemplate::testValues();
} // ServerMissionListEntryObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
*
* @param file file to load from
*/
void ServerMissionListEntryObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerMissionListEntryObjectTemplate_tag)
{
ServerIntangibleObjectTemplate::load(file);
return;
}
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
std::string baseFilename;
file.read_string(baseFilename);
file.exitChunk();
const ObjectTemplate *base = ObjectTemplateList::fetch(baseFilename);
DEBUG_WARNING(base == nullptr, ("was unable to load base template %s", baseFilename.c_str()));
if (m_baseData == base && base != nullptr)
base->releaseReference();
else
{
if (m_baseData != nullptr)
m_baseData->releaseReference();
m_baseData = base;
}
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
file.enterForm();
file.enterChunk();
int paramCount = file.read_int32();
file.exitChunk();
UNREF(paramName);
UNREF(paramCount);
file.exitForm();
ServerIntangibleObjectTemplate::load(file);
file.exitForm();
return;
} // ServerMissionListEntryObjectTemplate::load
//@END TFD
@@ -0,0 +1,83 @@
//========================================================================
//
// ServerMissionListEntryObjectTemplate.h
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#ifndef _INCLUDED_ServerMissionListEntryObjectTemplate_H
#define _INCLUDED_ServerMissionListEntryObjectTemplate_H
#include "ServerIntangibleObjectTemplate.h"
#include "sharedFoundation/DynamicVariable.h"
#include "sharedUtility/TemplateParameter.h"
class Vector;
typedef StructParam<ObjectTemplate> StructParamOT;
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
class ServerMissionListEntryObjectTemplate : public ServerIntangibleObjectTemplate
{
public:
//@BEGIN TFD ID
enum
{
ServerMissionListEntryObjectTemplate_tag = TAG(M,L,E,O)
};
//@END TFD ID
public:
ServerMissionListEntryObjectTemplate(const std::string & filename);
virtual ~ServerMissionListEntryObjectTemplate();
virtual Tag getId(void) const;
virtual Tag getTemplateVersion(void) const;
virtual Tag getHighestTemplateVersion(void) const;
static void install(bool allowDefaultTemplateParams = true);
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
private:
//@END TFD
private:
Tag m_templateVersion; // the template version
bool m_versionOk; // flag that the template version loaded is the one we expect
static bool ms_allowDefaultTemplateParams; // flag to allow defaut params instead of fataling
static void registerMe(void);
static ObjectTemplate * create(const std::string & filename);
// no copying
ServerMissionListEntryObjectTemplate(const ServerMissionListEntryObjectTemplate &);
ServerMissionListEntryObjectTemplate & operator =(const ServerMissionListEntryObjectTemplate &);
};
inline void ServerMissionListEntryObjectTemplate::install(bool allowDefaultTemplateParams)
{
ms_allowDefaultTemplateParams = allowDefaultTemplateParams;
//@BEGIN TFD INSTALL
ServerMissionListEntryObjectTemplate::registerMe();
//@END TFD INSTALL
}
#endif // _INCLUDED_ServerMissionListEntryObjectTemplate_H
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerMissionObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerMissionObjectTemplate::ServerMissionObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerMissionObjectTemplate::ServerMissionObjectTemplate
@@ -44,8 +44,8 @@ ServerMissionObjectTemplate::ServerMissionObjectTemplate(const std::string & fil
*/
ServerMissionObjectTemplate::~ServerMissionObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerMissionObjectTemplate::~ServerMissionObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerMissionObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerMissionObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerMissionObjectTemplate * base = dynamic_cast<const ServerMissionObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerMissionObjectTemplate::getHighestTemplateVersion
@@ -112,6 +112,15 @@ Object * ServerMissionObjectTemplate::createObject(void) const
} // ServerMissionObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerMissionObjectTemplate::testValues(void) const
{
ServerIntangibleObjectTemplate::testValues();
} // ServerMissionObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -121,8 +130,8 @@ Object * ServerMissionObjectTemplate::createObject(void) const
*/
void ServerMissionObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerMissionObjectTemplate_tag)
{
@@ -132,7 +141,7 @@ void ServerMissionObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -152,8 +161,10 @@ void ServerMissionObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -171,4 +182,4 @@ void ServerMissionObjectTemplate::load(Iff &file)
return;
} // ServerMissionObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
File diff suppressed because it is too large Load Diff
+73 -48
View File
@@ -317,20 +317,25 @@ protected:
virtual Tag getId(void) const;
public:
Attributes getTarget(bool versionOk) const;
int getValue(bool versionOk) const;
int getValueMin(bool versionOk) const;
int getValueMax(bool versionOk) const;
float getTime(bool versionOk) const;
float getTimeMin(bool versionOk) const;
float getTimeMax(bool versionOk) const;
float getTimeAtValue(bool versionOk) const;
float getTimeAtValueMin(bool versionOk) const;
float getTimeAtValueMax(bool versionOk) const;
float getDecay(bool versionOk) const;
float getDecayMin(bool versionOk) const;
float getDecayMax(bool versionOk) const;
Attributes getTarget(bool versionOk, bool testData = false) const;
int getValue(bool versionOk, bool testData = false) const;
int getValueMin(bool versionOk, bool testData = false) const;
int getValueMax(bool versionOk, bool testData = false) const;
float getTime(bool versionOk, bool testData = false) const;
float getTimeMin(bool versionOk, bool testData = false) const;
float getTimeMax(bool versionOk, bool testData = false) const;
float getTimeAtValue(bool versionOk, bool testData = false) const;
float getTimeAtValueMin(bool versionOk, bool testData = false) const;
float getTimeAtValueMax(bool versionOk, bool testData = false) const;
float getDecay(bool versionOk, bool testData = false) const;
float getDecayMin(bool versionOk, bool testData = false) const;
float getDecayMax(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -366,20 +371,25 @@ private:
virtual Tag getId(void) const;
public:
MentalStates getTarget(bool versionOk) const;
float getValue(bool versionOk) const;
float getValueMin(bool versionOk) const;
float getValueMax(bool versionOk) const;
float getTime(bool versionOk) const;
float getTimeMin(bool versionOk) const;
float getTimeMax(bool versionOk) const;
float getTimeAtValue(bool versionOk) const;
float getTimeAtValueMin(bool versionOk) const;
float getTimeAtValueMax(bool versionOk) const;
float getDecay(bool versionOk) const;
float getDecayMin(bool versionOk) const;
float getDecayMax(bool versionOk) const;
MentalStates getTarget(bool versionOk, bool testData = false) const;
float getValue(bool versionOk, bool testData = false) const;
float getValueMin(bool versionOk, bool testData = false) const;
float getValueMax(bool versionOk, bool testData = false) const;
float getTime(bool versionOk, bool testData = false) const;
float getTimeMin(bool versionOk, bool testData = false) const;
float getTimeMax(bool versionOk, bool testData = false) const;
float getTimeAtValue(bool versionOk, bool testData = false) const;
float getTimeAtValueMin(bool versionOk, bool testData = false) const;
float getTimeAtValueMax(bool versionOk, bool testData = false) const;
float getDecay(bool versionOk, bool testData = false) const;
float getDecayMin(bool versionOk, bool testData = false) const;
float getDecayMax(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -415,10 +425,15 @@ private:
virtual Tag getId(void) const;
public:
const std::string & getSlotName(bool versionOk) const;
bool getEquipObject(bool versionOk) const;
const std::string & getSlotName(bool versionOk, bool testData = false) const;
bool getEquipObject(bool versionOk, bool testData = false) const;
const ServerObjectTemplate * getContent(bool versionOk) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -452,14 +467,19 @@ private:
virtual Tag getId(void) const;
public:
XpTypes getType(bool versionOk) const;
int getLevel(bool versionOk) const;
int getLevelMin(bool versionOk) const;
int getLevelMax(bool versionOk) const;
int getValue(bool versionOk) const;
int getValueMin(bool versionOk) const;
int getValueMax(bool versionOk) const;
XpTypes getType(bool versionOk, bool testData = false) const;
int getLevel(bool versionOk, bool testData = false) const;
int getLevelMin(bool versionOk, bool testData = false) const;
int getLevelMax(bool versionOk, bool testData = false) const;
int getValue(bool versionOk, bool testData = false) const;
int getValueMin(bool versionOk, bool testData = false) const;
int getValueMax(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -478,26 +498,26 @@ private:
friend class ServerObjectTemplate::_Xp;
public:
const std::string & getSharedTemplate() const;
const std::string & getSharedTemplate(bool testData = false) const;
const std::string & getScripts(int index) const;
size_t getScriptsCount(void) const;
void getObjvars(DynamicVariableList &list) const;
int getVolume() const;
int getVolumeMin() const;
int getVolumeMax() const;
int getVolume(bool testData = false) const;
int getVolumeMin(bool testData = false) const;
int getVolumeMax(bool testData = false) const;
VisibleFlags getVisibleFlags(int index) const;
size_t getVisibleFlagsCount(void) const;
DeleteFlags getDeleteFlags(int index) const;
size_t getDeleteFlagsCount(void) const;
MoveFlags getMoveFlags(int index) const;
size_t getMoveFlagsCount(void) const;
bool getInvulnerable() const;
float getComplexity() const;
float getComplexityMin() const;
float getComplexityMax() const;
int getTintIndex() const;
int getTintIndexMin() const;
int getTintIndexMax() const;
bool getInvulnerable(bool testData = false) const;
float getComplexity(bool testData = false) const;
float getComplexityMin(bool testData = false) const;
float getComplexityMax(bool testData = false) const;
int getTintIndex(bool testData = false) const;
int getTintIndexMin(bool testData = false) const;
int getTintIndexMax(bool testData = false) const;
float getUpdateRanges(UpdateRanges index) const;
float getUpdateRangesMin(UpdateRanges index) const;
float getUpdateRangesMax(UpdateRanges index) const;
@@ -509,9 +529,14 @@ public:
void getXpPointsMin(Xp &data, int index) const;
void getXpPointsMax(Xp &data, int index) const;
size_t getXpPointsCount(void) const;
bool getPersistByDefault() const;
bool getPersistContents() const;
bool getPersistByDefault(bool testData = false) const;
bool getPersistContents(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerPlanetObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerPlanetObjectTemplate::ServerPlanetObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerPlanetObjectTemplate::ServerPlanetObjectTemplate
@@ -44,8 +44,8 @@ ServerPlanetObjectTemplate::ServerPlanetObjectTemplate(const std::string & filen
*/
ServerPlanetObjectTemplate::~ServerPlanetObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerPlanetObjectTemplate::~ServerPlanetObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerPlanetObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerPlanetObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerPlanetObjectTemplate * base = dynamic_cast<const ServerPlanetObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerPlanetObjectTemplate::getHighestTemplateVersion
@@ -112,12 +112,22 @@ Object * ServerPlanetObjectTemplate::createObject(void) const
} // ServerPlanetObjectTemplate::createObject
//@BEGIN TFD
const std::string & ServerPlanetObjectTemplate::getPlanetName() const
const std::string & ServerPlanetObjectTemplate::getPlanetName(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerPlanetObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerPlanetObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getPlanetName(true);
#endif
}
if (!m_planetName.isLoaded())
@@ -135,10 +145,26 @@ const std::string & ServerPlanetObjectTemplate::getPlanetName() const
}
const std::string & value = m_planetName.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerPlanetObjectTemplate::getPlanetName
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerPlanetObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getPlanetName(true));
ServerUniverseObjectTemplate::testValues();
} // ServerPlanetObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -147,8 +173,8 @@ const std::string & ServerPlanetObjectTemplate::getPlanetName() const
*/
void ServerPlanetObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerPlanetObjectTemplate_tag)
{
@@ -158,7 +184,7 @@ void ServerPlanetObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -178,8 +204,10 @@ void ServerPlanetObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -203,4 +231,4 @@ void ServerPlanetObjectTemplate::load(Iff &file)
return;
} // ServerPlanetObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,8 +44,13 @@ public:
//@BEGIN TFD
public:
const std::string & getPlanetName() const;
const std::string & getPlanetName(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -12,7 +12,7 @@
#include "serverGame/FirstServerGame.h"
#include "ServerPlayerObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
@@ -24,20 +24,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerPlayerObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerPlayerObjectTemplate::ServerPlayerObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerPlayerObjectTemplate::ServerPlayerObjectTemplate
@@ -46,8 +46,8 @@ ServerPlayerObjectTemplate::ServerPlayerObjectTemplate(const std::string & filen
*/
ServerPlayerObjectTemplate::~ServerPlayerObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerPlayerObjectTemplate::~ServerPlayerObjectTemplate
/**
@@ -95,10 +95,10 @@ Tag ServerPlayerObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerPlayerObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerPlayerObjectTemplate * base = dynamic_cast<const ServerPlayerObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerPlayerObjectTemplate::getHighestTemplateVersion
@@ -114,6 +114,15 @@ Object * ServerPlayerObjectTemplate::createObject(void) const
} // ServerPlayerObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerPlayerObjectTemplate::testValues(void) const
{
ServerIntangibleObjectTemplate::testValues();
} // ServerPlayerObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -123,8 +132,8 @@ Object * ServerPlayerObjectTemplate::createObject(void) const
*/
void ServerPlayerObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerPlayerObjectTemplate_tag)
{
@@ -134,7 +143,7 @@ void ServerPlayerObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -154,8 +163,10 @@ void ServerPlayerObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -173,4 +184,4 @@ void ServerPlayerObjectTemplate::load(Iff &file)
return;
} // ServerPlayerObjectTemplate::load
//@END TFD
//@END TFD
@@ -48,6 +48,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -13,7 +13,7 @@
#include "serverGame/FirstServerGame.h"
#include "serverGame/PlayerQuestObject.h"
#include "ServerPlayerQuestObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedMath/Vector.h"
#include "sharedObject/ObjectTemplate.h"
@@ -24,20 +24,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerPlayerQuestObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerPlayerQuestObjectTemplate::ServerPlayerQuestObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerPlayerQuestObjectTemplate::ServerPlayerQuestObjectTemplate
@@ -46,8 +46,8 @@ ServerPlayerQuestObjectTemplate::ServerPlayerQuestObjectTemplate(const std::stri
*/
ServerPlayerQuestObjectTemplate::~ServerPlayerQuestObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerPlayerQuestObjectTemplate::~ServerPlayerQuestObjectTemplate
/**
@@ -95,10 +95,10 @@ Tag ServerPlayerQuestObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerPlayerQuestObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerPlayerQuestObjectTemplate * base = dynamic_cast<const ServerPlayerQuestObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerPlayerQuestObjectTemplate::getHighestTemplateVersion
@@ -113,7 +113,17 @@ Object * ServerPlayerQuestObjectTemplate::createObject(void) const
return new PlayerQuestObject(this);
} // ServerMissionObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerPlayerQuestObjectTemplate::testValues(void) const
{
ServerTangibleObjectTemplate::testValues();
} // ServerPlayerQuestObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -123,8 +133,8 @@ Object * ServerPlayerQuestObjectTemplate::createObject(void) const
*/
void ServerPlayerQuestObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerPlayerQuestObjectTemplate_tag)
{
@@ -134,7 +144,7 @@ void ServerPlayerQuestObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -154,8 +164,10 @@ void ServerPlayerQuestObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -173,4 +185,4 @@ void ServerPlayerQuestObjectTemplate::load(Iff &file)
return;
} // ServerPlayerQuestObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerResourceContainerObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerResourceContainerObjectTemplate::ServerResourceContainerObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerResourceContainerObjectTemplate::ServerResourceContainerObjectTemplate
@@ -44,8 +44,8 @@ ServerResourceContainerObjectTemplate::ServerResourceContainerObjectTemplate(con
*/
ServerResourceContainerObjectTemplate::~ServerResourceContainerObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerResourceContainerObjectTemplate::~ServerResourceContainerObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerResourceContainerObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerResourceContainerObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerResourceContainerObjectTemplate * base = dynamic_cast<const ServerResourceContainerObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerResourceContainerObjectTemplate::getHighestTemplateVersion
@@ -112,12 +112,22 @@ Object * ServerResourceContainerObjectTemplate::createObject(void) const
} // ServerResourceContainerObjectTemplate::createObject
//@BEGIN TFD
int ServerResourceContainerObjectTemplate::getMaxResources() const
int ServerResourceContainerObjectTemplate::getMaxResources(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerResourceContainerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerResourceContainerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxResources(true);
#endif
}
if (!m_maxResources.isLoaded())
@@ -157,16 +167,31 @@ int ServerResourceContainerObjectTemplate::getMaxResources() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerResourceContainerObjectTemplate::getMaxResources
int ServerResourceContainerObjectTemplate::getMaxResourcesMin() const
int ServerResourceContainerObjectTemplate::getMaxResourcesMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerResourceContainerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerResourceContainerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxResourcesMin(true);
#endif
}
if (!m_maxResources.isLoaded())
@@ -206,16 +231,31 @@ int ServerResourceContainerObjectTemplate::getMaxResourcesMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerResourceContainerObjectTemplate::getMaxResourcesMin
int ServerResourceContainerObjectTemplate::getMaxResourcesMax() const
int ServerResourceContainerObjectTemplate::getMaxResourcesMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerResourceContainerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerResourceContainerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxResourcesMax(true);
#endif
}
if (!m_maxResources.isLoaded())
@@ -255,10 +295,27 @@ int ServerResourceContainerObjectTemplate::getMaxResourcesMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerResourceContainerObjectTemplate::getMaxResourcesMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerResourceContainerObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getMaxResourcesMin(true));
IGNORE_RETURN(getMaxResourcesMax(true));
ServerTangibleObjectTemplate::testValues();
} // ServerResourceContainerObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -267,8 +324,8 @@ int ServerResourceContainerObjectTemplate::getMaxResourcesMax() const
*/
void ServerResourceContainerObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerResourceContainerObjectTemplate_tag)
{
@@ -278,7 +335,7 @@ void ServerResourceContainerObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -298,8 +355,10 @@ void ServerResourceContainerObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -323,4 +382,4 @@ void ServerResourceContainerObjectTemplate::load(Iff &file)
return;
} // ServerResourceContainerObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,10 +44,15 @@ public:
//@BEGIN TFD
public:
int getMaxResources() const;
int getMaxResourcesMin() const;
int getMaxResourcesMax() const;
int getMaxResources(bool testData = false) const;
int getMaxResourcesMin(bool testData = false) const;
int getMaxResourcesMax(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -13,7 +13,7 @@
#include "serverGame/FirstServerGame.h"
#include "ServerShipObjectTemplate.h"
#include "serverGame/ShipObject.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerShipObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerShipObjectTemplate::ServerShipObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerShipObjectTemplate::ServerShipObjectTemplate
@@ -45,8 +45,8 @@ ServerShipObjectTemplate::ServerShipObjectTemplate(const std::string & filename)
*/
ServerShipObjectTemplate::~ServerShipObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerShipObjectTemplate::~ServerShipObjectTemplate
/**
@@ -94,10 +94,10 @@ Tag ServerShipObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerShipObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerShipObjectTemplate * base = dynamic_cast<const ServerShipObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerShipObjectTemplate::getHighestTemplateVersion
@@ -113,12 +113,22 @@ Object * ServerShipObjectTemplate::createObject(void) const
} // ServerShipObjectTemplate::createObject
//@BEGIN TFD
const std::string & ServerShipObjectTemplate::getShipType() const
const std::string & ServerShipObjectTemplate::getShipType(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerShipObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerShipObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getShipType(true);
#endif
}
if (!m_shipType.isLoaded())
@@ -136,10 +146,26 @@ const std::string & ServerShipObjectTemplate::getShipType() const
}
const std::string & value = m_shipType.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerShipObjectTemplate::getShipType
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerShipObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getShipType(true));
ServerTangibleObjectTemplate::testValues();
} // ServerShipObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -148,8 +174,8 @@ const std::string & ServerShipObjectTemplate::getShipType() const
*/
void ServerShipObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerShipObjectTemplate_tag)
{
@@ -159,7 +185,7 @@ void ServerShipObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -179,8 +205,10 @@ void ServerShipObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -204,4 +232,4 @@ void ServerShipObjectTemplate::load(Iff &file)
return;
} // ServerShipObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,8 +44,13 @@ public:
//@BEGIN TFD
public:
const std::string & getShipType() const;
const std::string & getShipType(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerStaticObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerStaticObjectTemplate::ServerStaticObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerStaticObjectTemplate::ServerStaticObjectTemplate
@@ -44,8 +44,8 @@ ServerStaticObjectTemplate::ServerStaticObjectTemplate(const std::string & filen
*/
ServerStaticObjectTemplate::~ServerStaticObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerStaticObjectTemplate::~ServerStaticObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerStaticObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerStaticObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerStaticObjectTemplate * base = dynamic_cast<const ServerStaticObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerStaticObjectTemplate::getHighestTemplateVersion
@@ -112,12 +112,22 @@ Object * ServerStaticObjectTemplate::createObject(void) const
} // ServerStaticObjectTemplate::createObject
//@BEGIN TFD
bool ServerStaticObjectTemplate::getClientOnlyBuildout() const
bool ServerStaticObjectTemplate::getClientOnlyBuildout(bool testData) const
{
#ifdef _DEBUG
bool testDataValue = false;
#else
UNREF(testData);
#endif
const ServerStaticObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerStaticObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getClientOnlyBuildout(true);
#endif
}
if (!m_clientOnlyBuildout.isLoaded())
@@ -135,10 +145,26 @@ bool ServerStaticObjectTemplate::getClientOnlyBuildout() const
}
bool value = m_clientOnlyBuildout.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerStaticObjectTemplate::getClientOnlyBuildout
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerStaticObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getClientOnlyBuildout(true));
ServerObjectTemplate::testValues();
} // ServerStaticObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -147,8 +173,8 @@ bool ServerStaticObjectTemplate::getClientOnlyBuildout() const
*/
void ServerStaticObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerStaticObjectTemplate_tag)
{
@@ -158,7 +184,7 @@ void ServerStaticObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -178,8 +204,10 @@ void ServerStaticObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -203,4 +231,4 @@ void ServerStaticObjectTemplate::load(Iff &file)
return;
} // ServerStaticObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,8 +44,13 @@ public:
//@BEGIN TFD
public:
bool getClientOnlyBuildout() const;
bool getClientOnlyBuildout(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,22 +23,22 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerTangibleObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerTangibleObjectTemplate::ServerTangibleObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerObjectTemplate(filename)
, m_triggerVolumesLoaded(false)
, m_triggerVolumesAppend(false)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_triggerVolumesLoaded(false)
,m_triggerVolumesAppend(false)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerTangibleObjectTemplate::ServerTangibleObjectTemplate
@@ -47,7 +47,7 @@ ServerTangibleObjectTemplate::ServerTangibleObjectTemplate(const std::string & f
*/
ServerTangibleObjectTemplate::~ServerTangibleObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@BEGIN TFD CLEANUP
{
std::vector<TriggerVolumeParam *>::iterator iter;
for (iter = m_triggerVolumes.begin(); iter != m_triggerVolumes.end(); ++iter)
@@ -57,7 +57,7 @@ ServerTangibleObjectTemplate::~ServerTangibleObjectTemplate()
}
m_triggerVolumes.clear();
}
//@END TFD CLEANUP
//@END TFD CLEANUP
} // ServerTangibleObjectTemplate::~ServerTangibleObjectTemplate
/**
@@ -105,10 +105,10 @@ Tag ServerTangibleObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerTangibleObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerTangibleObjectTemplate * base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerTangibleObjectTemplate::getHighestTemplateVersion
@@ -124,7 +124,7 @@ Object * ServerTangibleObjectTemplate::createObject(void) const
} // ServerTangibleObjectTemplate::createObject
//@BEGIN TFD
const TriggerVolumeData ServerTangibleObjectTemplate::getTriggerVolumes(int index) const
const TriggerVolumeData & ServerTangibleObjectTemplate::getTriggerVolumes(int index) const
{
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
@@ -155,8 +155,7 @@ const TriggerVolumeData ServerTangibleObjectTemplate::getTriggerVolumes(int inde
}
DEBUG_FATAL(index < 0 || static_cast<size_t>(index) >= m_triggerVolumes.size(), ("template param index out of range"));
const TriggerVolumeData value = m_triggerVolumes[index]->getValue();
const TriggerVolumeData & value = m_triggerVolumes[index]->getValue();
return value;
} // ServerTangibleObjectTemplate::getTriggerVolumes
@@ -184,12 +183,22 @@ size_t ServerTangibleObjectTemplate::getTriggerVolumesCount(void) const
return count;
} // ServerTangibleObjectTemplate::getTriggerVolumesCount
ServerTangibleObjectTemplate::CombatSkeleton ServerTangibleObjectTemplate::getCombatSkeleton() const
ServerTangibleObjectTemplate::CombatSkeleton ServerTangibleObjectTemplate::getCombatSkeleton(bool testData) const
{
#ifdef _DEBUG
ServerTangibleObjectTemplate::CombatSkeleton testDataValue = static_cast<ServerTangibleObjectTemplate::CombatSkeleton>(0);
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCombatSkeleton(true);
#endif
}
if (!m_combatSkeleton.isLoaded())
@@ -207,16 +216,31 @@ ServerTangibleObjectTemplate::CombatSkeleton ServerTangibleObjectTemplate::getCo
}
CombatSkeleton value = static_cast<CombatSkeleton>(m_combatSkeleton.getValue());
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getCombatSkeleton
int ServerTangibleObjectTemplate::getMaxHitPoints() const
int ServerTangibleObjectTemplate::getMaxHitPoints(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxHitPoints(true);
#endif
}
if (!m_maxHitPoints.isLoaded())
@@ -256,16 +280,31 @@ int ServerTangibleObjectTemplate::getMaxHitPoints() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getMaxHitPoints
int ServerTangibleObjectTemplate::getMaxHitPointsMin() const
int ServerTangibleObjectTemplate::getMaxHitPointsMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxHitPointsMin(true);
#endif
}
if (!m_maxHitPoints.isLoaded())
@@ -305,16 +344,31 @@ int ServerTangibleObjectTemplate::getMaxHitPointsMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getMaxHitPointsMin
int ServerTangibleObjectTemplate::getMaxHitPointsMax() const
int ServerTangibleObjectTemplate::getMaxHitPointsMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxHitPointsMax(true);
#endif
}
if (!m_maxHitPoints.isLoaded())
@@ -354,6 +408,11 @@ int ServerTangibleObjectTemplate::getMaxHitPointsMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getMaxHitPointsMax
@@ -386,17 +445,27 @@ const ServerArmorTemplate * ServerTangibleObjectTemplate::getArmor() const
{
returnValue = dynamic_cast<const ServerArmorTemplate *>(ObjectTemplateList::fetch(templateName));
if (returnValue == nullptr)
WARNING_STRICT_FATAL(true, ("Error loading template %s", templateName.c_str()));
WARNING_STRICT_FATAL(true, ("Error loading template %s",templateName.c_str()));
}
return returnValue;
} // ServerTangibleObjectTemplate::getArmor
int ServerTangibleObjectTemplate::getInterestRadius() const
int ServerTangibleObjectTemplate::getInterestRadius(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getInterestRadius(true);
#endif
}
if (!m_interestRadius.isLoaded())
@@ -436,16 +505,31 @@ int ServerTangibleObjectTemplate::getInterestRadius() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getInterestRadius
int ServerTangibleObjectTemplate::getInterestRadiusMin() const
int ServerTangibleObjectTemplate::getInterestRadiusMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getInterestRadiusMin(true);
#endif
}
if (!m_interestRadius.isLoaded())
@@ -485,16 +569,31 @@ int ServerTangibleObjectTemplate::getInterestRadiusMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getInterestRadiusMin
int ServerTangibleObjectTemplate::getInterestRadiusMax() const
int ServerTangibleObjectTemplate::getInterestRadiusMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getInterestRadiusMax(true);
#endif
}
if (!m_interestRadius.isLoaded())
@@ -534,16 +633,31 @@ int ServerTangibleObjectTemplate::getInterestRadiusMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getInterestRadiusMax
int ServerTangibleObjectTemplate::getCount() const
int ServerTangibleObjectTemplate::getCount(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCount(true);
#endif
}
if (!m_count.isLoaded())
@@ -583,16 +697,31 @@ int ServerTangibleObjectTemplate::getCount() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getCount
int ServerTangibleObjectTemplate::getCountMin() const
int ServerTangibleObjectTemplate::getCountMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCountMin(true);
#endif
}
if (!m_count.isLoaded())
@@ -632,16 +761,31 @@ int ServerTangibleObjectTemplate::getCountMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getCountMin
int ServerTangibleObjectTemplate::getCountMax() const
int ServerTangibleObjectTemplate::getCountMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCountMax(true);
#endif
}
if (!m_count.isLoaded())
@@ -681,16 +825,31 @@ int ServerTangibleObjectTemplate::getCountMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getCountMax
int ServerTangibleObjectTemplate::getCondition() const
int ServerTangibleObjectTemplate::getCondition(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCondition(true);
#endif
}
if (!m_condition.isLoaded())
@@ -730,16 +889,31 @@ int ServerTangibleObjectTemplate::getCondition() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getCondition
int ServerTangibleObjectTemplate::getConditionMin() const
int ServerTangibleObjectTemplate::getConditionMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getConditionMin(true);
#endif
}
if (!m_condition.isLoaded())
@@ -779,16 +953,31 @@ int ServerTangibleObjectTemplate::getConditionMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getConditionMin
int ServerTangibleObjectTemplate::getConditionMax() const
int ServerTangibleObjectTemplate::getConditionMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getConditionMax(true);
#endif
}
if (!m_condition.isLoaded())
@@ -828,16 +1017,31 @@ int ServerTangibleObjectTemplate::getConditionMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getConditionMax
bool ServerTangibleObjectTemplate::getWantSawAttackTriggers() const
bool ServerTangibleObjectTemplate::getWantSawAttackTriggers(bool testData) const
{
#ifdef _DEBUG
bool testDataValue = false;
#else
UNREF(testData);
#endif
const ServerTangibleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerTangibleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getWantSawAttackTriggers(true);
#endif
}
if (!m_wantSawAttackTriggers.isLoaded())
@@ -855,10 +1059,35 @@ bool ServerTangibleObjectTemplate::getWantSawAttackTriggers() const
}
bool value = m_wantSawAttackTriggers.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerTangibleObjectTemplate::getWantSawAttackTriggers
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerTangibleObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getCombatSkeleton(true));
IGNORE_RETURN(getMaxHitPointsMin(true));
IGNORE_RETURN(getMaxHitPointsMax(true));
IGNORE_RETURN(getInterestRadiusMin(true));
IGNORE_RETURN(getInterestRadiusMax(true));
IGNORE_RETURN(getCountMin(true));
IGNORE_RETURN(getCountMax(true));
IGNORE_RETURN(getConditionMin(true));
IGNORE_RETURN(getConditionMax(true));
IGNORE_RETURN(getWantSawAttackTriggers(true));
ServerObjectTemplate::testValues();
} // ServerTangibleObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -867,8 +1096,8 @@ bool ServerTangibleObjectTemplate::getWantSawAttackTriggers() const
*/
void ServerTangibleObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerTangibleObjectTemplate_tag)
{
@@ -878,7 +1107,7 @@ void ServerTangibleObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -898,8 +1127,10 @@ void ServerTangibleObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 4))
if (getHighestTemplateVersion() != TAG(0,0,0,4))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -954,4 +1185,4 @@ void ServerTangibleObjectTemplate::load(Iff &file)
return;
} // ServerTangibleObjectTemplate::load
//@END TFD
//@END TFD
@@ -80,35 +80,46 @@ public:
C_inflightTutorial = 0x00800000,
C_spaceCombatMusic = 0x01000000, // Set programmatically by the AI system. Do not set this in the template.
C_encounterLocked = 0x02000000,
Conditions_Last = C_encounterLocked,
C_spawnedCreature = 0x04000000,
C_holidayInteresting = 0x08000000,
C_locked = 0x10000000,
Conditions_Last = C_locked,
};
public:
const TriggerVolumeData getTriggerVolumes(int index) const;
const TriggerVolumeData & getTriggerVolumes(int index) const;
size_t getTriggerVolumesCount(void) const;
CombatSkeleton getCombatSkeleton() const;
int getMaxHitPoints() const;
int getMaxHitPointsMin() const;
int getMaxHitPointsMax() const;
CombatSkeleton getCombatSkeleton(bool testData = false) const;
int getMaxHitPoints(bool testData = false) const;
int getMaxHitPointsMin(bool testData = false) const;
int getMaxHitPointsMax(bool testData = false) const;
const ServerArmorTemplate * getArmor() const;
int getInterestRadius() const;
int getInterestRadiusMin() const;
int getInterestRadiusMax() const;
int getCount() const;
int getCountMin() const;
int getCountMax() const;
int getCondition() const;
int getConditionMin() const;
int getConditionMax() const;
bool getWantSawAttackTriggers() const;
int getInterestRadius(bool testData = false) const;
int getInterestRadiusMin(bool testData = false) const;
int getInterestRadiusMax(bool testData = false) const;
int getCount(bool testData = false) const;
int getCountMin(bool testData = false) const;
int getCountMax(bool testData = false) const;
int getCondition(bool testData = false) const;
int getConditionMin(bool testData = false) const;
int getConditionMax(bool testData = false) const;
bool getWantSawAttackTriggers(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
private:
// these MUST be reflected in clientGame/TangibleObject.h
// these MUST be reflected in base_class.java
// these MUST be reflected in:
// //depot/swg/current/dsrc/sku.0/sys.server/compiled/game/object/tangible_object_template.tdf
// //depot/swg/current/dsrc/sku.0/sys.server/compiled/game/script/base_class.java
// //depot/swg/current/src/engine/client/library/clientGame/src/shared/object/TangibleObject.h
// //depot/swg/current/src/engine/server/library/serverGame/src/shared/object/TangibleObject.h
stdvector<TriggerVolumeParam *>::fwd m_triggerVolumes; // trigger volume(s) attached to the object
bool m_triggerVolumesLoaded;
bool m_triggerVolumesAppend;
@@ -0,0 +1,176 @@
//========================================================================
//
// ServerTokenObjectTemplate.cpp
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#include "serverGame/FirstServerGame.h"
#include "ServerTokenObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
#include "sharedMath/Vector.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerTokenObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerTokenObjectTemplate::ServerTokenObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerIntangibleObjectTemplate(filename)
,m_versionOk(true)
//@END TFD INIT
{
} // ServerTokenObjectTemplate::ServerTokenObjectTemplate
/**
* Class destructor.
*/
ServerTokenObjectTemplate::~ServerTokenObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerTokenObjectTemplate::~ServerTokenObjectTemplate
/**
* Static function used to register this template.
*/
void ServerTokenObjectTemplate::registerMe(void)
{
ObjectTemplateList::registerTemplate(ServerTokenObjectTemplate_tag, create);
} // ServerTokenObjectTemplate::registerMe
/**
* Creates a ServerTokenObjectTemplate template.
*
* @return a new instance of the template
*/
ObjectTemplate * ServerTokenObjectTemplate::create(const std::string & filename)
{
return new ServerTokenObjectTemplate(filename);
} // ServerTokenObjectTemplate::create
/**
* Returns the template id.
*
* @return the template id
*/
Tag ServerTokenObjectTemplate::getId(void) const
{
return ServerTokenObjectTemplate_tag;
} // ServerTokenObjectTemplate::getId
/**
* Returns this template's version.
*
* @return the version
*/
Tag ServerTokenObjectTemplate::getTemplateVersion(void) const
{
return m_templateVersion;
} // ServerTokenObjectTemplate::getTemplateVersion
/**
* Returns the highest version of this template or it's base templates.
*
* @return the highest version
*/
Tag ServerTokenObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
return m_templateVersion;
const ServerTokenObjectTemplate * base = dynamic_cast<const ServerTokenObjectTemplate *>(m_baseData);
if (base == nullptr)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerTokenObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerTokenObjectTemplate::testValues(void) const
{
ServerIntangibleObjectTemplate::testValues();
} // ServerTokenObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
*
* @param file file to load from
*/
void ServerTokenObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerTokenObjectTemplate_tag)
{
ServerIntangibleObjectTemplate::load(file);
return;
}
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
std::string baseFilename;
file.read_string(baseFilename);
file.exitChunk();
const ObjectTemplate *base = ObjectTemplateList::fetch(baseFilename);
DEBUG_WARNING(base == nullptr, ("was unable to load base template %s", baseFilename.c_str()));
if (m_baseData == base && base != nullptr)
base->releaseReference();
else
{
if (m_baseData != nullptr)
m_baseData->releaseReference();
m_baseData = base;
}
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
file.enterForm();
file.enterChunk();
int paramCount = file.read_int32();
file.exitChunk();
UNREF(paramName);
UNREF(paramCount);
file.exitForm();
ServerIntangibleObjectTemplate::load(file);
file.exitForm();
return;
} // ServerTokenObjectTemplate::load
//@END TFD
@@ -0,0 +1,83 @@
//========================================================================
//
// ServerTokenObjectTemplate.h
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#ifndef _INCLUDED_ServerTokenObjectTemplate_H
#define _INCLUDED_ServerTokenObjectTemplate_H
#include "ServerIntangibleObjectTemplate.h"
#include "sharedFoundation/DynamicVariable.h"
#include "sharedUtility/TemplateParameter.h"
class Vector;
typedef StructParam<ObjectTemplate> StructParamOT;
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
class ServerTokenObjectTemplate : public ServerIntangibleObjectTemplate
{
public:
//@BEGIN TFD ID
enum
{
ServerTokenObjectTemplate_tag = TAG(T,O,K,N)
};
//@END TFD ID
public:
ServerTokenObjectTemplate(const std::string & filename);
virtual ~ServerTokenObjectTemplate();
virtual Tag getId(void) const;
virtual Tag getTemplateVersion(void) const;
virtual Tag getHighestTemplateVersion(void) const;
static void install(bool allowDefaultTemplateParams = true);
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
private:
//@END TFD
private:
Tag m_templateVersion; // the template version
bool m_versionOk; // flag that the template version loaded is the one we expect
static bool ms_allowDefaultTemplateParams; // flag to allow defaut params instead of fataling
static void registerMe(void);
static ObjectTemplate * create(const std::string & filename);
// no copying
ServerTokenObjectTemplate(const ServerTokenObjectTemplate &);
ServerTokenObjectTemplate & operator =(const ServerTokenObjectTemplate &);
};
inline void ServerTokenObjectTemplate::install(bool allowDefaultTemplateParams)
{
ms_allowDefaultTemplateParams = allowDefaultTemplateParams;
//@BEGIN TFD INSTALL
ServerTokenObjectTemplate::registerMe();
//@END TFD INSTALL
}
#endif // _INCLUDED_ServerTokenObjectTemplate_H
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerUniverseObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerUniverseObjectTemplate::ServerUniverseObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerUniverseObjectTemplate::ServerUniverseObjectTemplate
@@ -44,8 +44,8 @@ ServerUniverseObjectTemplate::ServerUniverseObjectTemplate(const std::string & f
*/
ServerUniverseObjectTemplate::~ServerUniverseObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerUniverseObjectTemplate::~ServerUniverseObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerUniverseObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerUniverseObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerUniverseObjectTemplate * base = dynamic_cast<const ServerUniverseObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerUniverseObjectTemplate::getHighestTemplateVersion
@@ -112,6 +112,15 @@ Object * ServerUniverseObjectTemplate::createObject(void) const
} // ServerUniverseObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerUniverseObjectTemplate::testValues(void) const
{
ServerObjectTemplate::testValues();
} // ServerUniverseObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -121,8 +130,8 @@ Object * ServerUniverseObjectTemplate::createObject(void) const
*/
void ServerUniverseObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerUniverseObjectTemplate_tag)
{
@@ -132,7 +141,7 @@ void ServerUniverseObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -152,8 +161,10 @@ void ServerUniverseObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -171,4 +182,4 @@ void ServerUniverseObjectTemplate::load(Iff &file)
return;
} // ServerUniverseObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -22,20 +22,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerVehicleObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerVehicleObjectTemplate::ServerVehicleObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerVehicleObjectTemplate::ServerVehicleObjectTemplate
@@ -44,8 +44,8 @@ ServerVehicleObjectTemplate::ServerVehicleObjectTemplate(const std::string & fil
*/
ServerVehicleObjectTemplate::~ServerVehicleObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerVehicleObjectTemplate::~ServerVehicleObjectTemplate
/**
@@ -93,10 +93,10 @@ Tag ServerVehicleObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerVehicleObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerVehicleObjectTemplate * base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerVehicleObjectTemplate::getHighestTemplateVersion
@@ -112,12 +112,22 @@ Object * ServerVehicleObjectTemplate::createObject(void) const
} // ServerVehicleObjectTemplate::createObject
//@BEGIN TFD
const std::string & ServerVehicleObjectTemplate::getFuelType() const
const std::string & ServerVehicleObjectTemplate::getFuelType(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getFuelType(true);
#endif
}
if (!m_fuelType.isLoaded())
@@ -135,16 +145,31 @@ const std::string & ServerVehicleObjectTemplate::getFuelType() const
}
const std::string & value = m_fuelType.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getFuelType
float ServerVehicleObjectTemplate::getCurrentFuel() const
float ServerVehicleObjectTemplate::getCurrentFuel(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCurrentFuel(true);
#endif
}
if (!m_currentFuel.isLoaded())
@@ -184,16 +209,31 @@ float ServerVehicleObjectTemplate::getCurrentFuel() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getCurrentFuel
float ServerVehicleObjectTemplate::getCurrentFuelMin() const
float ServerVehicleObjectTemplate::getCurrentFuelMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCurrentFuelMin(true);
#endif
}
if (!m_currentFuel.isLoaded())
@@ -233,16 +273,31 @@ float ServerVehicleObjectTemplate::getCurrentFuelMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getCurrentFuelMin
float ServerVehicleObjectTemplate::getCurrentFuelMax() const
float ServerVehicleObjectTemplate::getCurrentFuelMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCurrentFuelMax(true);
#endif
}
if (!m_currentFuel.isLoaded())
@@ -282,16 +337,31 @@ float ServerVehicleObjectTemplate::getCurrentFuelMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getCurrentFuelMax
float ServerVehicleObjectTemplate::getMaxFuel() const
float ServerVehicleObjectTemplate::getMaxFuel(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxFuel(true);
#endif
}
if (!m_maxFuel.isLoaded())
@@ -331,16 +401,31 @@ float ServerVehicleObjectTemplate::getMaxFuel() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getMaxFuel
float ServerVehicleObjectTemplate::getMaxFuelMin() const
float ServerVehicleObjectTemplate::getMaxFuelMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxFuelMin(true);
#endif
}
if (!m_maxFuel.isLoaded())
@@ -380,16 +465,31 @@ float ServerVehicleObjectTemplate::getMaxFuelMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getMaxFuelMin
float ServerVehicleObjectTemplate::getMaxFuelMax() const
float ServerVehicleObjectTemplate::getMaxFuelMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getMaxFuelMax(true);
#endif
}
if (!m_maxFuel.isLoaded())
@@ -429,16 +529,31 @@ float ServerVehicleObjectTemplate::getMaxFuelMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getMaxFuelMax
float ServerVehicleObjectTemplate::getConsumpsion() const
float ServerVehicleObjectTemplate::getConsumpsion(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getConsumpsion(true);
#endif
}
if (!m_consumpsion.isLoaded())
@@ -478,16 +593,31 @@ float ServerVehicleObjectTemplate::getConsumpsion() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getConsumpsion
float ServerVehicleObjectTemplate::getConsumpsionMin() const
float ServerVehicleObjectTemplate::getConsumpsionMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getConsumpsionMin(true);
#endif
}
if (!m_consumpsion.isLoaded())
@@ -527,16 +657,31 @@ float ServerVehicleObjectTemplate::getConsumpsionMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getConsumpsionMin
float ServerVehicleObjectTemplate::getConsumpsionMax() const
float ServerVehicleObjectTemplate::getConsumpsionMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const ServerVehicleObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const ServerVehicleObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getConsumpsionMax(true);
#endif
}
if (!m_consumpsion.isLoaded())
@@ -576,10 +721,32 @@ float ServerVehicleObjectTemplate::getConsumpsionMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // ServerVehicleObjectTemplate::getConsumpsionMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerVehicleObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getFuelType(true));
IGNORE_RETURN(getCurrentFuelMin(true));
IGNORE_RETURN(getCurrentFuelMax(true));
IGNORE_RETURN(getMaxFuelMin(true));
IGNORE_RETURN(getMaxFuelMax(true));
IGNORE_RETURN(getConsumpsionMin(true));
IGNORE_RETURN(getConsumpsionMax(true));
ServerTangibleObjectTemplate::testValues();
} // ServerVehicleObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -588,8 +755,8 @@ float ServerVehicleObjectTemplate::getConsumpsionMax() const
*/
void ServerVehicleObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerVehicleObjectTemplate_tag)
{
@@ -599,7 +766,7 @@ void ServerVehicleObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -619,8 +786,10 @@ void ServerVehicleObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -650,4 +819,4 @@ void ServerVehicleObjectTemplate::load(Iff &file)
return;
} // ServerVehicleObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,17 +44,22 @@ public:
//@BEGIN TFD
public:
const std::string & getFuelType() const;
float getCurrentFuel() const;
float getCurrentFuelMin() const;
float getCurrentFuelMax() const;
float getMaxFuel() const;
float getMaxFuelMin() const;
float getMaxFuelMax() const;
float getConsumpsion() const;
float getConsumpsionMin() const;
float getConsumpsionMax() const;
const std::string & getFuelType(bool testData = false) const;
float getCurrentFuel(bool testData = false) const;
float getCurrentFuelMin(bool testData = false) const;
float getCurrentFuelMax(bool testData = false) const;
float getMaxFuel(bool testData = false) const;
float getMaxFuelMin(bool testData = false) const;
float getMaxFuelMax(bool testData = false) const;
float getConsumpsion(bool testData = false) const;
float getConsumpsionMin(bool testData = false) const;
float getConsumpsionMax(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
File diff suppressed because it is too large Load Diff
@@ -74,48 +74,55 @@ public:
WT_1handLightsaber,
WT_2handLightsaber,
WT_polearmLightsaber,
WeaponType_Last = WT_polearmLightsaber,
WT_groundTargetting,
WT_directionTargetting,
WeaponType_Last = WT_directionTargetting,
};
public:
WeaponType getWeaponType() const;
AttackType getAttackType() const;
DamageType getDamageType() const;
DamageType getElementalType() const;
int getElementalValue() const;
int getElementalValueMin() const;
int getElementalValueMax() const;
int getMinDamageAmount() const;
int getMinDamageAmountMin() const;
int getMinDamageAmountMax() const;
int getMaxDamageAmount() const;
int getMaxDamageAmountMin() const;
int getMaxDamageAmountMax() const;
float getAttackSpeed() const;
float getAttackSpeedMin() const;
float getAttackSpeedMax() const;
float getAudibleRange() const;
float getAudibleRangeMin() const;
float getAudibleRangeMax() const;
float getMinRange() const;
float getMinRangeMin() const;
float getMinRangeMax() const;
float getMaxRange() const;
float getMaxRangeMin() const;
float getMaxRangeMax() const;
float getDamageRadius() const;
float getDamageRadiusMin() const;
float getDamageRadiusMax() const;
float getWoundChance() const;
float getWoundChanceMin() const;
float getWoundChanceMax() const;
int getAttackCost() const;
int getAttackCostMin() const;
int getAttackCostMax() const;
int getAccuracy() const;
int getAccuracyMin() const;
int getAccuracyMax() const;
WeaponType getWeaponType(bool testData = false) const;
AttackType getAttackType(bool testData = false) const;
DamageType getDamageType(bool testData = false) const;
DamageType getElementalType(bool testData = false) const;
int getElementalValue(bool testData = false) const;
int getElementalValueMin(bool testData = false) const;
int getElementalValueMax(bool testData = false) const;
int getMinDamageAmount(bool testData = false) const;
int getMinDamageAmountMin(bool testData = false) const;
int getMinDamageAmountMax(bool testData = false) const;
int getMaxDamageAmount(bool testData = false) const;
int getMaxDamageAmountMin(bool testData = false) const;
int getMaxDamageAmountMax(bool testData = false) const;
float getAttackSpeed(bool testData = false) const;
float getAttackSpeedMin(bool testData = false) const;
float getAttackSpeedMax(bool testData = false) const;
float getAudibleRange(bool testData = false) const;
float getAudibleRangeMin(bool testData = false) const;
float getAudibleRangeMax(bool testData = false) const;
float getMinRange(bool testData = false) const;
float getMinRangeMin(bool testData = false) const;
float getMinRangeMax(bool testData = false) const;
float getMaxRange(bool testData = false) const;
float getMaxRangeMin(bool testData = false) const;
float getMaxRangeMax(bool testData = false) const;
float getDamageRadius(bool testData = false) const;
float getDamageRadiusMin(bool testData = false) const;
float getDamageRadiusMax(bool testData = false) const;
float getWoundChance(bool testData = false) const;
float getWoundChanceMin(bool testData = false) const;
float getWoundChanceMax(bool testData = false) const;
int getAttackCost(bool testData = false) const;
int getAttackCostMin(bool testData = false) const;
int getAttackCostMax(bool testData = false) const;
int getAccuracy(bool testData = false) const;
int getAccuracyMin(bool testData = false) const;
int getAccuracyMax(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -12,15 +12,14 @@
#include "serverGame/FirstServerGame.h"
#include "ServerXpManagerObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
//#include "serverGame/XpManagerObject.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <algorithm>
#include <cstdio>
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
@@ -29,15 +28,15 @@ const TriggerVolumeData DefaultTriggerVolumeData;
bool ServerXpManagerObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
ServerXpManagerObjectTemplate::ServerXpManagerObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: ServerUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // ServerXpManagerObjectTemplate::ServerXpManagerObjectTemplate
@@ -46,8 +45,8 @@ ServerXpManagerObjectTemplate::ServerXpManagerObjectTemplate(const std::string &
*/
ServerXpManagerObjectTemplate::~ServerXpManagerObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // ServerXpManagerObjectTemplate::~ServerXpManagerObjectTemplate
/**
@@ -95,10 +94,10 @@ Tag ServerXpManagerObjectTemplate::getTemplateVersion(void) const
*/
Tag ServerXpManagerObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
if (m_baseData == NULL)
return m_templateVersion;
const ServerXpManagerObjectTemplate * base = dynamic_cast<const ServerXpManagerObjectTemplate *>(m_baseData);
if (base == nullptr)
if (base == NULL)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // ServerXpManagerObjectTemplate::getHighestTemplateVersion
@@ -110,11 +109,20 @@ Tag ServerXpManagerObjectTemplate::getHighestTemplateVersion(void) const
*/
Object * ServerXpManagerObjectTemplate::createObject(void) const
{
// return new XpManagerObject(this);
return nullptr;
// return new XpManagerObject(this);
return NULL;
} // ServerXpManagerObjectTemplate::createObject
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void ServerXpManagerObjectTemplate::testValues(void) const
{
ServerUniverseObjectTemplate::testValues();
} // ServerXpManagerObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -124,8 +132,8 @@ Object * ServerXpManagerObjectTemplate::createObject(void) const
*/
void ServerXpManagerObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != ServerXpManagerObjectTemplate_tag)
{
@@ -135,7 +143,7 @@ void ServerXpManagerObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -155,8 +163,10 @@ void ServerXpManagerObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -174,4 +184,4 @@ void ServerXpManagerObjectTemplate::load(Iff &file)
return;
} // ServerXpManagerObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -197,18 +197,18 @@ set(SHARED_SOURCES
shared/objectTemplate/SharedJediManagerObjectTemplate.h
shared/objectTemplate/SharedManufactureSchematicObjectTemplate.cpp
shared/objectTemplate/SharedManufactureSchematicObjectTemplate.h
shared/objectTemplate/SharedMissionDataObjectTemplate.cpp
shared/objectTemplate/SharedMissionDataObjectTemplate.h
shared/objectTemplate/SharedMissionListEntryObjectTemplate.cpp
shared/objectTemplate/SharedMissionListEntryObjectTemplate.h
shared/objectTemplate/SharedMissionObjectTemplate.cpp
shared/objectTemplate/SharedMissionObjectTemplate.h
shared/objectTemplate/SharedObjectTemplateClientData.cpp
shared/objectTemplate/SharedObjectTemplateClientData.h
shared/objectTemplate/SharedObjectTemplateInterface.cpp
shared/objectTemplate/SharedObjectTemplateInterface.h
shared/objectTemplate/SharedObjectTemplate.cpp
shared/objectTemplate/SharedObjectTemplate.h
shared/objectTemplate/SharedPlayerQuestObjectTemplate.h
shared/objectTemplate/SharedPlayerQuestObjectTemplate.cpp
shared/objectTemplate/SharedPlayerObjectTemplate.cpp
shared/objectTemplate/SharedPlayerObjectTemplate.h
shared/objectTemplate/SharedPlayerQuestObjectTemplate.cpp
shared/objectTemplate/SharedPlayerQuestObjectTemplate.h
shared/objectTemplate/SharedResourceContainerObjectTemplate.cpp
shared/objectTemplate/SharedResourceContainerObjectTemplate.h
shared/objectTemplate/SharedShipObjectTemplate.cpp
@@ -219,6 +219,8 @@ set(SHARED_SOURCES
shared/objectTemplate/SharedTangibleObjectTemplate.h
shared/objectTemplate/SharedTerrainSurfaceObjectTemplate.cpp
shared/objectTemplate/SharedTerrainSurfaceObjectTemplate.h
shared/objectTemplate/SharedTokenObjectTemplate.cpp
shared/objectTemplate/SharedTokenObjectTemplate.h
shared/objectTemplate/SharedUniverseObjectTemplate.cpp
shared/objectTemplate/SharedUniverseObjectTemplate.h
shared/objectTemplate/SharedVehicleObjectTemplate.cpp
@@ -226,7 +228,7 @@ set(SHARED_SOURCES
shared/objectTemplate/SharedWaypointObjectTemplate.cpp
shared/objectTemplate/SharedWaypointObjectTemplate.h
shared/objectTemplate/SharedWeaponObjectTemplate.cpp
shared/objectTemplate/SharedWeaponObjectTemplate.h
shared/objectTemplate/SharedWeaponObjectTemplate.h
shared/quest/PlayerQuestData.cpp
shared/quest/PlayerQuestData.h
@@ -12,7 +12,7 @@
#include "sharedGame/FirstSharedGame.h"
#include "SharedBattlefieldMarkerObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedMath/Vector.h"
#include "sharedObject/ObjectTemplate.h"
@@ -24,20 +24,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedBattlefieldMarkerObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedBattlefieldMarkerObjectTemplate::SharedBattlefieldMarkerObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedBattlefieldMarkerObjectTemplate::SharedBattlefieldMarkerObjectTemplate
@@ -46,8 +46,8 @@ SharedBattlefieldMarkerObjectTemplate::SharedBattlefieldMarkerObjectTemplate(con
*/
SharedBattlefieldMarkerObjectTemplate::~SharedBattlefieldMarkerObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedBattlefieldMarkerObjectTemplate::~SharedBattlefieldMarkerObjectTemplate
/**
@@ -104,12 +104,22 @@ Tag SharedBattlefieldMarkerObjectTemplate::getHighestTemplateVersion(void) const
} // SharedBattlefieldMarkerObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
int SharedBattlefieldMarkerObjectTemplate::getNumberOfPoles() const
int SharedBattlefieldMarkerObjectTemplate::getNumberOfPoles(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const SharedBattlefieldMarkerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBattlefieldMarkerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getNumberOfPoles(true);
#endif
}
if (!m_numberOfPoles.isLoaded())
@@ -149,16 +159,31 @@ int SharedBattlefieldMarkerObjectTemplate::getNumberOfPoles() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBattlefieldMarkerObjectTemplate::getNumberOfPoles
int SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMin() const
int SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMin(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const SharedBattlefieldMarkerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBattlefieldMarkerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getNumberOfPolesMin(true);
#endif
}
if (!m_numberOfPoles.isLoaded())
@@ -198,16 +223,31 @@ int SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMin() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMin
int SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMax() const
int SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMax(bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const SharedBattlefieldMarkerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBattlefieldMarkerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getNumberOfPolesMax(true);
#endif
}
if (!m_numberOfPoles.isLoaded())
@@ -247,16 +287,31 @@ int SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMax() const
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBattlefieldMarkerObjectTemplate::getNumberOfPolesMax
float SharedBattlefieldMarkerObjectTemplate::getRadius() const
float SharedBattlefieldMarkerObjectTemplate::getRadius(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const SharedBattlefieldMarkerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBattlefieldMarkerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getRadius(true);
#endif
}
if (!m_radius.isLoaded())
@@ -296,16 +351,31 @@ float SharedBattlefieldMarkerObjectTemplate::getRadius() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBattlefieldMarkerObjectTemplate::getRadius
float SharedBattlefieldMarkerObjectTemplate::getRadiusMin() const
float SharedBattlefieldMarkerObjectTemplate::getRadiusMin(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const SharedBattlefieldMarkerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBattlefieldMarkerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getRadiusMin(true);
#endif
}
if (!m_radius.isLoaded())
@@ -345,16 +415,31 @@ float SharedBattlefieldMarkerObjectTemplate::getRadiusMin() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBattlefieldMarkerObjectTemplate::getRadiusMin
float SharedBattlefieldMarkerObjectTemplate::getRadiusMax() const
float SharedBattlefieldMarkerObjectTemplate::getRadiusMax(bool testData) const
{
#ifdef _DEBUG
float testDataValue = 0.0f;
#else
UNREF(testData);
#endif
const SharedBattlefieldMarkerObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBattlefieldMarkerObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getRadiusMax(true);
#endif
}
if (!m_radius.isLoaded())
@@ -394,10 +479,29 @@ float SharedBattlefieldMarkerObjectTemplate::getRadiusMax() const
else if (delta == '_')
value = baseValue - static_cast<float>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBattlefieldMarkerObjectTemplate::getRadiusMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedBattlefieldMarkerObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getNumberOfPolesMin(true));
IGNORE_RETURN(getNumberOfPolesMax(true));
IGNORE_RETURN(getRadiusMin(true));
IGNORE_RETURN(getRadiusMax(true));
SharedTangibleObjectTemplate::testValues();
} // SharedBattlefieldMarkerObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -406,8 +510,8 @@ float SharedBattlefieldMarkerObjectTemplate::getRadiusMax() const
*/
void SharedBattlefieldMarkerObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedBattlefieldMarkerObjectTemplate_tag)
{
@@ -417,7 +521,7 @@ void SharedBattlefieldMarkerObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -437,8 +541,10 @@ void SharedBattlefieldMarkerObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -464,4 +570,4 @@ void SharedBattlefieldMarkerObjectTemplate::load(Iff &file)
return;
} // SharedBattlefieldMarkerObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,13 +44,18 @@ public:
//@BEGIN TFD
public:
int getNumberOfPoles() const;
int getNumberOfPolesMin() const;
int getNumberOfPolesMax() const;
float getRadius() const;
float getRadiusMin() const;
float getRadiusMax() const;
int getNumberOfPoles(bool testData = false) const;
int getNumberOfPolesMin(bool testData = false) const;
int getNumberOfPolesMax(bool testData = false) const;
float getRadius(bool testData = false) const;
float getRadiusMin(bool testData = false) const;
float getRadiusMax(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedBuildingObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedBuildingObjectTemplate::SharedBuildingObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedBuildingObjectTemplate::SharedBuildingObjectTemplate
@@ -45,8 +45,8 @@ SharedBuildingObjectTemplate::SharedBuildingObjectTemplate(const std::string & f
*/
SharedBuildingObjectTemplate::~SharedBuildingObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedBuildingObjectTemplate::~SharedBuildingObjectTemplate
/**
@@ -103,12 +103,22 @@ Tag SharedBuildingObjectTemplate::getHighestTemplateVersion(void) const
} // SharedBuildingObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
const std::string & SharedBuildingObjectTemplate::getTerrainModificationFileName() const
const std::string & SharedBuildingObjectTemplate::getTerrainModificationFileName(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const SharedBuildingObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBuildingObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getTerrainModificationFileName(true);
#endif
}
if (!m_terrainModificationFileName.isLoaded())
@@ -126,16 +136,31 @@ const std::string & SharedBuildingObjectTemplate::getTerrainModificationFileName
}
const std::string & value = m_terrainModificationFileName.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBuildingObjectTemplate::getTerrainModificationFileName
const std::string & SharedBuildingObjectTemplate::getInteriorLayoutFileName() const
const std::string & SharedBuildingObjectTemplate::getInteriorLayoutFileName(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const SharedBuildingObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedBuildingObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getInteriorLayoutFileName(true);
#endif
}
if (!m_interiorLayoutFileName.isLoaded())
@@ -153,10 +178,27 @@ const std::string & SharedBuildingObjectTemplate::getInteriorLayoutFileName() co
}
const std::string & value = m_interiorLayoutFileName.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedBuildingObjectTemplate::getInteriorLayoutFileName
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedBuildingObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getTerrainModificationFileName(true));
IGNORE_RETURN(getInteriorLayoutFileName(true));
SharedTangibleObjectTemplate::testValues();
} // SharedBuildingObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -165,8 +207,8 @@ const std::string & SharedBuildingObjectTemplate::getInteriorLayoutFileName() co
*/
void SharedBuildingObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedBuildingObjectTemplate_tag)
{
@@ -176,7 +218,7 @@ void SharedBuildingObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -196,8 +238,10 @@ void SharedBuildingObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 1))
if (getHighestTemplateVersion() != TAG(0,0,0,1))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -223,4 +267,4 @@ void SharedBuildingObjectTemplate::load(Iff &file)
return;
} // SharedBuildingObjectTemplate::load
//@END TFD
//@END TFD
@@ -44,9 +44,14 @@ public:
//@BEGIN TFD
public:
const std::string & getTerrainModificationFileName() const;
const std::string & getInteriorLayoutFileName() const;
const std::string & getTerrainModificationFileName(bool testData = false) const;
const std::string & getInteriorLayoutFileName(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedCellObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedCellObjectTemplate::SharedCellObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedCellObjectTemplate::SharedCellObjectTemplate
@@ -45,8 +45,8 @@ SharedCellObjectTemplate::SharedCellObjectTemplate(const std::string & filename)
*/
SharedCellObjectTemplate::~SharedCellObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedCellObjectTemplate::~SharedCellObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedCellObjectTemplate::getHighestTemplateVersion(void) const
} // SharedCellObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedCellObjectTemplate::testValues(void) const
{
SharedObjectTemplate::testValues();
} // SharedCellObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedCellObjectTemplate::getHighestTemplateVersion(void) const
*/
void SharedCellObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedCellObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedCellObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedCellObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedCellObjectTemplate::load(Iff &file)
return;
} // SharedCellObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedConstructionContractObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedConstructionContractObjectTemplate::SharedConstructionContractObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedIntangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedConstructionContractObjectTemplate::SharedConstructionContractObjectTemplate
@@ -45,8 +45,8 @@ SharedConstructionContractObjectTemplate::SharedConstructionContractObjectTempla
*/
SharedConstructionContractObjectTemplate::~SharedConstructionContractObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedConstructionContractObjectTemplate::~SharedConstructionContractObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedConstructionContractObjectTemplate::getHighestTemplateVersion(void) co
} // SharedConstructionContractObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedConstructionContractObjectTemplate::testValues(void) const
{
SharedIntangibleObjectTemplate::testValues();
} // SharedConstructionContractObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedConstructionContractObjectTemplate::getHighestTemplateVersion(void) co
*/
void SharedConstructionContractObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedConstructionContractObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedConstructionContractObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedConstructionContractObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedConstructionContractObjectTemplate::load(Iff &file)
return;
} // SharedConstructionContractObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
File diff suppressed because it is too large Load Diff
@@ -361,10 +361,10 @@ public:
};
public:
Gender getGender() const;
Niche getNiche() const;
Species getSpecies() const;
Race getRace() const;
Gender getGender(bool testData = false) const;
Niche getNiche(bool testData = false) const;
Species getSpecies(bool testData = false) const;
Race getRace(bool testData = false) const;
float getAcceleration(MovementTypes index) const;
float getAccelerationMin(MovementTypes index) const;
float getAccelerationMax(MovementTypes index) const;
@@ -374,46 +374,51 @@ public:
float getTurnRate(MovementTypes index) const;
float getTurnRateMin(MovementTypes index) const;
float getTurnRateMax(MovementTypes index) const;
const std::string & getAnimationMapFilename() const;
float getSlopeModAngle() const;
float getSlopeModAngleMin() const;
float getSlopeModAngleMax() const;
float getSlopeModPercent() const;
float getSlopeModPercentMin() const;
float getSlopeModPercentMax() const;
float getWaterModPercent() const;
float getWaterModPercentMin() const;
float getWaterModPercentMax() const;
float getStepHeight() const;
float getStepHeightMin() const;
float getStepHeightMax() const;
float getCollisionHeight() const;
float getCollisionHeightMin() const;
float getCollisionHeightMax() const;
float getCollisionRadius() const;
float getCollisionRadiusMin() const;
float getCollisionRadiusMax() const;
const std::string & getMovementDatatable() const;
const std::string & getAnimationMapFilename(bool testData = false) const;
float getSlopeModAngle(bool testData = false) const;
float getSlopeModAngleMin(bool testData = false) const;
float getSlopeModAngleMax(bool testData = false) const;
float getSlopeModPercent(bool testData = false) const;
float getSlopeModPercentMin(bool testData = false) const;
float getSlopeModPercentMax(bool testData = false) const;
float getWaterModPercent(bool testData = false) const;
float getWaterModPercentMin(bool testData = false) const;
float getWaterModPercentMax(bool testData = false) const;
float getStepHeight(bool testData = false) const;
float getStepHeightMin(bool testData = false) const;
float getStepHeightMax(bool testData = false) const;
float getCollisionHeight(bool testData = false) const;
float getCollisionHeightMin(bool testData = false) const;
float getCollisionHeightMax(bool testData = false) const;
float getCollisionRadius(bool testData = false) const;
float getCollisionRadiusMin(bool testData = false) const;
float getCollisionRadiusMax(bool testData = false) const;
const std::string & getMovementDatatable(bool testData = false) const;
bool getPostureAlignToTerrain(Postures index) const;
float getSwimHeight() const;
float getSwimHeightMin() const;
float getSwimHeightMax() const;
float getWarpTolerance() const;
float getWarpToleranceMin() const;
float getWarpToleranceMax() const;
float getCollisionOffsetX() const;
float getCollisionOffsetXMin() const;
float getCollisionOffsetXMax() const;
float getCollisionOffsetZ() const;
float getCollisionOffsetZMin() const;
float getCollisionOffsetZMax() const;
float getCollisionLength() const;
float getCollisionLengthMin() const;
float getCollisionLengthMax() const;
float getCameraHeight() const;
float getCameraHeightMin() const;
float getCameraHeightMax() const;
float getSwimHeight(bool testData = false) const;
float getSwimHeightMin(bool testData = false) const;
float getSwimHeightMax(bool testData = false) const;
float getWarpTolerance(bool testData = false) const;
float getWarpToleranceMin(bool testData = false) const;
float getWarpToleranceMax(bool testData = false) const;
float getCollisionOffsetX(bool testData = false) const;
float getCollisionOffsetXMin(bool testData = false) const;
float getCollisionOffsetXMax(bool testData = false) const;
float getCollisionOffsetZ(bool testData = false) const;
float getCollisionOffsetZMin(bool testData = false) const;
float getCollisionOffsetZMax(bool testData = false) const;
float getCollisionLength(bool testData = false) const;
float getCollisionLengthMin(bool testData = false) const;
float getCollisionLengthMax(bool testData = false) const;
float getCameraHeight(bool testData = false) const;
float getCameraHeightMin(bool testData = false) const;
float getCameraHeightMax(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,24 +23,24 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedDraftSchematicObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedDraftSchematicObjectTemplate::SharedDraftSchematicObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedIntangibleObjectTemplate(filename)
, m_slotsLoaded(false)
, m_slotsAppend(false)
, m_attributesLoaded(false)
, m_attributesAppend(false)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_slotsLoaded(false)
,m_slotsAppend(false)
,m_attributesLoaded(false)
,m_attributesAppend(false)
,m_versionOk(true)
//@END TFD INIT
{
} // SharedDraftSchematicObjectTemplate::SharedDraftSchematicObjectTemplate
@@ -49,7 +49,7 @@ SharedDraftSchematicObjectTemplate::SharedDraftSchematicObjectTemplate(const std
*/
SharedDraftSchematicObjectTemplate::~SharedDraftSchematicObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@BEGIN TFD CLEANUP
{
std::vector<StructParamOT *>::iterator iter;
for (iter = m_slots.begin(); iter != m_slots.end(); ++iter)
@@ -68,7 +68,7 @@ SharedDraftSchematicObjectTemplate::~SharedDraftSchematicObjectTemplate()
}
m_attributes.clear();
}
//@END TFD CLEANUP
//@END TFD CLEANUP
} // SharedDraftSchematicObjectTemplate::~SharedDraftSchematicObjectTemplate
/**
@@ -138,7 +138,7 @@ void SharedDraftSchematicObjectTemplate::getSlots(IngredientSlot &data, int inde
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter slots in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -152,10 +152,10 @@ void SharedDraftSchematicObjectTemplate::getSlots(IngredientSlot &data, int inde
{
int baseCount = base->getSlotsCount();
if (index < baseCount)
{
base->getSlots(data, index);
return;
}
{
base->getSlots(data, index);
return;
}
index -= baseCount;
}
@@ -181,7 +181,7 @@ void SharedDraftSchematicObjectTemplate::getSlotsMin(IngredientSlot &data, int i
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter slots in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -195,10 +195,10 @@ void SharedDraftSchematicObjectTemplate::getSlotsMin(IngredientSlot &data, int i
{
int baseCount = base->getSlotsCount();
if (index < baseCount)
{
base->getSlotsMin(data, index);
return;
}
{
base->getSlotsMin(data, index);
return;
}
index -= baseCount;
}
@@ -224,7 +224,7 @@ void SharedDraftSchematicObjectTemplate::getSlotsMax(IngredientSlot &data, int i
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter slots in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -238,10 +238,10 @@ void SharedDraftSchematicObjectTemplate::getSlotsMax(IngredientSlot &data, int i
{
int baseCount = base->getSlotsCount();
if (index < baseCount)
{
base->getSlotsMax(data, index);
return;
}
{
base->getSlotsMax(data, index);
return;
}
index -= baseCount;
}
@@ -291,7 +291,7 @@ void SharedDraftSchematicObjectTemplate::getAttributes(SchematicAttribute &data,
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attributes in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -305,10 +305,10 @@ void SharedDraftSchematicObjectTemplate::getAttributes(SchematicAttribute &data,
{
int baseCount = base->getAttributesCount();
if (index < baseCount)
{
base->getAttributes(data, index);
return;
}
{
base->getAttributes(data, index);
return;
}
index -= baseCount;
}
@@ -335,7 +335,7 @@ void SharedDraftSchematicObjectTemplate::getAttributesMin(SchematicAttribute &da
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attributes in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -349,10 +349,10 @@ void SharedDraftSchematicObjectTemplate::getAttributesMin(SchematicAttribute &da
{
int baseCount = base->getAttributesCount();
if (index < baseCount)
{
base->getAttributesMin(data, index);
return;
}
{
base->getAttributesMin(data, index);
return;
}
index -= baseCount;
}
@@ -379,7 +379,7 @@ void SharedDraftSchematicObjectTemplate::getAttributesMax(SchematicAttribute &da
if (ms_allowDefaultTemplateParams && /*!m_versionOk &&*/ base == nullptr)
{
DEBUG_WARNING(true, ("Returning default value for missing parameter attributes in template %s", DataResource::getName()));
return;
return ;
}
else
{
@@ -393,10 +393,10 @@ void SharedDraftSchematicObjectTemplate::getAttributesMax(SchematicAttribute &da
{
int baseCount = base->getAttributesCount();
if (index < baseCount)
{
base->getAttributesMax(data, index);
return;
}
{
base->getAttributesMax(data, index);
return;
}
index -= baseCount;
}
@@ -434,12 +434,22 @@ size_t SharedDraftSchematicObjectTemplate::getAttributesCount(void) const
return count;
} // SharedDraftSchematicObjectTemplate::getAttributesCount
const std::string & SharedDraftSchematicObjectTemplate::getCraftedSharedTemplate() const
const std::string & SharedDraftSchematicObjectTemplate::getCraftedSharedTemplate(bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getCraftedSharedTemplate(true);
#endif
}
if (!m_craftedSharedTemplate.isLoaded())
@@ -457,10 +467,26 @@ const std::string & SharedDraftSchematicObjectTemplate::getCraftedSharedTemplate
}
const std::string & value = m_craftedSharedTemplate.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::getCraftedSharedTemplate
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedDraftSchematicObjectTemplate::testValues(void) const
{
IGNORE_RETURN(getCraftedSharedTemplate(true));
SharedIntangibleObjectTemplate::testValues();
} // SharedDraftSchematicObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -469,8 +495,8 @@ const std::string & SharedDraftSchematicObjectTemplate::getCraftedSharedTemplate
*/
void SharedDraftSchematicObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedDraftSchematicObjectTemplate_tag)
{
@@ -480,7 +506,7 @@ void SharedDraftSchematicObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -500,8 +526,10 @@ void SharedDraftSchematicObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 3))
if (getHighestTemplateVersion() != TAG(0,0,0,3))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -563,6 +591,7 @@ void SharedDraftSchematicObjectTemplate::load(Iff &file)
return;
} // SharedDraftSchematicObjectTemplate::load
//=============================================================================
// class SharedDraftSchematicObjectTemplate::_IngredientSlot
@@ -609,12 +638,22 @@ Tag SharedDraftSchematicObjectTemplate::_IngredientSlot::getId(void) const
return _IngredientSlot_tag;
} // SharedDraftSchematicObjectTemplate::_IngredientSlot::getId
const StringId SharedDraftSchematicObjectTemplate::_IngredientSlot::getName(bool versionOk) const
const StringId SharedDraftSchematicObjectTemplate::_IngredientSlot::getName(bool versionOk, bool testData) const
{
#ifdef _DEBUG
StringId testDataValue = DefaultStringId;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getName(true);
#endif
}
if (!m_name.isLoaded())
@@ -632,16 +671,31 @@ const StringId SharedDraftSchematicObjectTemplate::_IngredientSlot::getName(bool
}
const StringId value = m_name.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::_IngredientSlot::getName
const std::string & SharedDraftSchematicObjectTemplate::_IngredientSlot::getHardpoint(bool versionOk) const
const std::string & SharedDraftSchematicObjectTemplate::_IngredientSlot::getHardpoint(bool versionOk, bool testData) const
{
#ifdef _DEBUG
std::string testDataValue = DefaultString;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate::_IngredientSlot * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate::_IngredientSlot *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getHardpoint(true);
#endif
}
if (!m_hardpoint.isLoaded())
@@ -659,10 +713,26 @@ const std::string & SharedDraftSchematicObjectTemplate::_IngredientSlot::getHard
}
const std::string & value = m_hardpoint.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::_IngredientSlot::getHardpoint
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedDraftSchematicObjectTemplate::_IngredientSlot::testValues(void) const
{
IGNORE_RETURN(getName(true));
IGNORE_RETURN(getHardpoint(true));
} // SharedDraftSchematicObjectTemplate::_IngredientSlot::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -671,8 +741,8 @@ const std::string & SharedDraftSchematicObjectTemplate::_IngredientSlot::getHard
*/
void SharedDraftSchematicObjectTemplate::_IngredientSlot::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -694,6 +764,7 @@ void SharedDraftSchematicObjectTemplate::_IngredientSlot::load(Iff &file)
UNREF(file);
} // SharedDraftSchematicObjectTemplate::_IngredientSlot::load
//=============================================================================
// class SharedDraftSchematicObjectTemplate::_SchematicAttribute
@@ -740,12 +811,22 @@ Tag SharedDraftSchematicObjectTemplate::_SchematicAttribute::getId(void) const
return _SchematicAttribute_tag;
} // SharedDraftSchematicObjectTemplate::_SchematicAttribute::getId
const StringId SharedDraftSchematicObjectTemplate::_SchematicAttribute::getName(bool versionOk) const
const StringId SharedDraftSchematicObjectTemplate::_SchematicAttribute::getName(bool versionOk, bool testData) const
{
#ifdef _DEBUG
StringId testDataValue = DefaultStringId;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getName(true);
#endif
}
if (!m_name.isLoaded())
@@ -763,16 +844,31 @@ const StringId SharedDraftSchematicObjectTemplate::_SchematicAttribute::getName(
}
const StringId value = m_name.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::_SchematicAttribute::getName
const StringId SharedDraftSchematicObjectTemplate::_SchematicAttribute::getExperiment(bool versionOk) const
const StringId SharedDraftSchematicObjectTemplate::_SchematicAttribute::getExperiment(bool versionOk, bool testData) const
{
#ifdef _DEBUG
StringId testDataValue = DefaultStringId;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getExperiment(true);
#endif
}
if (!m_experiment.isLoaded())
@@ -790,16 +886,31 @@ const StringId SharedDraftSchematicObjectTemplate::_SchematicAttribute::getExper
}
const StringId value = m_experiment.getValue();
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::_SchematicAttribute::getExperiment
int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValue(bool versionOk) const
int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValue(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getValue(true);
#endif
}
if (!m_value.isLoaded())
@@ -839,16 +950,31 @@ int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValue(bool versi
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValue
int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMin(bool versionOk) const
int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMin(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getValueMin(true);
#endif
}
if (!m_value.isLoaded())
@@ -888,16 +1014,31 @@ int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMin(bool ve
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMin
int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMax(bool versionOk) const
int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMax(bool versionOk, bool testData) const
{
#ifdef _DEBUG
int testDataValue = 0;
#else
UNREF(testData);
#endif
const SharedDraftSchematicObjectTemplate::_SchematicAttribute * base = nullptr;
if (m_baseData != nullptr)
{
base = dynamic_cast<const SharedDraftSchematicObjectTemplate::_SchematicAttribute *>(m_baseData);
#ifdef _DEBUG
if (testData && base != nullptr)
testDataValue = base->getValueMax(true);
#endif
}
if (!m_value.isLoaded())
@@ -937,10 +1078,28 @@ int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMax(bool ve
else if (delta == '_')
value = baseValue - static_cast<int>(baseValue * (value / 100.0f));
}
#ifdef _DEBUG
if (testData && base != nullptr)
{
}
#endif
return value;
} // SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMax
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedDraftSchematicObjectTemplate::_SchematicAttribute::testValues(void) const
{
IGNORE_RETURN(getName(true));
IGNORE_RETURN(getExperiment(true));
IGNORE_RETURN(getValueMin(true));
IGNORE_RETURN(getValueMax(true));
} // SharedDraftSchematicObjectTemplate::_SchematicAttribute::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
@@ -949,8 +1108,8 @@ int SharedDraftSchematicObjectTemplate::_SchematicAttribute::getValueMax(bool ve
*/
void SharedDraftSchematicObjectTemplate::_SchematicAttribute::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
file.enterForm();
@@ -978,17 +1137,17 @@ void SharedDraftSchematicObjectTemplate::_SchematicAttribute::load(Iff &file)
//----------------------------------------------------------------------
const StringId SharedDraftSchematicObjectTemplate::getCraftedName() const
const StringId SharedDraftSchematicObjectTemplate::getCraftedName () const
{
StringId sid = getObjectName();
StringId sid = getObjectName ();
if (sid.isInvalid())
if (sid.isInvalid ())
{
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate();
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate ();
if (sot)
{
sid = sot->getObjectName();
sot->releaseReference();
sid = sot->getObjectName ();
sot->releaseReference ();
}
}
@@ -997,17 +1156,17 @@ const StringId SharedDraftSchematicObjectTemplate::getCraftedName() const
//----------------------------------------------------------------------
const StringId SharedDraftSchematicObjectTemplate::getCraftedDetailedDescription() const
const StringId SharedDraftSchematicObjectTemplate::getCraftedDetailedDescription () const
{
StringId sid = getDetailedDescription();
StringId sid = getDetailedDescription ();
if (sid.isInvalid())
if (sid.isInvalid ())
{
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate();
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate ();
if (sot)
{
sid = sot->getDetailedDescription();
sot->releaseReference();
sid = sot->getDetailedDescription ();
sot->releaseReference ();
}
}
@@ -1016,17 +1175,17 @@ const StringId SharedDraftSchematicObjectTemplate::getCraftedDetailedDescription
//----------------------------------------------------------------------
const StringId SharedDraftSchematicObjectTemplate::getCraftedLookAtText() const
const StringId SharedDraftSchematicObjectTemplate::getCraftedLookAtText () const
{
StringId sid = getLookAtText();
StringId sid = getLookAtText ();
if (sid.isInvalid())
if (sid.isInvalid ())
{
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate();
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate ();
if (sot)
{
sid = sot->getLookAtText();
sot->releaseReference();
sid = sot->getLookAtText ();
sot->releaseReference ();
}
}
@@ -1035,17 +1194,17 @@ const StringId SharedDraftSchematicObjectTemplate::getCraftedLookAtText() const
//----------------------------------------------------------------------
const std::string SharedDraftSchematicObjectTemplate::getCraftedAppearanceFilename() const
const std::string SharedDraftSchematicObjectTemplate::getCraftedAppearanceFilename () const
{
const std::string & app = getAppearanceFilename();
const std::string & app = getAppearanceFilename ();
if (app.empty())
if (app.empty ())
{
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate();
const SharedObjectTemplate * const sot = fetchCraftedSharedObjectTemplate ();
if (sot)
{
const std::string capp = sot->getAppearanceFilename();
sot->releaseReference();
const std::string capp = sot->getAppearanceFilename ();
sot->releaseReference ();
return capp;
}
}
@@ -1055,18 +1214,19 @@ const std::string SharedDraftSchematicObjectTemplate::getCraftedAppearanceFilena
//----------------------------------------------------------------------
const SharedObjectTemplate * SharedDraftSchematicObjectTemplate::fetchCraftedSharedObjectTemplate() const
const SharedObjectTemplate * SharedDraftSchematicObjectTemplate::fetchCraftedSharedObjectTemplate () const
{
const std::string & sotName = getCraftedSharedTemplate();
const SharedObjectTemplate * const sot = safe_cast<const SharedObjectTemplate *>(ObjectTemplateList::fetch(sotName.c_str()));
const std::string & sotName = getCraftedSharedTemplate ();
const SharedObjectTemplate * const sot = safe_cast<const SharedObjectTemplate *>(ObjectTemplateList::fetch (sotName.c_str ()));
if (!sot)
{
const char * const draftName = this->DataResource::getName();
WARNING(true, ("SharedDraftSchematicObjectTemplate [%s] could not load craftedSharedTemplate [%s]", draftName ? draftName : "", sotName.c_str()));
const char * const draftName = this->DataResource::getName ();
WARNING (true, ("SharedDraftSchematicObjectTemplate [%s] could not load craftedSharedTemplate [%s]", draftName ? draftName : "", sotName.c_str ()));
}
return sot;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------
@@ -61,7 +61,6 @@ public:
enum DamageType
{
DT_none = 0x00000000,
DT_kinetic = 0x00000001,
DT_energy = 0x00000002,
DT_blast = 0x00000004,
@@ -109,9 +108,14 @@ protected:
virtual Tag getId(void) const;
public:
const StringId getName(bool versionOk) const;
const std::string & getHardpoint(bool versionOk) const;
const StringId getName(bool versionOk, bool testData = false) const;
const std::string & getHardpoint(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -144,12 +148,17 @@ private:
virtual Tag getId(void) const;
public:
const StringId getName(bool versionOk) const;
const StringId getExperiment(bool versionOk) const;
int getValue(bool versionOk) const;
int getValueMin(bool versionOk) const;
int getValueMax(bool versionOk) const;
const StringId getName(bool versionOk, bool testData = false) const;
const StringId getExperiment(bool versionOk, bool testData = false) const;
int getValue(bool versionOk, bool testData = false) const;
int getValueMin(bool versionOk, bool testData = false) const;
int getValueMax(bool versionOk, bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -176,8 +185,13 @@ public:
void getAttributesMin(SchematicAttribute &data, int index) const;
void getAttributesMax(SchematicAttribute &data, int index) const;
size_t getAttributesCount(void) const;
const std::string & getCraftedSharedTemplate() const;
const std::string & getCraftedSharedTemplate(bool testData = false) const;
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedFactoryObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedFactoryObjectTemplate::SharedFactoryObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedFactoryObjectTemplate::SharedFactoryObjectTemplate
@@ -45,8 +45,8 @@ SharedFactoryObjectTemplate::SharedFactoryObjectTemplate(const std::string & fil
*/
SharedFactoryObjectTemplate::~SharedFactoryObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedFactoryObjectTemplate::~SharedFactoryObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedFactoryObjectTemplate::getHighestTemplateVersion(void) const
} // SharedFactoryObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedFactoryObjectTemplate::testValues(void) const
{
SharedTangibleObjectTemplate::testValues();
} // SharedFactoryObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedFactoryObjectTemplate::getHighestTemplateVersion(void) const
*/
void SharedFactoryObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedFactoryObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedFactoryObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedFactoryObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedFactoryObjectTemplate::load(Iff &file)
return;
} // SharedFactoryObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedGroupObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedGroupObjectTemplate::SharedGroupObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedGroupObjectTemplate::SharedGroupObjectTemplate
@@ -45,8 +45,8 @@ SharedGroupObjectTemplate::SharedGroupObjectTemplate(const std::string & filenam
*/
SharedGroupObjectTemplate::~SharedGroupObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedGroupObjectTemplate::~SharedGroupObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedGroupObjectTemplate::getHighestTemplateVersion(void) const
} // SharedGroupObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedGroupObjectTemplate::testValues(void) const
{
SharedUniverseObjectTemplate::testValues();
} // SharedGroupObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedGroupObjectTemplate::getHighestTemplateVersion(void) const
*/
void SharedGroupObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedGroupObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedGroupObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedGroupObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedGroupObjectTemplate::load(Iff &file)
return;
} // SharedGroupObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedGuildObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedGuildObjectTemplate::SharedGuildObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedGuildObjectTemplate::SharedGuildObjectTemplate
@@ -45,8 +45,8 @@ SharedGuildObjectTemplate::SharedGuildObjectTemplate(const std::string & filenam
*/
SharedGuildObjectTemplate::~SharedGuildObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedGuildObjectTemplate::~SharedGuildObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedGuildObjectTemplate::getHighestTemplateVersion(void) const
} // SharedGuildObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedGuildObjectTemplate::testValues(void) const
{
SharedUniverseObjectTemplate::testValues();
} // SharedGuildObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedGuildObjectTemplate::getHighestTemplateVersion(void) const
*/
void SharedGuildObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedGuildObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedGuildObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedGuildObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedGuildObjectTemplate::load(Iff &file)
return;
} // SharedGuildObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedInstallationObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedInstallationObjectTemplate::SharedInstallationObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedTangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedInstallationObjectTemplate::SharedInstallationObjectTemplate
@@ -45,8 +45,8 @@ SharedInstallationObjectTemplate::SharedInstallationObjectTemplate(const std::st
*/
SharedInstallationObjectTemplate::~SharedInstallationObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedInstallationObjectTemplate::~SharedInstallationObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedInstallationObjectTemplate::getHighestTemplateVersion(void) const
} // SharedInstallationObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedInstallationObjectTemplate::testValues(void) const
{
SharedTangibleObjectTemplate::testValues();
} // SharedInstallationObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedInstallationObjectTemplate::getHighestTemplateVersion(void) const
*/
void SharedInstallationObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedInstallationObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedInstallationObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedInstallationObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedInstallationObjectTemplate::load(Iff &file)
return;
} // SharedInstallationObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedIntangibleObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedIntangibleObjectTemplate::SharedIntangibleObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedIntangibleObjectTemplate::SharedIntangibleObjectTemplate
@@ -45,8 +45,8 @@ SharedIntangibleObjectTemplate::SharedIntangibleObjectTemplate(const std::string
*/
SharedIntangibleObjectTemplate::~SharedIntangibleObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedIntangibleObjectTemplate::~SharedIntangibleObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedIntangibleObjectTemplate::getHighestTemplateVersion(void) const
} // SharedIntangibleObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedIntangibleObjectTemplate::testValues(void) const
{
SharedObjectTemplate::testValues();
} // SharedIntangibleObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedIntangibleObjectTemplate::getHighestTemplateVersion(void) const
*/
void SharedIntangibleObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedIntangibleObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedIntangibleObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedIntangibleObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedIntangibleObjectTemplate::load(Iff &file)
return;
} // SharedIntangibleObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -12,7 +12,7 @@
#include "sharedGame/FirstSharedGame.h"
#include "SharedJediManagerObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedMath/Vector.h"
#include "sharedObject/ObjectTemplate.h"
@@ -24,20 +24,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedJediManagerObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedJediManagerObjectTemplate::SharedJediManagerObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedUniverseObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedJediManagerObjectTemplate::SharedJediManagerObjectTemplate
@@ -46,8 +46,8 @@ SharedJediManagerObjectTemplate::SharedJediManagerObjectTemplate(const std::stri
*/
SharedJediManagerObjectTemplate::~SharedJediManagerObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedJediManagerObjectTemplate::~SharedJediManagerObjectTemplate
/**
@@ -104,6 +104,15 @@ Tag SharedJediManagerObjectTemplate::getHighestTemplateVersion(void) const
} // SharedJediManagerObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedJediManagerObjectTemplate::testValues(void) const
{
SharedUniverseObjectTemplate::testValues();
} // SharedJediManagerObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -113,8 +122,8 @@ Tag SharedJediManagerObjectTemplate::getHighestTemplateVersion(void) const
*/
void SharedJediManagerObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedJediManagerObjectTemplate_tag)
{
@@ -124,7 +133,7 @@ void SharedJediManagerObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -144,8 +153,10 @@ void SharedJediManagerObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -163,4 +174,4 @@ void SharedJediManagerObjectTemplate::load(Iff &file)
return;
} // SharedJediManagerObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -23,20 +23,20 @@
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0, 0, 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedManufactureSchematicObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedManufactureSchematicObjectTemplate::SharedManufactureSchematicObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedIntangibleObjectTemplate(filename)
, m_versionOk(true)
, m_templateVersion(0)
//@END TFD INIT
,m_versionOk(true)
//@END TFD INIT
{
} // SharedManufactureSchematicObjectTemplate::SharedManufactureSchematicObjectTemplate
@@ -45,8 +45,8 @@ SharedManufactureSchematicObjectTemplate::SharedManufactureSchematicObjectTempla
*/
SharedManufactureSchematicObjectTemplate::~SharedManufactureSchematicObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedManufactureSchematicObjectTemplate::~SharedManufactureSchematicObjectTemplate
/**
@@ -103,6 +103,15 @@ Tag SharedManufactureSchematicObjectTemplate::getHighestTemplateVersion(void) co
} // SharedManufactureSchematicObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedManufactureSchematicObjectTemplate::testValues(void) const
{
SharedIntangibleObjectTemplate::testValues();
} // SharedManufactureSchematicObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
@@ -112,8 +121,8 @@ Tag SharedManufactureSchematicObjectTemplate::getHighestTemplateVersion(void) co
*/
void SharedManufactureSchematicObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedManufactureSchematicObjectTemplate_tag)
{
@@ -123,7 +132,7 @@ void SharedManufactureSchematicObjectTemplate::load(Iff &file)
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D, E, R, V))
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
@@ -143,8 +152,10 @@ void SharedManufactureSchematicObjectTemplate::load(Iff &file)
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0, 0, 0, 0))
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
@@ -162,4 +173,4 @@ void SharedManufactureSchematicObjectTemplate::load(Iff &file)
return;
} // SharedManufactureSchematicObjectTemplate::load
//@END TFD
//@END TFD
@@ -45,6 +45,11 @@ public:
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
@@ -0,0 +1,176 @@
//========================================================================
//
// SharedMissionDataObjectTemplate.cpp
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#include "sharedGame/FirstSharedGame.h"
#include "SharedMissionDataObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
#include "sharedMath/Vector.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedMissionDataObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedMissionDataObjectTemplate::SharedMissionDataObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedIntangibleObjectTemplate(filename)
,m_versionOk(true)
//@END TFD INIT
{
} // SharedMissionDataObjectTemplate::SharedMissionDataObjectTemplate
/**
* Class destructor.
*/
SharedMissionDataObjectTemplate::~SharedMissionDataObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedMissionDataObjectTemplate::~SharedMissionDataObjectTemplate
/**
* Static function used to register this template.
*/
void SharedMissionDataObjectTemplate::registerMe(void)
{
ObjectTemplateList::registerTemplate(SharedMissionDataObjectTemplate_tag, create);
} // SharedMissionDataObjectTemplate::registerMe
/**
* Creates a SharedMissionDataObjectTemplate template.
*
* @return a new instance of the template
*/
ObjectTemplate * SharedMissionDataObjectTemplate::create(const std::string & filename)
{
return new SharedMissionDataObjectTemplate(filename);
} // SharedMissionDataObjectTemplate::create
/**
* Returns the template id.
*
* @return the template id
*/
Tag SharedMissionDataObjectTemplate::getId(void) const
{
return SharedMissionDataObjectTemplate_tag;
} // SharedMissionDataObjectTemplate::getId
/**
* Returns this template's version.
*
* @return the version
*/
Tag SharedMissionDataObjectTemplate::getTemplateVersion(void) const
{
return m_templateVersion;
} // SharedMissionDataObjectTemplate::getTemplateVersion
/**
* Returns the highest version of this template or it's base templates.
*
* @return the highest version
*/
Tag SharedMissionDataObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
return m_templateVersion;
const SharedMissionDataObjectTemplate * base = dynamic_cast<const SharedMissionDataObjectTemplate *>(m_baseData);
if (base == nullptr)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // SharedMissionDataObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedMissionDataObjectTemplate::testValues(void) const
{
SharedIntangibleObjectTemplate::testValues();
} // SharedMissionDataObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
*
* @param file file to load from
*/
void SharedMissionDataObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedMissionDataObjectTemplate_tag)
{
SharedIntangibleObjectTemplate::load(file);
return;
}
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
std::string baseFilename;
file.read_string(baseFilename);
file.exitChunk();
const ObjectTemplate *base = ObjectTemplateList::fetch(baseFilename);
DEBUG_WARNING(base == nullptr, ("was unable to load base template %s", baseFilename.c_str()));
if (m_baseData == base && base != nullptr)
base->releaseReference();
else
{
if (m_baseData != nullptr)
m_baseData->releaseReference();
m_baseData = base;
}
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
file.enterForm();
file.enterChunk();
int paramCount = file.read_int32();
file.exitChunk();
UNREF(paramName);
UNREF(paramCount);
file.exitForm();
SharedIntangibleObjectTemplate::load(file);
file.exitForm();
return;
} // SharedMissionDataObjectTemplate::load
//@END TFD
@@ -0,0 +1,83 @@
//========================================================================
//
// SharedMissionDataObjectTemplate.h
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#ifndef _INCLUDED_SharedMissionDataObjectTemplate_H
#define _INCLUDED_SharedMissionDataObjectTemplate_H
#include "SharedIntangibleObjectTemplate.h"
#include "sharedFoundation/DynamicVariable.h"
#include "sharedUtility/TemplateParameter.h"
class Vector;
typedef StructParam<ObjectTemplate> StructParamOT;
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
class SharedMissionDataObjectTemplate : public SharedIntangibleObjectTemplate
{
public:
//@BEGIN TFD ID
enum
{
SharedMissionDataObjectTemplate_tag = TAG(S,M,S,D)
};
//@END TFD ID
public:
SharedMissionDataObjectTemplate(const std::string & filename);
virtual ~SharedMissionDataObjectTemplate();
virtual Tag getId(void) const;
virtual Tag getTemplateVersion(void) const;
virtual Tag getHighestTemplateVersion(void) const;
static void install(bool allowDefaultTemplateParams = true);
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
private:
//@END TFD
private:
Tag m_templateVersion; // the template version
bool m_versionOk; // flag that the template version loaded is the one we expect
static bool ms_allowDefaultTemplateParams; // flag to allow defaut params instead of fataling
static void registerMe(void);
static ObjectTemplate * create(const std::string & filename);
// no copying
SharedMissionDataObjectTemplate(const SharedMissionDataObjectTemplate &);
SharedMissionDataObjectTemplate & operator =(const SharedMissionDataObjectTemplate &);
};
inline void SharedMissionDataObjectTemplate::install(bool allowDefaultTemplateParams)
{
ms_allowDefaultTemplateParams = allowDefaultTemplateParams;
//@BEGIN TFD INSTALL
SharedMissionDataObjectTemplate::registerMe();
//@END TFD INSTALL
}
#endif // _INCLUDED_SharedMissionDataObjectTemplate_H
@@ -0,0 +1,176 @@
//========================================================================
//
// SharedMissionListEntryObjectTemplate.cpp
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#include "sharedGame/FirstSharedGame.h"
#include "SharedMissionListEntryObjectTemplate.h"
#include "sharedDebug/DataLint.h"
#include "sharedFile/Iff.h"
#include "sharedObject/ObjectTemplate.h"
#include "sharedObject/ObjectTemplateList.h"
#include "sharedMath/Vector.h"
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
#include <stdio.h>
const std::string DefaultString("");
const StringId DefaultStringId("", 0);
const Vector DefaultVector(0,0,0);
const TriggerVolumeData DefaultTriggerVolumeData;
bool SharedMissionListEntryObjectTemplate::ms_allowDefaultTemplateParams = true;
/**
* Class constructor.
*/
SharedMissionListEntryObjectTemplate::SharedMissionListEntryObjectTemplate(const std::string & filename)
//@BEGIN TFD INIT
: SharedIntangibleObjectTemplate(filename)
,m_versionOk(true)
//@END TFD INIT
{
} // SharedMissionListEntryObjectTemplate::SharedMissionListEntryObjectTemplate
/**
* Class destructor.
*/
SharedMissionListEntryObjectTemplate::~SharedMissionListEntryObjectTemplate()
{
//@BEGIN TFD CLEANUP
//@END TFD CLEANUP
} // SharedMissionListEntryObjectTemplate::~SharedMissionListEntryObjectTemplate
/**
* Static function used to register this template.
*/
void SharedMissionListEntryObjectTemplate::registerMe(void)
{
ObjectTemplateList::registerTemplate(SharedMissionListEntryObjectTemplate_tag, create);
} // SharedMissionListEntryObjectTemplate::registerMe
/**
* Creates a SharedMissionListEntryObjectTemplate template.
*
* @return a new instance of the template
*/
ObjectTemplate * SharedMissionListEntryObjectTemplate::create(const std::string & filename)
{
return new SharedMissionListEntryObjectTemplate(filename);
} // SharedMissionListEntryObjectTemplate::create
/**
* Returns the template id.
*
* @return the template id
*/
Tag SharedMissionListEntryObjectTemplate::getId(void) const
{
return SharedMissionListEntryObjectTemplate_tag;
} // SharedMissionListEntryObjectTemplate::getId
/**
* Returns this template's version.
*
* @return the version
*/
Tag SharedMissionListEntryObjectTemplate::getTemplateVersion(void) const
{
return m_templateVersion;
} // SharedMissionListEntryObjectTemplate::getTemplateVersion
/**
* Returns the highest version of this template or it's base templates.
*
* @return the highest version
*/
Tag SharedMissionListEntryObjectTemplate::getHighestTemplateVersion(void) const
{
if (m_baseData == nullptr)
return m_templateVersion;
const SharedMissionListEntryObjectTemplate * base = dynamic_cast<const SharedMissionListEntryObjectTemplate *>(m_baseData);
if (base == nullptr)
return m_templateVersion;
return std::max(m_templateVersion, base->getHighestTemplateVersion());
} // SharedMissionListEntryObjectTemplate::getHighestTemplateVersion
//@BEGIN TFD
#ifdef _DEBUG
/**
* Special function used by datalint. Checks for duplicate values in base and derived templates.
*/
void SharedMissionListEntryObjectTemplate::testValues(void) const
{
SharedIntangibleObjectTemplate::testValues();
} // SharedMissionListEntryObjectTemplate::testValues
#endif
/**
* Loads the template data from an iff file. We should already be in the form
* for this template.
*
* @param file file to load from
*/
void SharedMissionListEntryObjectTemplate::load(Iff &file)
{
static const int MAX_NAME_SIZE = 256;
char paramName[MAX_NAME_SIZE];
if (file.getCurrentName() != SharedMissionListEntryObjectTemplate_tag)
{
SharedIntangibleObjectTemplate::load(file);
return;
}
file.enterForm();
m_templateVersion = file.getCurrentName();
if (m_templateVersion == TAG(D,E,R,V))
{
file.enterForm();
file.enterChunk();
std::string baseFilename;
file.read_string(baseFilename);
file.exitChunk();
const ObjectTemplate *base = ObjectTemplateList::fetch(baseFilename);
DEBUG_WARNING(base == nullptr, ("was unable to load base template %s", baseFilename.c_str()));
if (m_baseData == base && base != nullptr)
base->releaseReference();
else
{
if (m_baseData != nullptr)
m_baseData->releaseReference();
m_baseData = base;
}
file.exitForm();
m_templateVersion = file.getCurrentName();
}
if (getHighestTemplateVersion() != TAG(0,0,0,0))
{
if (DataLint::isEnabled())
DEBUG_WARNING(true, ("template %s version out of date", file.getFileName()));
m_versionOk = false;
}
file.enterForm();
file.enterChunk();
int paramCount = file.read_int32();
file.exitChunk();
UNREF(paramName);
UNREF(paramCount);
file.exitForm();
SharedIntangibleObjectTemplate::load(file);
file.exitForm();
return;
} // SharedMissionListEntryObjectTemplate::load
//@END TFD
@@ -0,0 +1,83 @@
//========================================================================
//
// SharedMissionListEntryObjectTemplate.h
//
//IMPORTANT: Any code between //@BEGIN TFD... and //@END TFD... will be
//overwritten the next time the template definition is compiled. Do not
//make changes to code inside these blocks.
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#ifndef _INCLUDED_SharedMissionListEntryObjectTemplate_H
#define _INCLUDED_SharedMissionListEntryObjectTemplate_H
#include "SharedIntangibleObjectTemplate.h"
#include "sharedFoundation/DynamicVariable.h"
#include "sharedUtility/TemplateParameter.h"
class Vector;
typedef StructParam<ObjectTemplate> StructParamOT;
//@BEGIN TFD TEMPLATE REFS
//@END TFD TEMPLATE REFS
class SharedMissionListEntryObjectTemplate : public SharedIntangibleObjectTemplate
{
public:
//@BEGIN TFD ID
enum
{
SharedMissionListEntryObjectTemplate_tag = TAG(S,M,L,E)
};
//@END TFD ID
public:
SharedMissionListEntryObjectTemplate(const std::string & filename);
virtual ~SharedMissionListEntryObjectTemplate();
virtual Tag getId(void) const;
virtual Tag getTemplateVersion(void) const;
virtual Tag getHighestTemplateVersion(void) const;
static void install(bool allowDefaultTemplateParams = true);
//@BEGIN TFD
public:
#ifdef _DEBUG
public:
// special code used by datalint
virtual void testValues(void) const;
#endif
protected:
virtual void load(Iff &file);
private:
//@END TFD
private:
Tag m_templateVersion; // the template version
bool m_versionOk; // flag that the template version loaded is the one we expect
static bool ms_allowDefaultTemplateParams; // flag to allow defaut params instead of fataling
static void registerMe(void);
static ObjectTemplate * create(const std::string & filename);
// no copying
SharedMissionListEntryObjectTemplate(const SharedMissionListEntryObjectTemplate &);
SharedMissionListEntryObjectTemplate & operator =(const SharedMissionListEntryObjectTemplate &);
};
inline void SharedMissionListEntryObjectTemplate::install(bool allowDefaultTemplateParams)
{
ms_allowDefaultTemplateParams = allowDefaultTemplateParams;
//@BEGIN TFD INSTALL
SharedMissionListEntryObjectTemplate::registerMe();
//@END TFD INSTALL
}
#endif // _INCLUDED_SharedMissionListEntryObjectTemplate_H

Some files were not shown because too many files have changed in this diff Show More