Skip to content

Commit

Permalink
NWN: add an enum for armour parts
Browse files Browse the repository at this point in the history
  • Loading branch information
jbowtie committed Mar 28, 2012
1 parent a64ead7 commit 9cbe897
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/engines/nwn/item.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ namespace NWN {
Item::Item() : Object(kObjectTypeItem), _appearanceID(Aurora::kFieldIDInvalid),
_soundAppType(Aurora::kFieldIDInvalid), _model(0) {

_armorParts.resize(19);
_armorParts.resize(kArmorPartMAX);
}

Item::~Item() {
Expand Down Expand Up @@ -206,8 +206,7 @@ static const char *kArmorPartFields[] = {

void Item::loadArmorParts(const Aurora::GFFStruct &gff)
{
//TODO: add an kArmorPart enumeration
for (uint i = 0; i < 19; i++)
for (uint i = 0; i < kArmorPartMAX; i++)
if (gff.hasField(kArmorPartFields[i])) {
_armorParts[i].id = gff.getUint(kArmorPartFields[i], _armorParts[i].id);
}
Expand All @@ -216,7 +215,8 @@ void Item::loadArmorParts(const Aurora::GFFStruct &gff)
}

bool Item::isArmor() {
return _armorParts[2].id > 0;
//TODO: this should really be based on the baseitem.2da
return _armorParts[kArmorPartTorso].id > 0;
}

int Item::getArmorPart(int index) {
Expand Down
23 changes: 23 additions & 0 deletions src/engines/nwn/item.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,29 @@ class Item : public Object {


private:
/** Parts of an armor set. */
enum ArmorPartType {
kArmorPartHead = 0,
kArmorPartNeck ,
kArmorPartTorso ,
kArmorPartPelvis ,
kArmorPartBelt ,
kArmorPartRightFoot ,
kArmorPartLeftFoot ,
kArmorPartRightShin ,
kArmorPartLeftShin ,
kArmorPartLeftThigh ,
kArmorPartRightThigh ,
kArmorPartRightFArm ,
kArmorPartLeftFArm ,
kArmorPartRightBicep ,
kArmorPartLeftBicep ,
kArmorPartRightShoul ,
kArmorPartLeftShoul ,
kArmorPartRightHand ,
kArmorPartLeftHand ,
kArmorPartMAX
};
void loadProperties(const Aurora::GFFStruct &gff);
void loadPortrait(const Aurora::GFFStruct &gff);
void loadArmorParts(const Aurora::GFFStruct &gff);
Expand Down

0 comments on commit 9cbe897

Please sign in to comment.