2015-01-22 02:54:33 +00:00
|
|
|
#include "importscri.hpp"
|
|
|
|
|
2022-01-22 14:58:41 +00:00
|
|
|
#include <components/esm3/esmreader.hpp>
|
2015-01-22 02:54:33 +00:00
|
|
|
|
|
|
|
namespace ESSImport
|
|
|
|
{
|
|
|
|
|
|
|
|
void SCRI::load(ESM::ESMReader& esm)
|
|
|
|
{
|
|
|
|
mScript = esm.getHNOString("SCRI");
|
|
|
|
|
2023-12-17 13:03:45 +00:00
|
|
|
int32_t numShorts = 0, numLongs = 0, numFloats = 0;
|
2015-01-22 02:54:33 +00:00
|
|
|
if (esm.isNextSub("SLCS"))
|
|
|
|
{
|
|
|
|
esm.getSubHeader();
|
|
|
|
esm.getT(numShorts);
|
|
|
|
esm.getT(numLongs);
|
|
|
|
esm.getT(numFloats);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (esm.isNextSub("SLSD"))
|
|
|
|
{
|
|
|
|
esm.getSubHeader();
|
|
|
|
for (int i = 0; i < numShorts; ++i)
|
|
|
|
{
|
2023-12-17 13:03:45 +00:00
|
|
|
int16_t val;
|
2015-01-22 02:54:33 +00:00
|
|
|
esm.getT(val);
|
|
|
|
mShorts.push_back(val);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// I haven't seen Longs in a save file yet, but SLLD would make sense for the name
|
|
|
|
// TODO: test this
|
|
|
|
if (esm.isNextSub("SLLD"))
|
|
|
|
{
|
|
|
|
esm.getSubHeader();
|
|
|
|
for (int i = 0; i < numLongs; ++i)
|
|
|
|
{
|
2023-12-17 13:03:45 +00:00
|
|
|
int32_t val;
|
2015-01-22 02:54:33 +00:00
|
|
|
esm.getT(val);
|
|
|
|
mLongs.push_back(val);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (esm.isNextSub("SLFD"))
|
|
|
|
{
|
|
|
|
esm.getSubHeader();
|
|
|
|
for (int i = 0; i < numFloats; ++i)
|
|
|
|
{
|
|
|
|
float val;
|
|
|
|
esm.getT(val);
|
|
|
|
mFloats.push_back(val);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|