equal
deleted
inserted
replaced
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); |