From 061108c6855455bdc361d78321754f9dc1fb67f4 Mon Sep 17 00:00:00 2001 From: Simon Jackson Date: Thu, 17 Jun 2010 19:24:18 +0100 Subject: [PATCH] weird skill reading byte alignment fix (reverted to how it was original minus the offsetof change) --- library/modules/Creatures.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/library/modules/Creatures.cpp b/library/modules/Creatures.cpp index 55cc15ccb..e1250f01b 100644 --- a/library/modules/Creatures.cpp +++ b/library/modules/Creatures.cpp @@ -265,12 +265,12 @@ bool Creatures::ReadCreature (const int32_t index, t_creature & furball) for (uint32_t i = 0; i < furball.defaultSoul.numSkills;i++) { uint32_t temp2 = skills[i]; - // a byte: this gives us 256 skills maximum. ??? - furball.defaultSoul.skills[i].id = p->readDWord (temp2); - furball.defaultSoul.skills[i].rating = - p->readDWord (temp2 + offsetof(t_skill, rating)); + // a byte: this gives us 256 skills maximum. + furball.defaultSoul.skills[i].id = p->readByte (temp2); + furball.defaultSoul.skills[i].rating = + p->readByte (temp2 + offsetof(t_skill, rating)); furball.defaultSoul.skills[i].experience = - p->readDWord (temp2 + offsetof(t_skill, experience)); + p->readWord (temp2 + offsetof(t_skill, experience)); } // mental attributes are part of the soul @@ -413,8 +413,8 @@ bool Creatures::WriteSkills(const uint32_t index, const t_soul &soul) for (uint32_t i=0; iwriteDWord(temp2 + offsetof(t_skill, rating), soul.skills[i].rating); - p->writeDWord(temp2 + offsetof(t_skill, experience), soul.skills[i].experience); + p->writeByte(temp2 + offsetof(t_skill, rating), soul.skills[i].rating); + p->writeWord(temp2 + offsetof(t_skill, experience), soul.skills[i].experience); } return true;