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:
parent
c4ab962cc0
commit
27b853618c
@ -946,6 +946,7 @@ bool CArtifactsOfHero::SCommonPart::Artpos::valid()
|
||||
|
||||
CArtPlace::CArtPlace(Point position, const CArtifactInstance * Art) : ourArt(Art)
|
||||
{
|
||||
image = nullptr;
|
||||
pos += position;
|
||||
pos.w = pos.h = 44;
|
||||
}
|
||||
|
@ -475,6 +475,7 @@ CGarrisonInt::CGarrisonInt(int x, int y, int inx, const Point &garsOffset,
|
||||
inSplittingMode(false),
|
||||
interx(inx),
|
||||
garOffset(garsOffset),
|
||||
pb(false),
|
||||
smallIcons(smallImgs),
|
||||
removableUnits(_removableUnits),
|
||||
twoRows(_twoRows)
|
||||
|
@ -78,19 +78,14 @@ public:
|
||||
std::vector<CButton *> splitButtons; ///< May be empty if no buttons
|
||||
|
||||
SlotID p2; ///< TODO: comment me
|
||||
int shiftPos; ///< 1st slot of the second row, set shiftPoint for effect
|
||||
bool pb,
|
||||
smallIcons, ///< true - 32x32 imgs, false - 58x64
|
||||
removableUnits, ///< player Can remove units from up
|
||||
twoRows, ///< slots Will be placed in 2 rows
|
||||
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
|
||||
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 addSplitBtn(CButton * button);
|
||||
|
@ -94,7 +94,7 @@ void LRClickableAreaWTextComp::clickLeft(tribool down, bool previousState)
|
||||
}
|
||||
|
||||
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?
|
||||
}
|
||||
|
||||
LRClickableAreaOpenTown::LRClickableAreaOpenTown()
|
||||
: LRClickableAreaWTextComp(Rect(0,0,0,0), -1)
|
||||
LRClickableAreaOpenTown::LRClickableAreaOpenTown(const Rect & Pos, const CGTownInstance * Town)
|
||||
: LRClickableAreaWTextComp(Pos, -1), town(Town)
|
||||
{
|
||||
}
|
||||
|
||||
@ -376,9 +376,9 @@ void MoraleLuckBox::set(const IBonusBearer *node)
|
||||
baseType = componentType[morale];
|
||||
text = CGI->generaltexth->arraytxt[textId[morale]];
|
||||
boost::algorithm::replace_first(text,"%s",CGI->generaltexth->arraytxt[neutralDescr[morale]-mrlt]);
|
||||
|
||||
if (morale && node && (node->hasBonusOfType(Bonus::UNDEAD)
|
||||
|| node->hasBonusOfType(Bonus::BLOCK_MORALE)
|
||||
|
||||
if (morale && node && (node->hasBonusOfType(Bonus::UNDEAD)
|
||||
|| node->hasBonusOfType(Bonus::BLOCK_MORALE)
|
||||
|| node->hasBonusOfType(Bonus::NON_LIVING)))
|
||||
{
|
||||
text += CGI->generaltexth->arraytxt[113]; //unaffected by morale
|
||||
|
@ -139,7 +139,7 @@ public:
|
||||
const CGTownInstance * town;
|
||||
void clickLeft(tribool down, bool previousState) override;
|
||||
void clickRight(tribool down, bool previousState) override;
|
||||
LRClickableAreaOpenTown();
|
||||
LRClickableAreaOpenTown(const Rect & Pos, const CGTownInstance * Town);
|
||||
};
|
||||
|
||||
class MoraleLuckBox : public LRClickableAreaWTextComp
|
||||
|
@ -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];
|
||||
|
||||
picture = new CAnimImage("ITPT", iconIndex, 0, 5, 6);
|
||||
townArea = new LRClickableAreaOpenTown;
|
||||
townArea->pos = Rect(pos.x+5, pos.y+6, 58, 64);
|
||||
townArea->town = town;
|
||||
new LRClickableAreaOpenTown(Rect(5, 6, 58, 64), town);
|
||||
|
||||
for (size_t i=0; i<town->creatures.size(); i++)
|
||||
{
|
||||
|
@ -33,12 +33,12 @@ class CKingdHeroList;
|
||||
class CKingdTownList;
|
||||
class IInfoBoxData;
|
||||
|
||||
/*
|
||||
/*
|
||||
* Several classes to display basically any data.
|
||||
* Main part - class InfoBox which controls how data will be formatted\positioned
|
||||
* InfoBox have image and 0-2 labels
|
||||
* In constructor it should receive object that implements IInfoBoxData interface
|
||||
*
|
||||
*
|
||||
* interface IInfoBoxData defines way to get data for use in InfoBox
|
||||
* have several implementations:
|
||||
* 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 *income;
|
||||
CGarrisonInt *garr;
|
||||
LRClickableAreaOpenTown *townArea;
|
||||
|
||||
HeroSlots *heroes;
|
||||
CTownInfo *hall, *fort;
|
||||
@ -338,11 +337,11 @@ private:
|
||||
CLabel * townLabel;
|
||||
CLabel * garrHeroLabel;
|
||||
CLabel * visitHeroLabel;
|
||||
|
||||
|
||||
CIntObject* createTownItem(size_t index);
|
||||
public:
|
||||
CKingdTownList(size_t maxSize);
|
||||
|
||||
|
||||
void townChanged(const CGTownInstance *town);
|
||||
void updateGarrisons() override;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user