Added missing sleeps in DoInput() functions; bug #893. Random minor cleanups

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3164 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2009-07-01 00:25:39 +00:00
parent f2a8766252
commit d877ed58f1
18 changed files with 107 additions and 46 deletions
+1
View File
@@ -1,4 +1,5 @@
Changes towards version 0.7:
- Added missing sleeps in DoInput() functions (bug #893) - Alex
- Starmap unit conversion corrections; fixes bug #970 - Alex
- Rounding-error correction in log(x|y)ToUniverse (bug #1046), from Nic
- Change hardcoded Starbase and Sa-Matra values to pretty enum values
+3
View File
@@ -1077,6 +1077,7 @@ static void
PlayerResponseInput (ENCOUNTER_STATE *pES)
{
BYTE response;
DWORD TimeIn = GetTimeCounter ();
if (pES->top_response == (BYTE)~0)
{
@@ -1152,6 +1153,8 @@ PlayerResponseInput (ENCOUNTER_STATE *pES)
UnbatchGraphics ();
UnlockMutex (GraphicsLock);
}
SleepThreadUntil (TimeIn + ONE_SECOND / 20);
}
}
+3
View File
@@ -915,6 +915,7 @@ DoPickGame (MENU_STATE *pMS)
BYTE NewState;
SUMMARY_DESC *pSD;
BOOLEAN first_time;
DWORD TimeIn = GetTimeCounter ();
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
{
@@ -1185,6 +1186,8 @@ ChangeGameSelection:
SetFlashRect (NULL, (FRAME)0);
UnlockMutex (GraphicsLock);
}
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
}
return (TRUE);
+2
View File
@@ -419,6 +419,8 @@ DoTextEntry (TEXTENTRY_STATE *pTES)
if (pTES->FrameCallback)
return pTES->FrameCallback (pTES);
else
SleepThread (ONE_SECOND / 30);
return TRUE;
}
+4
View File
@@ -453,6 +453,10 @@ TFB_DoVideoInput (void *pIS)
}
// non a/s decoder seeking is not supported yet
}
else
{
SleepThread (ONE_SECOND / 30);
}
return TRUE;
}
+4
View File
@@ -328,6 +328,8 @@ RefocusView (MELEE_STATE *pMS, COUNT index)
BOOLEAN
DoLoadTeam (MELEE_STATE *pMS)
{
DWORD TimeIn = GetTimeCounter ();
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
return FALSE;
@@ -434,6 +436,8 @@ DoLoadTeam (MELEE_STATE *pMS)
}
}
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
return TRUE;
}
+39 -23
View File
@@ -188,7 +188,7 @@ FRAME MeleeFrame;
// Loaded from melee/melebkgd.ani
static FRAME BuildPickFrame;
// Constructed.
DWORD InTime;
DWORD LastInputTime;
MELEE_STATE *pMeleeState;
BOOLEAN DoMelee (MELEE_STATE *pMS);
@@ -1014,9 +1014,11 @@ DeleteCurrentShip (MELEE_STATE *pMS)
static void
AdvanceCursor (MELEE_STATE *pMS)
{
if (++pMS->col == NUM_MELEE_COLUMNS)
++pMS->col;
if (pMS->col == NUM_MELEE_COLUMNS)
{
if (++pMS->row < NUM_MELEE_ROWS)
++pMS->row;
if (pMS->row < NUM_MELEE_ROWS)
pMS->col = 0;
else
{
@@ -1047,8 +1049,11 @@ OnTeamNameChange (TEXTENTRY_STATE *pTES)
static BOOLEAN
DoEdit (MELEE_STATE *pMS)
{
DWORD TimeIn = GetTimeCounter ();
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
return (FALSE);
SetMenuSounds (MENU_SOUND_ARROWS, MENU_SOUND_SELECT | MENU_SOUND_DELETE);
if (!pMS->Initialized)
{
@@ -1078,7 +1083,7 @@ DoEdit (MELEE_STATE *pMS)
pMS->MeleeOption = START_MELEE;
pMS->InputFunc = DoMelee;
UnlockMutex (GraphicsLock);
InTime = GetTimeCounter ();
LastInputTime = GetTimeCounter ();
}
else if (pMS->row < NUM_MELEE_ROWS
&& (PulsedInputState.menu[KEY_MENU_SELECT] ||
@@ -1151,13 +1156,13 @@ DoEdit (MELEE_STATE *pMS)
{
if (PulsedInputState.menu[KEY_MENU_LEFT])
{
if (col-- == 0)
col = 0;
if (col > 0)
--col;
}
else if (PulsedInputState.menu[KEY_MENU_RIGHT])
{
if (++col == NUM_MELEE_COLUMNS)
col = NUM_MELEE_COLUMNS - 1;
if (col < NUM_MELEE_COLUMNS - 1)
++col;
}
if (PulsedInputState.menu[KEY_MENU_UP])
@@ -1205,6 +1210,8 @@ DoEdit (MELEE_STATE *pMS)
flushPacketQueues ();
#endif
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
return (TRUE);
}
@@ -1212,6 +1219,8 @@ DoEdit (MELEE_STATE *pMS)
static BOOLEAN
DoPickShip (MELEE_STATE *pMS)
{
DWORD TimeIn = GetTimeCounter ();
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
return (FALSE);
@@ -1302,12 +1311,14 @@ DoPickShip (MELEE_STATE *pMS)
if (PulsedInputState.menu[KEY_MENU_LEFT])
{
if (NewStarShip-- % NUM_PICK_COLS == 0)
if (NewStarShip % NUM_PICK_COLS == 0)
NewStarShip += NUM_PICK_COLS;
--NewStarShip;
}
else if (PulsedInputState.menu[KEY_MENU_RIGHT])
{
if (++NewStarShip % NUM_PICK_COLS == 0)
++NewStarShip;
if (NewStarShip % NUM_PICK_COLS == 0)
NewStarShip -= NUM_PICK_COLS;
}
@@ -1336,6 +1347,8 @@ DoPickShip (MELEE_STATE *pMS)
}
}
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
return (TRUE);
}
@@ -1836,6 +1849,7 @@ StartMeleeButtonPressed (MELEE_STATE *pMS)
static BOOLEAN
DoConnectingDialog (MELEE_STATE *pMS)
{
DWORD TimeIn = GetTimeCounter ();
COUNT which_side = (pMS->MeleeOption == NET_TOP) ? 1 : 0;
NetConnection *conn;
@@ -1947,7 +1961,7 @@ DoConnectingDialog (MELEE_STATE *pMS)
flushPacketQueues ();
SleepThread (30);
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
return TRUE;
}
@@ -2021,6 +2035,8 @@ nextControlType (COUNT which_side)
BOOLEAN
DoMelee (MELEE_STATE *pMS)
{
DWORD TimeIn = GetTimeCounter ();
BOOLEAN force_select = FALSE;
if (GLOBAL (CurrentActivity) & CHECK_ABORT)
return (FALSE);
@@ -2047,7 +2063,7 @@ DoMelee (MELEE_STATE *pMS)
XFormColorMap ((COLORMAPPTR)clut_buf, ONE_SECOND / 2);
}
InTime = GetTimeCounter ();
LastInputTime = GetTimeCounter ();
return TRUE;
}
@@ -2060,7 +2076,7 @@ DoMelee (MELEE_STATE *pMS)
{
// Start editing the teams.
LockMutex (GraphicsLock);
InTime = GetTimeCounter ();
LastInputTime = GetTimeCounter ();
Deselect (pMS->MeleeOption);
UnlockMutex (GraphicsLock);
pMS->MeleeOption = EDIT_MELEE;
@@ -2086,19 +2102,19 @@ DoMelee (MELEE_STATE *pMS)
NewMeleeOption = pMS->MeleeOption;
if (PulsedInputState.menu[KEY_MENU_UP])
{
InTime = GetTimeCounter ();
if (NewMeleeOption-- == TOP_ENTRY)
NewMeleeOption = TOP_ENTRY;
LastInputTime = GetTimeCounter ();
if (NewMeleeOption != TOP_ENTRY)
--NewMeleeOption;
}
else if (PulsedInputState.menu[KEY_MENU_DOWN])
{
InTime = GetTimeCounter ();
if (NewMeleeOption++ == QUIT_BOT)
NewMeleeOption = QUIT_BOT;
LastInputTime = GetTimeCounter ();
if (NewMeleeOption != QUIT_BOT)
++NewMeleeOption;
}
if ((PlayerControl[0] & PlayerControl[1] & PSYTRON_CONTROL)
&& GetTimeCounter () - InTime > ONE_SECOND * 10)
&& GetTimeCounter () - LastInputTime > ONE_SECOND * 10)
{
force_select = TRUE;
NewMeleeOption = START_MELEE;
@@ -2143,7 +2159,7 @@ DoMelee (MELEE_STATE *pMS)
pMS->Initialized = FALSE;
pMS->side = pMS->MeleeOption == LOAD_TOP ? 0 : 1;
DoLoadTeam (pMS);
InTime = GetTimeCounter ();
LastInputTime = GetTimeCounter ();
break;
case SAVE_TOP:
case SAVE_BOT:
@@ -2208,6 +2224,8 @@ DoMelee (MELEE_STATE *pMS)
check_for_disconnections (pMS);
#endif
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
return (TRUE);
}
@@ -2695,5 +2713,3 @@ closeFeedback (NetConnection *conn)
#endif /* NETPLAY */
+1
View File
@@ -446,6 +446,7 @@ DoMenuChooser (MENU_STATE *pMS, BYTE BaseState)
if (useAltMenu)
NewState = ConvertAlternateMenu (BaseState, NewState);
pMS->CurState = NewState;
SleepThread (ONE_SECOND / 20);
return (TRUE);
}
}
+3
View File
@@ -801,7 +801,10 @@ ExitOutfit:
}
if (pMS->CurState == OUTFIT_DOFUEL)
{
ChangeFuelQuantity ();
SleepThread (ONE_SECOND / 30);
}
else
DoMenuChooser (pMS, PM_FUEL);
}
+2
View File
@@ -239,6 +239,8 @@ ChangeSelection:
}
}
SleepThread (ONE_SECOND / 30);
return (TRUE);
}
+9 -4
View File
@@ -340,16 +340,19 @@ DoDiscardCargo (MENU_STATE *pMS)
NewState = pMS->CurState - 1;
if (back)
{
if (NewState-- == 0)
NewState = NUM_ELEMENT_CATEGORIES - 1;
if (NewState == 0)
NewState += NUM_ELEMENT_CATEGORIES;
--NewState;
}
else if (forward)
{
if (++NewState == NUM_ELEMENT_CATEGORIES)
++NewState;
if (NewState == NUM_ELEMENT_CATEGORIES)
NewState = 0;
}
if (++NewState != pMS->CurState)
++NewState;
if (NewState != pMS->CurState)
{
SelectCargo:
DrawCargoStrings ((BYTE)(pMS->CurState - 1), (BYTE)(NewState - 1));
@@ -361,6 +364,8 @@ SelectCargo:
}
}
SleepThread (ONE_SECOND / 30);
return (TRUE);
}
+8 -4
View File
@@ -496,22 +496,24 @@ DoManipulateDevices (MENU_STATE *pMS)
NewState = pMS->CurState - 1;
if (back)
{
if (NewState-- == 0)
NewState = 0;
if (NewState > 0)
--NewState;
if ((SIZE)NewState < NewTop && (NewTop -= MAX_VIS_DEVICES) < 0)
NewTop = 0;
}
else if (forward)
{
if (++NewState == (BYTE)pMS->first_item.x)
++NewState;
if (NewState == (BYTE)pMS->first_item.x)
NewState = (BYTE)(pMS->first_item.x - 1);
if (NewState >= NewTop + MAX_VIS_DEVICES)
NewTop = NewState;
}
if (++NewState != pMS->CurState)
++NewState;
if (NewState != pMS->CurState)
{
if (NewTop != pMS->first_item.y)
{
@@ -522,6 +524,8 @@ SelectDevice:
DrawDevices (pMS, (BYTE)(pMS->CurState - 1), (BYTE)(NewState - 1));
pMS->CurState = NewState;
}
SleepThread (ONE_SECOND / 30);
}
return (TRUE);
+5
View File
@@ -1174,6 +1174,8 @@ OnStarNameFrame (TEXTENTRY_STATE *pTES)
DrawMatchedStarName (pTES);
UpdateFuelRequirement (pMS);
}
SleepThread (ONE_SECOND / 30);
return TRUE;
}
@@ -1229,6 +1231,7 @@ DoMoveCursor (MENU_STATE *pMS)
#define MAX_ACCEL_DELAY (ONE_SECOND / 8)
#define STEP_ACCEL_DELAY (ONE_SECOND / 120)
static UNICODE last_buf[CURSOR_INFO_BUFSIZE];
DWORD TimeIn = GetTimeCounter ();
pMS->MenuRepeatDelay = (COUNT)pMS->CurState;
if (!pMS->Initialized)
@@ -1339,6 +1342,8 @@ DoMoveCursor (MENU_STATE *pMS)
UpdateCursorInfo (pMS, last_buf);
UpdateFuelRequirement (pMS);
}
SleepThreadUntil (TimeIn + MIN_ACCEL_DELAY);
}
{
+2
View File
@@ -362,6 +362,8 @@ SelectSupport:
"flash roster menu");
}
SleepThread (ONE_SECOND / 30);
return TRUE;
}
+3 -4
View File
@@ -668,6 +668,7 @@ static BOOLEAN DoScan (MENU_STATE *pMS);
static BOOLEAN
PickPlanetSide (MENU_STATE *pMS)
{
DWORD TimeIn = GetTimeCounter ();
BOOLEAN select, cancel;
select = PulsedInputState.menu[KEY_MENU_SELECT];
cancel = PulsedInputState.menu[KEY_MENU_CANCEL];
@@ -844,12 +845,10 @@ ExitPlanetSide:
if (new_pt.x != pSolarSysState->MenuState.first_item.x
|| new_pt.y != pSolarSysState->MenuState.first_item.y)
{
DWORD TimeIn;
TimeIn = GetTimeCounter ();
SetPlanetLoc (new_pt);
SleepThreadUntil (TimeIn + ONE_SECOND / 40);
}
SleepThreadUntil (TimeIn + ONE_SECOND / 40);
}
return (TRUE);
+14 -11
View File
@@ -114,8 +114,9 @@ DrawRestartMenu (BYTE OldState, BYTE NewState, FRAME f)
static BOOLEAN
DoRestart (MENU_STATE *pMS)
{
static DWORD InTime;
static DWORD LastInputTime;
static DWORD InactTimeOut;
DWORD TimeIn = GetTimeCounter ();
/* Cancel any presses of the Pause key. */
GamePaused = FALSE;
@@ -158,15 +159,15 @@ DoRestart (MENU_STATE *pMS)
PulsedInputState.menu[KEY_MENU_SELECT] || MouseButtonDown))
{
if (GetTimeCounter () - InTime < InactTimeOut)
return (TRUE);
if (GetTimeCounter () - LastInputTime > InactTimeOut)
{
SleepThreadUntil (FadeMusic (0, ONE_SECOND));
StopMusic ();
FadeMusic (NORMAL_VOLUME, 0);
SleepThreadUntil (FadeMusic (0, ONE_SECOND));
StopMusic ();
FadeMusic (NORMAL_VOLUME, 0);
GLOBAL (CurrentActivity) = (ACTIVITY)~0;
return (FALSE);
GLOBAL (CurrentActivity) = (ACTIVITY)~0;
return (FALSE);
}
}
else if (PulsedInputState.menu[KEY_MENU_SELECT])
{
@@ -192,7 +193,7 @@ DoRestart (MENU_STATE *pMS)
SetupMenu ();
SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN,
MENU_SOUND_SELECT);
InTime = GetTimeCounter ();
LastInputTime = GetTimeCounter ();
SetTransitionSource (NULL);
BatchGraphics ();
DrawRestartMenuGraphic (pMS);
@@ -255,7 +256,9 @@ DoRestart (MENU_STATE *pMS)
UnbatchGraphics ();
}
InTime = GetTimeCounter ();
LastInputTime = GetTimeCounter ();
SleepThreadUntil (TimeIn + ONE_SECOND / 30);
return (TRUE);
}
+2
View File
@@ -1064,6 +1064,8 @@ ChangeFlashRect:
}
}
SleepThread (ONE_SECOND / 30);
return TRUE;
}
+2
View File
@@ -433,6 +433,8 @@ ExitStarBase:
UnlockMutex (GraphicsLock);
pMS->CurState = NewState;
}
SleepThread (ONE_SECOND / 30);
}
return (TRUE);