1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00

Fixed a few CWE-457

This commit is contained in:
AlexVinS 2016-11-27 18:17:20 +03:00
parent c4ab962cc0
commit 27b853618c
7 changed files with 14 additions and 20 deletions

View File

@ -946,6 +946,7 @@ bool CArtifactsOfHero::SCommonPart::Artpos::valid()
CArtPlace::CArtPlace(Point position, const CArtifactInstance * Art) : ourArt(Art) CArtPlace::CArtPlace(Point position, const CArtifactInstance * Art) : ourArt(Art)
{ {
image = nullptr;
pos += position; pos += position;
pos.w = pos.h = 44; pos.w = pos.h = 44;
} }

View File

@ -475,6 +475,7 @@ CGarrisonInt::CGarrisonInt(int x, int y, int inx, const Point &garsOffset,
inSplittingMode(false), inSplittingMode(false),
interx(inx), interx(inx),
garOffset(garsOffset), garOffset(garsOffset),
pb(false),
smallIcons(smallImgs), smallIcons(smallImgs),
removableUnits(_removableUnits), removableUnits(_removableUnits),
twoRows(_twoRows) twoRows(_twoRows)

View File

@ -78,19 +78,14 @@ public:
std::vector<CButton *> splitButtons; ///< May be empty if no buttons std::vector<CButton *> splitButtons; ///< May be empty if no buttons
SlotID p2; ///< TODO: comment me SlotID p2; ///< TODO: comment me
int shiftPos; ///< 1st slot of the second row, set shiftPoint for effect
bool pb, bool pb,
smallIcons, ///< true - 32x32 imgs, false - 58x64 smallIcons, ///< true - 32x32 imgs, false - 58x64
removableUnits, ///< player Can remove units from up removableUnits, ///< player Can remove units from up
twoRows, ///< slots Will be placed in 2 rows twoRows, ///< slots Will be placed in 2 rows
owned[2]; ///< player Owns up or down army ([0] upper, [1] lower) owned[2]; ///< player Owns up or down army ([0] upper, [1] lower)
// const CCreatureSet *set1; ///< Top set of creatures
// const CCreatureSet *set2; ///< Bottom set of creatures
std::vector<CGarrisonSlot*> slotsUp, slotsDown; ///< Slots of upper and lower garrison std::vector<CGarrisonSlot*> slotsUp, slotsDown; ///< Slots of upper and lower garrison
const CArmedInstance *armedObjs[2]; ///< [0] is upper, [1] is down const CArmedInstance *armedObjs[2]; ///< [0] is upper, [1] is down
//const CArmedInstance *oup, *odown; ///< Upper and lower garrisons (heroes or towns)
void setArmy(const CArmedInstance *army, bool bottomGarrison); void setArmy(const CArmedInstance *army, bool bottomGarrison);
void addSplitBtn(CButton * button); void addSplitBtn(CButton * button);

View File

@ -94,7 +94,7 @@ void LRClickableAreaWTextComp::clickLeft(tribool down, bool previousState)
} }
LRClickableAreaWTextComp::LRClickableAreaWTextComp(const Rect &Pos, int BaseType) LRClickableAreaWTextComp::LRClickableAreaWTextComp(const Rect &Pos, int BaseType)
: LRClickableAreaWText(Pos), baseType(BaseType), bonusValue(-1) : LRClickableAreaWText(Pos), baseType(BaseType), bonusValue(-1), type(-1)
{ {
} }
@ -170,8 +170,8 @@ void LRClickableAreaOpenTown::clickRight(tribool down, bool previousState)
LOCPLINT->openTownWindow(town);//TODO: popup? LOCPLINT->openTownWindow(town);//TODO: popup?
} }
LRClickableAreaOpenTown::LRClickableAreaOpenTown() LRClickableAreaOpenTown::LRClickableAreaOpenTown(const Rect & Pos, const CGTownInstance * Town)
: LRClickableAreaWTextComp(Rect(0,0,0,0), -1) : LRClickableAreaWTextComp(Pos, -1), town(Town)
{ {
} }
@ -376,9 +376,9 @@ void MoraleLuckBox::set(const IBonusBearer *node)
baseType = componentType[morale]; baseType = componentType[morale];
text = CGI->generaltexth->arraytxt[textId[morale]]; text = CGI->generaltexth->arraytxt[textId[morale]];
boost::algorithm::replace_first(text,"%s",CGI->generaltexth->arraytxt[neutralDescr[morale]-mrlt]); boost::algorithm::replace_first(text,"%s",CGI->generaltexth->arraytxt[neutralDescr[morale]-mrlt]);
if (morale && node && (node->hasBonusOfType(Bonus::UNDEAD) if (morale && node && (node->hasBonusOfType(Bonus::UNDEAD)
|| node->hasBonusOfType(Bonus::BLOCK_MORALE) || node->hasBonusOfType(Bonus::BLOCK_MORALE)
|| node->hasBonusOfType(Bonus::NON_LIVING))) || node->hasBonusOfType(Bonus::NON_LIVING)))
{ {
text += CGI->generaltexth->arraytxt[113]; //unaffected by morale text += CGI->generaltexth->arraytxt[113]; //unaffected by morale

View File

@ -139,7 +139,7 @@ public:
const CGTownInstance * town; const CGTownInstance * town;
void clickLeft(tribool down, bool previousState) override; void clickLeft(tribool down, bool previousState) override;
void clickRight(tribool down, bool previousState) override; void clickRight(tribool down, bool previousState) override;
LRClickableAreaOpenTown(); LRClickableAreaOpenTown(const Rect & Pos, const CGTownInstance * Town);
}; };
class MoraleLuckBox : public LRClickableAreaWTextComp class MoraleLuckBox : public LRClickableAreaWTextComp

View File

@ -792,9 +792,7 @@ CTownItem::CTownItem(const CGTownInstance* Town):
size_t iconIndex = town->town->clientInfo.icons[town->hasFort()][town->builded >= CGI->modh->settings.MAX_BUILDING_PER_TURN]; size_t iconIndex = town->town->clientInfo.icons[town->hasFort()][town->builded >= CGI->modh->settings.MAX_BUILDING_PER_TURN];
picture = new CAnimImage("ITPT", iconIndex, 0, 5, 6); picture = new CAnimImage("ITPT", iconIndex, 0, 5, 6);
townArea = new LRClickableAreaOpenTown; new LRClickableAreaOpenTown(Rect(5, 6, 58, 64), town);
townArea->pos = Rect(pos.x+5, pos.y+6, 58, 64);
townArea->town = town;
for (size_t i=0; i<town->creatures.size(); i++) for (size_t i=0; i<town->creatures.size(); i++)
{ {

View File

@ -33,12 +33,12 @@ class CKingdHeroList;
class CKingdTownList; class CKingdTownList;
class IInfoBoxData; class IInfoBoxData;
/* /*
* Several classes to display basically any data. * Several classes to display basically any data.
* Main part - class InfoBox which controls how data will be formatted\positioned * Main part - class InfoBox which controls how data will be formatted\positioned
* InfoBox have image and 0-2 labels * InfoBox have image and 0-2 labels
* In constructor it should receive object that implements IInfoBoxData interface * In constructor it should receive object that implements IInfoBoxData interface
* *
* interface IInfoBoxData defines way to get data for use in InfoBox * interface IInfoBoxData defines way to get data for use in InfoBox
* have several implementations: * have several implementations:
* InfoBoxHeroData - to display one of fields from hero (e.g. absolute value of primary skills) * InfoBoxHeroData - to display one of fields from hero (e.g. absolute value of primary skills)
@ -265,7 +265,6 @@ class CTownItem : public CIntObject, public CGarrisonHolder
CLabel *name; CLabel *name;
CLabel *income; CLabel *income;
CGarrisonInt *garr; CGarrisonInt *garr;
LRClickableAreaOpenTown *townArea;
HeroSlots *heroes; HeroSlots *heroes;
CTownInfo *hall, *fort; CTownInfo *hall, *fort;
@ -338,11 +337,11 @@ private:
CLabel * townLabel; CLabel * townLabel;
CLabel * garrHeroLabel; CLabel * garrHeroLabel;
CLabel * visitHeroLabel; CLabel * visitHeroLabel;
CIntObject* createTownItem(size_t index); CIntObject* createTownItem(size_t index);
public: public:
CKingdTownList(size_t maxSize); CKingdTownList(size_t maxSize);
void townChanged(const CGTownInstance *town); void townChanged(const CGTownInstance *town);
void updateGarrisons() override; void updateGarrisons() override;
}; };