changeset 4153:deaf630763d3 draft

(svn r5519) Fix: Only list helicopters in the new build window of helidepots and helistations.Suggested by peter1138 & Tron. Demanded under threat of removal by Tron; no thanks given. Last commit from here. Got better things to do with life.
author richk <richk@openttd.org>
date Wed, 19 Jul 2006 19:20:04 +0000
parents 565a1064b1bf
children c8c171a12015
files aircraft_gui.c
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/aircraft_gui.c
+++ b/aircraft_gui.c
@@ -20,6 +20,7 @@
 #include "viewport.h"
 #include "player.h"
 #include "depot.h"
+#include "airport.h"
 #include "vehicle_gui.h"
 #include "newgrf_engine.h"
 
@@ -117,10 +118,13 @@
 			int count = 0;
 			int num = NUM_AIRCRAFT_ENGINES;
 			const Engine* e = GetEngine(AIRCRAFT_ENGINES_INDEX);
+			EngineID engine_id = AIRCRAFT_ENGINES_INDEX;
 
 			do {
-				if (HASBIT(e->player_avail, _local_player)) count++;
-			} while (++e,--num);
+				if (HASBIT(e->player_avail, _local_player) &&
+					!( (GetAirport(GetStationByTile(w->window_number)->airport_type)->acc_planes == HELICOPTERS_ONLY) &&
+					   (AircraftVehInfo(engine_id)->subtype & AIR_CTOL) ) ) count++;
+			} while (++engine_id, ++e,--num);
 			SetVScrollCount(w, count);
 		}
 
@@ -137,7 +141,9 @@
 			EngineID selected_id = INVALID_ENGINE;
 
 			do {
-				if (HASBIT(e->player_avail, _local_player)) {
+				if (HASBIT(e->player_avail, _local_player) &&
+					!( (GetAirport(GetStationByTile(w->window_number)->airport_type)->acc_planes == HELICOPTERS_ONLY) &&
+					   (AircraftVehInfo(engine_id)->subtype & AIR_CTOL) ) ) {
 					if (sel==0) selected_id = engine_id;
 					if (IS_INT_INSIDE(--pos, -w->vscroll.cap, 0)) {
 						DrawString(x+62, y+7, GetCustomEngineName(engine_id), sel==0 ? 0xC : 0x10);