add: SetTransitionSource (&DlgRect);
context: PickGame (PMENU_STATE		pMS){	BOOLEAN retval;	CONTEXT OldContext;	SUMMARY_DESC desc_array[MAX_SAVED_GAMES];	RECT DlgRect;	STAMP DlgStamp;	if (pSolarSysState)	{		++pSolarSysState->MenuState.Initialized;		pSolarSysState->PauseRotate = 1;		TaskSwitch ();	}	SetSemaphore (GraphicsSem);	OldContext = SetContext (SpaceContext);	DlgStamp.origin.x = 0;	DlgStamp.origin.y = 0;	DlgRect.corner.x = SIS_ORG_X;	DlgRect.corner.y = SIS_ORG_Y;	DlgRect.extent.width = SIS_SCREEN_WIDTH;	DlgRect.extent.height = SIS_SCREEN_HEIGHT;	DlgStamp.frame = CaptureDrawable (LoadDisplayPixmap (			&DlgRect, (FRAME)0)			);	pMS->Initialized = FALSE;	pMS->InputFunc = DoPickGame;	pMS->CurString = (STRING)&desc_array[0];	ClearSemaphore (GraphicsSem);	DoInput (pMS);	SetSemaphore (GraphicsSem);	pMS->Initialized = -1;	pMS->InputFunc = DoGameOptions;	retval = TRUE;	if (GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD))	{		if (pMS->CurState == SAVE_GAME)			GLOBAL (CurrentActivity) &= ~CHECK_LOAD;		retval = FALSE;	}	if (!(GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD)))	{		if (CommData.ConversationPhrases				|| !(pSolarSysState				&& pSolarSysState->MenuState.Initialized < 3))		{			BatchGraphics ();			DrawStamp(&DlgStamp);			ScreenTransition (3, &DlgRect);			UnbatchGraphics ();		}		if (pSolarSysState)		{			--pSolarSysState->MenuState.Initialized;			pSolarSysState->PauseRotate = 0;			if (CommData.ConversationPhrases == 0 && !PLRPlaying ((MUSIC_REF)~0))			{				if (pSolarSysState->MenuState.Initialized < 3)				{					extern MUSIC_REF SpaceMusic;											PlayMusic (SpaceMusic, TRUE, 1);				}				else				{					extern MUSIC_REF LanderMusic;											PlayMusic (LanderMusic, TRUE, 1);				}			}		}	}	DestroyDrawable (ReleaseDrawable (DlgStamp.frame));	SetContext (OldContext);	ClearSemaphore (GraphicsSem);	return (retval);}