File diff r4455:83c9c284a590 → r4456:1e356a1bef6a
vehicle_gui.c
Show inline comments
 
@@ -1202,11 +1202,6 @@ void ChangeVehicleViewWindow(const Vehic
 
	}
 
}
 

	
 
extern const Widget _player_ships_widgets[];
 
extern const Widget _player_aircraft_widgets[];
 
extern const Widget _player_roadveh_widgets[];
 
extern const Widget _player_trains_widgets[];
 

	
 
/*
 
 * bitmask for w->window_number
 
 * 0-7 PlayerID (owner)
 
@@ -1247,13 +1242,7 @@ void PlayerVehWndProc(Window *w, WindowE
 
					if (vl->list_length == 0) {
 
						/* The list is empty, so the last vehicle is sold or crashed */
 
						/* Delete the window because the order is now not in use anymore */
 
						switch (vehicle_type) {
 
							case VEH_Train:    DeleteWindowById(WC_TRAINS_LIST,   w->window_number); break;
 
							case VEH_Road:     DeleteWindowById(WC_ROADVEH_LIST,  w->window_number); break;
 
							case VEH_Ship:     DeleteWindowById(WC_SHIPS_LIST,    w->window_number); break;
 
							case VEH_Aircraft: DeleteWindowById(WC_AIRCRAFT_LIST, w->window_number); break;
 
							default: NOT_REACHED(); break;
 
						}
 
						DeleteWindow(w);
 
						return;
 
					}
 
					SetDParam(0, w->vscroll.count);
 
@@ -1403,48 +1392,36 @@ void PlayerVehWndProc(Window *w, WindowE
 
					}
 
				} break;
 

	
 
				case 9: { /* Build new Vehicle */
 
					const uint16 window_type = w->window_number & VLW_FLAGS;
 

	
 
					if (window_type == VLW_SHARED_ORDERS) {
 
						const Vehicle *v;
 
						assert(vl->list_length != 0);
 
						v = vl->sort_list[0];
 
						DoCommandP(v->tile, v->index, _ctrl_pressed ? 3 : 2, NULL, CMD_SEND_TO_DEPOT(vehicle_type));
 
						break;
 
					}
 
				case 9: /* Left button */
 
					if (GB(w->window_number, 0, 8) /* OwnerID */ != _local_player) break;
 

	
 
					switch (vehicle_type) {
 
						case VEH_Train:
 
							assert(IsWindowOfPrototype(w, _player_trains_widgets));
 
							ShowBuildTrainWindow(0);
 
							break;
 
						case VEH_Road:
 
							assert(IsWindowOfPrototype(w, _player_roadveh_widgets));
 
							ShowBuildRoadVehWindow(0);
 
					switch (w->window_number & VLW_FLAGS) {
 
						case VLW_SHARED_ORDERS: {
 
							/* Send to depot */
 
							const Vehicle *v;
 
							assert(vl->list_length != 0);
 
							v = vl->sort_list[0];
 
							DoCommandP(v->tile, v->index, _ctrl_pressed ? 3 : 2, NULL, CMD_SEND_TO_DEPOT(vehicle_type));
 
							break;
 
						case VEH_Ship:
 
							assert(IsWindowOfPrototype(w, _player_ships_widgets));
 
							ShowBuildShipWindow(0);
 
							break;
 
						case VEH_Aircraft:
 
							assert(IsWindowOfPrototype(w, _player_aircraft_widgets));
 
							ShowBuildAircraftWindow(0);
 
							break;
 
						}
 
						case VLW_STANDARD:
 
						case VLW_STATION_LIST:
 
							/* Build new Vehicle */
 
							switch (vehicle_type) {
 
								case VEH_Train:	   ShowBuildTrainWindow(0);    break;
 
								case VEH_Road:     ShowBuildRoadVehWindow(0);  break;
 
								case VEH_Ship:     ShowBuildShipWindow(0);     break;
 
								case VEH_Aircraft: ShowBuildAircraftWindow(0); break;
 
								default: NOT_REACHED(); break;
 
							}
 
						break;
 
						default: NOT_REACHED(); break;
 
					}
 
					break;
 
				}
 

	
 
				case 10: {
 
					if (vehicle_type == VEH_Train    && !IsWindowOfPrototype(w, _player_trains_widgets))   break;
 
					if (vehicle_type == VEH_Road     && !IsWindowOfPrototype(w, _player_roadveh_widgets))  break;
 
					if (vehicle_type == VEH_Ship     && !IsWindowOfPrototype(w, _player_ships_widgets))    break;
 
					if (vehicle_type == VEH_Aircraft && !IsWindowOfPrototype(w, _player_aircraft_widgets)) break;
 

	
 
				case 10: /* Right button */
 
					ShowReplaceVehicleWindow(vehicle_type);
 
					break;
 
				}
 
			}
 
		}	break;