* Interrupt screen redraw */
| 577 | * Interrupt screen redraw |
| 578 | */ |
| 579 | void cFodder::Interrupt_Redraw() { |
| 580 | { |
| 581 | std::lock_guard<std::mutex> lock(mSurfaceMtx); |
| 582 | |
| 583 | if (mParams->mDemoPlayback || mParams->mDemoRecord) |
| 584 | mGame_Data.mDemoRecorded.Tick(); |
| 585 | |
| 586 | Phase_Loop_Interrupt(); |
| 587 | |
| 588 | if (mInterruptCallback) { |
| 589 | mInterruptCallback(); |
| 590 | } |
| 591 | else { |
| 592 | if (mPhase_In_Progress && !mPhase_ShowMapOverview) { |
| 593 | if (!mStartParams->mDisableVideo) { |
| 594 | mGraphics->MapTiles_Draw(); |
| 595 | } |
| 596 | Sprites_Draw(); |
| 597 | mGraphics->Sidebar_Copy_To_Surface(0, mSurface); |
| 598 | Mouse_DrawCursor(); |
| 599 | } |
| 600 | } |
| 601 | mVideo_Done = false; |
| 602 | mVideo_Ticked = true; |
| 603 | } |
| 604 | } |
| 605 | |
| 606 | /** |
| 607 | * Interrupt Simulation |
nothing calls this directly
no test coverage detected