You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
602 B
C++
32 lines
602 B
C++
14 years ago
|
#include "loadfact.hpp"
|
||
|
|
||
|
namespace ESM
|
||
|
{
|
||
|
|
||
|
void Faction::load(ESMReader &esm)
|
||
|
{
|
||
|
name = esm.getHNString("FNAM");
|
||
|
|
||
|
// Read rank names. These are optional.
|
||
|
int i = 0;
|
||
|
while (esm.isNextSub("RNAM") && i < 10)
|
||
|
ranks[i++] = esm.getHString();
|
||
|
|
||
|
// Main data struct
|
||
|
esm.getHNT(data, "FADT", 240);
|
||
|
|
||
|
if (data.isHidden > 1)
|
||
|
esm.fail("Unknown flag!");
|
||
|
|
||
|
// Read faction response values
|
||
|
while (esm.hasMoreSubs())
|
||
|
{
|
||
|
Reaction r;
|
||
|
r.faction = esm.getHNString("ANAM");
|
||
|
esm.getHNT(r.reaction, "INTV");
|
||
|
reactions.push_back(r);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|