mirror of
https://github.com/vcmi/vcmi.git
synced 2025-06-17 00:07:41 +02:00
Reduce direct access to CAnimation, removed various caching schemes
This commit is contained in:
@ -31,7 +31,6 @@ class CAnimImage;
|
|||||||
class CGStatusBar;
|
class CGStatusBar;
|
||||||
class AdventureMapWidget;
|
class AdventureMapWidget;
|
||||||
class AdventureMapShortcuts;
|
class AdventureMapShortcuts;
|
||||||
class CAnimation;
|
|
||||||
class MapView;
|
class MapView;
|
||||||
class CResDataBar;
|
class CResDataBar;
|
||||||
class CHeroList;
|
class CHeroList;
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include "../gui/CGuiHandler.h"
|
#include "../gui/CGuiHandler.h"
|
||||||
#include "../gui/Shortcut.h"
|
#include "../gui/Shortcut.h"
|
||||||
#include "../mapView/MapView.h"
|
#include "../mapView/MapView.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
#include "../render/IImage.h"
|
#include "../render/IImage.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
#include "../widgets/Buttons.h"
|
#include "../widgets/Buttons.h"
|
||||||
@ -125,26 +124,6 @@ Rect AdventureMapWidget::readArea(const JsonNode & source, const Rect & bounding
|
|||||||
return Rect(topLeft + boundingBox.topLeft(), dimensions);
|
return Rect(topLeft + boundingBox.topLeft(), dimensions);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<IImage> AdventureMapWidget::loadImage(const JsonNode & name)
|
|
||||||
{
|
|
||||||
ImagePath resource = ImagePath::fromJson(name);
|
|
||||||
|
|
||||||
if(images.count(resource) == 0)
|
|
||||||
images[resource] = GH.renderHandler().loadImage(resource);
|
|
||||||
|
|
||||||
return images[resource];
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<CAnimation> AdventureMapWidget::loadAnimation(const JsonNode & name)
|
|
||||||
{
|
|
||||||
AnimationPath resource = AnimationPath::fromJson(name);
|
|
||||||
|
|
||||||
if(animations.count(resource) == 0)
|
|
||||||
animations[resource] = GH.renderHandler().loadAnimation(resource);
|
|
||||||
|
|
||||||
return animations[resource];
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<CIntObject> AdventureMapWidget::buildInfobox(const JsonNode & input)
|
std::shared_ptr<CIntObject> AdventureMapWidget::buildInfobox(const JsonNode & input)
|
||||||
{
|
{
|
||||||
Rect area = readTargetArea(input["area"]);
|
Rect area = readTargetArea(input["area"]);
|
||||||
@ -157,7 +136,7 @@ std::shared_ptr<CIntObject> AdventureMapWidget::buildMapImage(const JsonNode & i
|
|||||||
Rect targetArea = readTargetArea(input["area"]);
|
Rect targetArea = readTargetArea(input["area"]);
|
||||||
Rect sourceArea = readSourceArea(input["sourceArea"], input["area"]);
|
Rect sourceArea = readSourceArea(input["sourceArea"], input["area"]);
|
||||||
|
|
||||||
return std::make_shared<CFilledTexture>(loadImage(input["image"]), targetArea, sourceArea);
|
return std::make_shared<CFilledTexture>(ImagePath::fromJson(input["image"]), targetArea, sourceArea);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<CIntObject> AdventureMapWidget::buildMapButton(const JsonNode & input)
|
std::shared_ptr<CIntObject> AdventureMapWidget::buildMapButton(const JsonNode & input)
|
||||||
@ -257,7 +236,7 @@ std::shared_ptr<CIntObject> AdventureMapWidget::buildMapIcon(const JsonNode & in
|
|||||||
size_t index = input["index"].Integer();
|
size_t index = input["index"].Integer();
|
||||||
size_t perPlayer = input["perPlayer"].Integer();
|
size_t perPlayer = input["perPlayer"].Integer();
|
||||||
|
|
||||||
return std::make_shared<CAdventureMapIcon>(area.topLeft(), loadAnimation(input["image"]), index, perPlayer);
|
return std::make_shared<CAdventureMapIcon>(area.topLeft(), AnimationPath::fromJson(input["image"]), index, perPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<CIntObject> AdventureMapWidget::buildMapTownList(const JsonNode & input)
|
std::shared_ptr<CIntObject> AdventureMapWidget::buildMapTownList(const JsonNode & input)
|
||||||
@ -387,16 +366,10 @@ void AdventureMapWidget::setPlayerChildren(CIntObject * widget, const PlayerColo
|
|||||||
texture->playerColored(player);
|
texture->playerColored(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(const auto & entry : playerColorerImages)
|
|
||||||
{
|
|
||||||
if(images.count(entry))
|
|
||||||
images[entry]->playerColored(player);
|
|
||||||
}
|
|
||||||
|
|
||||||
redraw();
|
redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
CAdventureMapIcon::CAdventureMapIcon(const Point & position, std::shared_ptr<CAnimation> animation, size_t index, size_t iconsPerPlayer)
|
CAdventureMapIcon::CAdventureMapIcon(const Point & position, const AnimationPath & animation, size_t index, size_t iconsPerPlayer)
|
||||||
: index(index)
|
: index(index)
|
||||||
, iconsPerPlayer(iconsPerPlayer)
|
, iconsPerPlayer(iconsPerPlayer)
|
||||||
{
|
{
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
#include "../gui/InterfaceObjectConfigurable.h"
|
#include "../gui/InterfaceObjectConfigurable.h"
|
||||||
|
|
||||||
class CAnimation;
|
|
||||||
class CHeroList;
|
class CHeroList;
|
||||||
class CTownList;
|
class CTownList;
|
||||||
class CMinimap;
|
class CMinimap;
|
||||||
@ -31,10 +30,6 @@ class AdventureMapWidget : public InterfaceObjectConfigurable
|
|||||||
/// list of images on which player-colored palette will be applied
|
/// list of images on which player-colored palette will be applied
|
||||||
std::vector<ImagePath> playerColorerImages;
|
std::vector<ImagePath> playerColorerImages;
|
||||||
|
|
||||||
/// list of named images shared between widgets
|
|
||||||
std::map<ImagePath, std::shared_ptr<IImage>> images;
|
|
||||||
std::map<AnimationPath, std::shared_ptr<CAnimation>> animations;
|
|
||||||
|
|
||||||
/// Widgets that require access from adventure map
|
/// Widgets that require access from adventure map
|
||||||
std::shared_ptr<CHeroList> heroList;
|
std::shared_ptr<CHeroList> heroList;
|
||||||
std::shared_ptr<CTownList> townList;
|
std::shared_ptr<CTownList> townList;
|
||||||
@ -48,9 +43,6 @@ class AdventureMapWidget : public InterfaceObjectConfigurable
|
|||||||
Rect readSourceArea(const JsonNode & source, const JsonNode & sourceCommon);
|
Rect readSourceArea(const JsonNode & source, const JsonNode & sourceCommon);
|
||||||
Rect readArea(const JsonNode & source, const Rect & boundingBox);
|
Rect readArea(const JsonNode & source, const Rect & boundingBox);
|
||||||
|
|
||||||
std::shared_ptr<IImage> loadImage(const JsonNode & name);
|
|
||||||
std::shared_ptr<CAnimation> loadAnimation(const JsonNode & name);
|
|
||||||
|
|
||||||
std::shared_ptr<CIntObject> buildInfobox(const JsonNode & input);
|
std::shared_ptr<CIntObject> buildInfobox(const JsonNode & input);
|
||||||
std::shared_ptr<CIntObject> buildMapImage(const JsonNode & input);
|
std::shared_ptr<CIntObject> buildMapImage(const JsonNode & input);
|
||||||
std::shared_ptr<CIntObject> buildMapButton(const JsonNode & input);
|
std::shared_ptr<CIntObject> buildMapButton(const JsonNode & input);
|
||||||
@ -104,7 +96,7 @@ class CAdventureMapIcon : public CIntObject
|
|||||||
size_t index;
|
size_t index;
|
||||||
size_t iconsPerPlayer;
|
size_t iconsPerPlayer;
|
||||||
public:
|
public:
|
||||||
CAdventureMapIcon(const Point & position, std::shared_ptr<CAnimation> image, size_t index, size_t iconsPerPlayer);
|
CAdventureMapIcon(const Point & position, const AnimationPath & image, size_t index, size_t iconsPerPlayer);
|
||||||
|
|
||||||
void setPlayer(const PlayerColor & player);
|
void setPlayer(const PlayerColor & player);
|
||||||
};
|
};
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "../gui/CursorHandler.h"
|
#include "../gui/CursorHandler.h"
|
||||||
#include "../gui/CGuiHandler.h"
|
#include "../gui/CGuiHandler.h"
|
||||||
#include "../media/ISoundPlayer.h"
|
#include "../media/ISoundPlayer.h"
|
||||||
|
#include "../render/CAnimation.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
|
|
||||||
#include "../../CCallback.h"
|
#include "../../CCallback.h"
|
||||||
|
@ -39,7 +39,6 @@ class Canvas;
|
|||||||
class BattleResultWindow;
|
class BattleResultWindow;
|
||||||
class StackQueue;
|
class StackQueue;
|
||||||
class CPlayerInterface;
|
class CPlayerInterface;
|
||||||
class CAnimation;
|
|
||||||
struct BattleEffect;
|
struct BattleEffect;
|
||||||
class IImage;
|
class IImage;
|
||||||
class StackQueue;
|
class StackQueue;
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include "../CPlayerInterface.h"
|
#include "../CPlayerInterface.h"
|
||||||
#include "../gui/CGuiHandler.h"
|
#include "../gui/CGuiHandler.h"
|
||||||
#include "../media/ISoundPlayer.h"
|
#include "../media/ISoundPlayer.h"
|
||||||
|
#include "../render/CAnimation.h"
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#include "BattleStacksController.h"
|
#include "BattleStacksController.h"
|
||||||
#include "CreatureAnimation.h"
|
#include "CreatureAnimation.h"
|
||||||
|
|
||||||
|
#include "../render/CAnimation.h"
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
#include "../gui/CGuiHandler.h"
|
#include "../gui/CGuiHandler.h"
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
#include "../../lib/CCreatureHandler.h"
|
#include "../../lib/CCreatureHandler.h"
|
||||||
|
|
||||||
#include "../gui/CGuiHandler.h"
|
#include "../gui/CGuiHandler.h"
|
||||||
|
#include "../render/CAnimation.h"
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
#include "../render/ColorFilter.h"
|
#include "../render/ColorFilter.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
#include "../../lib/FunctionList.h"
|
#include "../../lib/FunctionList.h"
|
||||||
#include "../../lib/Color.h"
|
#include "../../lib/Color.h"
|
||||||
#include "../widgets/Images.h"
|
#include "../widgets/Images.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
#include "../render/IImage.h"
|
#include "../render/IImage.h"
|
||||||
|
|
||||||
class CIntObject;
|
class CIntObject;
|
||||||
|
@ -515,9 +515,6 @@ CFlagBox::CFlagBox(const Rect & rect)
|
|||||||
|
|
||||||
labelAllies = std::make_shared<CLabel>(0, 0, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[390] + ":");
|
labelAllies = std::make_shared<CLabel>(0, 0, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[390] + ":");
|
||||||
labelEnemies = std::make_shared<CLabel>(133, 0, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[391] + ":");
|
labelEnemies = std::make_shared<CLabel>(133, 0, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, CGI->generaltexth->allTexts[391] + ":");
|
||||||
|
|
||||||
iconsTeamFlags = GH.renderHandler().loadAnimation(AnimationPath::builtin("ITGFLAGS.DEF"));
|
|
||||||
iconsTeamFlags->preload();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CFlagBox::recreate()
|
void CFlagBox::recreate()
|
||||||
@ -529,7 +526,7 @@ void CFlagBox::recreate()
|
|||||||
const int enemiesX = 5 + 133 + (int)labelEnemies->getWidth();
|
const int enemiesX = 5 + 133 + (int)labelEnemies->getWidth();
|
||||||
for(auto i = CSH->si->playerInfos.cbegin(); i != CSH->si->playerInfos.cend(); i++)
|
for(auto i = CSH->si->playerInfos.cbegin(); i != CSH->si->playerInfos.cend(); i++)
|
||||||
{
|
{
|
||||||
auto flag = std::make_shared<CAnimImage>(iconsTeamFlags, i->first.getNum(), 0);
|
auto flag = std::make_shared<CAnimImage>(AnimationPath::builtin("ITGFLAGS.DEF"), i->first.getNum(), 0);
|
||||||
if(i->first == CSH->myFirstColor() || CSH->getPlayerTeamId(i->first) == CSH->getPlayerTeamId(CSH->myFirstColor()))
|
if(i->first == CSH->myFirstColor() || CSH->getPlayerTeamId(i->first) == CSH->getPlayerTeamId(CSH->myFirstColor()))
|
||||||
{
|
{
|
||||||
flag->moveTo(Point(pos.x + alliesX + (int)flagsAllies.size()*flag->pos.w, pos.y));
|
flag->moveTo(Point(pos.x + alliesX + (int)flagsAllies.size()*flag->pos.w, pos.y));
|
||||||
@ -546,10 +543,10 @@ void CFlagBox::recreate()
|
|||||||
void CFlagBox::showPopupWindow(const Point & cursorPosition)
|
void CFlagBox::showPopupWindow(const Point & cursorPosition)
|
||||||
{
|
{
|
||||||
if(SEL->getMapInfo())
|
if(SEL->getMapInfo())
|
||||||
GH.windows().createAndPushWindow<CFlagBoxTooltipBox>(iconsTeamFlags);
|
GH.windows().createAndPushWindow<CFlagBoxTooltipBox>();
|
||||||
}
|
}
|
||||||
|
|
||||||
CFlagBox::CFlagBoxTooltipBox::CFlagBoxTooltipBox(std::shared_ptr<CAnimation> icons)
|
CFlagBox::CFlagBoxTooltipBox::CFlagBoxTooltipBox()
|
||||||
: CWindowObject(BORDERED | RCLICK_POPUP | SHADOW_DISABLED, ImagePath::builtin("DIBOXBCK"))
|
: CWindowObject(BORDERED | RCLICK_POPUP | SHADOW_DISABLED, ImagePath::builtin("DIBOXBCK"))
|
||||||
{
|
{
|
||||||
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
OBJ_CONSTRUCTION_CAPTURING_ALL_NO_DISPOSE;
|
||||||
@ -577,7 +574,7 @@ CFlagBox::CFlagBoxTooltipBox::CFlagBoxTooltipBox(std::shared_ptr<CAnimation> ico
|
|||||||
int curx = 128 - 9 * team.size();
|
int curx = 128 - 9 * team.size();
|
||||||
for(const auto & player : team)
|
for(const auto & player : team)
|
||||||
{
|
{
|
||||||
iconsFlags.push_back(std::make_shared<CAnimImage>(icons, player, 0, curx, 75 + 50 * curIdx));
|
iconsFlags.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("ITGFLAGS.DEF"), player, 0, curx, 75 + 50 * curIdx));
|
||||||
curx += 18;
|
curx += 18;
|
||||||
}
|
}
|
||||||
++curIdx;
|
++curIdx;
|
||||||
|
@ -174,7 +174,6 @@ public:
|
|||||||
|
|
||||||
class CFlagBox : public CIntObject
|
class CFlagBox : public CIntObject
|
||||||
{
|
{
|
||||||
std::shared_ptr<CAnimation> iconsTeamFlags;
|
|
||||||
std::shared_ptr<CLabel> labelAllies;
|
std::shared_ptr<CLabel> labelAllies;
|
||||||
std::shared_ptr<CLabel> labelEnemies;
|
std::shared_ptr<CLabel> labelEnemies;
|
||||||
std::vector<std::shared_ptr<CAnimImage>> flagsAllies;
|
std::vector<std::shared_ptr<CAnimImage>> flagsAllies;
|
||||||
@ -192,7 +191,7 @@ public:
|
|||||||
std::shared_ptr<CLabelGroup> labelGroupTeams;
|
std::shared_ptr<CLabelGroup> labelGroupTeams;
|
||||||
std::vector<std::shared_ptr<CAnimImage>> iconsFlags;
|
std::vector<std::shared_ptr<CAnimImage>> iconsFlags;
|
||||||
public:
|
public:
|
||||||
CFlagBoxTooltipBox(std::shared_ptr<CAnimation> icons);
|
CFlagBoxTooltipBox();
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ class CSlider;
|
|||||||
class CLabel;
|
class CLabel;
|
||||||
class CPicture;
|
class CPicture;
|
||||||
class IImage;
|
class IImage;
|
||||||
|
class CAnimation;
|
||||||
|
|
||||||
enum ESortBy
|
enum ESortBy
|
||||||
{
|
{
|
||||||
|
@ -24,7 +24,6 @@ class CGStatusBar;
|
|||||||
class CTextBox;
|
class CTextBox;
|
||||||
class CTabbedInt;
|
class CTabbedInt;
|
||||||
class CAnimImage;
|
class CAnimImage;
|
||||||
class CAnimation;
|
|
||||||
class CButton;
|
class CButton;
|
||||||
class CFilledTexture;
|
class CFilledTexture;
|
||||||
class CLabel;
|
class CLabel;
|
||||||
|
@ -28,7 +28,6 @@ class JsonNode;
|
|||||||
VCMI_LIB_NAMESPACE_END
|
VCMI_LIB_NAMESPACE_END
|
||||||
|
|
||||||
struct SDL_Surface;
|
struct SDL_Surface;
|
||||||
class CAnimation;
|
|
||||||
class IFont;
|
class IFont;
|
||||||
|
|
||||||
/// Handles fonts, hero images, town images, various graphics
|
/// Handles fonts, hero images, town images, various graphics
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
class CAnimation;
|
|
||||||
class IImage;
|
class IImage;
|
||||||
struct SDL_Surface;
|
struct SDL_Surface;
|
||||||
struct SDL_Texture;
|
struct SDL_Texture;
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
class CAnimation;
|
|
||||||
class IImage;
|
class IImage;
|
||||||
struct SDL_Surface;
|
struct SDL_Surface;
|
||||||
struct SDL_Texture;
|
struct SDL_Texture;
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#include "../gui/InterfaceObjectConfigurable.h"
|
#include "../gui/InterfaceObjectConfigurable.h"
|
||||||
#include "../media/ISoundPlayer.h"
|
#include "../media/ISoundPlayer.h"
|
||||||
#include "../windows/InfoWindows.h"
|
#include "../windows/InfoWindows.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
|
|
||||||
|
@ -111,18 +111,18 @@ void CPicture::colorize(PlayerColor player)
|
|||||||
bg->playerColored(player);
|
bg->playerColored(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
CFilledTexture::CFilledTexture(const ImagePath & imageName, Rect position):
|
CFilledTexture::CFilledTexture(const ImagePath & imageName, Rect position)
|
||||||
CIntObject(0, position.topLeft()),
|
: CIntObject(0, position.topLeft())
|
||||||
texture(GH.renderHandler().loadImage(imageName))
|
, texture(GH.renderHandler().loadImage(imageName))
|
||||||
{
|
{
|
||||||
pos.w = position.w;
|
pos.w = position.w;
|
||||||
pos.h = position.h;
|
pos.h = position.h;
|
||||||
imageArea = Rect(Point(), texture->dimensions());
|
imageArea = Rect(Point(), texture->dimensions());
|
||||||
}
|
}
|
||||||
|
|
||||||
CFilledTexture::CFilledTexture(std::shared_ptr<IImage> image, Rect position, Rect imageArea)
|
CFilledTexture::CFilledTexture(const ImagePath & imageName, Rect position, Rect imageArea)
|
||||||
: CIntObject(0, position.topLeft())
|
: CIntObject(0, position.topLeft())
|
||||||
, texture(image)
|
, texture(GH.renderHandler().loadImage(imageName))
|
||||||
, imageArea(imageArea)
|
, imageArea(imageArea)
|
||||||
{
|
{
|
||||||
pos.w = position.w;
|
pos.w = position.w;
|
||||||
@ -191,8 +191,8 @@ CAnimImage::CAnimImage(std::shared_ptr<CAnimation> Anim, size_t Frame, size_t Gr
|
|||||||
init();
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
CAnimImage::CAnimImage(std::shared_ptr<CAnimation> Anim, size_t Frame, Rect targetPos, size_t Group, ui8 Flags):
|
CAnimImage::CAnimImage(const AnimationPath & name, size_t Frame, Rect targetPos, size_t Group, ui8 Flags):
|
||||||
anim(Anim),
|
anim(GH.renderHandler().loadAnimation(name)),
|
||||||
frame(Frame),
|
frame(Frame),
|
||||||
group(Group),
|
group(Group),
|
||||||
flags(Flags),
|
flags(Flags),
|
||||||
|
@ -68,8 +68,8 @@ protected:
|
|||||||
Rect imageArea;
|
Rect imageArea;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
CFilledTexture(const ImagePath & imageName, Rect position, Rect imageArea);
|
||||||
CFilledTexture(const ImagePath & imageName, Rect position);
|
CFilledTexture(const ImagePath & imageName, Rect position);
|
||||||
CFilledTexture(std::shared_ptr<IImage> image, Rect position, Rect imageArea);
|
|
||||||
|
|
||||||
void showAll(Canvas & to) override;
|
void showAll(Canvas & to) override;
|
||||||
};
|
};
|
||||||
@ -104,7 +104,7 @@ public:
|
|||||||
|
|
||||||
CAnimImage(const AnimationPath & name, size_t Frame, size_t Group=0, int x=0, int y=0, ui8 Flags=0);
|
CAnimImage(const AnimationPath & name, size_t Frame, size_t Group=0, int x=0, int y=0, ui8 Flags=0);
|
||||||
CAnimImage(std::shared_ptr<CAnimation> Anim, size_t Frame, size_t Group=0, int x=0, int y=0, ui8 Flags=0);
|
CAnimImage(std::shared_ptr<CAnimation> Anim, size_t Frame, size_t Group=0, int x=0, int y=0, ui8 Flags=0);
|
||||||
CAnimImage(std::shared_ptr<CAnimation> Anim, size_t Frame, Rect targetPos, size_t Group=0, ui8 Flags=0);
|
CAnimImage(const AnimationPath & name, size_t Frame, Rect targetPos, size_t Group=0, ui8 Flags=0);
|
||||||
~CAnimImage();
|
~CAnimImage();
|
||||||
|
|
||||||
/// size of animation
|
/// size of animation
|
||||||
|
@ -18,7 +18,6 @@ VCMI_LIB_NAMESPACE_END
|
|||||||
class CAnimImage;
|
class CAnimImage;
|
||||||
class CSlider;
|
class CSlider;
|
||||||
class CLabel;
|
class CLabel;
|
||||||
class CAnimation;
|
|
||||||
|
|
||||||
/// Used as base for Tabs and List classes
|
/// Used as base for Tabs and List classes
|
||||||
class CObjectList : public CIntObject
|
class CObjectList : public CIntObject
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
#include "../widgets/TextControls.h"
|
#include "../widgets/TextControls.h"
|
||||||
|
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
|
|
||||||
#include "../../CCallback.h"
|
#include "../../CCallback.h"
|
||||||
|
|
||||||
@ -66,17 +65,12 @@ CExchangeWindow::CExchangeWindow(ObjectInstanceID hero1, ObjectInstanceID hero2,
|
|||||||
titles[0] = std::make_shared<CLabel>(147, 25, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, genTitle(heroInst[0]));
|
titles[0] = std::make_shared<CLabel>(147, 25, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, genTitle(heroInst[0]));
|
||||||
titles[1] = std::make_shared<CLabel>(653, 25, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, genTitle(heroInst[1]));
|
titles[1] = std::make_shared<CLabel>(653, 25, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE, genTitle(heroInst[1]));
|
||||||
|
|
||||||
auto PSKIL32 = GH.renderHandler().loadAnimation(AnimationPath::builtin("PSKIL32"));
|
|
||||||
PSKIL32->preload();
|
|
||||||
|
|
||||||
auto SECSK32 = GH.renderHandler().loadAnimation(AnimationPath::builtin("SECSK32"));
|
|
||||||
|
|
||||||
for(int g = 0; g < 4; ++g)
|
for(int g = 0; g < 4; ++g)
|
||||||
{
|
{
|
||||||
if (qeLayout)
|
if (qeLayout)
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(PSKIL32, g, Rect(389, 12 + 26 * g, 22, 22)));
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL32"), g, Rect(389, 12 + 26 * g, 22, 22)));
|
||||||
else
|
else
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(PSKIL32, g, 0, 385, 19 + 36 * g));
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL32"), g, 0, 385, 19 + 36 * g));
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int leftRight : {0, 1})
|
for(int leftRight : {0, 1})
|
||||||
@ -88,14 +82,14 @@ CExchangeWindow::CExchangeWindow(ObjectInstanceID hero1, ObjectInstanceID hero2,
|
|||||||
|
|
||||||
|
|
||||||
for(int m=0; m < hero->secSkills.size(); ++m)
|
for(int m=0; m < hero->secSkills.size(); ++m)
|
||||||
secSkillIcons[leftRight].push_back(std::make_shared<CAnimImage>(SECSK32, 0, 0, 32 + 36 * m + 454 * leftRight, qeLayout ? 83 : 88));
|
secSkillIcons[leftRight].push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("SECSK32"), 0, 0, 32 + 36 * m + 454 * leftRight, qeLayout ? 83 : 88));
|
||||||
|
|
||||||
specImages[leftRight] = std::make_shared<CAnimImage>(AnimationPath::builtin("UN32"), hero->type->imageIndex, 0, 67 + 490 * leftRight, qeLayout ? 41 : 45);
|
specImages[leftRight] = std::make_shared<CAnimImage>(AnimationPath::builtin("UN32"), hero->type->imageIndex, 0, 67 + 490 * leftRight, qeLayout ? 41 : 45);
|
||||||
|
|
||||||
expImages[leftRight] = std::make_shared<CAnimImage>(PSKIL32, 4, 0, 103 + 490 * leftRight, qeLayout ? 41 : 45);
|
expImages[leftRight] = std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL32"), 4, 0, 103 + 490 * leftRight, qeLayout ? 41 : 45);
|
||||||
expValues[leftRight] = std::make_shared<CLabel>(119 + 490 * leftRight, qeLayout ? 66 : 71, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
expValues[leftRight] = std::make_shared<CLabel>(119 + 490 * leftRight, qeLayout ? 66 : 71, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
||||||
|
|
||||||
manaImages[leftRight] = std::make_shared<CAnimImage>(PSKIL32, 5, 0, 139 + 490 * leftRight, qeLayout ? 41 : 45);
|
manaImages[leftRight] = std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL32"), 5, 0, 139 + 490 * leftRight, qeLayout ? 41 : 45);
|
||||||
manaValues[leftRight] = std::make_shared<CLabel>(155 + 490 * leftRight, qeLayout ? 66 : 71, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
manaValues[leftRight] = std::make_shared<CLabel>(155 + 490 * leftRight, qeLayout ? 66 : 71, FONT_SMALL, ETextAlignment::CENTER, Colors::WHITE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -224,12 +224,12 @@ void CHeroOverview::genControls()
|
|||||||
{
|
{
|
||||||
if((*CGI->heroh)[heroIdx]->haveSpellBook)
|
if((*CGI->heroh)[heroIdx]->haveSpellBook)
|
||||||
{
|
{
|
||||||
imageSpells.push_back(std::make_shared<CAnimImage>(GH.renderHandler().loadAnimation(AnimationPath::builtin("ARTIFACT")), 0, Rect(302 + (292 / 2) + 2 * borderOffset, 7 * borderOffset + yOffset + 186 + i * (32 + borderOffset), 32, 32), 0));
|
imageSpells.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("ARTIFACT"), 0, Rect(302 + (292 / 2) + 2 * borderOffset, 7 * borderOffset + yOffset + 186 + i * (32 + borderOffset), 32, 32), 0));
|
||||||
}
|
}
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
imageSpells.push_back(std::make_shared<CAnimImage>(GH.renderHandler().loadAnimation(AnimationPath::builtin("SPELLBON")), (*CGI->spellh)[spell]->getIconIndex(), Rect(302 + (292 / 2) + 2 * borderOffset, 7 * borderOffset + yOffset + 186 + i * (32 + borderOffset), 32, 32), 0));
|
imageSpells.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("SPELLBON"), (*CGI->spellh)[spell]->getIconIndex(), Rect(302 + (292 / 2) + 2 * borderOffset, 7 * borderOffset + yOffset + 186 + i * (32 + borderOffset), 32, 32), 0));
|
||||||
labelSpellsNames.push_back(std::make_shared<CLabel>(302 + (292 / 2) + 3 * borderOffset + 32 + borderOffset, 8 * borderOffset + yOffset + 186 + i * (32 + borderOffset) + 3, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, (*CGI->spellh)[spell]->getNameTranslated()));
|
labelSpellsNames.push_back(std::make_shared<CLabel>(302 + (292 / 2) + 3 * borderOffset + 32 + borderOffset, 8 * borderOffset + yOffset + 186 + i * (32 + borderOffset) + 3, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, (*CGI->spellh)[spell]->getNameTranslated()));
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#include "../widgets/CGarrisonInt.h"
|
#include "../widgets/CGarrisonInt.h"
|
||||||
#include "../widgets/TextControls.h"
|
#include "../widgets/TextControls.h"
|
||||||
#include "../widgets/Buttons.h"
|
#include "../widgets/Buttons.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
|
|
||||||
#include "../../CCallback.h"
|
#include "../../CCallback.h"
|
||||||
@ -131,14 +130,12 @@ CHeroWindow::CHeroWindow(const CGHeroInstance * hero)
|
|||||||
primSkillValues.push_back(value);
|
primSkillValues.push_back(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto primSkills = GH.renderHandler().loadAnimation(AnimationPath::builtin("PSKIL42"));
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL42"), 0, 0, 32, 111));
|
||||||
primSkills->preload();
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL42"), 1, 0, 102, 111));
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(primSkills, 0, 0, 32, 111));
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL42"), 2, 0, 172, 111));
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(primSkills, 1, 0, 102, 111));
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL42"), 3, 0, 162, 230));
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(primSkills, 2, 0, 172, 111));
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL42"), 4, 0, 20, 230));
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(primSkills, 3, 0, 162, 230));
|
primSkillImages.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PSKIL42"), 5, 0, 242, 111));
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(primSkills, 4, 0, 20, 230));
|
|
||||||
primSkillImages.push_back(std::make_shared<CAnimImage>(primSkills, 5, 0, 242, 111));
|
|
||||||
|
|
||||||
specImage = std::make_shared<CAnimImage>(AnimationPath::builtin("UN44"), 0, 0, 18, 180);
|
specImage = std::make_shared<CAnimImage>(AnimationPath::builtin("UN44"), 0, 0, 18, 180);
|
||||||
specArea = std::make_shared<LRClickableAreaWText>(Rect(18, 180, 136, 42), CGI->generaltexth->heroscrn[27]);
|
specArea = std::make_shared<LRClickableAreaWText>(Rect(18, 180, 136, 42), CGI->generaltexth->heroscrn[27]);
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
#include "../widgets/TextControls.h"
|
#include "../widgets/TextControls.h"
|
||||||
#include "../windows/GUIClasses.h"
|
#include "../windows/GUIClasses.h"
|
||||||
#include "../windows/InfoWindows.h"
|
#include "../windows/InfoWindows.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
#include "../render/IImage.h"
|
#include "../render/IImage.h"
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
#include "../widgets/CTextInput.h"
|
#include "../widgets/CTextInput.h"
|
||||||
#include "../widgets/TextControls.h"
|
#include "../widgets/TextControls.h"
|
||||||
#include "../adventureMap/AdventureMapInterface.h"
|
#include "../adventureMap/AdventureMapInterface.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
#include "../render/IImage.h"
|
#include "../render/IImage.h"
|
||||||
#include "../render/IImageLoader.h"
|
#include "../render/IImageLoader.h"
|
||||||
@ -151,18 +150,9 @@ CSpellWindow::CSpellWindow(const CGHeroInstance * _myHero, CPlayerInterface * _m
|
|||||||
leftCorner = std::make_shared<CPicture>(ImagePath::builtin("SpelTrnL.bmp"), 97 + offL, 77 + offT);
|
leftCorner = std::make_shared<CPicture>(ImagePath::builtin("SpelTrnL.bmp"), 97 + offL, 77 + offT);
|
||||||
rightCorner = std::make_shared<CPicture>(ImagePath::builtin("SpelTrnR.bmp"), 487 + offR, 72 + offT);
|
rightCorner = std::make_shared<CPicture>(ImagePath::builtin("SpelTrnR.bmp"), 487 + offR, 72 + offT);
|
||||||
|
|
||||||
spellIcons = GH.renderHandler().loadAnimation(AnimationPath::builtin("Spells"));
|
|
||||||
|
|
||||||
schoolTab = std::make_shared<CAnimImage>(AnimationPath::builtin("SpelTab"), selectedTab, 0, 524 + offR, 88);
|
schoolTab = std::make_shared<CAnimImage>(AnimationPath::builtin("SpelTab"), selectedTab, 0, 524 + offR, 88);
|
||||||
schoolPicture = std::make_shared<CAnimImage>(AnimationPath::builtin("Schools"), 0, 0, 117 + offL, 74 + offT);
|
schoolPicture = std::make_shared<CAnimImage>(AnimationPath::builtin("Schools"), 0, 0, 117 + offL, 74 + offT);
|
||||||
|
|
||||||
schoolBorders[0] = GH.renderHandler().loadAnimation(AnimationPath::builtin("SplevA.def"));
|
|
||||||
schoolBorders[1] = GH.renderHandler().loadAnimation(AnimationPath::builtin("SplevF.def"));
|
|
||||||
schoolBorders[2] = GH.renderHandler().loadAnimation(AnimationPath::builtin("SplevW.def"));
|
|
||||||
schoolBorders[3] = GH.renderHandler().loadAnimation(AnimationPath::builtin("SplevE.def"));
|
|
||||||
|
|
||||||
for(auto item : schoolBorders)
|
|
||||||
item->preload();
|
|
||||||
mana = std::make_shared<CLabel>(435 + (isBigSpellbook ? 159 : 0), 426 + offB, FONT_SMALL, ETextAlignment::CENTER, Colors::YELLOW, std::to_string(myHero->mana));
|
mana = std::make_shared<CLabel>(435 + (isBigSpellbook ? 159 : 0), 426 + offB, FONT_SMALL, ETextAlignment::CENTER, Colors::YELLOW, std::to_string(myHero->mana));
|
||||||
|
|
||||||
if(isBigSpellbook)
|
if(isBigSpellbook)
|
||||||
@ -595,7 +585,7 @@ CSpellWindow::SpellArea::SpellArea(Rect pos, CSpellWindow * owner)
|
|||||||
|
|
||||||
OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE);
|
OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE);
|
||||||
|
|
||||||
image = std::make_shared<CAnimImage>(owner->spellIcons, 0, 0);
|
image = std::make_shared<CAnimImage>(AnimationPath::builtin("Spells"), 0, 0);
|
||||||
image->visible = false;
|
image->visible = false;
|
||||||
|
|
||||||
name = std::make_shared<CLabel>(39, 70, FONT_TINY, ETextAlignment::CENTER);
|
name = std::make_shared<CLabel>(39, 70, FONT_TINY, ETextAlignment::CENTER);
|
||||||
@ -744,14 +734,22 @@ void CSpellWindow::SpellArea::setSpell(const CSpell * spell)
|
|||||||
|
|
||||||
{
|
{
|
||||||
OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE);
|
OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE);
|
||||||
|
|
||||||
|
static const std::array schoolBorders = {
|
||||||
|
AnimationPath::builtin("SplevA.def"),
|
||||||
|
AnimationPath::builtin("SplevF.def"),
|
||||||
|
AnimationPath::builtin("SplevW.def"),
|
||||||
|
AnimationPath::builtin("SplevE.def")
|
||||||
|
};
|
||||||
|
|
||||||
schoolBorder.reset();
|
schoolBorder.reset();
|
||||||
if (owner->selectedTab >= 4)
|
if (owner->selectedTab >= 4)
|
||||||
{
|
{
|
||||||
if (whichSchool.getNum() != SpellSchool())
|
if (whichSchool.getNum() != SpellSchool())
|
||||||
schoolBorder = std::make_shared<CAnimImage>(owner->schoolBorders.at(whichSchool.getNum()), schoolLevel);
|
schoolBorder = std::make_shared<CAnimImage>(schoolBorders.at(whichSchool.getNum()), schoolLevel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
schoolBorder = std::make_shared<CAnimImage>(owner->schoolBorders.at(owner->selectedTab), schoolLevel);
|
schoolBorder = std::make_shared<CAnimImage>(schoolBorders.at(owner->selectedTab), schoolLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
ColorRGBA firstLineColor, secondLineColor;
|
ColorRGBA firstLineColor, secondLineColor;
|
||||||
|
@ -19,7 +19,6 @@ class CSpell;
|
|||||||
VCMI_LIB_NAMESPACE_END
|
VCMI_LIB_NAMESPACE_END
|
||||||
|
|
||||||
class IImage;
|
class IImage;
|
||||||
class CAnimation;
|
|
||||||
class CAnimImage;
|
class CAnimImage;
|
||||||
class CPicture;
|
class CPicture;
|
||||||
class CLabel;
|
class CLabel;
|
||||||
@ -67,9 +66,6 @@ class CSpellWindow : public CWindowObject
|
|||||||
InteractiveArea(const Rect &myRect, std::function<void()> funcL, int helpTextId, CSpellWindow * _owner);
|
InteractiveArea(const Rect &myRect, std::function<void()> funcL, int helpTextId, CSpellWindow * _owner);
|
||||||
};
|
};
|
||||||
|
|
||||||
std::shared_ptr<CAnimation> spellIcons;
|
|
||||||
std::array<std::shared_ptr<CAnimation>, 4> schoolBorders; //[0]: air, [1]: fire, [2]: water, [3]: earth
|
|
||||||
|
|
||||||
std::shared_ptr<CPicture> leftCorner;
|
std::shared_ptr<CPicture> leftCorner;
|
||||||
std::shared_ptr<CPicture> rightCorner;
|
std::shared_ptr<CPicture> rightCorner;
|
||||||
|
|
||||||
|
@ -36,7 +36,6 @@
|
|||||||
#include "../widgets/VideoWidget.h"
|
#include "../widgets/VideoWidget.h"
|
||||||
|
|
||||||
#include "../render/Canvas.h"
|
#include "../render/Canvas.h"
|
||||||
#include "../render/CAnimation.h"
|
|
||||||
#include "../render/IRenderHandler.h"
|
#include "../render/IRenderHandler.h"
|
||||||
#include "../render/IImage.h"
|
#include "../render/IImage.h"
|
||||||
|
|
||||||
@ -892,8 +891,13 @@ CUniversityWindow::CItem::CItem(CUniversityWindow * _parent, int _ID, int X, int
|
|||||||
pos.x += X;
|
pos.x += X;
|
||||||
pos.y += Y;
|
pos.y += Y;
|
||||||
|
|
||||||
topBar = std::make_shared<CAnimImage>(parent->bars, 0, 0, -28, -22);
|
// TODO: restore
|
||||||
bottomBar = std::make_shared<CAnimImage>(parent->bars, 0, 0, -28, 48);
|
//bars->setCustom("UNIVRED", 0, 0);
|
||||||
|
//bars->setCustom("UNIVGOLD", 1, 0);
|
||||||
|
//bars->setCustom("UNIVGREN", 2, 0);
|
||||||
|
|
||||||
|
topBar = std::make_shared<CPicture>(ImagePath::builtin("UNIVRED"), Point(-28, -22));
|
||||||
|
bottomBar = std::make_shared<CPicture>(ImagePath::builtin("UNIVRED"), Point(-28, 48));
|
||||||
|
|
||||||
icon = std::make_shared<CAnimImage>(AnimationPath::builtin("SECSKILL"), _ID * 3 + 3, 0);
|
icon = std::make_shared<CAnimImage>(AnimationPath::builtin("SECSKILL"), _ID * 3 + 3, 0);
|
||||||
|
|
||||||
@ -932,16 +936,6 @@ int CUniversityWindow::CItem::state()
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CUniversityWindow::CItem::showAll(Canvas & to)
|
|
||||||
{
|
|
||||||
//TODO: update when state actually changes
|
|
||||||
auto stateIndex = state();
|
|
||||||
topBar->setFrame(stateIndex);
|
|
||||||
bottomBar->setFrame(stateIndex);
|
|
||||||
|
|
||||||
CIntObject::showAll(to);
|
|
||||||
}
|
|
||||||
|
|
||||||
CUniversityWindow::CUniversityWindow(const CGHeroInstance * _hero, const IMarket * _market, const std::function<void()> & onWindowClosed)
|
CUniversityWindow::CUniversityWindow(const CGHeroInstance * _hero, const IMarket * _market, const std::function<void()> & onWindowClosed)
|
||||||
: CWindowObject(PLAYER_COLORED, ImagePath::builtin("UNIVERS1")),
|
: CWindowObject(PLAYER_COLORED, ImagePath::builtin("UNIVERS1")),
|
||||||
hero(_hero),
|
hero(_hero),
|
||||||
@ -950,11 +944,6 @@ CUniversityWindow::CUniversityWindow(const CGHeroInstance * _hero, const IMarket
|
|||||||
{
|
{
|
||||||
OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE);
|
OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE);
|
||||||
|
|
||||||
bars = GH.renderHandler().createAnimation();
|
|
||||||
bars->setCustom("UNIVRED", 0, 0);
|
|
||||||
bars->setCustom("UNIVGOLD", 1, 0);
|
|
||||||
bars->setCustom("UNIVGREN", 2, 0);
|
|
||||||
bars->preload();
|
|
||||||
|
|
||||||
std::string titleStr = CGI->generaltexth->allTexts[602];
|
std::string titleStr = CGI->generaltexth->allTexts[602];
|
||||||
std::string speechStr = CGI->generaltexth->allTexts[603];
|
std::string speechStr = CGI->generaltexth->allTexts[603];
|
||||||
@ -1331,18 +1320,12 @@ CThievesGuildWindow::CThievesGuildWindow(const CGObjectInstance * _owner):
|
|||||||
rowHeaders.push_back(std::make_shared<CLabel>(135, y, FONT_MEDIUM, ETextAlignment::CENTER, Colors::YELLOW, text));
|
rowHeaders.push_back(std::make_shared<CLabel>(135, y, FONT_MEDIUM, ETextAlignment::CENTER, Colors::YELLOW, text));
|
||||||
}
|
}
|
||||||
|
|
||||||
auto PRSTRIPS = GH.renderHandler().loadAnimation(AnimationPath::builtin("PRSTRIPS"));
|
|
||||||
PRSTRIPS->preload();
|
|
||||||
|
|
||||||
for(int g=1; g<tgi.playerColors.size(); ++g)
|
for(int g=1; g<tgi.playerColors.size(); ++g)
|
||||||
columnBackgrounds.push_back(std::make_shared<CAnimImage>(PRSTRIPS, g-1, 0, 250 + 66*g, 7));
|
columnBackgrounds.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("PRSTRIPS"), g-1, 0, 250 + 66*g, 7));
|
||||||
|
|
||||||
for(int g=0; g<tgi.playerColors.size(); ++g)
|
for(int g=0; g<tgi.playerColors.size(); ++g)
|
||||||
columnHeaders.push_back(std::make_shared<CLabel>(283 + 66*g, 24, FONT_BIG, ETextAlignment::CENTER, Colors::YELLOW, CGI->generaltexth->jktexts[16+g]));
|
columnHeaders.push_back(std::make_shared<CLabel>(283 + 66*g, 24, FONT_BIG, ETextAlignment::CENTER, Colors::YELLOW, CGI->generaltexth->jktexts[16+g]));
|
||||||
|
|
||||||
auto itgflags = GH.renderHandler().loadAnimation(AnimationPath::builtin("itgflags"));
|
|
||||||
itgflags->preload();
|
|
||||||
|
|
||||||
//printing flags
|
//printing flags
|
||||||
for(int g = 0; g < std::size(fields); ++g) //by lines
|
for(int g = 0; g < std::size(fields); ++g) //by lines
|
||||||
{
|
{
|
||||||
@ -1366,7 +1349,7 @@ CThievesGuildWindow::CThievesGuildWindow(const CGObjectInstance * _owner):
|
|||||||
int rowStartY = ypos + (j ? 4 : 0);
|
int rowStartY = ypos + (j ? 4 : 0);
|
||||||
|
|
||||||
for(size_t i=0; i < rowLength[j]; i++)
|
for(size_t i=0; i < rowLength[j]; i++)
|
||||||
cells.push_back(std::make_shared<CAnimImage>(itgflags, players[i + j*4].getNum(), 0, rowStartX + (int)i*12, rowStartY));
|
cells.push_back(std::make_shared<CAnimImage>(AnimationPath::builtin("itgflags"), players[i + j*4].getNum(), 0, rowStartX + (int)i*12, rowStartY));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -363,15 +363,14 @@ class CUniversityWindow : public CStatusbarWindow
|
|||||||
class CItem : public CIntObject
|
class CItem : public CIntObject
|
||||||
{
|
{
|
||||||
std::shared_ptr<CAnimImage> icon;
|
std::shared_ptr<CAnimImage> icon;
|
||||||
std::shared_ptr<CAnimImage> topBar;
|
std::shared_ptr<CPicture> topBar;
|
||||||
std::shared_ptr<CAnimImage> bottomBar;
|
std::shared_ptr<CPicture> bottomBar;
|
||||||
std::shared_ptr<CLabel> name;
|
std::shared_ptr<CLabel> name;
|
||||||
std::shared_ptr<CLabel> level;
|
std::shared_ptr<CLabel> level;
|
||||||
public:
|
public:
|
||||||
SecondarySkill ID;//id of selected skill
|
SecondarySkill ID;//id of selected skill
|
||||||
CUniversityWindow * parent;
|
CUniversityWindow * parent;
|
||||||
|
|
||||||
void showAll(Canvas & to) override;
|
|
||||||
void clickPressed(const Point & cursorPosition) override;
|
void clickPressed(const Point & cursorPosition) override;
|
||||||
void showPopupWindow(const Point & cursorPosition) override;
|
void showPopupWindow(const Point & cursorPosition) override;
|
||||||
void hover(bool on) override;
|
void hover(bool on) override;
|
||||||
@ -382,8 +381,6 @@ class CUniversityWindow : public CStatusbarWindow
|
|||||||
const CGHeroInstance * hero;
|
const CGHeroInstance * hero;
|
||||||
const IMarket * market;
|
const IMarket * market;
|
||||||
|
|
||||||
std::shared_ptr<CAnimation> bars;
|
|
||||||
|
|
||||||
std::vector<std::shared_ptr<CItem>> items;
|
std::vector<std::shared_ptr<CItem>> items;
|
||||||
|
|
||||||
std::shared_ptr<CButton> cancel;
|
std::shared_ptr<CButton> cancel;
|
||||||
|
Reference in New Issue
Block a user