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()); } } }
static void rmOpenHelpScreen(void * /* dummy */) { LmRaceEngine().stop(); if (LegacyMenu::self().soundEngine()) LegacyMenu::self().soundEngine()->mute(true); GfuiHelpScreen(rmScreenHandle, RmBackToRaceHookInit()); }