forked from mirror/openmw-tes3mp
Save controls state (Fixes #3598)
parent
5580123880
commit
301dd77efb
@ -0,0 +1,43 @@
|
||||
#include "controlsstate.hpp"
|
||||
|
||||
#include "esmreader.hpp"
|
||||
#include "esmwriter.hpp"
|
||||
|
||||
ESM::ControlsState::ControlsState()
|
||||
: mViewSwitchDisabled(false),
|
||||
mControlsDisabled(false),
|
||||
mJumpingDisabled(false),
|
||||
mLookingDisabled(false),
|
||||
mVanityModeDisabled(false),
|
||||
mWeaponDrawingDisabled(false),
|
||||
mSpellDrawingDisabled(false)
|
||||
{
|
||||
}
|
||||
|
||||
void ESM::ControlsState::load(ESM::ESMReader& esm)
|
||||
{
|
||||
int flags;
|
||||
esm.getHNT(flags, "CFLG");
|
||||
|
||||
mViewSwitchDisabled = flags & ViewSwitchDisabled;
|
||||
mControlsDisabled = flags & ControlsDisabled;
|
||||
mJumpingDisabled = flags & JumpingDisabled;
|
||||
mLookingDisabled = flags & LookingDisabled;
|
||||
mVanityModeDisabled = flags & VanityModeDisabled;
|
||||
mWeaponDrawingDisabled = flags & WeaponDrawingDisabled;
|
||||
mSpellDrawingDisabled = flags & SpellDrawingDisabled;
|
||||
}
|
||||
|
||||
void ESM::ControlsState::save(ESM::ESMWriter& esm) const
|
||||
{
|
||||
int flags = 0;
|
||||
if (mViewSwitchDisabled) flags |= ViewSwitchDisabled;
|
||||
if (mControlsDisabled) flags |= ControlsDisabled;
|
||||
if (mJumpingDisabled) flags |= JumpingDisabled;
|
||||
if (mLookingDisabled) flags |= LookingDisabled;
|
||||
if (mVanityModeDisabled) flags |= VanityModeDisabled;
|
||||
if (mWeaponDrawingDisabled) flags |= WeaponDrawingDisabled;
|
||||
if (mSpellDrawingDisabled) flags |= SpellDrawingDisabled;
|
||||
|
||||
esm.writeHNT("CFLG", flags);
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
#ifndef OPENMW_ESM_CONTROLSSTATE_H
|
||||
#define OPENMW_ESM_CONTROLSSTATE_H
|
||||
|
||||
namespace ESM
|
||||
{
|
||||
class ESMReader;
|
||||
class ESMWriter;
|
||||
|
||||
// format 0, saved games only
|
||||
|
||||
struct ControlsState
|
||||
{
|
||||
ControlsState();
|
||||
|
||||
enum Flags
|
||||
{
|
||||
ViewSwitchDisabled = 0x1,
|
||||
ControlsDisabled = 0x4,
|
||||
JumpingDisabled = 0x1000,
|
||||
LookingDisabled = 0x2000,
|
||||
VanityModeDisabled = 0x4000,
|
||||
WeaponDrawingDisabled = 0x8000,
|
||||
SpellDrawingDisabled = 0x10000
|
||||
};
|
||||
|
||||
bool mViewSwitchDisabled;
|
||||
bool mControlsDisabled;
|
||||
bool mJumpingDisabled;
|
||||
bool mLookingDisabled;
|
||||
bool mVanityModeDisabled;
|
||||
bool mWeaponDrawingDisabled;
|
||||
bool mSpellDrawingDisabled;
|
||||
|
||||
void load (ESMReader &esm);
|
||||
void save (ESMWriter &esm) const;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue