mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	moved to gameconfig
This commit is contained in:
		| @@ -110,12 +110,6 @@ OptionsTabBase::OptionsTabBase(const JsonPath & configPath) | ||||
| 		CSH->setExtraOptionsInfo(info); | ||||
| 	}); | ||||
|  | ||||
| 	addCallback("setInviteHero", [&](int index){ | ||||
| 		ExtraOptionsInfo info = SEL->getStartInfo()->extraOptionsInfo; | ||||
| 		info.inviteHero = index; | ||||
| 		CSH->setExtraOptionsInfo(info); | ||||
| 	}); | ||||
|  | ||||
| 	addCallback("setTurnTimerAccumulate", [&](int index){ | ||||
| 		TurnTimerInfo info = SEL->getStartInfo()->turnTimerInfo; | ||||
| 		info.accumulatingTurnTimer = index; | ||||
| @@ -423,10 +417,4 @@ void OptionsTabBase::recreate() | ||||
| 		buttonUnlimitedReplay->setSelectedSilent(SEL->getStartInfo()->extraOptionsInfo.unlimitedReplay); | ||||
| 		buttonUnlimitedReplay->setInputEnabled(SEL->screenType != ESelectionScreen::loadGame); | ||||
| 	} | ||||
|  | ||||
| 	if(auto buttonInviteHero = widget<CToggleButton>("buttonInviteHero")) | ||||
| 	{ | ||||
| 		buttonInviteHero->setSelectedSilent(SEL->getStartInfo()->extraOptionsInfo.inviteHero); | ||||
| 		buttonInviteHero->setInputEnabled(SEL->screenType != ESelectionScreen::loadGame); | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -519,7 +519,7 @@ void CTavernWindow::addInvite() | ||||
| { | ||||
| 	OBJECT_CONSTRUCTION_CAPTURING(255-DISPOSE); | ||||
|  | ||||
| 	if(CSH->client->getStartInfo()->extraOptionsInfo.inviteHero) | ||||
| 	if(VLC->settings()->getBoolean(EGameSettings::HEROES_INVITE)) | ||||
| 	{ | ||||
| 		const auto & heroesPool = CSH->client->gameState()->heroesPool; | ||||
| 		for(auto & elem : heroesPool->unusedHeroesFromPool()) | ||||
|   | ||||
| @@ -289,7 +289,9 @@ | ||||
| 			// Chances for a hero with default army to receive corresponding stack out of his predefined starting troops | ||||
| 			"startingStackChances": [ 100, 88, 25], | ||||
| 			// number of artifacts that can fit in a backpack. -1 is unlimited. | ||||
| 			"backpackSize"		: -1 | ||||
| 			"backpackSize"		: -1, | ||||
| 			// if heroes are invitable in tavern | ||||
| 			"invite"            : false | ||||
| 		}, | ||||
|  | ||||
| 		"towns": | ||||
|   | ||||
| @@ -73,13 +73,6 @@ | ||||
| 					"callback" : "setUnlimitedReplay", | ||||
| 					"help" : "vcmi.optionsTab.unlimitedReplay", | ||||
| 					"selected" : true | ||||
| 				}, | ||||
| 				{ | ||||
| 					"name": "buttonInviteHero", | ||||
| 					"image": "lobby/checkbox", | ||||
| 					"callback" : "setInviteHero", | ||||
| 					"help" : "vcmi.optionsTab.inviteHero", | ||||
| 					"selected" : true | ||||
| 				} | ||||
| 			] | ||||
| 		}, | ||||
| @@ -103,13 +96,6 @@ | ||||
| 					"alignment": "left", | ||||
| 					"color": "yellow", | ||||
| 					"text": "vcmi.optionsTab.unlimitedReplay.hover" | ||||
| 				}, | ||||
| 				{ | ||||
| 					"name": "labelInviteHero", | ||||
| 					"font": "small", | ||||
| 					"alignment": "left", | ||||
| 					"color": "yellow", | ||||
| 					"text": "vcmi.optionsTab.inviteHero.hover" | ||||
| 				} | ||||
| 			] | ||||
| 		} | ||||
|   | ||||
| @@ -15,8 +15,7 @@ VCMI_LIB_NAMESPACE_BEGIN | ||||
| bool ExtraOptionsInfo::operator == (const ExtraOptionsInfo & other) const | ||||
| { | ||||
| 	return cheatsAllowed == other.cheatsAllowed && | ||||
| 			unlimitedReplay == other.unlimitedReplay && | ||||
| 			inviteHero == other.inviteHero; | ||||
| 			unlimitedReplay == other.unlimitedReplay; | ||||
| } | ||||
|  | ||||
| VCMI_LIB_NAMESPACE_END | ||||
|   | ||||
| @@ -16,7 +16,6 @@ struct DLL_LINKAGE ExtraOptionsInfo | ||||
| { | ||||
| 	bool cheatsAllowed = true; | ||||
| 	bool unlimitedReplay = false; | ||||
| 	bool inviteHero = false; | ||||
|  | ||||
| 	bool operator == (const ExtraOptionsInfo & other) const; | ||||
|  | ||||
| @@ -25,7 +24,6 @@ struct DLL_LINKAGE ExtraOptionsInfo | ||||
| 	{ | ||||
| 		h & cheatsAllowed; | ||||
| 		h & unlimitedReplay; | ||||
| 		h & inviteHero; | ||||
| 	} | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -74,6 +74,7 @@ void GameSettings::load(const JsonNode & input) | ||||
| 		{EGameSettings::HEROES_RETREAT_ON_WIN_WITHOUT_TROOPS,   "heroes",    "retreatOnWinWithoutTroops"  }, | ||||
| 		{EGameSettings::HEROES_STARTING_STACKS_CHANCES,         "heroes",    "startingStackChances"       }, | ||||
| 		{EGameSettings::HEROES_BACKPACK_CAP,                    "heroes",    "backpackSize"               }, | ||||
| 		{EGameSettings::HEROES_INVITE,                          "heroes",    "invite"                     }, | ||||
| 		{EGameSettings::MAP_FORMAT_RESTORATION_OF_ERATHIA,      "mapFormat", "restorationOfErathia"       }, | ||||
| 		{EGameSettings::MAP_FORMAT_ARMAGEDDONS_BLADE,           "mapFormat", "armageddonsBlade"           }, | ||||
| 		{EGameSettings::MAP_FORMAT_SHADOW_OF_DEATH,             "mapFormat", "shadowOfDeath"              }, | ||||
|   | ||||
| @@ -38,6 +38,7 @@ enum class EGameSettings | ||||
| 	HEROES_RETREAT_ON_WIN_WITHOUT_TROOPS, | ||||
| 	HEROES_STARTING_STACKS_CHANCES, | ||||
| 	HEROES_BACKPACK_CAP, | ||||
| 	HEROES_INVITE, | ||||
| 	MARKETS_BLACK_MARKET_RESTOCK_PERIOD, | ||||
| 	BANKS_SHOW_GUARDS_COMPOSITION, | ||||
| 	MODULE_COMMANDERS, | ||||
|   | ||||
| @@ -23,6 +23,7 @@ | ||||
| #include "../../lib/gameState/CGameState.h" | ||||
| #include "../../lib/gameState/TavernHeroesPool.h" | ||||
| #include "../../lib/gameState/TavernSlot.h" | ||||
| #include "../../lib/GameSettings.h" | ||||
|  | ||||
| HeroPoolProcessor::HeroPoolProcessor() | ||||
| 	: gameHandler(nullptr) | ||||
| @@ -114,7 +115,7 @@ void HeroPoolProcessor::selectNewHeroForSlot(const PlayerColor & color, TavernHe | ||||
| 	CGHeroInstance *newHero = pickHeroFor(needNativeHero, color); | ||||
|  | ||||
| 	const auto & heroesPool = gameHandler->gameState()->heroesPool; | ||||
| 	if(gameHandler->getStartInfo()->extraOptionsInfo.inviteHero && heroesPool->unusedHeroesFromPool().count(nextHero) && heroesPool->isHeroAvailableFor(nextHero, color)) | ||||
| 	if(VLC->settings()->getBoolean(EGameSettings::HEROES_INVITE) && heroesPool->unusedHeroesFromPool().count(nextHero) && heroesPool->isHeroAvailableFor(nextHero, color)) | ||||
| 		newHero = heroesPool->unusedHeroesFromPool()[nextHero]; | ||||
|  | ||||
| 	if (newHero) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user