diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-01-11 03:29:54 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-01-11 03:29:54 -0500 |
| commit | 31af7ef53b468d74c83eceb56fa074b7fa0c82a5 (patch) | |
| tree | 3c66d720080b426a5b89277c0a9279317213ee6e | |
| parent | 8c96762567a072866b9b156a2b1b9fb6a686dd69 (diff) | |
Fixed sprite checking in Species
| -rw-r--r-- | sigmod/Species.cpp | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/sigmod/Species.cpp b/sigmod/Species.cpp index da3175b8..a4a9133c 100644 --- a/sigmod/Species.cpp +++ b/sigmod/Species.cpp @@ -127,10 +127,16 @@ void Sigmod::Species::validate() TEST(itemChance); TEST(encyclopediaNumber); TEST(weight); - TEST(frontMaleSprite); - TEST(backMaleSprite); - TEST(frontFemaleSprite); - TEST(backFemaleSprite); + if (m_genderFactor < 1) + { + TEST(frontMaleSprite); + TEST(backMaleSprite); + } + if (sigmod()->rules()->genderAllowed() && (0 < m_genderFactor)) + { + TEST(frontFemaleSprite); + TEST(backFemaleSprite); + } TEST(skin); if ((m_encyclopediaNumber != -1) && m_encyclopediaEntry.isEmpty()) emit(error("Encyclopedia entry is empty")); @@ -333,20 +339,36 @@ CHECK_BOUNDS(Species, int, encyclopediaNumber, -1, INT_MAX) CHECK_BOUNDS(Species, int, weight, 0, INT_MAX) CHECK_BOUNDS(Species, int, height, 0, INT_MAX) CHECK_BEGIN(Species, int, frontMaleSprite) - if (m_genderFactor < 1) - IBOUNDS(frontMaleSprite, sigmod(), sprite); + if (1 <= m_genderFactor) + { + ERROR("Species cannot be male"); + return false; + } + IBOUNDS(frontMaleSprite, sigmod(), sprite); CHECK_END() CHECK_BEGIN(Species, int, backMaleSprite) - if (m_genderFactor < 1) - IBOUNDS(backMaleSprite, sigmod(), sprite); + if (1 <= m_genderFactor) + { + ERROR("Species cannot be male"); + return false; + } + IBOUNDS(backMaleSprite, sigmod(), sprite); CHECK_END() CHECK_BEGIN(Species, int, frontFemaleSprite) - if (sigmod()->rules()->genderAllowed() && (0 < m_genderFactor)) - IBOUNDS(frontFemaleSprite, sigmod(), sprite); + if (!sigmod()->rules()->genderAllowed() || (m_genderFactor <= 0)) + { + ERROR("Species cannot be female"); + return false; + } + IBOUNDS(frontFemaleSprite, sigmod(), sprite); CHECK_END() CHECK_BEGIN(Species, int, backFemaleSprite) - if (sigmod()->rules()->genderAllowed() && (0 < m_genderFactor)) - IBOUNDS(backFemaleSprite, sigmod(), sprite); + if (!sigmod()->rules()->genderAllowed() || (m_genderFactor <= 0)) + { + ERROR("Species cannot be female"); + return false; + } + IBOUNDS(backFemaleSprite, sigmod(), sprite); CHECK_END() CHECK_INDEX(Species, int, skin, sigmod(), skin) CHECK(Species, QString&, encyclopediaEntry) |
