MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / CallPause

Method CallPause

TombEngine/Game/gui.cpp:3161–3236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3159 }
3160
3161 bool GuiController::CallPause()
3162 {
3163 g_Renderer.DumpGameScene(SceneRenderMode::NoHud);
3164 g_VideoPlayer.Pause();
3165 PauseAllSounds(SoundPauseMode::Pause);
3166 SoundEffect(SFX_TR4_MENU_SELECT, nullptr, SoundEnvironment::Always);
3167
3168 g_Gui.SetInventoryMode(InventoryMode::Pause);
3169 g_Gui.SetMenuToDisplay(Menu::Pause);
3170 g_Gui.SetSelectedOption(0);
3171
3172 bool doExitToTitle = false;
3173
3174 g_Synchronizer.Init();
3175
3176 bool legacy30FpsDoneDraw = false;
3177
3178 while (g_Gui.GetInventoryMode() == InventoryMode::Pause)
3179 {
3180 if (ThreadEnded)
3181 {
3182 App.ResetClock = true;
3183 return false;
3184 }
3185
3186 g_Synchronizer.Sync();
3187
3188 while (g_Synchronizer.Synced())
3189 {
3190 g_Renderer.PrepareScene();
3191
3192 if (g_Gui.DoPauseMenu(LaraItem) == InventoryResult::ExitToTitle)
3193 {
3194 doExitToTitle = true;
3195 break;
3196 }
3197
3198 g_Synchronizer.Step();
3199
3200 legacy30FpsDoneDraw = false;
3201 }
3202
3203 if (doExitToTitle)
3204 break;
3205
3206 if (!g_Configuration.EnableHighFramerate)
3207 {
3208 if (!legacy30FpsDoneDraw)
3209 {
3210 g_Renderer.RenderInventory();
3211 g_Renderer.Lock();
3212 g_Renderer.Synchronize();
3213 legacy30FpsDoneDraw = true;
3214 }
3215 }
3216 else
3217 {
3218 g_Renderer.RenderInventory();

Callers 1

HandleMenuCallsFunction · 0.80

Calls 15

PauseAllSoundsFunction · 0.85
SoundEffectFunction · 0.85
StopAllSoundsFunction · 0.85
ResumeAllSoundsFunction · 0.85
DumpGameSceneMethod · 0.80
PauseMethod · 0.80
SetInventoryModeMethod · 0.80
SetMenuToDisplayMethod · 0.80
SetSelectedOptionMethod · 0.80
GetInventoryModeMethod · 0.80
SyncMethod · 0.80
SyncedMethod · 0.80

Tested by

no test coverage detected