1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-06-21 15:11:33 +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 "loadglob.hpp"
#include "esmreader.hpp"
#include "esmwriter.hpp"
namespace ESM namespace ESM
{ {
void Global::load (ESMReader &esm)
void Global::load(ESMReader &esm)
{ {
mValue.read (esm, ESM::Variant::Format_Global); mValue.read (esm, ESM::Variant::Format_Global);
} }
void Global::save(ESMWriter &esm) void Global::save (ESMWriter &esm)
{ {
mValue.write (esm, ESM::Variant::Format_Global); mValue.write (esm, ESM::Variant::Format_Global);
} }

View file

@ -37,7 +37,7 @@ ESM::VarType ESM::Variant::getType() const
return mType; return mType;
} }
std::string ESM::Variant::toString() const std::string ESM::Variant::getString() const
{ {
if (!mData) if (!mData)
throw std::runtime_error ("can not convert empty variant to string"); throw std::runtime_error ("can not convert empty variant to string");
@ -80,6 +80,12 @@ void ESM::Variant::read (ESMReader& esm, Format format)
esm.fail ("illegal global variable type " + typeId); esm.fail ("illegal global variable type " + typeId);
} }
else // GMST else // GMST
{
if (!esm.hasMoreSubs())
{
type = VT_None;
}
else
{ {
esm.getSubName(); esm.getSubName();
NAME name = esm.retSubName(); NAME name = esm.retSubName();
@ -99,6 +105,7 @@ void ESM::Variant::read (ESMReader& esm, Format format)
else else
esm.fail ("invalid subrecord: " + name.toString()); esm.fail ("invalid subrecord: " + name.toString());
} }
}
setType (type); setType (type);

View file

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