hopefully the masterserver listing works now ...
This commit is contained in:
parent
69a7f8f1d6
commit
050a604390
|
@ -19,65 +19,64 @@
|
|||
#include "auto_test.h"
|
||||
#include "masterserver_info.h"
|
||||
|
||||
|
||||
#include "leak_dumper.h"
|
||||
|
||||
|
||||
|
||||
namespace Glest{ namespace Game{
|
||||
namespace Glest {
|
||||
namespace Game {
|
||||
|
||||
// =====================================================
|
||||
// class ServerLine
|
||||
// =====================================================
|
||||
|
||||
ServerLine::ServerLine( MasterServerInfo *mServerInfo, int lineIndex, int baseY, int lineHeight, const char * containerName) {
|
||||
this->containerName = containerName;
|
||||
this->countryTexture = NULL;
|
||||
ServerLine::ServerLine(MasterServerInfo *mServerInfo, int lineIndex, int baseY, int lineHeight,
|
||||
const char * containerName){
|
||||
this->containerName= containerName;
|
||||
this->countryTexture= NULL;
|
||||
Lang &lang= Lang::getInstance();
|
||||
|
||||
this->lineHeight=lineHeight;
|
||||
int lineOffset = lineHeight * lineIndex;
|
||||
masterServerInfo = *mServerInfo;
|
||||
int i=10;
|
||||
this->baseY=baseY;
|
||||
this->lineHeight= lineHeight;
|
||||
int lineOffset= lineHeight * lineIndex;
|
||||
masterServerInfo= *mServerInfo;
|
||||
int i= 10;
|
||||
this->baseY= baseY;
|
||||
|
||||
//general info:
|
||||
i+=10;
|
||||
glestVersionLabel.init(i,baseY-lineOffset);
|
||||
i+= 10;
|
||||
glestVersionLabel.init(i, baseY - lineOffset);
|
||||
glestVersionLabel.setText(masterServerInfo.getGlestVersion());
|
||||
|
||||
i+=80;
|
||||
platformLabel.init(i,baseY-lineOffset);
|
||||
i+= 80;
|
||||
platformLabel.init(i, baseY - lineOffset);
|
||||
platformLabel.setText(masterServerInfo.getPlatform());
|
||||
|
||||
// i+=50;
|
||||
// registeredObjNameList.push_back("binaryCompileDateLabel" + intToStr(lineIndex));
|
||||
// binaryCompileDateLabel.registerGraphicComponent(containerName,"binaryCompileDateLabel" + intToStr(lineIndex));
|
||||
// binaryCompileDateLabel.init(i,baseY-lineOffset);
|
||||
// binaryCompileDateLabel.setText(masterServerInfo.getBinaryCompileDate());
|
||||
// i+=50;
|
||||
// registeredObjNameList.push_back("binaryCompileDateLabel" + intToStr(lineIndex));
|
||||
// binaryCompileDateLabel.registerGraphicComponent(containerName,"binaryCompileDateLabel" + intToStr(lineIndex));
|
||||
// binaryCompileDateLabel.init(i,baseY-lineOffset);
|
||||
// binaryCompileDateLabel.setText(masterServerInfo.getBinaryCompileDate());
|
||||
|
||||
//game info:
|
||||
i+=80;
|
||||
serverTitleLabel.init(i,baseY-lineOffset);
|
||||
i+= 80;
|
||||
serverTitleLabel.init(i, baseY - lineOffset);
|
||||
serverTitleLabel.setText(masterServerInfo.getServerTitle());
|
||||
|
||||
i+=140;
|
||||
country.init(i,baseY-lineOffset);
|
||||
i+= 140;
|
||||
country.init(i, baseY - lineOffset);
|
||||
country.setText(masterServerInfo.getCountry());
|
||||
|
||||
string data_path = getGameReadWritePath(GameConstants::path_data_CacheLookupKey);
|
||||
string countryLogoPath = data_path + "data/core/misc_textures/flags";
|
||||
string data_path= getGameReadWritePath(GameConstants::path_data_CacheLookupKey);
|
||||
string countryLogoPath= data_path + "data/core/misc_textures/flags";
|
||||
|
||||
Config &config = Config::getInstance();
|
||||
if(config.getString("CountryTexturePath","") != "") {
|
||||
countryLogoPath = config.getString("CountryTexturePath","");
|
||||
Config &config= Config::getInstance();
|
||||
if(config.getString("CountryTexturePath", "") != ""){
|
||||
countryLogoPath= config.getString("CountryTexturePath", "");
|
||||
}
|
||||
|
||||
string logoFile = countryLogoPath + "/" + toLower(masterServerInfo.getCountry()) + ".png";
|
||||
string logoFile= countryLogoPath + "/" + toLower(masterServerInfo.getCountry()) + ".png";
|
||||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] logoFile [%s]\n",__FILE__,__FUNCTION__,__LINE__,logoFile.c_str());
|
||||
|
||||
if(fileExists(logoFile) == true) {
|
||||
countryTexture=GraphicsInterface::getInstance().getFactory()->newTexture2D();
|
||||
if(fileExists(logoFile) == true){
|
||||
countryTexture= GraphicsInterface::getInstance().getFactory()->newTexture2D();
|
||||
//loadingTexture = renderer.newTexture2D(rsGlobal);
|
||||
countryTexture->setMipmap(true);
|
||||
//loadingTexture->getPixmap()->load(filepath);
|
||||
|
@ -86,56 +85,57 @@ ServerLine::ServerLine( MasterServerInfo *mServerInfo, int lineIndex, int baseY,
|
|||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
|
||||
Renderer &renderer= Renderer::getInstance();
|
||||
renderer.initTexture(rsGlobal,countryTexture);
|
||||
renderer.initTexture(rsGlobal, countryTexture);
|
||||
}
|
||||
|
||||
i+=90;
|
||||
// ipAddressLabel.init(i,baseY-lineOffset);
|
||||
// ipAddressLabel.setText(masterServerInfo.getIpAddress());
|
||||
// i+=100;
|
||||
i+= 90;
|
||||
// ipAddressLabel.init(i,baseY-lineOffset);
|
||||
// ipAddressLabel.setText(masterServerInfo.getIpAddress());
|
||||
// i+=100;
|
||||
|
||||
wrongVersionLabel.init(i,baseY-lineOffset);
|
||||
wrongVersionLabel.init(i, baseY - lineOffset);
|
||||
wrongVersionLabel.setText(lang.get("IncompatibleVersion"));
|
||||
|
||||
//game setup info:
|
||||
techLabel.init(i,baseY-lineOffset);
|
||||
techLabel.init(i, baseY - lineOffset);
|
||||
techLabel.setText(masterServerInfo.getTech());
|
||||
|
||||
i+=120;
|
||||
mapLabel.init(i,baseY-lineOffset);
|
||||
i+= 120;
|
||||
mapLabel.init(i, baseY - lineOffset);
|
||||
mapLabel.setText(masterServerInfo.getMap());
|
||||
i+=120;
|
||||
i+= 120;
|
||||
|
||||
// tilesetLabel.init(i,baseY-lineOffset);
|
||||
// tilesetLabel.setText(masterServerInfo.getTileset());
|
||||
// i+=100;
|
||||
// tilesetLabel.init(i,baseY-lineOffset);
|
||||
// tilesetLabel.setText(masterServerInfo.getTileset());
|
||||
// i+=100;
|
||||
|
||||
activeSlotsLabel.init(i,baseY-lineOffset);
|
||||
activeSlotsLabel.setText(intToStr(masterServerInfo.getActiveSlots())+"/"+intToStr(masterServerInfo.getNetworkSlots())+"/"+intToStr(masterServerInfo.getConnectedClients()));
|
||||
activeSlotsLabel.init(i, baseY - lineOffset);
|
||||
activeSlotsLabel.setText(intToStr(masterServerInfo.getActiveSlots()) + "/" + intToStr(
|
||||
masterServerInfo.getNetworkSlots()) + "/" + intToStr(masterServerInfo.getConnectedClients()));
|
||||
|
||||
i+=50;
|
||||
externalConnectPort.init(i,baseY-lineOffset);
|
||||
i+= 50;
|
||||
externalConnectPort.init(i, baseY - lineOffset);
|
||||
externalConnectPort.setText(intToStr(masterServerInfo.getExternalConnectPort()));
|
||||
|
||||
i+=80;
|
||||
status.init(i,baseY-lineOffset);
|
||||
i+= 80;
|
||||
status.init(i, baseY - lineOffset);
|
||||
status.setText(lang.get("MGGameStatus" + intToStr(masterServerInfo.getStatus())));
|
||||
|
||||
i+=130;
|
||||
selectButton.init(i, baseY-lineOffset, 30);
|
||||
i+= 130;
|
||||
selectButton.init(i, baseY - lineOffset, 30);
|
||||
selectButton.setText(">");
|
||||
|
||||
//printf("glestVersionString [%s] masterServerInfo->getGlestVersion() [%s]\n",glestVersionString.c_str(),masterServerInfo->getGlestVersion().c_str());
|
||||
compatible = checkVersionComptability(glestVersionString, masterServerInfo.getGlestVersion());
|
||||
compatible= checkVersionComptability(glestVersionString, masterServerInfo.getGlestVersion());
|
||||
selectButton.setEnabled(compatible);
|
||||
selectButton.setEditable(compatible);
|
||||
|
||||
}
|
||||
|
||||
ServerLine::~ServerLine() {
|
||||
ServerLine::~ServerLine(){
|
||||
//delete masterServerInfo;
|
||||
|
||||
if(countryTexture != NULL) {
|
||||
if(countryTexture != NULL){
|
||||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
|
||||
countryTexture->end();
|
||||
|
@ -144,28 +144,30 @@ ServerLine::~ServerLine() {
|
|||
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
|
||||
//delete loadingTexture;
|
||||
countryTexture=NULL;
|
||||
countryTexture= NULL;
|
||||
}
|
||||
}
|
||||
|
||||
bool ServerLine::buttonMouseClick(int x, int y){
|
||||
return selectButton.mouseClick(x,y);
|
||||
return selectButton.mouseClick(x, y);
|
||||
}
|
||||
|
||||
bool ServerLine::buttonMouseMove(int x, int y){
|
||||
return selectButton.mouseMove(x,y);
|
||||
return selectButton.mouseMove(x, y);
|
||||
}
|
||||
|
||||
void ServerLine::render() {
|
||||
void ServerLine::render(){
|
||||
Renderer &renderer= Renderer::getInstance();
|
||||
|
||||
bool joinEnabled = (masterServerInfo.getNetworkSlots() > masterServerInfo.getConnectedClients());
|
||||
if(joinEnabled == true) {
|
||||
bool joinEnabled= (masterServerInfo.getNetworkSlots() > masterServerInfo.getConnectedClients());
|
||||
if(joinEnabled == true){
|
||||
if(compatible){
|
||||
selectButton.setEnabled(true);
|
||||
selectButton.setVisible(true);
|
||||
renderer.renderButton(&selectButton);
|
||||
}
|
||||
else {
|
||||
}
|
||||
else{
|
||||
selectButton.setEnabled(false);
|
||||
selectButton.setVisible(false);
|
||||
}
|
||||
|
@ -175,21 +177,19 @@ void ServerLine::render() {
|
|||
renderer.renderLabel(&platformLabel);
|
||||
//renderer.renderLabel(&binaryCompileDateLabel);
|
||||
|
||||
|
||||
//game info:
|
||||
renderer.renderLabel(&serverTitleLabel);
|
||||
if(countryTexture != NULL) {
|
||||
renderer.renderTextureQuad(country.getX() + 20,country.getY(),countryTexture->getTextureWidth(),countryTexture->getTextureHeight(),countryTexture,0.7f);
|
||||
if(countryTexture != NULL){
|
||||
renderer.renderTextureQuad(country.getX() + 20, country.getY(), countryTexture->getTextureWidth(),
|
||||
countryTexture->getTextureHeight(), countryTexture, 0.7f);
|
||||
}
|
||||
else {
|
||||
else{
|
||||
renderer.renderLabel(&country);
|
||||
}
|
||||
if (compatible) {
|
||||
renderer.renderLabel(&status);
|
||||
}
|
||||
if(selectButton.getEnabled() == true) {
|
||||
if (compatible) {
|
||||
if(compatible){
|
||||
if(selectButton.getEnabled() == true){
|
||||
//renderer.renderLabel(&ipAddressLabel);
|
||||
|
||||
//game setup info:
|
||||
renderer.renderLabel(&techLabel);
|
||||
renderer.renderLabel(&mapLabel);
|
||||
|
@ -198,14 +198,15 @@ void ServerLine::render() {
|
|||
renderer.renderLabel(&externalConnectPort);
|
||||
renderer.renderLabel(&status);
|
||||
}
|
||||
else {
|
||||
}
|
||||
else{
|
||||
renderer.renderLabel(&wrongVersionLabel);
|
||||
}
|
||||
renderer.renderLabel(&status);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void ServerLine::setY(int y) {
|
||||
void ServerLine::setY(int y){
|
||||
selectButton.setY(y);
|
||||
|
||||
//general info:
|
||||
|
@ -229,4 +230,5 @@ void ServerLine::setY(int y) {
|
|||
|
||||
}
|
||||
|
||||
}}//end namespace
|
||||
}
|
||||
}//end namespace
|
||||
|
|
Loading…
Reference in New Issue
Block a user