/* ================ idCommonLocal::StartPlayingRenderDemo ================ */ void idCommonLocal::StartPlayingRenderDemo( idStr demoName ) { if ( !demoName[0] ) { common->Printf( "idCommonLocal::StartPlayingRenderDemo: no name specified\n" ); return; } // make sure localSound / GUI intro music shuts up soundWorld->StopAllSounds(); soundWorld->PlayShaderDirectly( "", 0 ); menuSoundWorld->StopAllSounds(); menuSoundWorld->PlayShaderDirectly( "", 0 ); // exit any current game Stop(); // automatically put the console away console->Close(); readDemo = new (TAG_SYSTEM) idDemoFile; demoName.DefaultFileExtension( ".demo" ); if ( !readDemo->OpenForReading( demoName ) ) { common->Printf( "couldn't open %s\n", demoName.c_str() ); delete readDemo; readDemo = NULL; Stop(); StartMenu(); return; } const bool captureToImage = false; UpdateScreen( captureToImage ); AdvanceRenderDemo( true ); numDemoFrames = 1; timeDemoStartTime = Sys_Milliseconds(); }