mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	* removed redundant code for displaying map difficulty
* bumped version name to 0.72b * more diagnostics in music handler (should help to catch the reported bug with not playing main menu theme) * probably fixed problems with horde buildings in towns that start with upgraded dwellings (0.72#1 http://vcmi.antypika.aplus.pl/forum/viewtopic.php?t=159)
This commit is contained in:
		| @@ -1420,25 +1420,10 @@ void MapSel::printSelectedInfo() | ||||
| 		if (selMap.name.length()) | ||||
| 			CSDL_Ext::printAt(selMap.name,420,41,GEORXX); | ||||
| 		else CSDL_Ext::printAt("Unnamed",420,41,GEORXX); | ||||
| 		std::string diff; | ||||
| 		switch (selMap.difficulty) | ||||
| 		{ | ||||
| 		case 0: | ||||
| 			diff=gdiff(CGI->generaltexth->zelp[24].second); | ||||
| 			break; | ||||
| 		case 1: | ||||
| 			diff=gdiff(CGI->generaltexth->zelp[25].second); | ||||
| 			break; | ||||
| 		case 2: | ||||
| 			diff=gdiff(CGI->generaltexth->zelp[26].second); | ||||
| 			break; | ||||
| 		case 3: | ||||
| 			diff=gdiff(CGI->generaltexth->zelp[27].second); | ||||
| 			break; | ||||
| 		case 4: | ||||
| 			diff=gdiff(CGI->generaltexth->zelp[28].second); | ||||
| 			break; | ||||
| 		} | ||||
|  | ||||
| 		assert(selMap.difficulty <= 4); | ||||
| 		std::string &diff = CGI->generaltexth->arraytxt[142 + selMap.difficulty]; | ||||
|  | ||||
| 		temp=-1; | ||||
| 		switch (selMap.width) | ||||
| 		{ | ||||
| @@ -1512,19 +1497,6 @@ void MapSel::printFlags() | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| std::string MapSel::gdiff(std::string ss) | ||||
| { | ||||
| 	std::string ret; | ||||
| 	for (int i=1;i<ss.length();i++) | ||||
| 	{ | ||||
| 		if (ss[i]==' ') | ||||
| 			break; | ||||
| 		ret+=ss[i]; | ||||
| 	} | ||||
| 	return ret; | ||||
| } | ||||
|  | ||||
| // A new size filter (Small, Medium, ...) has been selected. Populate | ||||
| // selMaps with the relevant data. | ||||
| void MapSel::updateSelection() | ||||
|   | ||||
							
								
								
									
										2
									
								
								global.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								global.h
									
									
									
									
									
								
							| @@ -19,7 +19,7 @@ typedef boost::int8_t si8; //signed int 8 bits (1 byte) | ||||
| #define THC | ||||
| #endif | ||||
|  | ||||
| #define NAME_VER ("VCMI 0.72") | ||||
| #define NAME_VER ("VCMI 0.72b") | ||||
| #define CONSOLE_LOGGING_LEVEL 5 | ||||
| #define FILE_LOGGING_LEVEL 6 | ||||
|  | ||||
|   | ||||
| @@ -47,8 +47,9 @@ void CGeneralTextHandler::load() | ||||
| 				buf1.substr(pom+1,eol-pom-1))); | ||||
| 			boost::algorithm::replace_all(zelp[zelp.size()-1].first,"\t",""); | ||||
| 			boost::algorithm::replace_all(zelp[zelp.size()-1].second,"\t",""); | ||||
| 			if(zelp.back().second[0] == '\"' && zelp.back().second[zelp.back().second.size()-1] == '\"') | ||||
| 				zelp.back().second = zelp.back().second.substr(1,zelp.back().second.size()-2); | ||||
| 			std::string &op = zelp.back().second; | ||||
| 			if(op[0] == '\"' && op[op.size()-1] == '\"') | ||||
| 				op =op.substr(1,op.size()-2); | ||||
| 		} | ||||
| 		itr=eol+2; | ||||
| 	} | ||||
|   | ||||
| @@ -361,15 +361,14 @@ void CMusicHandler::playMusic(musicBase::musicID musicID, int loop) | ||||
| 	{ | ||||
| 		// A music is already playing. Stop it and the callback will | ||||
| 		// start the new one | ||||
| 		nextMusic = Mix_LoadMUS(filename.c_str()); | ||||
| 		nextMusic = LoadMUS(filename.c_str()); | ||||
| 		nextMusicLoop = loop; | ||||
| 		Mix_FadeOutMusic(1000); | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		currentMusic = Mix_LoadMUS(filename.c_str()); | ||||
| 		if (Mix_PlayMusic(currentMusic, loop) == -1) | ||||
| 			tlog1 << "Unable to play sound file " << musicID << "(" << Mix_GetError() << ")" << std::endl; | ||||
| 		currentMusic = LoadMUS(filename.c_str()); | ||||
| 		PlayMusic(currentMusic,loop); | ||||
| 	} | ||||
|  | ||||
| 	musicMutex.unlock(); | ||||
| @@ -421,9 +420,26 @@ void CMusicHandler::musicFinishedCallback(void) | ||||
| 	{ | ||||
| 		currentMusic = nextMusic; | ||||
| 		nextMusic = NULL; | ||||
| 		if (Mix_PlayMusic(currentMusic, nextMusicLoop) == -1) | ||||
| 			tlog1 << "Unable to play music (" << Mix_GetError() << ")" << std::endl; | ||||
| 		PlayMusic(currentMusic,nextMusicLoop); | ||||
| 	} | ||||
|  | ||||
| 	musicMutex.unlock(); | ||||
| } | ||||
|  | ||||
| Mix_Music * CMusicHandler::LoadMUS(const char *file) | ||||
| { | ||||
| 	Mix_Music *ret = Mix_LoadMUS(file); | ||||
| 	if(!ret) //load music and check for error | ||||
| 		tlog1 << "Unable to load music file (" << file <<"). Error: " << Mix_GetError() << std::endl; | ||||
| 	 | ||||
| 	return ret; | ||||
| } | ||||
|  | ||||
| int CMusicHandler::PlayMusic(Mix_Music *music, int loops) | ||||
| { | ||||
| 	int ret = Mix_PlayMusic(music, loops); | ||||
| 	if(ret == -1) | ||||
| 		tlog1 << "Unable to play music (" << Mix_GetError() << ")" << std::endl; | ||||
|  | ||||
| 	return ret; | ||||
| } | ||||
| @@ -77,6 +77,8 @@ private: | ||||
| 	Mix_Music *nextMusic; | ||||
| 	int nextMusicLoop; | ||||
|  | ||||
| 	Mix_Music * LoadMUS(const char *file); //calls Mix_LoadMUS and checks for errors | ||||
| 	int PlayMusic(Mix_Music *music, int loops); //calls Mix_PlayMusic and checks for errors | ||||
| public: | ||||
| 	CMusicHandler(); | ||||
|  | ||||
|   | ||||
| @@ -45,13 +45,13 @@ static std::set<si32> convertBuildings(const std::set<si32> h3m, int castleID) | ||||
| 				else | ||||
| 					ret.insert(19); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 			//else | ||||
| 			//{ | ||||
| 				if(((castleID==1) || (castleID==3)) && ((level==3) || (level==5))) | ||||
| 					ret.insert(24); | ||||
| 				else | ||||
| 					ret.insert(18); | ||||
| 			} | ||||
| 			//} | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| @@ -746,7 +746,7 @@ void Mapa::loadTown( CGObjectInstance * &nobj, unsigned char * bufor, int &i ) | ||||
| 	if(readChar(bufor,i))//true if garrison isn't empty | ||||
| 		nt->army = readCreatureSet(bufor,i,7,(version>RoE)); | ||||
| 	nt->army.formation = bufor[i]; ++i; | ||||
| 	if(readChar(bufor,i)) //unusualBuildings | ||||
| 	if(readChar(bufor,i)) //custom buildings info | ||||
| 	{ | ||||
| 		//built buildings | ||||
| 		for(int byte=0;byte<6;byte++) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user