Pārlūkot izejas kodu

- compile fixes
- fixed portrait initialization for random heroes

Ivan Savenko 12 gadi atpakaļ
vecāks
revīzija
7e46d462b6

+ 1 - 1
AI/EmptyAI/CEmptyAI.cpp

@@ -13,7 +13,7 @@ void CEmptyAI::yourTurn()
 	cb->endTurn();
 }
 
-void CEmptyAI::heroGotLevel(const CGHeroInstance *hero, PrimarySkill::PrimarySkill pskill, std::vector<SecondarySkill::SecondarySkill> &skills, int queryID)
+void CEmptyAI::heroGotLevel(const CGHeroInstance *hero, PrimarySkill::PrimarySkill pskill, std::vector<SecondarySkill> &skills, int queryID)
 {
 	cb->selectionMade(rand() % skills.size(), queryID);
 }

+ 1 - 1
AI/EmptyAI/CEmptyAI.h

@@ -12,7 +12,7 @@ class CEmptyAI : public CGlobalAI
 public:
 	void init(CCallback * CB) override;
 	void yourTurn() override;
-	void heroGotLevel(const CGHeroInstance *hero, PrimarySkill::PrimarySkill pskill, std::vector<SecondarySkill::SecondarySkill> &skills, int queryID) override;
+	void heroGotLevel(const CGHeroInstance *hero, PrimarySkill::PrimarySkill pskill, std::vector<SecondarySkill> &skills, int queryID) override;
 	void commanderGotLevel (const CCommanderInstance * commander, std::vector<ui32> skills, int queryID) override;
 	void showBlockingDialog(const std::string &text, const std::vector<Component> &components, ui32 askID, const int soundID, bool selection, bool cancel) override;
 	void showGarrisonDialog(const CArmedInstance *up, const CGHeroInstance *down, bool removableUnits, int queryID) override;

+ 4 - 2
client/CCreatureWindow.cpp

@@ -639,7 +639,8 @@ void CCreatureWindow::scrollArt(int dir)
 {
 	//TODO: get next artifact
 	int size = stack->artifactsWorn.size();
-	displayedArtifact  =  size ? static_cast<ArtifactPosition>((displayedArtifact + dir) % size) : ArtifactPosition::CREATURE_SLOT;
+	displayedArtifact  =  size ? static_cast<ArtifactPosition>((displayedArtifact + dir) % size)
+	                           : static_cast<ArtifactPosition>(ArtifactPosition::CREATURE_SLOT);
 	setArt (stack->getArt(displayedArtifact));
 }
 
@@ -666,7 +667,8 @@ void CCreatureWindow::artifactRemoved (const ArtifactLocation &artLoc)
 			LOCPLINT->cb->swapArtifacts (ArtifactLocation(stack, al.first), ArtifactLocation(stack, freeSlot));
 	}
 	int size = stack->artifactsWorn.size();
-	displayedArtifact  =  size ? static_cast<ArtifactPosition>(displayedArtifact % size) : ArtifactPosition::CREATURE_SLOT; //0
+	displayedArtifact  =  size ? static_cast<ArtifactPosition>(displayedArtifact % size)
+	                           : static_cast<ArtifactPosition>(ArtifactPosition::CREATURE_SLOT); //0
 	setArt (stack->getArt(displayedArtifact));
 }
 void CCreatureWindow::artifactMoved (const ArtifactLocation &artLoc, const ArtifactLocation &destLoc)

+ 2 - 1
lib/CGameState.cpp

@@ -683,8 +683,9 @@ void CGameState::randomizeObject(CGObjectInstance *cur)
 		CGHeroInstance *h = dynamic_cast<CGHeroInstance *>(cur);
 		if(!h) {tlog2<<"Wrong random hero at "<<cur->pos<<std::endl; return;}
 		cur->ID = ran.first;
-		h->portrait = cur->subID = ran.second;
+		cur->subID = ran.second;
 		h->type = VLC->heroh->heroes[ran.second];
+		h->portrait = h->type->imageIndex;
 		h->randomizeArmy(h->type->heroClass->faction);
 		map->heroes.push_back(h);
 		return; //TODO: maybe we should do something with definfo?