rem: { BYTE NewState;  NewState = pMS->CurState; if (GetInputXComponent (InputState) < 0 || GetInputYComponent (InputState) < 0) { if (NewState-- == SAVE_GAME) NewState = SETTINGS + 1; } else if (GetInputXComponent (InputState) > 0 || GetInputYComponent (InputState) > 0) { if (NewState++ == SETTINGS + 1) NewState = SAVE_GAME; }  if (NewState != pMS->CurState) { DrawMenuStateStrings (PM_SAVE_GAME, NewState); pMS->CurState = NewState; } }
add: DoMenuChooser (InputState, pMS, PM_SAVE_GAME);
context: DoGameOptions		(INPUT_STATE		InputState,		PMENU_STATE		pMS){	if (GLOBAL (CurrentActivity) & CHECK_ABORT)		return (FALSE);	if (LastActivity == CHECK_LOAD)		InputState = DEVICE_BUTTON1;	if (pMS->Initialized <= 0)	{		if (LastActivity == CHECK_LOAD)			pMS->CurState = LOAD_GAME;		DrawMenuStateStrings (PM_SAVE_GAME, pMS->CurState);		pMS->Initialized = 1;		pMS->InputFunc = DoGameOptions;	}	else if ((InputState & DEVICE_BUTTON2)			|| ((InputState & DEVICE_BUTTON1)			&& pMS->CurState == SETTINGS + 1))	{		pMS->CurState = SETTINGS + 1;		return (FALSE);	}	else if (InputState & DEVICE_BUTTON1)	{		switch (pMS->CurState)		{			case SAVE_GAME:			case LOAD_GAME:				pMS->CurFrame = (FRAME)FadeMusic (0, ONE_SECOND >> 1);				return (PickGame (pMS));			case SETTINGS:				pMS->Initialized = FALSE;				pMS->InputFunc = DoSettings;				pMS->CurState = SOUND_ON_SETTING;				break;		}	}	else	{		BYTE NewState;		NewState = pMS->CurState;		if (GetInputXComponent (InputState) < 0				|| GetInputYComponent (InputState) < 0)		{			if (NewState-- == SAVE_GAME)				NewState = SETTINGS + 1;		}		else if (GetInputXComponent (InputState) > 0				|| GetInputYComponent (InputState) > 0)		{			if (NewState++ == SETTINGS + 1)				NewState = SAVE_GAME;		}		if (NewState != pMS->CurState)		{			DrawMenuStateStrings (PM_SAVE_GAME, NewState);			pMS->CurState = NewState;		}	}	return (TRUE);}