Skip to content

Commit a8f6955

Browse files
authored
bugfix(input): Force stop camera inputs after game end (#1602)
1 parent 113babd commit a8f6955

File tree

2 files changed

+35
-18
lines changed

2 files changed

+35
-18
lines changed

Generals/Code/GameEngine/Source/GameClient/InGameUI.cpp

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -694,7 +694,7 @@ void InGameUI::setSuperweaponDisplayEnabledByScript(Bool enable)
694694
// ------------------------------------------------------------------------------------------------
695695
Bool InGameUI::getSuperweaponDisplayEnabledByScript(void) const
696696
{
697-
return m_superweaponHiddenByScript;
697+
return !m_superweaponHiddenByScript;
698698
}
699699

700700
// ------------------------------------------------------------------------------------------------
@@ -1932,13 +1932,13 @@ void InGameUI::reset( void )
19321932
m_namedTimers.clear();
19331933
m_namedTimerLastFlashFrame = 0;
19341934
m_namedTimerUsedFlashColor = TRUE; // so next one is false
1935-
m_showNamedTimers = TRUE;
1935+
showNamedTimerDisplay(true);
19361936

19371937
removeMilitarySubtitle();
19381938
clearPopupMessageData();
19391939
m_superweaponLastFlashFrame = 0;
19401940
m_superweaponUsedFlashColor = TRUE; // so next one is false
1941-
m_superweaponHiddenByScript = FALSE;
1941+
setSuperweaponDisplayEnabledByScript(true);
19421942

19431943
clearFloatingText();
19441944
clearWorldAnimations();
@@ -1953,12 +1953,20 @@ void InGameUI::reset( void )
19531953

19541954
}
19551955

1956-
m_waypointMode = false;
1957-
m_forceAttackMode = false;
1958-
m_forceMoveToMode = false;
1959-
m_attackMoveToMode = false;
1960-
m_preferSelection = false;
1961-
m_clientQuiet = false;
1956+
setClientQuiet(false);
1957+
setWaypointMode(false);
1958+
setForceMoveMode(false);
1959+
setForceAttackMode(false);
1960+
setPreferSelectionMode(false);
1961+
clearAttackMoveToMode();
1962+
1963+
// TheSuperHackers @bugfix Disable all camera interactions to prevent them getting stuck after game end.
1964+
setScrolling(false);
1965+
setSelecting(false);
1966+
setCameraRotateLeft(false);
1967+
setCameraRotateRight(false);
1968+
setCameraZoomIn(false);
1969+
setCameraZoomOut(false);
19621970

19631971
m_windowLayouts.clear();
19641972

GeneralsMD/Code/GameEngine/Source/GameClient/InGameUI.cpp

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,7 @@ void InGameUI::setSuperweaponDisplayEnabledByScript(Bool enable)
718718
// ------------------------------------------------------------------------------------------------
719719
Bool InGameUI::getSuperweaponDisplayEnabledByScript(void) const
720720
{
721-
return m_superweaponHiddenByScript;
721+
return !m_superweaponHiddenByScript;
722722
}
723723

724724
// ------------------------------------------------------------------------------------------------
@@ -1988,13 +1988,13 @@ void InGameUI::reset( void )
19881988
m_namedTimers.clear();
19891989
m_namedTimerLastFlashFrame = 0;
19901990
m_namedTimerUsedFlashColor = TRUE; // so next one is false
1991-
m_showNamedTimers = TRUE;
1991+
showNamedTimerDisplay(true);
19921992

19931993
removeMilitarySubtitle();
19941994
clearPopupMessageData();
19951995
m_superweaponLastFlashFrame = 0;
19961996
m_superweaponUsedFlashColor = TRUE; // so next one is false
1997-
m_superweaponHiddenByScript = FALSE;
1997+
setSuperweaponDisplayEnabledByScript(true);
19981998

19991999
clearFloatingText();
20002000
clearWorldAnimations();
@@ -2009,12 +2009,21 @@ void InGameUI::reset( void )
20092009

20102010
}
20112011

2012-
m_waypointMode = false;
2013-
m_forceAttackMode = false;
2014-
m_forceMoveToMode = false;
2015-
m_attackMoveToMode = false;
2016-
m_preferSelection = false;
2017-
m_clientQuiet = false;
2012+
setClientQuiet(false);
2013+
setWaypointMode(false);
2014+
setForceMoveMode(false);
2015+
setForceAttackMode(false);
2016+
setPreferSelectionMode(false);
2017+
clearAttackMoveToMode();
2018+
2019+
// TheSuperHackers @bugfix Disable all camera interactions to prevent them getting stuck after game end.
2020+
setScrolling(false);
2021+
setSelecting(false);
2022+
setCameraRotateLeft(false);
2023+
setCameraRotateRight(false);
2024+
setCameraZoomIn(false);
2025+
setCameraZoomOut(false);
2026+
setCameraTrackingDrawable(false);
20182027

20192028
m_windowLayouts.clear();
20202029

0 commit comments

Comments
 (0)