mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	* bug 1193 should be fixed
* minor refactoring
This commit is contained in:
		| @@ -42,8 +42,8 @@ class CSelectableSkill; | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| CCreatureWindow::CCreatureWindow (const CStack &stack, int Type): | ||||
|     CWindowObject(PLAYER_COLORED | (Type == 0 ? RCLICK_POPUP : 0 ) ), | ||||
| CCreatureWindow::CCreatureWindow (const CStack &stack, CreWinType Type): | ||||
|     CWindowObject(PLAYER_COLORED | (Type == OTHER ? RCLICK_POPUP : 0 ) ), | ||||
|     type(Type) | ||||
| { | ||||
| 	OBJ_CONSTRUCTION_CAPTURING_ALL; | ||||
| @@ -57,8 +57,8 @@ CCreatureWindow::CCreatureWindow (const CStack &stack, int Type): | ||||
| 	} | ||||
| } | ||||
|  | ||||
| CCreatureWindow::CCreatureWindow (const CStackInstance &stack, int Type): | ||||
|     CWindowObject(PLAYER_COLORED | (Type == 0 ? RCLICK_POPUP : 0 ) ), | ||||
| CCreatureWindow::CCreatureWindow (const CStackInstance &stack, CreWinType Type): | ||||
|     CWindowObject(PLAYER_COLORED | (Type == OTHER ? RCLICK_POPUP : 0 ) ), | ||||
|     type(Type) | ||||
| { | ||||
| 	OBJ_CONSTRUCTION_CAPTURING_ALL; | ||||
| @@ -66,8 +66,8 @@ CCreatureWindow::CCreatureWindow (const CStackInstance &stack, int Type): | ||||
| 	init(&stack, &stack, dynamic_cast<const CGHeroInstance*>(stack.armyObj)); | ||||
| } | ||||
|  | ||||
| CCreatureWindow::CCreatureWindow(int Cid, int Type, int creatureCount): | ||||
|    CWindowObject(PLAYER_COLORED | (Type == 0 ? RCLICK_POPUP : 0 ) ), | ||||
| CCreatureWindow::CCreatureWindow(int Cid, CreWinType Type, int creatureCount): | ||||
|    CWindowObject(PLAYER_COLORED | (Type == OTHER ? RCLICK_POPUP : 0 ) ), | ||||
|     type(Type) | ||||
| { | ||||
| 	OBJ_CONSTRUCTION_CAPTURING_ALL; | ||||
| @@ -77,8 +77,8 @@ CCreatureWindow::CCreatureWindow(int Cid, int Type, int creatureCount): | ||||
| 	delete stack; | ||||
| } | ||||
|  | ||||
| CCreatureWindow::CCreatureWindow(const CStackInstance &st, int Type, boost::function<void()> Upg, boost::function<void()> Dsm, UpgradeInfo *ui): | ||||
|     CWindowObject(PLAYER_COLORED | (Type == 0 ? RCLICK_POPUP : 0 ) ), | ||||
| CCreatureWindow::CCreatureWindow(const CStackInstance &st, CreWinType Type, boost::function<void()> Upg, boost::function<void()> Dsm, UpgradeInfo *ui): | ||||
|     CWindowObject(PLAYER_COLORED | (Type == OTHER ? RCLICK_POPUP : 0 ) ), | ||||
|     type(Type), | ||||
|     dismiss(0), | ||||
|     upgrade(0), | ||||
| @@ -517,7 +517,7 @@ void CCreatureWindow::showAll(SDL_Surface * to) | ||||
| 	if (stackNode->valOfBonuses(Bonus::SHOTS) && stackNode->hasBonusOfType(Bonus::SHOOTER)) | ||||
| 	{//only for shooting units - important with wog exp shooters | ||||
| 		if (type == BATTLE) | ||||
| 			printLine(2, CGI->generaltexth->allTexts[198], dynamic_cast<const CStack*>(stackNode)->shots); | ||||
| 			printLine(2, CGI->generaltexth->allTexts[198], stackNode->valOfBonuses(Bonus::SHOTS), dynamic_cast<const CStack*>(stackNode)->shots); | ||||
| 		else | ||||
| 			printLine(2, CGI->generaltexth->allTexts[198], stackNode->valOfBonuses(Bonus::SHOTS)); | ||||
| 	} | ||||
| @@ -899,11 +899,11 @@ CIntObject * createCreWindow( | ||||
| 		if(settings["general"]["classicCreatureWindow"].Bool()) | ||||
| 			return new CCreInfoWindow(*s, lclick); | ||||
| 		else | ||||
| 			return new CCreatureWindow(*s, lclick ? CCreatureWindow::BATTLE : CCreatureWindow::OTHER); | ||||
| 			return new CCreatureWindow(*s, LOCPLINT->battleInt ? CCreatureWindow::BATTLE : CCreatureWindow::OTHER); | ||||
| 	} | ||||
| } | ||||
|  | ||||
| CIntObject * createCreWindow(int Cid, int Type, int creatureCount) | ||||
| CIntObject * createCreWindow(int Cid, CCreatureWindow::CreWinType Type, int creatureCount) | ||||
| { | ||||
| 	if(settings["general"]["classicCreatureWindow"].Bool()) | ||||
| 		return new CCreInfoWindow(Cid, Type, creatureCount); | ||||
| @@ -911,10 +911,10 @@ CIntObject * createCreWindow(int Cid, int Type, int creatureCount) | ||||
| 		return new CCreatureWindow(Cid, Type, creatureCount); | ||||
| } | ||||
|  | ||||
| CIntObject * createCreWindow(const CStackInstance *s, int type, boost::function<void()> Upg, boost::function<void()> Dsm, UpgradeInfo *ui) | ||||
| CIntObject * createCreWindow(const CStackInstance *s, CCreatureWindow::CreWinType type, boost::function<void()> Upg, boost::function<void()> Dsm, UpgradeInfo *ui) | ||||
| { | ||||
| 	if(settings["general"]["classicCreatureWindow"].Bool()) | ||||
| 		return new CCreInfoWindow(*s, type==3, Upg, Dsm, ui); | ||||
| 		return new CCreInfoWindow(*s, type==CCreatureWindow::HERO, Upg, Dsm, ui); | ||||
| 	else | ||||
| 		return  new CCreatureWindow(*s, type, Upg, Dsm, ui); | ||||
| } | ||||
|   | ||||
| @@ -43,7 +43,7 @@ class CCreatureWindow : public CWindowObject, public CArtifactHolder | ||||
| public: | ||||
| 	enum CreWinType {OTHER = 0, BATTLE = 1, ARMY = 2, HERO = 3, COMMANDER = 4, COMMANDER_LEVEL_UP = 5, COMMANDER_BATTLE = 6}; // > 3 are opened permanently | ||||
| 	//bool active; //TODO: comment me | ||||
| 	int type;//0 - rclick popup; 1 - normal window | ||||
| 	CreWinType type; | ||||
| 	int bonusRows; //height of skill window | ||||
| 	int displayedArtifact; | ||||
|  | ||||
| @@ -86,12 +86,12 @@ public: | ||||
| 	boost::function<void()> Upg; //upgrade button callback | ||||
| 	boost::function<void(ui32)> levelUp; //choose commander skill to level up | ||||
|  | ||||
| 	CCreatureWindow(const CStack & stack, int type); //battle c-tor | ||||
| 	CCreatureWindow (const CStackInstance &stack, int Type); //pop-up c-tor | ||||
| 	CCreatureWindow(const CStackInstance &st, int Type, boost::function<void()> Upg, boost::function<void()> Dsm, UpgradeInfo *ui); //full garrison window | ||||
| 	CCreatureWindow(const CStack & stack, CreWinType type); //battle c-tor | ||||
| 	CCreatureWindow (const CStackInstance &stack, CreWinType Type); //pop-up c-tor | ||||
| 	CCreatureWindow(const CStackInstance &st, CreWinType Type, boost::function<void()> Upg, boost::function<void()> Dsm, UpgradeInfo *ui); //full garrison window | ||||
| 	CCreatureWindow(const CCommanderInstance * commander, const CStack * stack = NULL); //commander window | ||||
| 	CCreatureWindow(std::vector<ui32> &skills, const CCommanderInstance * commander, boost::function<void(ui32)> callback);  | ||||
| 	CCreatureWindow(int Cid, int Type, int creatureCount); //c-tor | ||||
| 	CCreatureWindow(int Cid, CreWinType Type, int creatureCount); //c-tor | ||||
|  | ||||
| 	void init(const CStackInstance *stack, const CBonusSystemNode *stackNode, const CGHeroInstance *heroOwner); | ||||
| 	void showAll(SDL_Surface * to); | ||||
| @@ -159,5 +159,5 @@ public: | ||||
| }; | ||||
|  | ||||
| CIntObject *createCreWindow(const CStack *s, bool lclick = false); | ||||
| CIntObject *createCreWindow(int Cid, int Type, int creatureCount); | ||||
| CIntObject *createCreWindow(const CStackInstance *s, int type, boost::function<void()> Upg = 0, boost::function<void()> Dsm = 0, UpgradeInfo *ui = NULL); | ||||
| CIntObject *createCreWindow(int Cid, CCreatureWindow::CreWinType Type, int creatureCount); | ||||
| CIntObject *createCreWindow(const CStackInstance *s, CCreatureWindow::CreWinType type, boost::function<void()> Upg = 0, boost::function<void()> Dsm = 0, UpgradeInfo *ui = NULL); | ||||
|   | ||||
| @@ -303,7 +303,7 @@ void CGarrisonSlot::clickRight(tribool down, bool previousState) | ||||
| { | ||||
| 	if(down && creature) | ||||
| 	{ | ||||
| 		GH.pushInt(createCreWindow(myStack, 2)); | ||||
| 		GH.pushInt(createCreWindow(myStack, CCreatureWindow::ARMY)); | ||||
| 	} | ||||
| } | ||||
| void CGarrisonSlot::clickLeft(tribool down, bool previousState) | ||||
| @@ -333,7 +333,7 @@ void CGarrisonSlot::clickLeft(tribool down, bool previousState) | ||||
|  | ||||
| 				redraw(); | ||||
| 				refr = true; | ||||
| 				CIntObject *creWindow = createCreWindow(myStack, 3, upgr, dism, &pom); | ||||
| 				CIntObject *creWindow = createCreWindow(myStack, CCreatureWindow::HERO, upgr, dism, &pom); | ||||
| 				GH.pushInt(creWindow); | ||||
| 			} | ||||
| 			else | ||||
| @@ -1361,7 +1361,7 @@ void CRecruitmentWindow::CCreatureCard::clickLeft(tribool down, bool previousSta | ||||
| void CRecruitmentWindow::CCreatureCard::clickRight(tribool down, bool previousState) | ||||
| { | ||||
| 	if (down) | ||||
| 		GH.pushInt(createCreWindow(creature->idNumber, 0, 0)); | ||||
| 		GH.pushInt(createCreWindow(creature->idNumber, CCreatureWindow::OTHER, 0)); | ||||
| } | ||||
|  | ||||
| void CRecruitmentWindow::CCreatureCard::showAll(SDL_Surface * to) | ||||
|   | ||||
| @@ -24,7 +24,7 @@ | ||||
| 	#define CONSOLE_TEAL "\x1b[1;36m" | ||||
| #else | ||||
| 	#define WIN32_LEAN_AND_MEAN //excludes rarely used stuff from windows headers - delete this line if something is missing | ||||
| 	#include <windows.h> | ||||
| 	#include <Windows.h> | ||||
| #ifndef __MINGW32__ | ||||
| 	#include <dbghelp.h> | ||||
| 	#pragma comment(lib, "dbghelp.lib") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user