rem: DoInput ((PVOID)&MenuState);
add: DoInput ((PVOID)&MenuState, TRUE);
context: Melee (void){	InitGlobData ();	{		MELEE_STATE MenuState;		pMeleeState = &MenuState;		memset (pMeleeState, 0, sizeof (*pMeleeState));		MenuState.InputFunc = DoMelee;		MenuState.Initialized = FALSE;		MenuState.CurIndex = (COUNT)~0;		InitPreBuilt (&MenuState);		GLOBAL (CurrentActivity) = SUPER_MELEE;		GameSounds = CaptureSound (LoadSound (GAME_SOUNDS));		LoadMeleeInfo (&MenuState);		{			FILE *load_fp;			char configFile[PATH_MAX];			int res;			res = snprintf (configFile, PATH_MAX, "%smelee.cfg", configDir);			assert (res != -1);					// strlen (configDir) is supposed to be checked to be					// <= PATH_MAX - 13			load_fp = res_OpenResFile (configFile, "rb");			if (load_fp)			{				int status;				if (LengthResFile (load_fp) != (1 + sizeof (TEAM_IMAGE)) * 2)					status = -1;				else if ((status = GetResFileChar (load_fp)) != -1)				{					PlayerControl[0] = (BYTE)status;					status = ReadTeamImage (&MenuState.TeamImage[0], load_fp);					if (status != -1)					{						if ((status = GetResFileChar (load_fp)) != -1)						{							PlayerControl[1] = (BYTE)status;							status = ReadTeamImage (&MenuState.TeamImage[1], load_fp);						}					}				}				res_CloseResFile (load_fp);				if (status == -1)					load_fp = 0;			}			if (load_fp == 0)			{				PlayerControl[0] = HUMAN_CONTROL | STANDARD_RATING;				MenuState.TeamImage[0] = MenuState.PreBuiltList[0];				PlayerControl[1] = COMPUTER_CONTROL | STANDARD_RATING;				MenuState.TeamImage[1] = MenuState.PreBuiltList[1];			}		}		SetPlayerInput ();		MenuState.side = 0;		MenuState.star_bucks[0] = GetTeamValue (&MenuState.TeamImage[0]);		MenuState.star_bucks[1] = GetTeamValue (&MenuState.TeamImage[1]);		DoInput ((PVOID)&MenuState);		WaitForSoundEnd (TFBSOUND_WAIT_ALL);		{			FILE *save_fp;			BOOLEAN err;			char configFile[PATH_MAX];			int res;			err = FALSE;			res = snprintf (configFile, PATH_MAX, "%smelee.cfg", configDir);			assert (res != -1);					// strlen (configDir) is supposed to be checked to be					// <= PATH_MAX - 13			save_fp = res_OpenResFile (configFile, "wb");			if (save_fp)			{				if (PutResFileChar (PlayerControl[0], save_fp) == -1)					err = TRUE;				if (!err && WriteTeamImage (&MenuState.TeamImage[0], save_fp) == 0)					err = TRUE;				if (!err && PutResFileChar (PlayerControl[1], save_fp) == -1)					err = TRUE;				if (!err && WriteTeamImage (&MenuState.TeamImage[1], save_fp) == 0)					err = TRUE;				if (res_CloseResFile (save_fp) == 0)					err = TRUE;			}			else				err = TRUE;							if (err)			{				DeleteResFile ("melee.cfg");			}		}		FreeMeleeInfo (&MenuState);		DestroySound (ReleaseSound (GameSounds));		GameSounds = 0;		DestroyDrawable (ReleaseDrawable (PickMeleeFrame));		PickMeleeFrame = 0;		FlushInput ();	}}