1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-01-19 21:23:52 +00:00

some cleanup and fixing

This commit is contained in:
Marc Zinnschlag 2013-03-05 08:02:05 +01:00
parent a1ac20c6f3
commit ce49ad54a1
3 changed files with 25 additions and 22 deletions

View file

@ -1,17 +1,13 @@
#include "loadglob.hpp"
#include "esmreader.hpp"
#include "esmwriter.hpp"
namespace ESM
{
void Global::load(ESMReader &esm)
void Global::load (ESMReader &esm)
{
mValue.read (esm, ESM::Variant::Format_Global);
}
void Global::save(ESMWriter &esm)
void Global::save (ESMWriter &esm)
{
mValue.write (esm, ESM::Variant::Format_Global);
}

View file

@ -37,7 +37,7 @@ ESM::VarType ESM::Variant::getType() const
return mType;
}
std::string ESM::Variant::toString() const
std::string ESM::Variant::getString() const
{
if (!mData)
throw std::runtime_error ("can not convert empty variant to string");
@ -81,23 +81,30 @@ void ESM::Variant::read (ESMReader& esm, Format format)
}
else // GMST
{
esm.getSubName();
NAME name = esm.retSubName();
if (name=="STRV")
if (!esm.hasMoreSubs())
{
type = VT_String;
}
else if (name=="INTV")
{
type = VT_Int;
}
else if (name=="FLTV")
{
type = VT_Float;
type = VT_None;
}
else
esm.fail ("invalid subrecord: " + name.toString());
{
esm.getSubName();
NAME name = esm.retSubName();
if (name=="STRV")
{
type = VT_String;
}
else if (name=="INTV")
{
type = VT_Int;
}
else if (name=="FLTV")
{
type = VT_Float;
}
else
esm.fail ("invalid subrecord: " + name.toString());
}
}
setType (type);

View file

@ -45,7 +45,7 @@ namespace ESM
VarType getType() const;
std::string toString() const;
std::string getString() const;
///< Will throw an exception, if value can not be represented as a string.
int getInteger() const;