Exemplo n.º 1
0
void
RmStopRaceMenu()
{
	void* params = LmRaceEngine().outData()->params;
	const char* pszRaceName = LmRaceEngine().outData()->_reRaceName;

	// Mute sound.
	if (LegacyMenu::self().soundEngine())
		LegacyMenu::self().soundEngine()->mute();

	if (!strcmp(GfParmGetStr(params, pszRaceName, RM_ATTR_ALLOW_RESTART, RM_VAL_NO), RM_VAL_NO)) 
	{
		if (strcmp(GfParmGetStr(params, pszRaceName, RM_ATTR_MUST_COMPLETE, RM_VAL_YES), RM_VAL_YES)) 
		{
			rmStopScrHandle =
				rmStopRaceMenu
				    ("resume", RmBackToRaceHookInit(),
					 "skip", rmSkipSessionHookInit(),
					 "abort", rmAbortRaceHookInit(),
					 "quit", rmQuitHookInit());
		}
		else 
		{
			rmStopScrHandle =
				rmStopRaceMenu
				    ("resume", RmBackToRaceHookInit(),
					 "abort", rmAbortRaceHookInit(),
					 "quit", rmQuitHookInit());
		}
	}
	else 
	{
		if (strcmp(GfParmGetStr(params, pszRaceName, RM_ATTR_MUST_COMPLETE, RM_VAL_YES), RM_VAL_YES)) 
		{
			rmStopScrHandle =
				rmStopRaceMenu
				    ("resume", RmBackToRaceHookInit(),
					 "skip", rmSkipSessionHookInit(),
					 "restart", rmRestartRaceHookInit(),
					 "abort", rmAbortRaceHookInit(),
					 "quit", rmQuitHookInit());
		}
		else 
		{
			rmStopScrHandle =
				rmStopRaceMenu
				    ("resume", RmBackToRaceHookInit(),
					 "restart", rmRestartRaceHookInit(),
					 "abort", rmAbortRaceHookInit(),
					 "quit", rmQuitHookInit());
		}
	}
}
Exemplo n.º 2
0
static void
rmOpenHelpScreen(void * /* dummy */)
{
	LmRaceEngine().stop();

	if (LegacyMenu::self().soundEngine())
		LegacyMenu::self().soundEngine()->mute(true);
	
	GfuiHelpScreen(rmScreenHandle, RmBackToRaceHookInit());
}