Fixes menu special key deleting ships in Melee fleet rows

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3283 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2009-11-05 22:10:41 +00:00
parent 55c0e71693
commit a80d533fa7
+15 -25
View File
@@ -1088,17 +1088,25 @@ DoEdit (MELEE_STATE *pMS)
pMS->LastInputTime = GetTimeCounter (); pMS->LastInputTime = GetTimeCounter ();
} }
else if (pMS->row < NUM_MELEE_ROWS else if (pMS->row < NUM_MELEE_ROWS
&& (PulsedInputState.menu[KEY_MENU_SELECT] || && PulsedInputState.menu[KEY_MENU_SELECT])
PulsedInputState.menu[KEY_MENU_SPECIAL]))
{ {
// Show a popup to add a new ship to the current team. // Show a popup to add a new ship to the current team.
if (PulsedInputState.menu[KEY_MENU_SELECT])
pMS->Initialized = 0; pMS->Initialized = 0;
else
pMS->Initialized = -1;
FlushInput (); FlushInput ();
DoPickShip (pMS); DoPickShip (pMS);
} }
else if (pMS->row < NUM_MELEE_ROWS
&& PulsedInputState.menu[KEY_MENU_SPECIAL])
{
// TODO: this is a stub; Should we display a ship spin?
LockMutex (GraphicsLock);
Deselect (EDIT_MELEE);
if (pMS->CurIndex != (BYTE)~0)
{
// Do something with pMS->CurIndex here
}
UnlockMutex (GraphicsLock);
}
else if (pMS->row < NUM_MELEE_ROWS && else if (pMS->row < NUM_MELEE_ROWS &&
PulsedInputState.menu[KEY_MENU_DELETE]) PulsedInputState.menu[KEY_MENU_DELETE])
{ {
@@ -1231,15 +1239,11 @@ DoPickShip (MELEE_STATE *pMS)
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT); SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT);
if (pMS->Initialized <= 0) if (!pMS->Initialized)
{ {
if (pMS->CurIndex == (BYTE)~0 && pMS->Initialized == 0) if (pMS->CurIndex == (BYTE)~0)
pMS->CurIndex = 0; pMS->CurIndex = 0;
else if (pMS->CurIndex != (BYTE)~0)
DeleteCurrentShip (pMS);
if (pMS->Initialized == 0)
{
LockMutex (GraphicsLock); LockMutex (GraphicsLock);
Deselect (EDIT_MELEE); Deselect (EDIT_MELEE);
pMS->InputFunc = DoPickShip; pMS->InputFunc = DoPickShip;
@@ -1247,20 +1251,6 @@ DoPickShip (MELEE_STATE *pMS)
pMS->Initialized = TRUE; pMS->Initialized = TRUE;
UnlockMutex (GraphicsLock); UnlockMutex (GraphicsLock);
} }
else
{
FleetShipIndex fleetShipIndex = GetShipIndex (pMS->row, pMS->col);
LockMutex (GraphicsLock);
Deselect (EDIT_MELEE);
pMS->Initialized = TRUE;
AdvanceCursor (pMS);
pMS->CurIndex = pMS->SideState[pMS->side].TeamImage.ShipList[
fleetShipIndex];
UnlockMutex (GraphicsLock);
DrawMeleeShipStrings (pMS, (BYTE)(pMS->CurIndex));
}
}
else if (PulsedInputState.menu[KEY_MENU_SELECT] || else if (PulsedInputState.menu[KEY_MENU_SELECT] ||
PulsedInputState.menu[KEY_MENU_CANCEL]) PulsedInputState.menu[KEY_MENU_CANCEL])
{ {