- client connected menu now uses same rendering as custom game menu for map preview (resulting in better fps there)
This commit is contained in:
parent
8c39a1b725
commit
05a61ec619
|
@ -73,6 +73,7 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
|
||||||
lastCheckedCRCTechtreeValue = -1;
|
lastCheckedCRCTechtreeValue = -1;
|
||||||
lastCheckedCRCMapValue = -1;
|
lastCheckedCRCMapValue = -1;
|
||||||
|
|
||||||
|
mapPreviewTexture=NULL;
|
||||||
currentFactionLogo = "";
|
currentFactionLogo = "";
|
||||||
factionTexture=NULL;
|
factionTexture=NULL;
|
||||||
lastMissingMap="";
|
lastMissingMap="";
|
||||||
|
@ -477,6 +478,8 @@ MenuStateConnectedGame::~MenuStateConnectedGame() {
|
||||||
ftpClientThread = NULL;
|
ftpClientThread = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cleanupMapPreviewTexture();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuStateConnectedGame::mouseClick(int x, int y, MouseButton mouseButton){
|
void MenuStateConnectedGame::mouseClick(int x, int y, MouseButton mouseButton){
|
||||||
|
@ -796,6 +799,10 @@ void MenuStateConnectedGame::render() {
|
||||||
//renderer.renderTextureQuad(60+575+80,365,200,225,factionTexture,1);
|
//renderer.renderTextureQuad(60+575+80,365,200,225,factionTexture,1);
|
||||||
renderer.renderTextureQuad(800,600,200,150,factionTexture,1);
|
renderer.renderTextureQuad(800,600,200,150,factionTexture,1);
|
||||||
}
|
}
|
||||||
|
if(mapPreviewTexture != NULL) {
|
||||||
|
renderer.renderTextureQuad(5,185,150,150,mapPreviewTexture,1.0f);
|
||||||
|
//printf("=================> Rendering map preview texture\n");
|
||||||
|
}
|
||||||
|
|
||||||
renderer.renderButton(&buttonDisconnect);
|
renderer.renderButton(&buttonDisconnect);
|
||||||
|
|
||||||
|
@ -951,9 +958,11 @@ void MenuStateConnectedGame::render() {
|
||||||
int mouseY = mainMenu->getMouseY();
|
int mouseY = mainMenu->getMouseY();
|
||||||
int mouse2dAnim = mainMenu->getMouse2dAnim();
|
int mouse2dAnim = mainMenu->getMouse2dAnim();
|
||||||
|
|
||||||
renderer.renderMouse2d(mouseX, mouseY, mouse2dAnim);
|
if(mapPreviewTexture == NULL) {
|
||||||
bool renderAll = (listBoxFogOfWar.getSelectedItemIndex() == 2);
|
renderer.renderMouse2d(mouseX, mouseY, mouse2dAnim);
|
||||||
renderer.renderMapPreview(&mapPreview, renderAll, 10, 350);
|
bool renderAll = (listBoxFogOfWar.getSelectedItemIndex() == 2);
|
||||||
|
renderer.renderMapPreview(&mapPreview, renderAll, 10, 350, &mapPreviewTexture);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
renderer.renderChatManager(&chatManager);
|
renderer.renderChatManager(&chatManager);
|
||||||
renderer.renderConsole(&console,showFullConsole,true);
|
renderer.renderConsole(&console,showFullConsole,true);
|
||||||
|
@ -2090,12 +2099,16 @@ bool MenuStateConnectedGame::loadMapInfo(string file, MapInfo *mapInfo, bool loa
|
||||||
// Not painting properly so this is on hold
|
// Not painting properly so this is on hold
|
||||||
if(loadMapPreview == true) {
|
if(loadMapPreview == true) {
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
mapPreview.loadFromFile(file.c_str());
|
if(mapPreview.getMapFileLoaded() != file) {
|
||||||
|
mapPreview.loadFromFile(file.c_str());
|
||||||
|
cleanupMapPreviewTexture();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mapLoaded = true;
|
mapLoaded = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
cleanupMapPreviewTexture();
|
||||||
mapInfo->desc = ITEM_MISSING;
|
mapInfo->desc = ITEM_MISSING;
|
||||||
|
|
||||||
NetworkManager &networkManager= NetworkManager::getInstance();
|
NetworkManager &networkManager= NetworkManager::getInstance();
|
||||||
|
@ -2180,6 +2193,23 @@ int32 MenuStateConnectedGame::getNetworkPlayerStatus() {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MenuStateConnectedGame::cleanupMapPreviewTexture() {
|
||||||
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
|
//printf("CLEANUP map preview texture\n");
|
||||||
|
|
||||||
|
if(mapPreviewTexture != NULL) {
|
||||||
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
||||||
|
mapPreviewTexture->end();
|
||||||
|
|
||||||
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
delete mapPreviewTexture;
|
||||||
|
mapPreviewTexture = NULL;
|
||||||
|
}
|
||||||
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
}
|
||||||
|
|
||||||
void MenuStateConnectedGame::FTPClient_CallbackEvent(string itemName,
|
void MenuStateConnectedGame::FTPClient_CallbackEvent(string itemName,
|
||||||
FTP_Client_CallbackType type, pair<FTP_Client_ResultType,string> result, void *userdata) {
|
FTP_Client_CallbackType type, pair<FTP_Client_ResultType,string> result, void *userdata) {
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||||
|
|
|
@ -98,6 +98,7 @@ private:
|
||||||
GraphicLabel labelDataSynchInfo;
|
GraphicLabel labelDataSynchInfo;
|
||||||
|
|
||||||
MapInfo mapInfo;
|
MapInfo mapInfo;
|
||||||
|
Texture2D *mapPreviewTexture;
|
||||||
|
|
||||||
bool needToSetChangedGameSettings;
|
bool needToSetChangedGameSettings;
|
||||||
time_t lastSetChangedGameSettings;
|
time_t lastSetChangedGameSettings;
|
||||||
|
@ -200,6 +201,7 @@ private:
|
||||||
FTP_Client_CallbackType type, pair<FTP_Client_ResultType,string> result,void *userdata);
|
FTP_Client_CallbackType type, pair<FTP_Client_ResultType,string> result,void *userdata);
|
||||||
|
|
||||||
int32 getNetworkPlayerStatus();
|
int32 getNetworkPlayerStatus();
|
||||||
|
void cleanupMapPreviewTexture();
|
||||||
};
|
};
|
||||||
|
|
||||||
}}//end namespace
|
}}//end namespace
|
||||||
|
|
|
@ -1391,9 +1391,9 @@ void MenuStateCustomGame::render() {
|
||||||
int mouse2dAnim = mainMenu->getMouse2dAnim();
|
int mouse2dAnim = mainMenu->getMouse2dAnim();
|
||||||
|
|
||||||
renderer.renderMouse2d(mouseX, mouseY, mouse2dAnim);
|
renderer.renderMouse2d(mouseX, mouseY, mouse2dAnim);
|
||||||
bool renderAll = (listBoxFogOfWar.getSelectedItemIndex() == 2);
|
|
||||||
|
|
||||||
if(mapPreviewTexture == NULL) {
|
if(mapPreviewTexture == NULL) {
|
||||||
|
bool renderAll = (listBoxFogOfWar.getSelectedItemIndex() == 2);
|
||||||
//printf("=================> Rendering map preview into a texture BEFORE (%p)\n", mapPreviewTexture);
|
//printf("=================> Rendering map preview into a texture BEFORE (%p)\n", mapPreviewTexture);
|
||||||
renderer.renderMapPreview(&mapPreview, renderAll, 10, 350,&mapPreviewTexture);
|
renderer.renderMapPreview(&mapPreview, renderAll, 10, 350,&mapPreviewTexture);
|
||||||
//printf("=================> Rendering map preview into a texture AFTER (%p)\n", mapPreviewTexture);
|
//printf("=================> Rendering map preview into a texture AFTER (%p)\n", mapPreviewTexture);
|
||||||
|
|
|
@ -124,6 +124,7 @@ private:
|
||||||
int refAlt;
|
int refAlt;
|
||||||
|
|
||||||
bool fileLoaded;
|
bool fileLoaded;
|
||||||
|
string mapFileLoaded;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MapPreview();
|
MapPreview();
|
||||||
|
@ -186,6 +187,7 @@ public:
|
||||||
void applyNewHeight(float newHeight, int x, int y, int strenght);
|
void applyNewHeight(float newHeight, int x, int y, int strenght);
|
||||||
|
|
||||||
bool hasFileLoaded() const {return fileLoaded;}
|
bool hasFileLoaded() const {return fileLoaded;}
|
||||||
|
string getMapFileLoaded() const { return mapFileLoaded; }
|
||||||
};
|
};
|
||||||
|
|
||||||
}}// end namespace
|
}}// end namespace
|
||||||
|
|
|
@ -28,6 +28,7 @@ namespace Shared { namespace Map {
|
||||||
// ================== PUBLIC =====================
|
// ================== PUBLIC =====================
|
||||||
|
|
||||||
MapPreview::MapPreview() {
|
MapPreview::MapPreview() {
|
||||||
|
mapFileLoaded = "";
|
||||||
fileLoaded = false;
|
fileLoaded = false;
|
||||||
heightFactor = DEFAULT_MAP_CELL_HEIGHT_FACTOR;
|
heightFactor = DEFAULT_MAP_CELL_HEIGHT_FACTOR;
|
||||||
waterLevel = DEFAULT_MAP_WATER_DEPTH;
|
waterLevel = DEFAULT_MAP_WATER_DEPTH;
|
||||||
|
@ -741,6 +742,7 @@ void MapPreview::loadFromFile(const string &path) {
|
||||||
fclose(f1);
|
fclose(f1);
|
||||||
|
|
||||||
fileLoaded = true;
|
fileLoaded = true;
|
||||||
|
mapFileLoaded = path;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
throw runtime_error("error opening map file: " + path);
|
throw runtime_error("error opening map file: " + path);
|
||||||
|
|
Loading…
Reference in New Issue