ESS-Import: fix handling of first person camera state (Bug #3416)

pull/1/head
scrawl 9 years ago
parent 373f991942
commit 2ce1da688f

@ -28,7 +28,7 @@ namespace ESSImport
if (pcdt.mPNAM.mDrawState & PCDT::DrawState_Spell) if (pcdt.mPNAM.mDrawState & PCDT::DrawState_Spell)
out.mObject.mCreatureStats.mDrawState = 2; out.mObject.mCreatureStats.mDrawState = 2;
firstPersonCam = (pcdt.mPNAM.mCameraState == PCDT::CameraState_FirstPerson); firstPersonCam = !(pcdt.mPNAM.mCameraFlags & PCDT::CameraFlag_ThirdPerson);
for (std::vector<std::string>::const_iterator it = pcdt.mKnownDialogueTopics.begin(); for (std::vector<std::string>::const_iterator it = pcdt.mKnownDialogueTopics.begin();
it != pcdt.mKnownDialogueTopics.end(); ++it) it != pcdt.mKnownDialogueTopics.end(); ++it)

@ -43,10 +43,9 @@ struct PCDT
DrawState_Weapon = 0x80, DrawState_Weapon = 0x80,
DrawState_Spell = 0x100 DrawState_Spell = 0x100
}; };
enum CameraState enum CameraFlags
{ {
CameraState_FirstPerson = 0x8, CameraFlag_ThirdPerson = 0x2
CameraState_ThirdPerson = 0xa
}; };
#pragma pack(push) #pragma pack(push)
@ -64,7 +63,7 @@ struct PCDT
struct PNAM struct PNAM
{ {
short mDrawState; // DrawState short mDrawState; // DrawState
short mCameraState; // CameraState short mCameraFlags; // CameraFlags
unsigned int mLevelProgress; unsigned int mLevelProgress;
float mSkillProgress[27]; // skill progress, non-uniform scaled float mSkillProgress[27]; // skill progress, non-uniform scaled
unsigned char mSkillIncreases[8]; // number of skill increases for each attribute unsigned char mSkillIncreases[8]; // number of skill increases for each attribute

Loading…
Cancel
Save