some cleanup and fixing

pull/37/head
Marc Zinnschlag 12 years ago
parent a1ac20c6f3
commit ce49ad54a1

@ -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);
}

@ -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")
{
type = VT_String;
}
else if (name=="INTV")
if (!esm.hasMoreSubs())
{
type = VT_Int;
type = VT_None;
}
else if (name=="FLTV")
else
{
type = VT_Float;
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());
}
else
esm.fail ("invalid subrecord: " + name.toString());
}
setType (type);

@ -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;

Loading…
Cancel
Save