All pastes #898787 Raw Edit

Someone

public text v1 · immutable
·published 2008-02-10 16:42 UTC
rendered paste body
/**
 * @brief Removes a mission from mission global array.
 * @note also update selectedMission Pointer if needed
 */
static void CP_MissionRemove (mission_t *mission)
{
	linkedList_t *list = ccs.missions;
	mission_t *removedMission = NULL;

	/* Destroy UFO */
	if (mission->ufo)
		UFO_RemoveUfoFromGeoscape(mission->ufo);

	while (list) {
		removedMission = (mission_t *)list->data;
		if (removedMission == mission) {
			break;
		}
		list = list->next;
	}

	/* maybe selectedMission used on geoscape to know which ground mission is select has changed */
	if (removedMission > selectedMission)
		selectedMission -= SIZE_OF_MISSION_IN_LINKED_LIST;

	if (removedMission)
		LIST_Remove(&ccs.missions, list);
}