mirror of
https://github.com/SWG-Source/src.git
synced 2026-07-28 22:15:49 -04:00
Merge branch 'testing' of git.stellabellum.net:staff/src into testing
This commit is contained in:
@@ -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
|
||||
|
||||
Executable → Regular
+288
-48
@@ -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
|
||||
|
||||
Executable → Regular
+24
-15
@@ -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);
|
||||
|
||||
engine/server/library/serverGame/src/shared/objectTemplate/ServerBattlefieldMarkerObjectTemplate.cpp
Executable → Regular
+25
-14
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+92
-17
@@ -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
|
||||
|
||||
Executable → Regular
+9
-4
@@ -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);
|
||||
|
||||
Executable → Regular
+26
-15
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+25
-15
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+398
-72
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
Executable → Regular
+25
-20
@@ -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);
|
||||
|
||||
Executable → Regular
+416
-79
@@ -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
|
||||
|
||||
Executable → Regular
+28
-18
@@ -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);
|
||||
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+192
-23
@@ -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
|
||||
|
||||
Executable → Regular
+15
-10
@@ -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);
|
||||
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+363
-53
@@ -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
|
||||
|
||||
Executable → Regular
+37
-17
@@ -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);
|
||||
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+184
-67
@@ -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
|
||||
|
||||
Executable → Regular
+16
-6
@@ -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);
|
||||
|
||||
+176
@@ -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
|
||||
+83
@@ -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
|
||||
+176
@@ -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
|
||||
+83
@@ -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
|
||||
+176
@@ -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
|
||||
+83
@@ -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
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+972
-165
File diff suppressed because it is too large
Load Diff
Executable → Regular
+73
-48
@@ -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);
|
||||
|
||||
Executable → Regular
+42
-14
@@ -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
|
||||
|
||||
Executable → Regular
+6
-1
@@ -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);
|
||||
|
||||
Executable → Regular
+25
-14
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+26
-14
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
engine/server/library/serverGame/src/shared/objectTemplate/ServerResourceContainerObjectTemplate.cpp
Executable → Regular
+75
-16
@@ -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
|
||||
|
||||
Executable → Regular
+8
-3
@@ -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);
|
||||
|
||||
Executable → Regular
Executable → Regular
Executable → Regular
+43
-15
@@ -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
|
||||
|
||||
Executable → Regular
+6
-1
@@ -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);
|
||||
|
||||
Executable → Regular
+42
-14
@@ -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
|
||||
|
||||
Executable → Regular
+6
-1
@@ -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);
|
||||
|
||||
Executable → Regular
+264
-33
@@ -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
|
||||
|
||||
Executable → Regular
+29
-18
@@ -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;
|
||||
|
||||
+176
@@ -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
|
||||
+83
@@ -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
|
||||
Executable → Regular
+24
-13
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+192
-23
@@ -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
|
||||
|
||||
Executable → Regular
+15
-10
@@ -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);
|
||||
|
||||
Executable → Regular
+643
-50
File diff suppressed because it is too large
Load Diff
Executable → Regular
+45
-38
@@ -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);
|
||||
|
||||
Executable → Regular
+27
-17
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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
|
||||
|
||||
engine/shared/library/sharedGame/src/shared/objectTemplate/SharedBattlefieldMarkerObjectTemplate.cpp
Executable → Regular
+124
-18
@@ -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
|
||||
|
||||
Executable → Regular
+11
-6
@@ -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);
|
||||
|
||||
Executable → Regular
+57
-13
@@ -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
|
||||
|
||||
Executable → Regular
+7
-2
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+743
-71
File diff suppressed because it is too large
Load Diff
Executable → Regular
+47
-42
@@ -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);
|
||||
|
||||
Executable → Regular
+246
-86
@@ -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;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
||||
Executable → Regular
+23
-9
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+23
-12
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
Executable → Regular
+22
-11
@@ -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
|
||||
|
||||
Executable → Regular
+5
@@ -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);
|
||||
|
||||
+176
@@ -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
|
||||
+83
@@ -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
|
||||
+176
@@ -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
|
||||
+83
@@ -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
Reference in New Issue
Block a user