mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-30 06:15:32 +00:00
Removed hints from error messages and fixed naming to match conventions
This commit is contained in:
parent
1d86f705ba
commit
bbda5fe634
6 changed files with 85 additions and 51 deletions
|
@ -14,28 +14,28 @@
|
|||
|
||||
void CSMDoc::Document::addGmsts()
|
||||
{
|
||||
for (size_t i=0; i < CSMWorld::DefaultGMSTs::FloatCount; ++i)
|
||||
for (size_t i=0; i < CSMWorld::DefaultGmsts::FloatCount; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = CSMWorld::DefaultGMSTs::Floats[i];
|
||||
gmst.mId = CSMWorld::DefaultGmsts::Floats[i];
|
||||
gmst.mValue.setType (ESM::VT_Float);
|
||||
gmst.mValue.setFloat (CSMWorld::DefaultGMSTs::FloatsDefaultValues[i]);
|
||||
gmst.mValue.setFloat (CSMWorld::DefaultGmsts::FloatsDefaultValues[i]);
|
||||
getData().getGmsts().add (gmst);
|
||||
}
|
||||
|
||||
for (size_t i=0; i < CSMWorld::DefaultGMSTs::IntCount; ++i)
|
||||
for (size_t i=0; i < CSMWorld::DefaultGmsts::IntCount; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = CSMWorld::DefaultGMSTs::Ints[i];
|
||||
gmst.mId = CSMWorld::DefaultGmsts::Ints[i];
|
||||
gmst.mValue.setType (ESM::VT_Int);
|
||||
gmst.mValue.setInteger (CSMWorld::DefaultGMSTs::IntsDefaultValues[i]);
|
||||
gmst.mValue.setInteger (CSMWorld::DefaultGmsts::IntsDefaultValues[i]);
|
||||
getData().getGmsts().add (gmst);
|
||||
}
|
||||
|
||||
for (size_t i=0; i < CSMWorld::DefaultGMSTs::StringCount; ++i)
|
||||
for (size_t i=0; i < CSMWorld::DefaultGmsts::StringCount; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = CSMWorld::DefaultGMSTs::Strings[i];
|
||||
gmst.mId = CSMWorld::DefaultGmsts::Strings[i];
|
||||
gmst.mValue.setType (ESM::VT_String);
|
||||
gmst.mValue.setString ("");
|
||||
getData().getGmsts().add (gmst);
|
||||
|
@ -44,28 +44,28 @@ void CSMDoc::Document::addGmsts()
|
|||
|
||||
void CSMDoc::Document::addOptionalGmsts()
|
||||
{
|
||||
for (size_t i=0; i < CSMWorld::DefaultGMSTs::OptionalFloatCount; ++i)
|
||||
for (size_t i=0; i < CSMWorld::DefaultGmsts::OptionalFloatCount; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = CSMWorld::DefaultGMSTs::OptionalFloats[i];
|
||||
gmst.mId = CSMWorld::DefaultGmsts::OptionalFloats[i];
|
||||
gmst.blank();
|
||||
gmst.mValue.setType (ESM::VT_Float);
|
||||
addOptionalGmst (gmst);
|
||||
}
|
||||
|
||||
for (size_t i=0; i < CSMWorld::DefaultGMSTs::OptionalIntCount; ++i)
|
||||
for (size_t i=0; i < CSMWorld::DefaultGmsts::OptionalIntCount; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = CSMWorld::DefaultGMSTs::OptionalInts[i];
|
||||
gmst.mId = CSMWorld::DefaultGmsts::OptionalInts[i];
|
||||
gmst.blank();
|
||||
gmst.mValue.setType (ESM::VT_Int);
|
||||
addOptionalGmst (gmst);
|
||||
}
|
||||
|
||||
for (size_t i=0; i < CSMWorld::DefaultGMSTs::OptionalStringCount; ++i)
|
||||
for (size_t i=0; i < CSMWorld::DefaultGmsts::OptionalStringCount; ++i)
|
||||
{
|
||||
ESM::GameSetting gmst;
|
||||
gmst.mId = CSMWorld::DefaultGMSTs::OptionalStrings[i];
|
||||
gmst.mId = CSMWorld::DefaultGmsts::OptionalStrings[i];
|
||||
gmst.blank();
|
||||
gmst.mValue.setType (ESM::VT_String);
|
||||
gmst.mValue.setString ("<no text>");
|
||||
|
|
|
@ -1,17 +1,19 @@
|
|||
#include "gmstcheck.hpp"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
#include "../world/defaultgmsts.hpp"
|
||||
|
||||
CSMTools::GMSTCheckStage::GMSTCheckStage(const CSMWorld::IdCollection<ESM::GameSetting>& gameSettings)
|
||||
CSMTools::GmstCheckStage::GmstCheckStage(const CSMWorld::IdCollection<ESM::GameSetting>& gameSettings)
|
||||
: mGameSettings(gameSettings)
|
||||
{}
|
||||
|
||||
int CSMTools::GMSTCheckStage::setup()
|
||||
int CSMTools::GmstCheckStage::setup()
|
||||
{
|
||||
return mGameSettings.getSize();
|
||||
}
|
||||
|
||||
void CSMTools::GMSTCheckStage::perform(int stage, CSMDoc::Messages& messages)
|
||||
void CSMTools::GmstCheckStage::perform(int stage, CSMDoc::Messages& messages)
|
||||
{
|
||||
const CSMWorld::Record<ESM::GameSetting>& record = mGameSettings.getRecord (stage);
|
||||
|
||||
|
@ -30,20 +32,25 @@ void CSMTools::GMSTCheckStage::perform(int stage, CSMDoc::Messages& messages)
|
|||
// optimization - compare it to lists based on naming convention (f-float,i-int,s-string)
|
||||
if (gmst.mId[0] == 'f')
|
||||
{
|
||||
for (size_t i = 0; i < CSMWorld::DefaultGMSTs::FloatCount; ++i)
|
||||
for (size_t i = 0; i < CSMWorld::DefaultGmsts::FloatCount; ++i)
|
||||
{
|
||||
if (gmst.mId == CSMWorld::DefaultGMSTs::Floats[i])
|
||||
if (gmst.mId == CSMWorld::DefaultGmsts::Floats[i])
|
||||
{
|
||||
if (gmst.mValue.getType() != ESM::VT_Float)
|
||||
messages.add(id, "The type of " + gmst.mId + " is incorrect",
|
||||
"Change the GMST type to a float", CSMDoc::Message::Severity_Error);
|
||||
{
|
||||
std::ostringstream stream;
|
||||
stream << "Expected float type for " << gmst.mId << " but found "
|
||||
<< varTypeToString(gmst.mValue.getType()) << " type";
|
||||
|
||||
messages.add(id, stream.str(), "", CSMDoc::Message::Severity_Error);
|
||||
}
|
||||
|
||||
if (gmst.mValue.getFloat() < CSMWorld::DefaultGMSTs::FloatLimits[i*2])
|
||||
messages.add(id, gmst.mId + " is less than the suggested range", "Change the value",
|
||||
if (gmst.mValue.getFloat() < CSMWorld::DefaultGmsts::FloatLimits[i*2])
|
||||
messages.add(id, gmst.mId + " is less than the suggested range", "",
|
||||
CSMDoc::Message::Severity_Warning);
|
||||
|
||||
if (gmst.mValue.getFloat() > CSMWorld::DefaultGMSTs::FloatLimits[i*2+1])
|
||||
messages.add(id, gmst.mId + " is more than the suggested range", "Change the value",
|
||||
if (gmst.mValue.getFloat() > CSMWorld::DefaultGmsts::FloatLimits[i*2+1])
|
||||
messages.add(id, gmst.mId + " is more than the suggested range", "",
|
||||
CSMDoc::Message::Severity_Warning);
|
||||
|
||||
break; // for loop
|
||||
|
@ -52,20 +59,25 @@ void CSMTools::GMSTCheckStage::perform(int stage, CSMDoc::Messages& messages)
|
|||
}
|
||||
else if (gmst.mId[0] == 'i')
|
||||
{
|
||||
for (size_t i = 0; i < CSMWorld::DefaultGMSTs::IntCount; ++i)
|
||||
for (size_t i = 0; i < CSMWorld::DefaultGmsts::IntCount; ++i)
|
||||
{
|
||||
if (gmst.mId == CSMWorld::DefaultGMSTs::Ints[i])
|
||||
if (gmst.mId == CSMWorld::DefaultGmsts::Ints[i])
|
||||
{
|
||||
if (gmst.mValue.getType() != ESM::VT_Int)
|
||||
messages.add(id, "The type of " + gmst.mId + " is incorrect",
|
||||
"Change the GMST type to an int", CSMDoc::Message::Severity_Error);
|
||||
{
|
||||
std::ostringstream stream;
|
||||
stream << "Expected int type for " << gmst.mId << " but found "
|
||||
<< varTypeToString(gmst.mValue.getType()) << " type";
|
||||
|
||||
messages.add(id, stream.str(), "", CSMDoc::Message::Severity_Error);
|
||||
}
|
||||
|
||||
if (gmst.mValue.getInteger() < CSMWorld::DefaultGMSTs::IntLimits[i*2])
|
||||
messages.add(id, gmst.mId + " is less than the suggested range", "Change the value",
|
||||
if (gmst.mValue.getInteger() < CSMWorld::DefaultGmsts::IntLimits[i*2])
|
||||
messages.add(id, gmst.mId + " is less than the suggested range", "",
|
||||
CSMDoc::Message::Severity_Warning);
|
||||
|
||||
if (gmst.mValue.getInteger() > CSMWorld::DefaultGMSTs::IntLimits[i*2+1])
|
||||
messages.add(id, gmst.mId + " is more than the suggested range", "Change the value",
|
||||
if (gmst.mValue.getInteger() > CSMWorld::DefaultGmsts::IntLimits[i*2+1])
|
||||
messages.add(id, gmst.mId + " is more than the suggested range", "",
|
||||
CSMDoc::Message::Severity_Warning);
|
||||
|
||||
break; // for loop
|
||||
|
@ -74,18 +86,38 @@ void CSMTools::GMSTCheckStage::perform(int stage, CSMDoc::Messages& messages)
|
|||
}
|
||||
else if (gmst.mId[0] == 's')
|
||||
{
|
||||
for (size_t i = 0; i < CSMWorld::DefaultGMSTs::StringCount; ++i)
|
||||
for (size_t i = 0; i < CSMWorld::DefaultGmsts::StringCount; ++i)
|
||||
{
|
||||
if (gmst.mId == CSMWorld::DefaultGMSTs::Strings[i])
|
||||
if (gmst.mId == CSMWorld::DefaultGmsts::Strings[i])
|
||||
{
|
||||
ESM::VarType type = gmst.mValue.getType();
|
||||
|
||||
if (type != ESM::VT_String && type != ESM::VT_None)
|
||||
messages.add(id, "The type of " + gmst.mId + " is incorrect",
|
||||
"Change the GMST type to a string", CSMDoc::Message::Severity_Error);
|
||||
{
|
||||
std::ostringstream stream;
|
||||
stream << "Expected string or none type for " << gmst.mId << " but found "
|
||||
<< varTypeToString(gmst.mValue.getType()) << " type";
|
||||
|
||||
messages.add(id, stream.str(), "", CSMDoc::Message::Severity_Error);
|
||||
}
|
||||
|
||||
break; // for loop
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string CSMTools::GmstCheckStage::varTypeToString(ESM::VarType type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case ESM::VT_Unknown: return "unknown";
|
||||
case ESM::VT_None: return "none";
|
||||
case ESM::VT_Short: return "short";
|
||||
case ESM::VT_Int: return "int";
|
||||
case ESM::VT_Long: return "long";
|
||||
case ESM::VT_Float: return "float";
|
||||
case ESM::VT_String: return "string";
|
||||
default: return "unhandled";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,11 +10,11 @@
|
|||
namespace CSMTools
|
||||
{
|
||||
/// \brief VerifyStage: make sure that GMSTs are alright
|
||||
class GMSTCheckStage : public CSMDoc::Stage
|
||||
class GmstCheckStage : public CSMDoc::Stage
|
||||
{
|
||||
public:
|
||||
|
||||
GMSTCheckStage(const CSMWorld::IdCollection<ESM::GameSetting>& gameSettings);
|
||||
GmstCheckStage(const CSMWorld::IdCollection<ESM::GameSetting>& gameSettings);
|
||||
|
||||
virtual int setup();
|
||||
///< \return number of steps
|
||||
|
@ -26,6 +26,8 @@ namespace CSMTools
|
|||
|
||||
const CSMWorld::IdCollection<ESM::GameSetting>& mGameSettings;
|
||||
|
||||
std::string varTypeToString(ESM::VarType);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ CSMDoc::OperationHolder *CSMTools::Tools::getVerifier()
|
|||
mData.getResources (CSMWorld::UniversalId::Type_Icons),
|
||||
mData.getResources (CSMWorld::UniversalId::Type_Textures)));
|
||||
|
||||
mVerifierOperation->appendStage (new GMSTCheckStage (mData.getGmsts()));
|
||||
mVerifierOperation->appendStage (new GmstCheckStage (mData.getGmsts()));
|
||||
|
||||
mVerifier.setOperation (mVerifierOperation);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ const float FEps = std::numeric_limits<float>::epsilon();
|
|||
const int IMax = std::numeric_limits<int>::max();
|
||||
const int IMin = std::numeric_limits<int>::min();
|
||||
|
||||
const char* CSMWorld::DefaultGMSTs::Floats[CSMWorld::DefaultGMSTs::FloatCount] =
|
||||
const char* CSMWorld::DefaultGmsts::Floats[CSMWorld::DefaultGmsts::FloatCount] =
|
||||
{
|
||||
"fAIFleeFleeMult",
|
||||
"fAIFleeHealthMult",
|
||||
|
@ -270,7 +270,7 @@ const char* CSMWorld::DefaultGMSTs::Floats[CSMWorld::DefaultGMSTs::FloatCount] =
|
|||
"fWortChanceValue"
|
||||
};
|
||||
|
||||
const char * CSMWorld::DefaultGMSTs::Ints[CSMWorld::DefaultGMSTs::IntCount] =
|
||||
const char * CSMWorld::DefaultGmsts::Ints[CSMWorld::DefaultGmsts::IntCount] =
|
||||
{
|
||||
"i1stPersonSneakDelta",
|
||||
"iAlarmAttack",
|
||||
|
@ -363,7 +363,7 @@ const char * CSMWorld::DefaultGMSTs::Ints[CSMWorld::DefaultGMSTs::IntCount] =
|
|||
"iWereWolfLevelToAttack"
|
||||
};
|
||||
|
||||
const char * CSMWorld::DefaultGMSTs::Strings[CSMWorld::DefaultGMSTs::StringCount] =
|
||||
const char * CSMWorld::DefaultGmsts::Strings[CSMWorld::DefaultGmsts::StringCount] =
|
||||
{
|
||||
"s3dAudio",
|
||||
"s3dHardware",
|
||||
|
@ -1541,7 +1541,7 @@ const char * CSMWorld::DefaultGMSTs::Strings[CSMWorld::DefaultGMSTs::StringCount
|
|||
"sYourGold"
|
||||
};
|
||||
|
||||
const char * CSMWorld::DefaultGMSTs::OptionalFloats[CSMWorld::DefaultGMSTs::OptionalFloatCount] =
|
||||
const char * CSMWorld::DefaultGmsts::OptionalFloats[CSMWorld::DefaultGmsts::OptionalFloatCount] =
|
||||
{
|
||||
"fCombatDistanceWerewolfMod",
|
||||
"fFleeDistance",
|
||||
|
@ -1587,7 +1587,7 @@ const char * CSMWorld::DefaultGMSTs::OptionalFloats[CSMWorld::DefaultGMSTs::Opti
|
|||
"fWereWolfWillPower"
|
||||
};
|
||||
|
||||
const char * CSMWorld::DefaultGMSTs::OptionalInts[CSMWorld::DefaultGMSTs::OptionalIntCount] =
|
||||
const char * CSMWorld::DefaultGmsts::OptionalInts[CSMWorld::DefaultGmsts::OptionalIntCount] =
|
||||
{
|
||||
"iWereWolfBounty",
|
||||
"iWereWolfFightMod",
|
||||
|
@ -1595,7 +1595,7 @@ const char * CSMWorld::DefaultGMSTs::OptionalInts[CSMWorld::DefaultGMSTs::Option
|
|||
"iWereWolfLevelToAttack"
|
||||
};
|
||||
|
||||
const char * CSMWorld::DefaultGMSTs::OptionalStrings[CSMWorld::DefaultGMSTs::OptionalStringCount] =
|
||||
const char * CSMWorld::DefaultGmsts::OptionalStrings[CSMWorld::DefaultGmsts::OptionalStringCount] =
|
||||
{
|
||||
"sCompanionShare",
|
||||
"sCompanionWarningButtonOne",
|
||||
|
@ -1625,7 +1625,7 @@ const char * CSMWorld::DefaultGMSTs::OptionalStrings[CSMWorld::DefaultGMSTs::Opt
|
|||
"sWerewolfRestMessage"
|
||||
};
|
||||
|
||||
const float CSMWorld::DefaultGMSTs::FloatsDefaultValues[CSMWorld::DefaultGMSTs::FloatCount] =
|
||||
const float CSMWorld::DefaultGmsts::FloatsDefaultValues[CSMWorld::DefaultGmsts::FloatCount] =
|
||||
{
|
||||
0.3, // fAIFleeFleeMult
|
||||
7.0, // fAIFleeHealthMult
|
||||
|
@ -1887,7 +1887,7 @@ const float CSMWorld::DefaultGMSTs::FloatsDefaultValues[CSMWorld::DefaultGMSTs::
|
|||
15.0 // fWortChanceValue
|
||||
};
|
||||
|
||||
const int CSMWorld::DefaultGMSTs::IntsDefaultValues[CSMWorld::DefaultGMSTs::IntCount] =
|
||||
const int CSMWorld::DefaultGmsts::IntsDefaultValues[CSMWorld::DefaultGmsts::IntCount] =
|
||||
{
|
||||
10, // i1stPersonSneakDelta
|
||||
50, // iAlarmAttack
|
||||
|
@ -1980,7 +1980,7 @@ const int CSMWorld::DefaultGMSTs::IntsDefaultValues[CSMWorld::DefaultGMSTs::IntC
|
|||
20 // iWereWolfLevelToAttack
|
||||
};
|
||||
|
||||
const float CSMWorld::DefaultGMSTs::FloatLimits[CSMWorld::DefaultGMSTs::FloatCount * 2] =
|
||||
const float CSMWorld::DefaultGmsts::FloatLimits[CSMWorld::DefaultGmsts::FloatCount * 2] =
|
||||
{
|
||||
-FInf, FInf, // fAIFleeFleeMult
|
||||
-FInf, FInf, // fAIFleeHealthMult
|
||||
|
@ -2242,7 +2242,7 @@ const float CSMWorld::DefaultGMSTs::FloatLimits[CSMWorld::DefaultGMSTs::FloatCou
|
|||
0, FInf // fWortChanceValue
|
||||
};
|
||||
|
||||
const int CSMWorld::DefaultGMSTs::IntLimits[CSMWorld::DefaultGMSTs::IntCount * 2] =
|
||||
const int CSMWorld::DefaultGmsts::IntLimits[CSMWorld::DefaultGmsts::IntCount * 2] =
|
||||
{
|
||||
IMin, IMax, // i1stPersonSneakDelta
|
||||
IMin, IMax, // iAlarmAttack
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include <cstddef>
|
||||
|
||||
namespace CSMWorld {
|
||||
namespace DefaultGMSTs {
|
||||
namespace DefaultGmsts {
|
||||
|
||||
const size_t FloatCount = 258;
|
||||
const size_t IntCount = 89;
|
||||
|
|
Loading…
Reference in a new issue