added debug profile record

deque
Marc Zinnschlag 11 years ago
parent 3f6a7e36d0
commit 30f114873d

@ -41,7 +41,7 @@ add_component_dir (esm
loadnpc loadpgrd loadrace loadregn loadscpt loadskil loadsndg loadsoun loadspel loadsscr loadstat
loadweap records aipackage effectlist spelllist variant variantimp loadtes3 cellref filter
savedgame journalentry queststate locals globalscript player objectstate cellid cellstate globalmap lightstate inventorystate containerstate npcstate creaturestate dialoguestate statstate
npcstats creaturestats weatherstate quickkeys fogstate spellstate activespells creaturelevliststate doorstate projectilestate
npcstats creaturestats weatherstate quickkeys fogstate spellstate activespells creaturelevliststate doorstate projectilestate debugprofile
aisequence
)

@ -0,0 +1,50 @@
#include "debugprofile.hpp"
#include "esmreader.hpp"
#include "esmwriter.hpp"
#include "defs.hpp"
unsigned int ESM::DebugProfile::sRecordId = REC_DBGP;
void ESM::DebugProfile::load (ESMReader& esm)
{
mDescription = esm.getHNString ("DESC");
mScript = esm.getHNString ("SCRP");
int default_ = 0;
esm.getHNOT (default_, "DEFA");
mDefault = default_!=0;
int bypass = 0;
esm.getHNOT (bypass, "BYNG");
mBypassNewGame = bypass!=0;
}
void ESM::DebugProfile::save (ESMWriter& esm) const
{
esm.writeHNCString ("DESC", mDescription);
esm.writeHNCString ("SCRP", mScript);
if (mDefault)
{
int default_ = 1;
esm.writeHNT ("DEFA", default_);
}
if (mBypassNewGame)
{
int bypass = 1;
esm.writeHNT ("BYNG", bypass);
}
}
void ESM::DebugProfile::blank()
{
mDescription.clear();
mScript.clear();
mDefault = false;
mBypassNewGame = false;
}

@ -0,0 +1,33 @@
#ifndef COMPONENTS_ESM_DEBUGPROFILE_H
#define COMPONENTS_ESM_DEBUGPROFILE_H
#include <string>
namespace ESM
{
class ESMReader;
class ESMWriter;
struct DebugProfile
{
static unsigned int sRecordId;
std::string mId;
std::string mDescription;
std::string mScript;
bool mDefault;
bool mBypassNewGame;
void load (ESMReader& esm);
void save (ESMWriter& esm) const;
/// Set record to default state (does not touch the ID).
void blank();
};
}
#endif

@ -114,7 +114,8 @@ enum RecNameInts
REC_DCOU = FourCC<'D','C','O','U'>::value,
// format 1
REC_FILT = 0x544C4946
REC_FILT = 0x544C4946,
REC_DBGP = FourCC<'D','B','G','P'>::value ///< only used in project files
};
}

Loading…
Cancel
Save