Skip to content

Commit 56ecbad

Browse files
authored
tweak(menu): Show mouse and menu immediately when shellmap is disabled (TheSuperHackers#2356)
1 parent e99984e commit 56ecbad

2 files changed

Lines changed: 48 additions & 60 deletions

File tree

  • GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus
  • Generals/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus

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

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -895,47 +895,30 @@ void MainMenuUpdate( WindowLayout *layout, void *userData )
895895
WindowMsgHandledType MainMenuInput( GameWindow *window, UnsignedInt msg,
896896
WindowMsgData mData1, WindowMsgData mData2 )
897897
{
898-
899898
if(!notShown)
900899
return MSG_IGNORED;
901900

902901
switch( msg )
903902
{
904-
905903
// --------------------------------------------------------------------------------------------
906904
case GWM_MOUSE_POS:
907905
{
908-
ICoord2D mouse;
909-
mouse.x = mData1 & 0xFFFF;
910-
mouse.y = mData1 >> 16;
906+
// TheSuperHackers @tweak 26/02/2026 Show mouse and menu immediately when shellmap is disabled.
907+
Bool doShow = !TheGlobalData->m_shellMapOn;
911908

912-
// TheSuperHackers @tweak 20/08/2025 Show mouse and menu immediately when shellmap is disabled.
913-
if (TheGlobalData->m_shellMapOn && mouse.x == 0 && mouse.y == 0)
914-
break;
915-
916-
static Int mousePosX = mouse.x;
917-
static Int mousePosY = mouse.y;
918-
if(abs(mouse.x - mousePosX) > 20 || abs(mouse.y - mousePosY) > 20)
909+
if (!doShow)
919910
{
911+
ICoord2D mouse;
912+
mouse.x = mData1 & 0xFFFF;
913+
mouse.y = mData1 >> 16;
920914

921-
DEBUG_LOG(("Mouse X:%d, Y:%d", mouse.x, mouse.y));
922-
if(notShown)
923-
{
924-
initialGadgetDelay = 1;
925-
dropDownWindows[DROPDOWN_MAIN]->winHide(FALSE);
926-
TheTransitionHandler->setGroup("MainMenuFade", TRUE);
927-
TheTransitionHandler->setGroup("MainMenuDefaultMenu");
928-
TheMouse->setVisibility(TRUE);
929-
notShown = FALSE;
930-
return MSG_HANDLED;
931-
}
915+
static Int mousePosX = mouse.x;
916+
static Int mousePosY = mouse.y;
917+
918+
doShow = abs(mouse.x - mousePosX) > 20 || abs(mouse.y - mousePosY) > 20;
932919
}
933920

934-
}
935-
break;
936-
case GWM_CHAR:
937-
{
938-
if(notShown)
921+
if (doShow)
939922
{
940923
initialGadgetDelay = 1;
941924
dropDownWindows[DROPDOWN_MAIN]->winHide(FALSE);
@@ -946,14 +929,25 @@ WindowMsgHandledType MainMenuInput( GameWindow *window, UnsignedInt msg,
946929
return MSG_HANDLED;
947930
}
948931

932+
break;
949933
}
950934

935+
// --------------------------------------------------------------------------------------------
936+
case GWM_CHAR:
937+
{
938+
initialGadgetDelay = 1;
939+
dropDownWindows[DROPDOWN_MAIN]->winHide(FALSE);
940+
TheTransitionHandler->setGroup("MainMenuFade", TRUE);
941+
TheTransitionHandler->setGroup("MainMenuDefaultMenu");
942+
TheMouse->setVisibility(TRUE);
943+
notShown = FALSE;
944+
return MSG_HANDLED;
945+
}
951946
}
952947

953-
954948
return MSG_IGNORED;
955-
956949
}
950+
957951
void PrintOffsetsFromControlBarParent();
958952
//-------------------------------------------------------------------------------------------------
959953
/** Main menu window system callback */

GeneralsMD/Code/GameEngine/Source/GameClient/GUI/GUICallbacks/Menus/MainMenu.cpp

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -932,47 +932,30 @@ void MainMenuUpdate( WindowLayout *layout, void *userData )
932932
WindowMsgHandledType MainMenuInput( GameWindow *window, UnsignedInt msg,
933933
WindowMsgData mData1, WindowMsgData mData2 )
934934
{
935-
936935
if(!notShown)
937936
return MSG_IGNORED;
938937

939938
switch( msg )
940939
{
941-
942940
// --------------------------------------------------------------------------------------------
943941
case GWM_MOUSE_POS:
944942
{
945-
ICoord2D mouse;
946-
mouse.x = mData1 & 0xFFFF;
947-
mouse.y = mData1 >> 16;
943+
// TheSuperHackers @tweak 26/02/2026 Show mouse and menu immediately when shellmap is disabled.
944+
Bool doShow = !TheGlobalData->m_shellMapOn;
948945

949-
// TheSuperHackers @tweak 20/08/2025 Show mouse and menu immediately when shellmap is disabled.
950-
if (TheGlobalData->m_shellMapOn && mouse.x == 0 && mouse.y == 0)
951-
break;
952-
953-
static Int mousePosX = mouse.x;
954-
static Int mousePosY = mouse.y;
955-
if(abs(mouse.x - mousePosX) > 20 || abs(mouse.y - mousePosY) > 20)
946+
if (!doShow)
956947
{
948+
ICoord2D mouse;
949+
mouse.x = mData1 & 0xFFFF;
950+
mouse.y = mData1 >> 16;
957951

958-
DEBUG_LOG(("Mouse X:%d, Y:%d", mouse.x, mouse.y));
959-
if(notShown)
960-
{
961-
initialGadgetDelay = 1;
962-
dropDownWindows[DROPDOWN_MAIN]->winHide(FALSE);
963-
TheTransitionHandler->setGroup("MainMenuFade", TRUE);
964-
TheTransitionHandler->setGroup("MainMenuDefaultMenu");
965-
TheMouse->setVisibility(TRUE);
966-
notShown = FALSE;
967-
return MSG_HANDLED;
968-
}
952+
static Int mousePosX = mouse.x;
953+
static Int mousePosY = mouse.y;
954+
955+
doShow = abs(mouse.x - mousePosX) > 20 || abs(mouse.y - mousePosY) > 20;
969956
}
970957

971-
}
972-
break;
973-
case GWM_CHAR:
974-
{
975-
if(notShown)
958+
if (doShow)
976959
{
977960
initialGadgetDelay = 1;
978961
dropDownWindows[DROPDOWN_MAIN]->winHide(FALSE);
@@ -983,14 +966,25 @@ WindowMsgHandledType MainMenuInput( GameWindow *window, UnsignedInt msg,
983966
return MSG_HANDLED;
984967
}
985968

969+
break;
986970
}
987971

972+
// --------------------------------------------------------------------------------------------
973+
case GWM_CHAR:
974+
{
975+
initialGadgetDelay = 1;
976+
dropDownWindows[DROPDOWN_MAIN]->winHide(FALSE);
977+
TheTransitionHandler->setGroup("MainMenuFade", TRUE);
978+
TheTransitionHandler->setGroup("MainMenuDefaultMenu");
979+
TheMouse->setVisibility(TRUE);
980+
notShown = FALSE;
981+
return MSG_HANDLED;
982+
}
988983
}
989984

990-
991985
return MSG_IGNORED;
992-
993986
}
987+
994988
void PrintOffsetsFromControlBarParent();
995989
//-------------------------------------------------------------------------------------------------
996990
/** Main menu window system callback */

0 commit comments

Comments
 (0)