The utter destruction of pMenuState
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3320 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -48,8 +48,6 @@ typedef struct menu_state
|
|||||||
void *Extra;
|
void *Extra;
|
||||||
} MENU_STATE;
|
} MENU_STATE;
|
||||||
|
|
||||||
extern MENU_STATE *pMenuState;
|
|
||||||
|
|
||||||
#endif /* _MENUSTAT_H */
|
#endif /* _MENUSTAT_H */
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -278,10 +278,8 @@ OldContext = SetContext (SpaceContext);
|
|||||||
MenuState.flash_rect1.extent.width = 0;
|
MenuState.flash_rect1.extent.width = 0;
|
||||||
|
|
||||||
UnlockMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
pMenuState = &MenuState;
|
|
||||||
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
||||||
DoInput (&MenuState, FALSE);
|
DoInput (&MenuState, FALSE);
|
||||||
pMenuState = 0;
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
SetFlashRect (NULL);
|
SetFlashRect (NULL);
|
||||||
|
|||||||
@@ -1590,7 +1590,6 @@ DoStarMap (void)
|
|||||||
RECT clip_r;
|
RECT clip_r;
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
pMenuState = &MenuState;
|
|
||||||
memset (&MenuState, 0, sizeof (MenuState));
|
memset (&MenuState, 0, sizeof (MenuState));
|
||||||
|
|
||||||
zoomLevel = 0;
|
zoomLevel = 0;
|
||||||
@@ -1638,8 +1637,6 @@ DoStarMap (void)
|
|||||||
DoInput (&MenuState, FALSE);
|
DoInput (&MenuState, FALSE);
|
||||||
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
||||||
|
|
||||||
pMenuState = 0;
|
|
||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
|
|
||||||
DrawHyperCoords (universe);
|
DrawHyperCoords (universe);
|
||||||
@@ -1717,10 +1714,8 @@ DoFlagshipCommands (MENU_STATE *pMS)
|
|||||||
break;
|
break;
|
||||||
case EQUIP_DEVICE:
|
case EQUIP_DEVICE:
|
||||||
{
|
{
|
||||||
pMenuState = pMS;
|
|
||||||
if (!Devices (pMS))
|
if (!Devices (pMS))
|
||||||
select = FALSE;
|
select = FALSE;
|
||||||
pMenuState = 0;
|
|
||||||
if (GET_GAME_STATE (PORTAL_COUNTER)) {
|
if (GET_GAME_STATE (PORTAL_COUNTER)) {
|
||||||
// A player-induced portal to QuasiSpace is
|
// A player-induced portal to QuasiSpace is
|
||||||
// opening.
|
// opening.
|
||||||
|
|||||||
@@ -390,10 +390,6 @@ Roster (void)
|
|||||||
if (num_support_ships)
|
if (num_support_ships)
|
||||||
{
|
{
|
||||||
MENU_STATE MenuState;
|
MENU_STATE MenuState;
|
||||||
MENU_STATE *pOldMenuState;
|
|
||||||
|
|
||||||
pOldMenuState = pMenuState;
|
|
||||||
pMenuState = &MenuState;
|
|
||||||
|
|
||||||
// Get the ship positions we will use and sort on X then Y
|
// Get the ship positions we will use and sort on X then Y
|
||||||
assert (sizeof (sorted_ship_pos) == sizeof (ship_pos));
|
assert (sizeof (sorted_ship_pos) == sizeof (ship_pos));
|
||||||
@@ -409,8 +405,6 @@ Roster (void)
|
|||||||
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
||||||
DoInput (&MenuState, TRUE);
|
DoInput (&MenuState, TRUE);
|
||||||
|
|
||||||
pMenuState = pOldMenuState;
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1205,10 +1205,8 @@ ScanSystem (void)
|
|||||||
else
|
else
|
||||||
PrintCoarseScan3DO ();
|
PrintCoarseScan3DO ();
|
||||||
|
|
||||||
pMenuState = &MenuState;
|
|
||||||
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
|
||||||
DoInput (&MenuState, FALSE);
|
DoInput (&MenuState, FALSE);
|
||||||
pMenuState = 0;
|
|
||||||
|
|
||||||
if (ScanContext)
|
if (ScanContext)
|
||||||
{
|
{
|
||||||
|
|||||||
+11
-22
@@ -34,8 +34,6 @@
|
|||||||
#include "libs/tasklib.h"
|
#include "libs/tasklib.h"
|
||||||
|
|
||||||
|
|
||||||
MENU_STATE *pMenuState;
|
|
||||||
|
|
||||||
static void CleanupAfterStarBase (void);
|
static void CleanupAfterStarBase (void);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -473,8 +471,6 @@ VisitStarBase (void)
|
|||||||
HSHIPFRAG hStarShip;
|
HSHIPFRAG hStarShip;
|
||||||
SHIP_FRAGMENT *FragPtr;
|
SHIP_FRAGMENT *FragPtr;
|
||||||
|
|
||||||
pMenuState = 0;
|
|
||||||
|
|
||||||
// Unallied Starbase conversation
|
// Unallied Starbase conversation
|
||||||
SetCommIntroMode (CIM_CROSSFADE_SCREEN, 0);
|
SetCommIntroMode (CIM_CROSSFADE_SCREEN, 0);
|
||||||
InitCommunication (COMMANDER_CONVERSATION);
|
InitCommunication (COMMANDER_CONVERSATION);
|
||||||
@@ -501,24 +497,16 @@ VisitStarBase (void)
|
|||||||
return; // Killed by Ilwrath
|
return; // Killed by Ilwrath
|
||||||
|
|
||||||
// After Ilwrath battle, about-to-ally Starbase conversation
|
// After Ilwrath battle, about-to-ally Starbase conversation
|
||||||
{
|
SetCommIntroMode (CIM_CROSSFADE_SCREEN, 0);
|
||||||
pMenuState = &MenuState;
|
InitCommunication (COMMANDER_CONVERSATION);
|
||||||
SetCommIntroMode (CIM_CROSSFADE_SCREEN, 0);
|
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
||||||
InitCommunication (COMMANDER_CONVERSATION);
|
return;
|
||||||
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
|
// XXX: InitCommunication() clears these flags, and we need them
|
||||||
return;
|
// This marks that we are in Starbase.
|
||||||
// XXX: InitCommunication() clears these flags, and we need them
|
SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, (BYTE)~0);
|
||||||
// This marks that we are in Starbase.
|
|
||||||
SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, (BYTE)~0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
prevMsgMode = SetStatusMessageMode (SMM_RES_UNITS);
|
prevMsgMode = SetStatusMessageMode (SMM_RES_UNITS);
|
||||||
pMenuState = &MenuState;
|
|
||||||
|
|
||||||
memset (&MenuState, 0, sizeof (MenuState));
|
|
||||||
|
|
||||||
MenuState.InputFunc = DoStarBase;
|
|
||||||
|
|
||||||
if (GET_GAME_STATE (MOONBASE_ON_SHIP)
|
if (GET_GAME_STATE (MOONBASE_ON_SHIP)
|
||||||
|| GET_GAME_STATE (CHMMR_BOMB_STATE) == 2)
|
|| GET_GAME_STATE (CHMMR_BOMB_STATE) == 2)
|
||||||
@@ -538,13 +526,14 @@ VisitStarBase (void)
|
|||||||
SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, (BYTE)~0);
|
SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, (BYTE)~0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memset (&MenuState, 0, sizeof (MenuState));
|
||||||
|
MenuState.InputFunc = DoStarBase;
|
||||||
|
|
||||||
OldContext = SetContext (ScreenContext);
|
OldContext = SetContext (ScreenContext);
|
||||||
DoInput (pMenuState, TRUE);
|
DoInput (&MenuState, TRUE);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
|
|
||||||
pMenuState = 0;
|
|
||||||
SetStatusMessageMode (prevMsgMode);
|
SetStatusMessageMode (prevMsgMode);
|
||||||
|
|
||||||
CleanupAfterStarBase ();
|
CleanupAfterStarBase ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user