Skip to content
Open
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
6 changes: 3 additions & 3 deletions Generals/Code/GameEngine/Include/GameLogic/GameLogic.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ class GameLogic : public SubsystemInterface, public Snapshot

void setGamePausedInFrame( UnsignedInt frame, Bool disableLogicTimeScale );
UnsignedInt getGamePauseFrame() const { return m_pauseFrame; }
void setGamePaused( Bool paused, Bool pauseMusic = TRUE, Bool pauseInput = TRUE );
void setGamePaused( Bool paused, Bool pauseMusic = TRUE, Bool pauseInput = TRUE, Bool allowResumeAudio = TRUE );
Bool isGamePaused( void );
Bool getInputEnabledMemory( void ) const { return m_inputEnabledMemory; }

Expand Down Expand Up @@ -255,8 +255,8 @@ class GameLogic : public SubsystemInterface, public Snapshot
void updateDisplayBusyState();

void pauseGameLogic(Bool paused);
void pauseGameSound(Bool paused);
void pauseGameMusic(Bool paused);
void pauseGameSound(Bool paused, Bool allowResumeAudio);
void pauseGameMusic(Bool paused, Bool allowResumeAudio);
void pauseGameInput(Bool paused);

void pushSleepyUpdate(UpdateModulePtr u);
Expand Down
32 changes: 13 additions & 19 deletions Generals/Code/GameEngine/Source/GameLogic/System/GameLogic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -401,14 +401,11 @@ void GameLogic::init( void )
//ThePlayerList->setLocalPlayer(0);

m_CRC = 0;
m_pauseFrame = 0;
m_gamePaused = FALSE;
m_pauseSound = FALSE;
m_pauseMusic = FALSE;
m_pauseInput = FALSE;
m_logicTimeScaleEnabledMemory = FALSE;
m_inputEnabledMemory = TRUE;
m_mouseVisibleMemory = TRUE;
m_logicTimeScaleEnabledMemory = FALSE;
setGamePaused(FALSE, FALSE, FALSE, FALSE);
m_pauseFrame = 0;

for(Int i = 0; i < MAX_SLOTS; ++i)
{
Expand Down Expand Up @@ -444,14 +441,11 @@ void GameLogic::reset( void )
m_objHash.reserve(OBJ_HASH_SIZE);
#endif

m_pauseFrame = 0;
m_gamePaused = FALSE;
m_pauseSound = FALSE;
m_pauseMusic = FALSE;
m_pauseInput = FALSE;
m_logicTimeScaleEnabledMemory = FALSE;
m_inputEnabledMemory = TRUE;
m_mouseVisibleMemory = TRUE;
m_logicTimeScaleEnabledMemory = FALSE;
setGamePaused(FALSE, FALSE, FALSE, FALSE);
m_pauseFrame = 0;

setFPMode();

Expand Down Expand Up @@ -3733,7 +3727,7 @@ void GameLogic::setGamePausedInFrame( UnsignedInt frame, Bool disableLogicTimeSc

// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
void GameLogic::setGamePaused( Bool paused, Bool pauseMusic, Bool pauseInput )
void GameLogic::setGamePaused( Bool paused, Bool pauseMusic, Bool pauseInput, Bool allowResumeAudio )
{
// We need to ignore an unpause called when we are unpaused or else:
// Mouse is hidden for some reason (script or something)
Expand All @@ -3749,8 +3743,8 @@ void GameLogic::setGamePaused( Bool paused, Bool pauseMusic, Bool pauseInput )
// Set mouse the way it "was" <--- Was counting on right answer being set in Pause.

pauseGameLogic(paused);
pauseGameSound(paused);
pauseGameMusic(paused && pauseMusic);
pauseGameSound(paused, allowResumeAudio);
pauseGameMusic(paused && pauseMusic, allowResumeAudio);
pauseGameInput(paused && pauseInput);

updateDisplayBusyState();
Expand All @@ -3771,7 +3765,7 @@ void GameLogic::pauseGameLogic(Bool paused)

// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
void GameLogic::pauseGameSound(Bool paused)
void GameLogic::pauseGameSound(Bool paused, Bool allowResumeAudio)
{
if(m_pauseSound == paused)
return;
Expand All @@ -3790,7 +3784,7 @@ void GameLogic::pauseGameSound(Bool paused)
drawable = drawable->getNextDrawable();
}
}
else
else if (allowResumeAudio)
{
TheAudio->resumeAudio((AudioAffect)(AudioAffect_All & ~AudioAffect_Music));

Expand All @@ -3806,7 +3800,7 @@ void GameLogic::pauseGameSound(Bool paused)

// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
void GameLogic::pauseGameMusic(Bool paused)
void GameLogic::pauseGameMusic(Bool paused, Bool allowResumeAudio)
{
if(m_pauseMusic == paused)
return;
Expand All @@ -3817,7 +3811,7 @@ void GameLogic::pauseGameMusic(Bool paused)
{
TheAudio->pauseAudio(AudioAffect_Music);
}
else
else if (allowResumeAudio)
{
TheAudio->resumeAudio(AudioAffect_Music);
}
Expand Down
6 changes: 3 additions & 3 deletions GeneralsMD/Code/GameEngine/Include/GameLogic/GameLogic.h
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ class GameLogic : public SubsystemInterface, public Snapshot

void setGamePausedInFrame( UnsignedInt frame, Bool disableLogicTimeScale );
UnsignedInt getGamePauseFrame() const { return m_pauseFrame; }
void setGamePaused( Bool paused, Bool pauseMusic = TRUE, Bool pauseInput = TRUE );
void setGamePaused( Bool paused, Bool pauseMusic = TRUE, Bool pauseInput = TRUE, Bool allowResumeAudio = TRUE);
Bool isGamePaused( void );
Bool getInputEnabledMemory( void ) const { return m_inputEnabledMemory; }

Expand Down Expand Up @@ -273,8 +273,8 @@ class GameLogic : public SubsystemInterface, public Snapshot
void updateDisplayBusyState();

void pauseGameLogic(Bool paused);
void pauseGameSound(Bool paused);
void pauseGameMusic(Bool paused);
void pauseGameSound(Bool paused, Bool allowResumeAudio);
void pauseGameMusic(Bool paused, Bool allowResumeAudio);
void pauseGameInput(Bool paused);

void pushSleepyUpdate(UpdateModulePtr u);
Expand Down
32 changes: 13 additions & 19 deletions GeneralsMD/Code/GameEngine/Source/GameLogic/System/GameLogic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -416,14 +416,11 @@ void GameLogic::init( void )
//ThePlayerList->setLocalPlayer(0);

m_CRC = 0;
m_pauseFrame = 0;
m_gamePaused = FALSE;
m_pauseSound = FALSE;
m_pauseMusic = FALSE;
m_pauseInput = FALSE;
m_logicTimeScaleEnabledMemory = FALSE;
m_inputEnabledMemory = TRUE;
m_mouseVisibleMemory = TRUE;
m_logicTimeScaleEnabledMemory = FALSE;
setGamePaused(FALSE, FALSE, FALSE, FALSE);
m_pauseFrame = 0;

for(Int i = 0; i < MAX_SLOTS; ++i)
{
Expand Down Expand Up @@ -457,14 +454,11 @@ void GameLogic::reset( void )
m_objVector.clear();
m_objVector.resize(OBJ_HASH_SIZE, NULL);

m_pauseFrame = 0;
m_gamePaused = FALSE;
m_pauseSound = FALSE;
m_pauseMusic = FALSE;
m_pauseInput = FALSE;
m_logicTimeScaleEnabledMemory = FALSE;
m_inputEnabledMemory = TRUE;
m_mouseVisibleMemory = TRUE;
m_logicTimeScaleEnabledMemory = FALSE;
setGamePaused(FALSE, FALSE, FALSE, FALSE);
m_pauseFrame = 0;

setFPMode();

Expand Down Expand Up @@ -4285,7 +4279,7 @@ void GameLogic::setGamePausedInFrame( UnsignedInt frame, Bool disableLogicTimeSc

// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
void GameLogic::setGamePaused( Bool paused, Bool pauseMusic, Bool pauseInput )
void GameLogic::setGamePaused( Bool paused, Bool pauseMusic, Bool pauseInput, Bool allowResumeAudio)
{
// We need to ignore an unpause called when we are unpaused or else:
// Mouse is hidden for some reason (script or something)
Expand All @@ -4301,8 +4295,8 @@ void GameLogic::setGamePaused( Bool paused, Bool pauseMusic, Bool pauseInput )
// Set mouse the way it "was" <--- Was counting on right answer being set in Pause.

pauseGameLogic(paused);
pauseGameSound(paused);
pauseGameMusic(paused && pauseMusic);
pauseGameSound(paused, allowResumeAudio);
pauseGameMusic(paused && pauseMusic, allowResumeAudio);
pauseGameInput(paused && pauseInput);

updateDisplayBusyState();
Expand All @@ -4323,7 +4317,7 @@ void GameLogic::pauseGameLogic(Bool paused)

// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
void GameLogic::pauseGameSound(Bool paused)
void GameLogic::pauseGameSound(Bool paused, Bool allowResumeAudio)
{
if(m_pauseSound == paused)
return;
Expand All @@ -4348,7 +4342,7 @@ void GameLogic::pauseGameSound(Bool paused)
}
#endif
}
else
else if (allowResumeAudio)
{
TheAudio->resumeAudio((AudioAffect)(AudioAffect_All & ~AudioAffect_Music));

Expand All @@ -4366,7 +4360,7 @@ void GameLogic::pauseGameSound(Bool paused)

// ------------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------------
void GameLogic::pauseGameMusic(Bool paused)
void GameLogic::pauseGameMusic(Bool paused, Bool allowResumeAudio)
{
if(m_pauseMusic == paused)
return;
Expand All @@ -4377,7 +4371,7 @@ void GameLogic::pauseGameMusic(Bool paused)
{
TheAudio->pauseAudio(AudioAffect_Music);
}
else
else if (allowResumeAudio)
{
TheAudio->resumeAudio(AudioAffect_Music);
}
Expand Down
Loading