Example #1
0
void LegacyMenu::onRaceFinishing()
{
    if (_piRaceEngine->inData()->_displayMode == RM_DISP_MODE_NORMAL)
	{
		shutdownSound();
        unloadCarsGraphics();
        shutdownGraphicsView();
        unloadTrackGraphics();
        RmScreenShutdown();
    }
	else
	{
        RmResScreenShutdown();
    }
}
void *
RmScreenInit()
{
    // Release screen if was initialized.
    RmScreenShutdown();

    // Create screen, load menu XML descriptor and create static controls.
    rmScreenHandle = GfuiScreenCreate(black, 0, rmScreenActivate, 0, 0, 0);
    void *menuXMLDescHdle = GfuiMenuLoad("raceglscreen.xml");
    GfuiMenuCreateStaticControls(rmScreenHandle, menuXMLDescHdle);

    // Create Message, BigMessage and Pause labels.
    rmMsgId = GfuiMenuCreateLabelControl(rmScreenHandle, menuXMLDescHdle, "message");
    rmBigMsgId = GfuiMenuCreateLabelControl(rmScreenHandle, menuXMLDescHdle, "bigmessage");
    rmPauseId = GfuiMenuCreateLabelControl(rmScreenHandle, menuXMLDescHdle, "pause");

    // Close menu XML descriptor.
    GfParmReleaseHandle(menuXMLDescHdle);
    
    // Register keyboard shortcuts.
    rmAddKeys();

    // We are starting "unpaused".
    GfuiVisibilitySet(rmScreenHandle, rmPauseId, GFUI_INVISIBLE);
	rmRacePaused = false;
#ifdef STARTPAUSED
	rmPreRacePause = false;
#endif

	// Re-initialize the progressive time modifier,
	// in case the race was exited while it was running.
	rmProgressiveTimeModifier.reset();
	
	// Initialize the movie capture system.
	rmInitMovieCapture();
	
    return rmScreenHandle;
}