mirror of https://github.com/OpenMW/openmw.git
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.
56 lines
1.5 KiB
C++
56 lines
1.5 KiB
C++
#include "controlsstate.hpp"
|
|
|
|
#include "esmreader.hpp"
|
|
#include "esmwriter.hpp"
|
|
|
|
namespace ESM
|
|
{
|
|
|
|
ControlsState::ControlsState()
|
|
: mViewSwitchDisabled(false)
|
|
, mControlsDisabled(false)
|
|
, mJumpingDisabled(false)
|
|
, mLookingDisabled(false)
|
|
, mVanityModeDisabled(false)
|
|
, mWeaponDrawingDisabled(false)
|
|
, mSpellDrawingDisabled(false)
|
|
{
|
|
}
|
|
|
|
void ControlsState::load(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 ControlsState::save(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);
|
|
}
|
|
|
|
}
|