src/build_vehicle_gui.cpp
changeset 7246 9ac33793ac75
parent 7059 c6d12e3de0dc
child 7251 6c9c673182e9
equal deleted inserted replaced
7245:955a791447fd 7246:9ac33793ac75
  1053 
  1053 
  1054 void ShowBuildVehicleWindow(TileIndex tile, VehicleType type)
  1054 void ShowBuildVehicleWindow(TileIndex tile, VehicleType type)
  1055 {
  1055 {
  1056 	buildvehicle_d *bv;
  1056 	buildvehicle_d *bv;
  1057 	Window *w;
  1057 	Window *w;
       
  1058 	/* We want to be able to open both Available Train as Available Ships,
       
  1059 	 *  so if tile == 0 (Available XXX Window), use 'type' as unique number.
       
  1060 	 *  As it always is a low value, it won't collide with any real tile
       
  1061 	 *  number. */
       
  1062 	uint num = (tile == 0) ? (int)type : tile;
  1058 
  1063 
  1059 	assert(IsPlayerBuildableVehicleType(type));
  1064 	assert(IsPlayerBuildableVehicleType(type));
  1060 
  1065 
  1061 	DeleteWindowById(WC_BUILD_VEHICLE, tile);
  1066 	DeleteWindowById(WC_BUILD_VEHICLE, num);
  1062 
  1067 
  1063 	w = AllocateWindowDescFront(&_build_vehicle_desc, tile);
  1068 	w = AllocateWindowDescFront(&_build_vehicle_desc, num);
  1064 
  1069 
  1065 	if (w == NULL) return;
  1070 	if (w == NULL) return;
  1066 
  1071 
  1067 	w->caption_color = (tile != 0) ? GetTileOwner(tile) : _local_player;
  1072 	w->caption_color = (tile != 0) ? GetTileOwner(tile) : _local_player;
  1068 	w->resize.step_height = GetVehicleListHeight(type);
  1073 	w->resize.step_height = GetVehicleListHeight(type);