rem: SetSemaphore (&GraphicsSem);
add: SetSemaphore (GraphicsSem);
context: GetArmadaStarShip (void){	RECT pick_r;	CONTEXT OldContext;	HSTARSHIP hBattleShip;		if (HIBYTE (battle_counter) == 0)	{		return (0);	}	//    MenuSounds = CaptureSound (LoadSound (MENU_SOUNDS));OldContext = SetContext (SpaceContext);	DrawArmadaPickShip (FALSE, &pick_r);	{		MENU_STATE MenuState;		MenuState.InputFunc = DoPickBattleShip;		MenuState.Initialized = FALSE;		MenuState.first_item.x = NUM_PICK_SHIP_COLUMNS >> 1;		MenuState.first_item.y = 0;		MenuState.flash_task = 0;		MenuState.CurFrame = 0;		MenuState.flash_rect1.corner = pick_r.corner;		MenuState.flash_rect1.extent.width = 0;		ClearSemaphore (&GraphicsSem);		pMenuState = &MenuState;		DoInput ((PVOID)&MenuState);		pMenuState = 0;		SetSemaphore (&GraphicsSem);		SetFlashRect (NULL_PTR, (FRAME)0);		hBattleShip = (HSTARSHIP)MenuState.CurFrame;	}	if (hBattleShip)	{		if (hBattleShip == GetTailLink (&race_q[0]))			battle_counter = MAKE_WORD (1, HIBYTE (battle_counter));		while (ChannelPlaying (0))			;	}//    DestroySound (ReleaseSound (MenuSounds));	SetContext (OldContext);	return (hBattleShip);}