src/economy.cpp
changeset 7372 c254cca76042
parent 7353 716c6dd9322a
child 7375 e8639f73a615
equal deleted inserted replaced
7371:b86b05214afe 7372:c254cca76042
   353 			if (v->owner == old_player && IS_BYTE_INSIDE(v->type, VEH_TRAIN, VEH_AIRCRAFT + 1)) {
   353 			if (v->owner == old_player && IS_BYTE_INSIDE(v->type, VEH_TRAIN, VEH_AIRCRAFT + 1)) {
   354 				if (new_player == PLAYER_SPECTATOR) {
   354 				if (new_player == PLAYER_SPECTATOR) {
   355 					DeleteWindowById(WC_VEHICLE_VIEW, v->index);
   355 					DeleteWindowById(WC_VEHICLE_VIEW, v->index);
   356 					DeleteWindowById(WC_VEHICLE_DETAILS, v->index);
   356 					DeleteWindowById(WC_VEHICLE_DETAILS, v->index);
   357 					DeleteWindowById(WC_VEHICLE_ORDERS, v->index);
   357 					DeleteWindowById(WC_VEHICLE_ORDERS, v->index);
   358 					DeleteVehicle(v);
   358 
       
   359 					if (v->IsPrimaryVehicle() || (v->type == VEH_TRAIN && IsFreeWagon(v))) {
       
   360 						switch (v->type) {
       
   361 							default: NOT_REACHED();
       
   362 
       
   363 							case VEH_TRAIN: {
       
   364 								Vehicle *u = v;
       
   365 								do {
       
   366 									Vehicle *next = GetNextVehicle(u);
       
   367 									DeleteVehicle(u);
       
   368 									u = next;
       
   369 								} while (u != NULL);
       
   370 							} break;
       
   371 
       
   372 							case VEH_ROAD:
       
   373 							case VEH_SHIP:
       
   374 								DeleteVehicle(v);
       
   375 								break;
       
   376 
       
   377 							case VEH_AIRCRAFT:
       
   378 								DeleteVehicleChain(v);
       
   379 								break;
       
   380 						}
       
   381 					}
   359 				} else {
   382 				} else {
   360 					v->owner = new_player;
   383 					v->owner = new_player;
   361 					v->group_id = DEFAULT_GROUP;
   384 					v->group_id = DEFAULT_GROUP;
   362 					if (IsEngineCountable(v)) GetPlayer(new_player)->num_engines[v->engine_type]++;
   385 					if (IsEngineCountable(v)) GetPlayer(new_player)->num_engines[v->engine_type]++;
   363 					switch (v->type) {
   386 					switch (v->type) {