Add a "NewGRF Download" button to the server browser that's shown when there are incompatible NewGRFs
authorTero Marttila <terom@fixme.fi>
Fri, 18 Jul 2008 20:03:27 +0300
changeset 11173 78f0d1cee01b
parent 11172 116e540c4325
child 11174 b29402c54ffe
Add a "NewGRF Download" button to the server browser that's shown when there are incompatible NewGRFs
src/lang/english.txt
src/network/network_gui.cpp
--- a/src/lang/english.txt	Fri Jul 18 20:02:37 2008 +0300
+++ b/src/lang/english.txt	Fri Jul 18 20:03:27 2008 +0300
@@ -3144,6 +3144,7 @@
 STR_PERFORMANCE_DETAIL_LOAN_TIP                                 :{BLACK}The amount of money this company has taken on loan
 STR_PERFORMANCE_DETAIL_TOTAL_TIP                                :{BLACK}Total points out of possible points
 
+STR_NEWGRF_DOWNLOAD_BUTTON                                      :{BLACK}NewGRF Download
 STR_NEWGRF_SETTINGS_BUTTON                                      :{BLACK}NewGRF Settings
 STR_NEWGRF_SETTINGS_CAPTION                                     :{WHITE}NewGRF settings
 STR_NEWGRF_APPLY_CHANGES                                        :{BLACK}Apply changes
--- a/src/network/network_gui.cpp	Fri Jul 18 20:02:37 2008 +0300
+++ b/src/network/network_gui.cpp	Fri Jul 18 20:03:27 2008 +0300
@@ -107,6 +107,7 @@
 	NGWW_DETAILS,       ///< Panel with game details
 	NGWW_JOIN,          ///< 'Join game' button
 	NGWW_REFRESH,       ///< 'Refresh server' button
+    NGWW_NEWGRF_DL,     ///< 'NewGRF Download' button
 	NGWW_NEWGRF,        ///< 'NewGRF Settings' button
 
 	NGWW_FIND,          ///< 'Find server' button
@@ -288,6 +289,11 @@
 		this->SetWidgetHiddenState(NGWW_NEWGRF, sel == NULL ||
 				!sel->online ||
 				sel->info.grfconfig == NULL);
+        
+        /* 'NewGRF Download' button invisible if no incompatible NewGRFs are used */
+		this->SetWidgetHiddenState(NGWW_NEWGRF_DL, sel == NULL ||
+				!sel->online ||
+				sel->info.compatible || !sel->info.version_compatible);
 
 		SetDParam(0, 0x00);
 		SetDParam(1, _lan_internet_types_dropdown[_settings_client.network.lan_internet]);
@@ -475,6 +481,10 @@
 			case NGWW_NEWGRF: // NewGRF Settings
 				if (this->server != NULL) ShowNewGRFSettings(false, false, false, &this->server->info.grfconfig);
 				break;
+
+            case NGWW_NEWGRF_DL: // NewGRF Download
+                /* XXX: implement */
+                break;
 		}
 	}
 
@@ -593,6 +603,7 @@
 { WWT_PUSHTXTBTN,   RESIZE_LRTB,   BTC,   215,   315,   215,   226, STR_NETWORK_JOIN_GAME,            STR_NULL},                         // NGWW_JOIN
 { WWT_PUSHTXTBTN,   RESIZE_LRTB,   BTC,   330,   435,   215,   226, STR_NETWORK_REFRESH,              STR_NETWORK_REFRESH_TIP},          // NGWW_REFRESH
 
+{ WWT_PUSHTXTBTN,   RESIZE_LRTB,   BTC,   215,   315,   197,   208, STR_NEWGRF_DOWNLOAD_BUTTON,       STR_NULL},                         // NGWW_NEWGRF_DL
 { WWT_PUSHTXTBTN,   RESIZE_LRTB,   BTC,   330,   435,   197,   208, STR_NEWGRF_SETTINGS_BUTTON,       STR_NULL},                         // NGWW_NEWGRF
 
 /* BOTTOM */