Melee menu flash selection task retired
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3298 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
+26
-1
@@ -263,7 +263,7 @@ FillFileView (MELEE_STATE *pMS)
|
|||||||
#define FILE_STRING_ORIGIN_Y 34
|
#define FILE_STRING_ORIGIN_Y 34
|
||||||
#define ENTRY_HEIGHT 32
|
#define ENTRY_HEIGHT 32
|
||||||
|
|
||||||
void
|
static void
|
||||||
SelectFileString (MELEE_STATE *pMS, bool hilite)
|
SelectFileString (MELEE_STATE *pMS, bool hilite)
|
||||||
{
|
{
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
@@ -325,6 +325,29 @@ RefocusView (MELEE_STATE *pMS, COUNT index)
|
|||||||
pMS->load.top = index - LOAD_TEAM_VIEW_SIZE / 2;
|
pMS->load.top = index - LOAD_TEAM_VIEW_SIZE / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
flashSelectedTeam (MELEE_STATE *pMS)
|
||||||
|
{
|
||||||
|
#define FLASH_RATE (ONE_SECOND / 9)
|
||||||
|
static TimeCount NextTime = 0;
|
||||||
|
static int hilite = 0;
|
||||||
|
TimeCount Now = GetTimeCounter ();
|
||||||
|
|
||||||
|
if (Now >= NextTime)
|
||||||
|
{
|
||||||
|
CONTEXT OldContext;
|
||||||
|
|
||||||
|
NextTime = Now + FLASH_RATE;
|
||||||
|
hilite ^= 1;
|
||||||
|
|
||||||
|
LockMutex (GraphicsLock);
|
||||||
|
OldContext = SetContext (SpaceContext);
|
||||||
|
SelectFileString (pMS, hilite);
|
||||||
|
SetContext (OldContext);
|
||||||
|
UnlockMutex (GraphicsLock);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
DoLoadTeam (MELEE_STATE *pMS)
|
DoLoadTeam (MELEE_STATE *pMS)
|
||||||
{
|
{
|
||||||
@@ -440,6 +463,8 @@ DoLoadTeam (MELEE_STATE *pMS)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flashSelectedTeam (pMS);
|
||||||
|
|
||||||
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ BOOLEAN DoLoadTeam (MELEE_STATE *pMS);
|
|||||||
BOOLEAN DoSaveTeam (MELEE_STATE *pMS);
|
BOOLEAN DoSaveTeam (MELEE_STATE *pMS);
|
||||||
bool ReadTeamImage (TEAM_IMAGE *pTI, uio_Stream *load_fp);
|
bool ReadTeamImage (TEAM_IMAGE *pTI, uio_Stream *load_fp);
|
||||||
int WriteTeamImage (TEAM_IMAGE *pTI, uio_Stream *save_fp);
|
int WriteTeamImage (TEAM_IMAGE *pTI, uio_Stream *save_fp);
|
||||||
void SelectFileString (MELEE_STATE *pMS, bool hilite);
|
|
||||||
void LoadTeamList (MELEE_STATE *pMS);
|
void LoadTeamList (MELEE_STATE *pMS);
|
||||||
|
|
||||||
#endif /* _LOADMELE_H */
|
#endif /* _LOADMELE_H */
|
||||||
|
|||||||
+25
-77
@@ -703,13 +703,10 @@ Deselect (BYTE opt)
|
|||||||
DrawMeleeIcon (25); /* "Battle!" (not highlighted) */
|
DrawMeleeIcon (25); /* "Battle!" (not highlighted) */
|
||||||
break;
|
break;
|
||||||
case LOAD_TOP:
|
case LOAD_TOP:
|
||||||
|
DrawMeleeIcon (17); /* "Load" (top, not highlighted) */
|
||||||
|
break;
|
||||||
case LOAD_BOT:
|
case LOAD_BOT:
|
||||||
if (pMeleeState->InputFunc != DoLoadTeam)
|
DrawMeleeIcon (22); /* "Load" (bottom, not highlighted) */
|
||||||
DrawMeleeIcon (opt == LOAD_TOP ? 17 : 22);
|
|
||||||
/* 17: "Load" (top, not highlighted) */
|
|
||||||
/* 22: "Load" (bottom, not highlighted) */
|
|
||||||
else
|
|
||||||
SelectFileString (pMeleeState, false);
|
|
||||||
break;
|
break;
|
||||||
case SAVE_TOP:
|
case SAVE_TOP:
|
||||||
DrawMeleeIcon (18); /* "Save" (top, not highlighted) */
|
DrawMeleeIcon (18); /* "Save" (top, not highlighted) */
|
||||||
@@ -765,13 +762,10 @@ Select (BYTE opt)
|
|||||||
DrawMeleeIcon (26); /* "Battle!" (highlighted) */
|
DrawMeleeIcon (26); /* "Battle!" (highlighted) */
|
||||||
break;
|
break;
|
||||||
case LOAD_TOP:
|
case LOAD_TOP:
|
||||||
|
DrawMeleeIcon (19); /* "Load" (top, highlighted) */
|
||||||
|
break;
|
||||||
case LOAD_BOT:
|
case LOAD_BOT:
|
||||||
if (pMeleeState->InputFunc != DoLoadTeam)
|
DrawMeleeIcon (24); /* "Load" (bottom, highlighted) */
|
||||||
DrawMeleeIcon (opt == LOAD_TOP ? 19 : 24);
|
|
||||||
/* 19: "Load" (top, highlighted) */
|
|
||||||
/* 24: "Load" (bottom, highlighted) */
|
|
||||||
else
|
|
||||||
SelectFileString (pMeleeState, true);
|
|
||||||
break;
|
break;
|
||||||
case SAVE_TOP:
|
case SAVE_TOP:
|
||||||
DrawMeleeIcon (20); /* "Save" (top; highlighted) */
|
DrawMeleeIcon (20); /* "Save" (top; highlighted) */
|
||||||
@@ -814,39 +808,30 @@ Select (BYTE opt)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static void
|
||||||
flash_selection_func (void *data)
|
flashSelection (MELEE_STATE *pMS)
|
||||||
{
|
{
|
||||||
DWORD TimeIn;
|
#define FLASH_RATE (ONE_SECOND / 9)
|
||||||
Task task = (Task) data;
|
static TimeCount NextTime = 0;
|
||||||
volatile MELEE_STATE *pMS = pMeleeState;
|
static bool select = false;
|
||||||
|
TimeCount Now = GetTimeCounter ();
|
||||||
|
|
||||||
TimeIn = GetTimeCounter ();
|
if (Now >= NextTime)
|
||||||
while (!Task_ReadState (task, TASK_EXIT))
|
|
||||||
{
|
{
|
||||||
#define FLASH_RATE (ONE_SECOND / 8)
|
|
||||||
CONTEXT OldContext;
|
CONTEXT OldContext;
|
||||||
|
|
||||||
LockMutex (GraphicsLock);
|
NextTime = Now + FLASH_RATE;
|
||||||
OldContext = SetContext (SpaceContext);
|
select ^= true;
|
||||||
Deselect (pMS->MeleeOption);
|
|
||||||
SetContext (OldContext);
|
|
||||||
UnlockMutex (GraphicsLock);
|
|
||||||
SleepThreadUntil (TimeIn + FLASH_RATE);
|
|
||||||
TimeIn = GetTimeCounter ();
|
|
||||||
|
|
||||||
LockMutex (GraphicsLock);
|
LockMutex (GraphicsLock);
|
||||||
OldContext = SetContext (SpaceContext);
|
OldContext = SetContext (SpaceContext);
|
||||||
Select (pMS->MeleeOption);
|
if (select)
|
||||||
|
Select (pMS->MeleeOption);
|
||||||
|
else
|
||||||
|
Deselect (pMS->MeleeOption);
|
||||||
SetContext (OldContext);
|
SetContext (OldContext);
|
||||||
UnlockMutex (GraphicsLock);
|
UnlockMutex (GraphicsLock);
|
||||||
SleepThreadUntil (TimeIn + FLASH_RATE);
|
|
||||||
TimeIn = GetTimeCounter ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FinishTask (task);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -867,9 +852,6 @@ InitMelee (MELEE_STATE *pMS)
|
|||||||
|
|
||||||
r.corner.x = r.corner.y = 0;
|
r.corner.x = r.corner.y = 0;
|
||||||
RedrawMeleeFrame ();
|
RedrawMeleeFrame ();
|
||||||
|
|
||||||
pMS->flash_task = AssignTask (flash_selection_func, 2048,
|
|
||||||
"flash melee selection");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -1220,6 +1202,8 @@ DoEdit (MELEE_STATE *pMS)
|
|||||||
flushPacketQueues ();
|
flushPacketQueues ();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
flashSelection (pMS);
|
||||||
|
|
||||||
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
@@ -1290,11 +1274,7 @@ DoPickShip (MELEE_STATE *pMS)
|
|||||||
else if (PulsedInputState.menu[KEY_MENU_SPECIAL]
|
else if (PulsedInputState.menu[KEY_MENU_SPECIAL]
|
||||||
&& (pMeleeState->CurIndex != (BYTE)~0))
|
&& (pMeleeState->CurIndex != (BYTE)~0))
|
||||||
{
|
{
|
||||||
BOOLEAN (*InputFunc) (struct melee_state *pInputState);
|
|
||||||
InputFunc = pMS->InputFunc;
|
|
||||||
pMS->InputFunc = 0; /* disable ship flashing */
|
|
||||||
DoShipSpin (pMS->CurIndex, (MUSIC_REF)0);
|
DoShipSpin (pMS->CurIndex, (MUSIC_REF)0);
|
||||||
pMS->InputFunc = InputFunc;
|
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
}
|
}
|
||||||
@@ -1342,6 +1322,8 @@ DoPickShip (MELEE_STATE *pMS)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flashSelection (pMS);
|
||||||
|
|
||||||
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
@@ -1554,11 +1536,6 @@ LoadMeleeInfo (MELEE_STATE *pMS)
|
|||||||
static void
|
static void
|
||||||
FreeMeleeInfo (MELEE_STATE *pMS)
|
FreeMeleeInfo (MELEE_STATE *pMS)
|
||||||
{
|
{
|
||||||
if (pMS->flash_task)
|
|
||||||
{
|
|
||||||
ConcludeTask (pMS->flash_task);
|
|
||||||
pMS->flash_task = 0;
|
|
||||||
}
|
|
||||||
DestroyDirEntryTable (ReleaseDirEntryTable (pMS->load.dirEntries));
|
DestroyDirEntryTable (ReleaseDirEntryTable (pMS->load.dirEntries));
|
||||||
pMS->load.dirEntries = 0;
|
pMS->load.dirEntries = 0;
|
||||||
|
|
||||||
@@ -1696,12 +1673,6 @@ BuildAndDrawShipList (MELEE_STATE *pMS)
|
|||||||
static void
|
static void
|
||||||
StartMelee (MELEE_STATE *pMS)
|
StartMelee (MELEE_STATE *pMS)
|
||||||
{
|
{
|
||||||
if (pMS->flash_task)
|
|
||||||
{
|
|
||||||
ConcludeTask (pMS->flash_task);
|
|
||||||
pMS->flash_task = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
{
|
||||||
BYTE black_buf[] = {FadeAllToBlack};
|
BYTE black_buf[] = {FadeAllToBlack};
|
||||||
|
|
||||||
@@ -1926,11 +1897,6 @@ DoConnectingDialog (MELEE_STATE *pMS)
|
|||||||
RedrawMeleeFrame ();
|
RedrawMeleeFrame ();
|
||||||
pMS->InputFunc = DoMelee;
|
pMS->InputFunc = DoMelee;
|
||||||
pMS->LastInputTime = GetTimeCounter ();
|
pMS->LastInputTime = GetTimeCounter ();
|
||||||
if (!pMS->flash_task)
|
|
||||||
{
|
|
||||||
pMS->flash_task = AssignTask (flash_selection_func, 2048,
|
|
||||||
"flash melee selection");
|
|
||||||
}
|
|
||||||
|
|
||||||
flushPacketQueues ();
|
flushPacketQueues ();
|
||||||
|
|
||||||
@@ -1955,11 +1921,6 @@ DoConnectingDialog (MELEE_STATE *pMS)
|
|||||||
pMS->LastInputTime = GetTimeCounter ();
|
pMS->LastInputTime = GetTimeCounter ();
|
||||||
Deselect (pMS->MeleeOption);
|
Deselect (pMS->MeleeOption);
|
||||||
pMS->MeleeOption = START_MELEE;
|
pMS->MeleeOption = START_MELEE;
|
||||||
if (!pMS->flash_task)
|
|
||||||
{
|
|
||||||
pMS->flash_task = AssignTask (flash_selection_func, 2048,
|
|
||||||
"flash melee selection");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2083,12 +2044,6 @@ MeleeOptionSelect (MELEE_STATE *pMS)
|
|||||||
COUNT which_side;
|
COUNT which_side;
|
||||||
BOOLEAN confirmed;
|
BOOLEAN confirmed;
|
||||||
|
|
||||||
if (pMS->flash_task)
|
|
||||||
{
|
|
||||||
ConcludeTask (pMS->flash_task);
|
|
||||||
pMS->flash_task = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
which_side = pMS->MeleeOption == NET_TOP ? 1 : 0;
|
which_side = pMS->MeleeOption == NET_TOP ? 1 : 0;
|
||||||
confirmed = MeleeConnectDialog (which_side);
|
confirmed = MeleeConnectDialog (which_side);
|
||||||
RedrawMeleeFrame ();
|
RedrawMeleeFrame ();
|
||||||
@@ -2098,15 +2053,6 @@ MeleeOptionSelect (MELEE_STATE *pMS)
|
|||||||
pMS->Initialized = FALSE;
|
pMS->Initialized = FALSE;
|
||||||
pMS->InputFunc = DoConnectingDialog;
|
pMS->InputFunc = DoConnectingDialog;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (!pMS->flash_task)
|
|
||||||
{
|
|
||||||
pMS->flash_task = AssignTask (flash_selection_func,
|
|
||||||
2048, "flash melee selection");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* NETPLAY */
|
#endif /* NETPLAY */
|
||||||
@@ -2248,6 +2194,8 @@ DoMelee (MELEE_STATE *pMS)
|
|||||||
check_for_disconnections (pMS);
|
check_for_disconnections (pMS);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
flashSelection (pMS);
|
||||||
|
|
||||||
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
|
||||||
|
|
||||||
return (TRUE);
|
return (TRUE);
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
#define _MELEE_H
|
#define _MELEE_H
|
||||||
|
|
||||||
#include "init.h"
|
#include "init.h"
|
||||||
#include "libs/tasklib.h"
|
|
||||||
#include "libs/gfxlib.h"
|
#include "libs/gfxlib.h"
|
||||||
#include "libs/mathlib.h"
|
#include "libs/mathlib.h"
|
||||||
#include "libs/sndlib.h"
|
#include "libs/sndlib.h"
|
||||||
@@ -112,7 +111,6 @@ struct melee_state
|
|||||||
struct melee_side_state SideState[NUM_SIDES];
|
struct melee_side_state SideState[NUM_SIDES];
|
||||||
struct melee_load_state load;
|
struct melee_load_state load;
|
||||||
COUNT CurIndex;
|
COUNT CurIndex;
|
||||||
Task flash_task;
|
|
||||||
RandomContext *randomContext;
|
RandomContext *randomContext;
|
||||||
/* RNG state for all local random decisions, i.e. those
|
/* RNG state for all local random decisions, i.e. those
|
||||||
* decisions that are not shared among network parties. */
|
* decisions that are not shared among network parties. */
|
||||||
|
|||||||
Reference in New Issue
Block a user