- cache the techname and selected faction when doing a faction preview in lobbies
This commit is contained in:
parent
b1ff035f9e
commit
465ae629ba
|
@ -52,6 +52,9 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
|
|||
switchSetupRequestFlagType |= ssrft_NetworkPlayerName;
|
||||
updateDataSynchDetailText = false;
|
||||
|
||||
currentTechName_factionPreview="";
|
||||
currentFactionName_factionPreview="";
|
||||
|
||||
currentFactionLogo = "";
|
||||
factionTexture=NULL;
|
||||
lastMissingMap="";
|
||||
|
@ -999,13 +1002,20 @@ void MenuStateConnectedGame::update() {
|
|||
if( clientInterface != NULL && clientInterface->isConnected() &&
|
||||
gameSettings != NULL) {
|
||||
|
||||
string factionLogo = Game::findFactionLogoFile(gameSettings, NULL,"preview_screen.*");
|
||||
if(factionLogo == "") {
|
||||
factionLogo = Game::findFactionLogoFile(gameSettings, NULL);
|
||||
}
|
||||
if(currentFactionLogo != factionLogo) {
|
||||
currentFactionLogo = factionLogo;
|
||||
loadFactionTexture(currentFactionLogo);
|
||||
if( currentTechName_factionPreview != gameSettings->getTech() ||
|
||||
currentFactionName_factionPreview != gameSettings->getFactionTypeName(gameSettings->getThisFactionIndex())) {
|
||||
|
||||
currentTechName_factionPreview=gameSettings->getTech();
|
||||
currentFactionName_factionPreview=gameSettings->getFactionTypeName(gameSettings->getThisFactionIndex());
|
||||
|
||||
string factionLogo = Game::findFactionLogoFile(gameSettings, NULL,"preview_screen.*");
|
||||
if(factionLogo == "") {
|
||||
factionLogo = Game::findFactionLogoFile(gameSettings, NULL);
|
||||
}
|
||||
if(currentFactionLogo != factionLogo) {
|
||||
currentFactionLogo = factionLogo;
|
||||
loadFactionTexture(currentFactionLogo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -116,6 +116,9 @@ private:
|
|||
|
||||
bool enableFactionTexturePreview;
|
||||
bool enableMapPreview;
|
||||
|
||||
string currentTechName_factionPreview;
|
||||
string currentFactionName_factionPreview;
|
||||
string currentFactionLogo;
|
||||
Texture2D *factionTexture;
|
||||
|
||||
|
|
|
@ -57,6 +57,8 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
|
|||
generalErrorToShow = "---";
|
||||
currentFactionLogo = "";
|
||||
factionTexture=NULL;
|
||||
currentTechName_factionPreview="";
|
||||
currentFactionName_factionPreview="";
|
||||
|
||||
publishToMasterserverThread = NULL;
|
||||
Lang &lang= Lang::getInstance();
|
||||
|
@ -1554,13 +1556,21 @@ void MenuStateCustomGame::update() {
|
|||
if(chrono.getMillis() > 0) chrono.start();
|
||||
|
||||
if(enableFactionTexturePreview == true) {
|
||||
string factionLogo = Game::findFactionLogoFile(&gameSettings, NULL,"preview_screen.*");
|
||||
if(factionLogo == "") {
|
||||
factionLogo = Game::findFactionLogoFile(&gameSettings, NULL);
|
||||
}
|
||||
if(currentFactionLogo != factionLogo) {
|
||||
currentFactionLogo = factionLogo;
|
||||
loadFactionTexture(currentFactionLogo);
|
||||
|
||||
if( currentTechName_factionPreview != gameSettings.getTech() ||
|
||||
currentFactionName_factionPreview != gameSettings.getFactionTypeName(gameSettings.getThisFactionIndex())) {
|
||||
|
||||
currentTechName_factionPreview=gameSettings.getTech();
|
||||
currentFactionName_factionPreview=gameSettings.getFactionTypeName(gameSettings.getThisFactionIndex());
|
||||
|
||||
string factionLogo = Game::findFactionLogoFile(&gameSettings, NULL,"preview_screen.*");
|
||||
if(factionLogo == "") {
|
||||
factionLogo = Game::findFactionLogoFile(&gameSettings, NULL);
|
||||
}
|
||||
if(currentFactionLogo != factionLogo) {
|
||||
currentFactionLogo = factionLogo;
|
||||
loadFactionTexture(currentFactionLogo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -125,6 +125,9 @@ private:
|
|||
|
||||
bool enableFactionTexturePreview;
|
||||
bool enableMapPreview;
|
||||
|
||||
string currentTechName_factionPreview;
|
||||
string currentFactionName_factionPreview;
|
||||
string currentFactionLogo;
|
||||
Texture2D *factionTexture;
|
||||
|
||||
|
|
Loading…
Reference in New Issue