Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -634,6 +634,9 @@ void PlayMovieAndBlock(AsciiString movieTitle)
return;
}

// TheSuperHackers @bugfix Originally this movie render loop stopped rendering when the game window was inactive.
// This either skipped the movie or caused decompression artifacts. Now the video just keeps playing until it done.

GameWindow *movieWindow = s_blankLayout->getFirstWindow();
TheWritableGlobalData->m_loadScreenRender = TRUE;
while (videoStream->frameIndex() < videoStream->frameCount() - 1)
Expand All @@ -646,13 +649,6 @@ void PlayMovieAndBlock(AsciiString movieTitle)
continue;
}

if (!TheGameEngine->isActive())
{ //we are alt-tabbed out, so just increment the frame
videoStream->frameNext();
videoStream->frameDecompress();
continue;
}

videoStream->frameDecompress();
videoStream->frameRender(videoBuffer);
videoStream->frameNext();
Expand Down
10 changes: 3 additions & 7 deletions Generals/Code/GameEngine/Source/GameClient/GUI/LoadScreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,9 @@ void SinglePlayerLoadScreen::init( GameInfo *game )

if(TheGameLODManager && TheGameLODManager->didMemPass())
{
// TheSuperHackers @bugfix Originally this movie render loop stopped rendering when the game window was inactive.
// This either skipped the movie or caused decompression artifacts. Now the video just keeps playing until it done.

Int progressUpdateCount = m_videoStream->frameCount() / FRAME_FUDGE_ADD;
Int shiftedPercent = -FRAME_FUDGE_ADD + 1;
while (m_videoStream->frameIndex() < m_videoStream->frameCount() - 1 )
Expand All @@ -498,13 +501,6 @@ void SinglePlayerLoadScreen::init( GameInfo *game )
continue;
}

if (!TheGameEngine->isActive())
{ //we are alt-tabbed out, so just increment the frame
m_videoStream->frameNext();
m_videoStream->frameDecompress();
continue;
}

m_videoStream->frameDecompress();
m_videoStream->frameRender(m_videoBuffer);
moveWindows( m_videoStream->frameIndex());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -727,6 +727,9 @@ void PlayMovieAndBlock(AsciiString movieTitle)
return;
}

// TheSuperHackers @bugfix Originally this movie render loop stopped rendering when the game window was inactive.
// This either skipped the movie or caused decompression artifacts. Now the video just keeps playing until it done.

GameWindow *movieWindow = s_blankLayout->getFirstWindow();
TheWritableGlobalData->m_loadScreenRender = TRUE;
while (videoStream->frameIndex() < videoStream->frameCount() - 1)
Expand All @@ -739,13 +742,6 @@ void PlayMovieAndBlock(AsciiString movieTitle)
continue;
}

if (!TheGameEngine->isActive())
{ //we are alt-tabbed out, so just increment the frame
videoStream->frameNext();
videoStream->frameDecompress();
continue;
}

videoStream->frameDecompress();
videoStream->frameRender(videoBuffer);
videoStream->frameNext();
Expand Down
22 changes: 6 additions & 16 deletions GeneralsMD/Code/GameEngine/Source/GameClient/GUI/LoadScreen.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,9 @@ void SinglePlayerLoadScreen::init( GameInfo *game )

if(TheGameLODManager && TheGameLODManager->didMemPass())
{
// TheSuperHackers @bugfix Originally this movie render loop stopped rendering when the game window was inactive.
// This either skipped the movie or caused decompression artifacts. Now the video just keeps playing until it done.

Int progressUpdateCount = m_videoStream->frameCount() / FRAME_FUDGE_ADD;
Int shiftedPercent = -FRAME_FUDGE_ADD + 1;
while (m_videoStream->frameIndex() < m_videoStream->frameCount() - 1 )
Expand All @@ -541,15 +544,6 @@ void SinglePlayerLoadScreen::init( GameInfo *game )
continue;
}

if (!TheGameEngine->isActive())
{/* //we are alt-tabbed out, so just increment the frame
m_videoStream->frameNext();
m_videoStream->frameDecompress();*/

//Changing for MissionDisk, just skip to end.
break;
}

m_videoStream->frameDecompress();
m_videoStream->frameRender(m_videoBuffer);

Expand Down Expand Up @@ -1049,6 +1043,9 @@ void ChallengeLoadScreen::init( GameInfo *game )

if(TheGameLODManager && TheGameLODManager->didMemPass())
{
// TheSuperHackers @bugfix Originally this movie render loop stopped rendering when the game window was inactive.
// This either skipped the movie or caused decompression artifacts. Now the video just keeps playing until it done.

Int progressUpdateCount = m_videoStream->frameCount() / FRAME_FUDGE_ADD;
Int shiftedPercent = -FRAME_FUDGE_ADD + 1;
while (m_videoStream->frameIndex() < m_videoStream->frameCount() - 1 )
Expand All @@ -1061,13 +1058,6 @@ void ChallengeLoadScreen::init( GameInfo *game )
continue;
}

if (!TheGameEngine->isActive())
{ //we are alt-tabbed out, so just increment the frame
m_videoStream->frameNext();
m_videoStream->frameDecompress();
continue;
}

m_videoStream->frameDecompress();
m_videoStream->frameRender(m_videoBuffer);
m_videoStream->frameNext();
Expand Down
Loading