rem: DoInput ((PVOID)&MenuState);
add: DoInput ((PVOID)&MenuState, TRUE);
context: Roster (void){	COUNT num_support_ships;	num_support_ships = CountLinks (&GLOBAL (built_ship_q));	if (num_support_ships)	{		SIZE i, j, k, l;		POINT modified_ship_pos[MAX_COMBAT_SHIPS];		POINT ship_pos[MAX_COMBAT_SHIPS] =		{			SUPPORT_SHIP_PTS		};		MENU_STATE MenuState;		PMENU_STATE pOldMenuState;		pOldMenuState = pMenuState;		pMenuState = &MenuState;		j = 0;		k = (num_support_ships + 1) >> 1;		for (i = 0; (int)i < (int)num_support_ships; i += 2)		{			modified_ship_pos[j++] = ship_pos[i];			modified_ship_pos[k++] = ship_pos[i + 1];		}		k = (num_support_ships + 1) >> 1;		for (i = 0; i < k; ++i)		{			for (j = k - 1; j > i; --j)			{				if (modified_ship_pos[i].y > modified_ship_pos[j].y)				{					POINT temp;					temp = modified_ship_pos[i];					modified_ship_pos[i] = modified_ship_pos[j];					modified_ship_pos[j] = temp;				}			}		}		l = k;		k = num_support_ships >> 1;		for (i = 0; i < k; ++i)		{			for (j = k - 1; j > i; --j)			{				if (modified_ship_pos[i + l].y > modified_ship_pos[j + l].y)				{					POINT temp;					temp = modified_ship_pos[i + l];					modified_ship_pos[i + l] = modified_ship_pos[j + l];					modified_ship_pos[j + l] = temp;				}			}		}		MenuState.InputFunc = DoModifyRoster;		MenuState.Initialized = FALSE;		MenuState.CurState = 0;		MenuState.flash_task = 0;		MenuState.delta_item = (SIZE)num_support_ships;				MenuState.flash_frame0 = (FRAME)ship_pos;		MenuState.flash_frame1 = (FRAME)modified_ship_pos;		DoInput ((PVOID)&MenuState);		pMenuState = pOldMenuState;				return (TRUE);	}		return (FALSE);}