Skip to content

Commit d3de726

Browse files
committed
Replicate in Generals
1 parent 6c05ae8 commit d3de726

4 files changed

Lines changed: 20 additions & 1 deletion

File tree

Generals/Code/GameEngine/Include/Common/GlobalData.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ class GlobalData : public SubsystemInterface
139139
Bool m_enableStaticLOD;
140140
Int m_terrainLODTargetTimeMS;
141141
Bool m_useAlternateMouse;
142+
Bool m_useRightMouseScrollWithAlternateMouse; // TheSuperHackers @feature User option for RMB scroll in Alternate Mouse mode.
142143
Bool m_clientRetaliationModeEnabled;
143144
Bool m_doubleClickAttackMove;
144145
Bool m_rightMouseAlwaysScrolls;

Generals/Code/GameEngine/Source/Common/GlobalData.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,15 @@ GlobalData::GlobalData()
10381038

10391039
m_keyboardCameraRotateSpeed = 0.1f;
10401040

1041+
m_useAlternateMouse = FALSE;
1042+
#if RTS_GENERALS
1043+
// disable mouse scrolling in alternate mouse mode, per Harvard 7/15/03
1044+
m_useRightMouseScrollWithAlternateMouse = FALSE;
1045+
#else
1046+
m_useRightMouseScrollWithAlternateMouse = TRUE;
1047+
#endif
10411048
m_clientRetaliationModeEnabled = TRUE; //On by default.
1049+
m_doubleClickAttackMove = FALSE;
10421050

10431051
}
10441052

@@ -1187,6 +1195,7 @@ void GlobalData::parseGameDataDefinition( INI* ini )
11871195
// override INI values with user preferences
11881196
OptionPreferences optionPref;
11891197
TheWritableGlobalData->m_useAlternateMouse = optionPref.getAlternateMouseModeEnabled();
1198+
TheWritableGlobalData->m_useRightMouseScrollWithAlternateMouse = optionPref.getRightMouseScrollWithAlternateMouseEnabled();
11901199
TheWritableGlobalData->m_clientRetaliationModeEnabled = optionPref.getRetaliationModeEnabled();
11911200
TheWritableGlobalData->m_doubleClickAttackMove = optionPref.getDoubleClickAttackMoveEnabled();
11921201
TheWritableGlobalData->m_keyboardScrollFactor = optionPref.getScrollFactor();

Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/OptionsMenu.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,13 @@ static void saveOptions()
579579
TheWritableGlobalData->m_useAlternateMouse = GadgetCheckBoxIsChecked(checkAlternateMouse);
580580
(*pref)["UseAlternateMouse"] = TheWritableGlobalData->m_useAlternateMouse ? "yes" : "no";
581581

582+
// TheSuperHackers @todo Add check box ?
583+
{
584+
Bool useRightMouseScrollWithAlternateMouse = pref->getRightMouseScrollWithAlternateMouseEnabled();
585+
(*pref)["UseRightMouseScrollWithAlternateMouse"] = useRightMouseScrollWithAlternateMouse ? "yes" : "no";
586+
TheWritableGlobalData->m_useRightMouseScrollWithAlternateMouse = useRightMouseScrollWithAlternateMouse;
587+
}
588+
582589
// TheSuperHackers @todo Add combo box ?
583590
{
584591
CursorCaptureMode mode = pref->getCursorCaptureMode();

Generals/Code/GameEngine/Source/GameClient/MessageStream/LookAtXlat.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,9 @@ GameMessageDisposition LookAtTranslator::translateGameMessage(const GameMessage
261261
m_anchor = msg->getArgument( 0 )->pixel;
262262
m_currentPos = msg->getArgument( 0 )->pixel;
263263

264-
if (!TheInGameUI->isSelecting() && !m_isScrolling)
264+
const Bool userWantsRMBScroll = !TheGlobalData->m_useAlternateMouse || TheGlobalData->m_useRightMouseScrollWithAlternateMouse;
265+
266+
if (userWantsRMBScroll && !TheInGameUI->isSelecting() && !m_isScrolling)
265267
{
266268
setScrolling(SCROLL_RMB);
267269
}

0 commit comments

Comments
 (0)