forked from teamnwah/openmw-tes3coop
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