File diff r26089:2283e9229bb0 → r26090:5a592dbf1c28
src/group_cmd.cpp
Show inline comments
 
@@ -353,18 +353,18 @@ CommandCost CmdCreateGroup(TileIndex til
 
CommandCost CmdDeleteGroup(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const std::string &text)
 
{
 
	Group *g = Group::GetIfValid(p1);
 
	if (g == nullptr || g->owner != _current_company) return CMD_ERROR;
 

	
 
	/* Remove all vehicles from the group */
 
	DoCommand(0, p1, 0, flags, CMD_REMOVE_ALL_VEHICLES_GROUP);
 
	DoCommand(flags, CMD_REMOVE_ALL_VEHICLES_GROUP, 0, p1, 0);
 

	
 
	/* Delete sub-groups */
 
	for (const Group *gp : Group::Iterate()) {
 
		if (gp->parent == g->index) {
 
			DoCommand(0, gp->index, 0, flags, CMD_DELETE_GROUP);
 
			DoCommand(flags, CMD_DELETE_GROUP, 0, gp->index, 0);
 
		}
 
	}
 

	
 
	if (flags & DC_EXEC) {
 
		/* Update backupped orders if needed */
 
		OrderBackup::ClearGroup(g->index);
 
@@ -577,13 +577,13 @@ CommandCost CmdAddSharedVehicleGroup(Til
 
		for (const Vehicle *v : Vehicle::Iterate()) {
 
			if (v->type == type && v->IsPrimaryVehicle()) {
 
				if (v->group_id != id_g) continue;
 

	
 
				/* For each shared vehicles add it to the group */
 
				for (Vehicle *v2 = v->FirstShared(); v2 != nullptr; v2 = v2->NextShared()) {
 
					if (v2->group_id != id_g) DoCommand(tile, id_g, v2->index, flags, CMD_ADD_VEHICLE_GROUP, text);
 
					if (v2->group_id != id_g) DoCommand(flags, CMD_ADD_VEHICLE_GROUP, tile, id_g, v2->index, text);
 
				}
 
			}
 
		}
 

	
 
		InvalidateWindowData(GetWindowClassForVehicleType(type), VehicleListIdentifier(VL_GROUP_LIST, type, _current_company).Pack());
 
	}
 
@@ -613,13 +613,13 @@ CommandCost CmdRemoveAllVehiclesGroup(Ti
 
		/* Find each Vehicle that belongs to the group old_g and add it to the default group */
 
		for (const Vehicle *v : Vehicle::Iterate()) {
 
			if (v->IsPrimaryVehicle()) {
 
				if (v->group_id != old_g) continue;
 

	
 
				/* Add The Vehicle to the default group */
 
				DoCommand(tile, DEFAULT_GROUP, v->index, flags, CMD_ADD_VEHICLE_GROUP, text);
 
				DoCommand(flags, CMD_ADD_VEHICLE_GROUP, tile, DEFAULT_GROUP, v->index, text);
 
			}
 
		}
 

	
 
		InvalidateWindowData(GetWindowClassForVehicleType(g->vehicle_type), VehicleListIdentifier(VL_GROUP_LIST, g->vehicle_type, _current_company).Pack());
 
	}