mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	| @@ -5254,7 +5254,7 @@ CPuzzleWindow::CPuzzleWindow(const int3 &GrailPos, double discoveredRatio): | |||||||
| 		auto piece = new CPicture(info.filename, info.x, info.y); | 		auto piece = new CPicture(info.filename, info.x, info.y); | ||||||
|  |  | ||||||
| 		//piece that will slowly disappear | 		//piece that will slowly disappear | ||||||
| 		if(info.whenUncovered < GameConstants::PUZZLE_MAP_PIECES * discoveredRatio) | 		if(info.whenUncovered <= GameConstants::PUZZLE_MAP_PIECES * discoveredRatio) | ||||||
| 		{ | 		{ | ||||||
| 			piecesToRemove.push_back(piece); | 			piecesToRemove.push_back(piece); | ||||||
| 			piece->needRefresh = true; | 			piece->needRefresh = true; | ||||||
|   | |||||||
| @@ -954,13 +954,13 @@ void CGameState::init(StartInfo * si) | |||||||
| 		if(!map->grailRadious) //radius not given -> anywhere on map | 		if(!map->grailRadious) //radius not given -> anywhere on map | ||||||
| 			map->grailRadious = map->width * 2; | 			map->grailRadious = map->width * 2; | ||||||
|  |  | ||||||
|  |  | ||||||
|  		std::vector<int3> allowedPos; |  		std::vector<int3> allowedPos; | ||||||
|  | 		static const int BORDER_WIDTH = 9; // grail must be at least 9 tiles away from border | ||||||
|  |  | ||||||
| 		// add all not blocked tiles in range | 		// add all not blocked tiles in range | ||||||
| 		for (int i = 0; i < map->width ; i++) | 		for (int i = BORDER_WIDTH; i < map->width - BORDER_WIDTH ; i++) | ||||||
| 		{ | 		{ | ||||||
| 			for (int j = 0; j < map->height ; j++) | 			for (int j = BORDER_WIDTH; j < map->height - BORDER_WIDTH; j++) | ||||||
| 			{ | 			{ | ||||||
| 				for (int k = 0; k < (map->twoLevel ? 2 : 1); k++) | 				for (int k = 0; k < (map->twoLevel ? 2 : 1); k++) | ||||||
| 				{ | 				{ | ||||||
|   | |||||||
| @@ -511,10 +511,13 @@ void CModHandler::handleData(Handler handler, const JsonNode & source, std::stri | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| void CModHandler::loadGameContent() | void CModHandler::beforeLoad() | ||||||
| { | { | ||||||
| 	loadConfigFromFile("defaultMods.json"); | 	loadConfigFromFile("defaultMods.json"); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void CModHandler::loadGameContent() | ||||||
|  | { | ||||||
| 	CStopWatch timer, totalTime; | 	CStopWatch timer, totalTime; | ||||||
|  |  | ||||||
| 	CContentHandler content; | 	CContentHandler content; | ||||||
|   | |||||||
| @@ -169,6 +169,7 @@ public: | |||||||
| 	CModInfo & getModData(TModID modId); | 	CModInfo & getModData(TModID modId); | ||||||
|  |  | ||||||
| 	/// load content from all available mods | 	/// load content from all available mods | ||||||
|  | 	void beforeLoad(); | ||||||
| 	void loadGameContent(); | 	void loadGameContent(); | ||||||
|  |  | ||||||
| 	/// actions that should be triggered on map restart | 	/// actions that should be triggered on map restart | ||||||
|   | |||||||
| @@ -91,6 +91,8 @@ void LibClasses::init() | |||||||
| { | { | ||||||
| 	CStopWatch pomtime, totalTime; | 	CStopWatch pomtime, totalTime; | ||||||
|  |  | ||||||
|  | 	modh->beforeLoad(); | ||||||
|  |  | ||||||
| 	createHandler(bth, "Bonus type", pomtime); | 	createHandler(bth, "Bonus type", pomtime); | ||||||
| 	 | 	 | ||||||
| 	createHandler(generaltexth, "General text", pomtime); | 	createHandler(generaltexth, "General text", pomtime); | ||||||
|   | |||||||
| @@ -148,7 +148,7 @@ CMapHeader::~CMapHeader() | |||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
| CMap::CMap() : checksum(0), grailRadious(0), terrain(nullptr) | CMap::CMap() : checksum(0), grailPos(-1, -1, -1), grailRadious(0), terrain(nullptr) | ||||||
| { | { | ||||||
| 	allowedAbilities = VLC->heroh->getDefaultAllowedAbilities(); | 	allowedAbilities = VLC->heroh->getDefaultAllowedAbilities(); | ||||||
| 	allowedArtifact = VLC->arth->getDefaultAllowed(); | 	allowedArtifact = VLC->arth->getDefaultAllowed(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user