From 51c05264b09b5b1ee72fb35eaff1537b0d359194 Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 30 Jan 2015 23:31:00 +0100 Subject: [PATCH] ESSImport: note where skill progress is stored (not converted yet) --- apps/essimporter/converter.hpp | 2 +- apps/essimporter/convertplayer.cpp | 3 +++ apps/essimporter/importplayer.hpp | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/essimporter/converter.hpp b/apps/essimporter/converter.hpp index 80b8e2e3b..775995605 100644 --- a/apps/essimporter/converter.hpp +++ b/apps/essimporter/converter.hpp @@ -409,7 +409,7 @@ private: /// Seen responses for a dialogue topic? /// Each DIAL record is followed by a number of INFO records, I believe, just like in ESMs -/// Dialogue conversion problems (probably have to adjust OpenMW format) - +/// Dialogue conversion problems: /// - Journal is stored in one continuous HTML markup rather than each entry separately with associated info ID. /// - Seen dialogue responses only store the INFO id, rather than the fulltext. /// - Quest stages only store the INFO id, rather than the journal entry fulltext. diff --git a/apps/essimporter/convertplayer.cpp b/apps/essimporter/convertplayer.cpp index 19cec2a28..ef22660f5 100644 --- a/apps/essimporter/convertplayer.cpp +++ b/apps/essimporter/convertplayer.cpp @@ -24,6 +24,9 @@ namespace ESSImport if (pcdt.mPNAM.mDrawState & PCDT::DrawState_Spell) out.mObject.mCreatureStats.mDrawState = 2; + // TODO: convert PNAM.mSkillProgress, needs to be converted to uniform scale + // (or change openmw to accept non-uniform skill progress) + firstPersonCam = (pcdt.mPNAM.mCameraState == PCDT::CameraState_FirstPerson); for (std::vector::const_iterator it = pcdt.mKnownDialogueTopics.begin(); diff --git a/apps/essimporter/importplayer.hpp b/apps/essimporter/importplayer.hpp index 4e68834cf..bc6b94be2 100644 --- a/apps/essimporter/importplayer.hpp +++ b/apps/essimporter/importplayer.hpp @@ -65,8 +65,8 @@ struct PCDT { short mDrawState; // DrawState short mCameraState; // CameraState - unsigned char mLevelProgress; - unsigned char mUnknown2[111]; + unsigned int mLevelProgress; + float mSkillProgress[27]; // skill progress, non-uniform scaled unsigned char mSkillIncreases[8]; // number of skill increases for each attribute unsigned char mUnknown3[88]; };