- mod center now gets glest version passed into it and filters out incompatible game data

This commit is contained in:
Mark Vejvoda 2012-10-16 05:27:51 +00:00
parent 67242d1b44
commit 152a9328b4
7 changed files with 151 additions and 28 deletions

View File

@ -868,12 +868,13 @@ void MenuStateConnectedGame::simpleTask(BaseThread *callingThread) {
if(config.getString("Masterserver","") != "") {
string baseURL = config.getString("Masterserver");
string phpVersionParam = config.getString("phpVersionParam","?version=0.1");
string gameVersion = "&glestVersion=" + SystemFlags::escapeURL(glestVersionString);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line %d] About to call first http url, base [%s]..\n",__FILE__,__FUNCTION__,__LINE__,baseURL.c_str());
CURL *handle = SystemFlags::initHTTP();
CURLcode curlResult = CURLE_OK;
techsMetaData = SystemFlags::getHTTP(baseURL + "showTechsForGlest.php"+phpVersionParam,handle,-1,&curlResult);
techsMetaData = SystemFlags::getHTTP(baseURL + "showTechsForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("techsMetaData [%s] curlResult = %d\n",techsMetaData.c_str(),curlResult);
if(callingThread->getQuitStatus() == true || safeMutexThreadOwner.isValidMutex() == false) {
@ -892,7 +893,7 @@ void MenuStateConnectedGame::simpleTask(BaseThread *callingThread) {
(curlResult != CURLE_COULDNT_RESOLVE_HOST &&
curlResult != CURLE_COULDNT_CONNECT)) {
tilesetsMetaData = SystemFlags::getHTTP(baseURL + "showTilesetsForGlest.php"+phpVersionParam,handle,-1,&curlResult);
tilesetsMetaData = SystemFlags::getHTTP(baseURL + "showTilesetsForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("tilesetsMetaData [%s]\n",tilesetsMetaData.c_str());
if(callingThread->getQuitStatus() == true || safeMutexThreadOwner.isValidMutex() == false) {
@ -907,7 +908,7 @@ void MenuStateConnectedGame::simpleTask(BaseThread *callingThread) {
console.addLine(string("#2 ") + szBuf,true);
}
mapsMetaData = SystemFlags::getHTTP(baseURL + "showMapsForGlest.php"+phpVersionParam,handle,-1,&curlResult);
mapsMetaData = SystemFlags::getHTTP(baseURL + "showMapsForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("mapsMetaData [%s]\n",mapsMetaData.c_str());
if(callingThread->getQuitStatus() == true || safeMutexThreadOwner.isValidMutex() == false) {
@ -922,7 +923,7 @@ void MenuStateConnectedGame::simpleTask(BaseThread *callingThread) {
console.addLine(string("#3 ") + szBuf,true);
}
scenariosMetaData = SystemFlags::getHTTP(baseURL + "showScenariosForGlest.php"+phpVersionParam,handle,-1,&curlResult);
scenariosMetaData = SystemFlags::getHTTP(baseURL + "showScenariosForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("scenariosMetaData [%s]\n",scenariosMetaData.c_str());
if(curlResult != CURLE_OK) {
@ -2182,6 +2183,8 @@ void MenuStateConnectedGame::render() {
renderer.renderMessageBox(&mainMessageBox);
}
renderer.renderButton(&buttonDisconnect);
if (initialSettingsReceivedFromServer == false) {
return;
}

View File

@ -1879,6 +1879,8 @@ void MenuStateCustomGame::render() {
if(mainMessageBox.getEnabled()) {
renderer.renderMessageBox(&mainMessageBox);
renderer.renderButton(&buttonReturn);
}
else {
if(mapPreviewTexture != NULL) {

View File

@ -412,12 +412,13 @@ void MenuStateMods::simpleTask(BaseThread *callingThread) {
if(config.getString("Masterserver","") != "") {
string baseURL = config.getString("Masterserver");
string phpVersionParam = config.getString("phpVersionParam","?version=0.1");
string gameVersion = "&glestVersion=" + SystemFlags::escapeURL(glestVersionString);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("In [%s::%s Line %d] About to call first http url, base [%s]..\n",__FILE__,__FUNCTION__,__LINE__,baseURL.c_str());
CURL *handle = SystemFlags::initHTTP();
CURLcode curlResult = CURLE_OK;
techsMetaData = SystemFlags::getHTTP(baseURL + "showTechsForGlest.php"+phpVersionParam,handle,-1,&curlResult);
techsMetaData = SystemFlags::getHTTP(baseURL + "showTechsForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("techsMetaData [%s] curlResult = %d\n",techsMetaData.c_str(),curlResult);
if(callingThread->getQuitStatus() == true || safeMutexThreadOwner.isValidMutex() == false) {
@ -436,7 +437,7 @@ void MenuStateMods::simpleTask(BaseThread *callingThread) {
(curlResult != CURLE_COULDNT_RESOLVE_HOST &&
curlResult != CURLE_COULDNT_CONNECT)) {
tilesetsMetaData = SystemFlags::getHTTP(baseURL + "showTilesetsForGlest.php"+phpVersionParam,handle,-1,&curlResult);
tilesetsMetaData = SystemFlags::getHTTP(baseURL + "showTilesetsForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("tilesetsMetaData [%s]\n",tilesetsMetaData.c_str());
if(callingThread->getQuitStatus() == true || safeMutexThreadOwner.isValidMutex() == false) {
@ -451,7 +452,7 @@ void MenuStateMods::simpleTask(BaseThread *callingThread) {
console.addLine(string("#2 ") + szBuf,true);
}
mapsMetaData = SystemFlags::getHTTP(baseURL + "showMapsForGlest.php"+phpVersionParam,handle,-1,&curlResult);
mapsMetaData = SystemFlags::getHTTP(baseURL + "showMapsForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("mapsMetaData [%s]\n",mapsMetaData.c_str());
if(callingThread->getQuitStatus() == true || safeMutexThreadOwner.isValidMutex() == false) {
@ -466,7 +467,7 @@ void MenuStateMods::simpleTask(BaseThread *callingThread) {
console.addLine(string("#3 ") + szBuf,true);
}
scenariosMetaData = SystemFlags::getHTTP(baseURL + "showScenariosForGlest.php"+phpVersionParam,handle,-1,&curlResult);
scenariosMetaData = SystemFlags::getHTTP(baseURL + "showScenariosForGlest.php"+phpVersionParam+gameVersion,handle,-1,&curlResult);
if(SystemFlags::VERBOSE_MODE_ENABLED) printf("scenariosMetaData [%s]\n",scenariosMetaData.c_str());
if(curlResult != CURLE_OK) {

View File

@ -9,7 +9,14 @@
define( 'DB_LINK', db_connect() );
$maps_in_db = mysql_db_query( MYSQL_DATABASE, 'SELECT * FROM glestmaps WHERE disabled=0 ORDER BY mapname;' );
if ( isset( $_GET['glestVersion'] ) ) {
$glestVersion = (string) clean_str( $_GET['glestVersion'] );
}
else {
$glestVersion = "";
}
$maps_in_db = mysql_db_query( MYSQL_DATABASE, 'SELECT * FROM glestmaps WHERE disabled=0 ORDER BY mapname;' );
$all_maps = array();
while ( $map = mysql_fetch_array( $maps_in_db ) )
{
@ -24,11 +31,33 @@
header( 'Content-Type: text/plain; charset=utf-8' );
foreach( $all_maps as &$map )
{
$outString =
"${map['mapname']}|${map['playercount']}|${map['crc']}|${map['description']}|${map['url']}|${map['imageUrl']}|";
$outString = $outString . "\n";
$itemVersion = 'v' . "${map['glestversion']}";
$addItem = false;
if($glestVersion == '') {
if (version_compare("v3.6.0.3",$itemVersion,">=")) {
$addItem = true;
}
}
else if (version_compare($glestVersion,$itemVersion,">=")) {
$addItem = true;
}
if($addItem == true) {
$mgversion = $_GET["version"];
if($mgversion == '')
{
$outString =
"${map['mapname']}|${map['playercount']}|${map['crc']}|${map['description']}|${map['url']}|${map['imageUrl']}|";
}
else {
$outString =
"${map['mapname']}|${map['playercount']}|${map['crcnew']}|${map['description']}|${map['url']}|${map['imageUrl']}|";
}
$outString = $outString . "\n";
echo ($outString);
echo ($outString);
}
}
unset( $all_maps );
unset( $map );

View File

@ -9,6 +9,14 @@
define( 'DB_LINK', db_connect() );
if ( isset( $_GET['glestVersion'] ) ) {
$glestVersion = (string) clean_str( $_GET['glestVersion'] );
}
else {
$glestVersion = "";
}
$scenarios_in_db = mysql_db_query( MYSQL_DATABASE, 'SELECT * FROM glestscenarios WHERE disabled=0 ORDER BY scenarioname;' );
$all_scenarios = array();
while ( $scenario = mysql_fetch_array( $scenarios_in_db ) )
@ -24,11 +32,33 @@
header( 'Content-Type: text/plain; charset=utf-8' );
foreach( $all_scenarios as &$scenario )
{
$outString =
"${scenario['scenarioname']}|${scenario['crc']}|${scenario['description']}|${scenario['url']}|${scenario['imageUrl']}|";
$outString = $outString . "\n";
echo ($outString);
$itemVersion = 'v' . "${scenario['glestversion']}";
$addItem = false;
if($glestVersion == '') {
if (version_compare("v3.6.0.3",$itemVersion,">=")) {
$addItem = true;
}
}
else if (version_compare($glestVersion,$itemVersion,">=")) {
$addItem = true;
}
if($addItem == true) {
$mgversion = $_GET["version"];
if($mgversion == '')
{
$outString =
"${scenario['scenarioname']}|${scenario['crc']}|${scenario['description']}|${scenario['url']}|${scenario['imageUrl']}|";
}
else {
$outString =
"${scenario['scenarioname']}|${scenario['crcnew']}|${scenario['description']}|${scenario['url']}|${scenario['imageUrl']}|";
}
$outString = $outString . "\n";
echo ($outString);
}
}
unset( $all_scenarios );
unset( $scenario );

View File

@ -9,6 +9,13 @@
define( 'DB_LINK', db_connect() );
if ( isset( $_GET['glestVersion'] ) ) {
$glestVersion = (string) clean_str( $_GET['glestVersion'] );
}
else {
$glestVersion = "";
}
$techs_in_db = mysql_db_query( MYSQL_DATABASE, 'SELECT * FROM glesttechs WHERE disabled=0 ORDER BY techname;' );
$all_techs = array();
while ( $tech = mysql_fetch_array( $techs_in_db ) )
@ -24,11 +31,33 @@
header( 'Content-Type: text/plain; charset=utf-8' );
foreach( $all_techs as &$tech )
{
$outString =
"${tech['techname']}|${tech['factioncount']}|${tech['crc']}|${tech['description']}|${tech['url']}|${tech['imageUrl']}|";
$outString = $outString . "\n";
echo ($outString);
$itemVersion = 'v' . "${tech['glestversion']}";
$addItem = false;
if($glestVersion == '') {
if (version_compare("v3.6.0.3",$itemVersion,">=")) {
$addItem = true;
}
}
else if (version_compare($glestVersion,$itemVersion,">=")) {
$addItem = true;
}
if($addItem == true) {
$mgversion = $_GET["version"];
if($mgversion == '')
{
$outString =
"${tech['techname']}|${tech['factioncount']}|${tech['crc']}|${tech['description']}|${tech['url']}|${tech['imageUrl']}|";
}
else {
$outString =
"${tech['techname']}|${tech['factioncount']}|${tech['crcnew']}|${tech['description']}|${tech['url']}|${tech['imageUrl']}|";
}
$outString = $outString . "\n";
echo ($outString);
}
}
unset( $all_techs );
unset( $tech );

View File

@ -9,6 +9,13 @@
define( 'DB_LINK', db_connect() );
if ( isset( $_GET['glestVersion'] ) ) {
$glestVersion = (string) clean_str( $_GET['glestVersion'] );
}
else {
$glestVersion = "";
}
$tilesets_in_db = mysql_db_query( MYSQL_DATABASE, 'SELECT * FROM glesttilesets WHERE disabled=0 ORDER BY tilesetname;' );
$all_tilesets = array();
while ( $tileset = mysql_fetch_array( $tilesets_in_db ) )
@ -24,11 +31,33 @@
header( 'Content-Type: text/plain; charset=utf-8' );
foreach( $all_tilesets as &$tileset )
{
$outString =
"${tileset['tilesetname']}|${tileset['crc']}|${tileset['description']}|${tileset['url']}|${tileset['imageUrl']}|";
$outString = $outString . "\n";
echo ($outString);
$itemVersion = 'v' . "${tileset['glestversion']}";
$addItem = false;
if($glestVersion == '') {
if (version_compare("v3.6.0.3",$itemVersion,">=")) {
$addItem = true;
}
}
else if (version_compare($glestVersion,$itemVersion,">=")) {
$addItem = true;
}
if($addItem == true) {
$mgversion = $_GET["version"];
if($mgversion == '')
{
$outString =
"${tileset['tilesetname']}|${tileset['crc']}|${tileset['description']}|${tileset['url']}|${tileset['imageUrl']}|";
}
else {
$outString =
"${tileset['tilesetname']}|${tileset['crcnew']}|${tileset['description']}|${tileset['url']}|${tileset['imageUrl']}|";
}
$outString = $outString . "\n";
echo ($outString);
}
}
unset( $all_tilesets );
unset( $tileset );