From: <av...@us...> - 2009-07-01 01:22:54
|
Revision: 3164 http://sc2.svn.sourceforge.net/sc2/?rev=3164&view=rev Author: avolkov Date: 2009-07-01 00:25:39 +0000 (Wed, 01 Jul 2009) Log Message: ----------- Added missing sleeps in DoInput() functions; bug #893. Random minor cleanups Modified Paths: -------------- trunk/sc2/ChangeLog trunk/sc2/src/sc2code/comm.c trunk/sc2/src/sc2code/gameopt.c trunk/sc2/src/sc2code/getchar.c trunk/sc2/src/sc2code/libs/video/vidplayer.c trunk/sc2/src/sc2code/loadmele.c trunk/sc2/src/sc2code/melee.c trunk/sc2/src/sc2code/menu.c trunk/sc2/src/sc2code/outfit.c trunk/sc2/src/sc2code/pickship.c trunk/sc2/src/sc2code/planets/cargo.c trunk/sc2/src/sc2code/planets/devices.c trunk/sc2/src/sc2code/planets/pstarmap.c trunk/sc2/src/sc2code/planets/roster.c trunk/sc2/src/sc2code/planets/scan.c trunk/sc2/src/sc2code/restart.c trunk/sc2/src/sc2code/shipyard.c trunk/sc2/src/sc2code/starbase.c Modified: trunk/sc2/ChangeLog =================================================================== --- trunk/sc2/ChangeLog 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/ChangeLog 2009-07-01 00:25:39 UTC (rev 3164) @@ -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 Modified: trunk/sc2/src/sc2code/comm.c =================================================================== --- trunk/sc2/src/sc2code/comm.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/comm.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -1077,6 +1077,7 @@ PlayerResponseInput (ENCOUNTER_STATE *pES) { BYTE response; + DWORD TimeIn = GetTimeCounter (); if (pES->top_response == (BYTE)~0) { @@ -1152,6 +1153,8 @@ UnbatchGraphics (); UnlockMutex (GraphicsLock); } + + SleepThreadUntil (TimeIn + ONE_SECOND / 20); } } Modified: trunk/sc2/src/sc2code/gameopt.c =================================================================== --- trunk/sc2/src/sc2code/gameopt.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/gameopt.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -915,6 +915,7 @@ BYTE NewState; SUMMARY_DESC *pSD; BOOLEAN first_time; + DWORD TimeIn = GetTimeCounter (); if (GLOBAL (CurrentActivity) & CHECK_ABORT) { @@ -1185,6 +1186,8 @@ SetFlashRect (NULL, (FRAME)0); UnlockMutex (GraphicsLock); } + + SleepThreadUntil (TimeIn + ONE_SECOND / 30); } return (TRUE); Modified: trunk/sc2/src/sc2code/getchar.c =================================================================== --- trunk/sc2/src/sc2code/getchar.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/getchar.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -419,6 +419,8 @@ if (pTES->FrameCallback) return pTES->FrameCallback (pTES); + else + SleepThread (ONE_SECOND / 30); return TRUE; } Modified: trunk/sc2/src/sc2code/libs/video/vidplayer.c =================================================================== --- trunk/sc2/src/sc2code/libs/video/vidplayer.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/libs/video/vidplayer.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -453,6 +453,10 @@ } // non a/s decoder seeking is not supported yet } + else + { + SleepThread (ONE_SECOND / 30); + } return TRUE; } Modified: trunk/sc2/src/sc2code/loadmele.c =================================================================== --- trunk/sc2/src/sc2code/loadmele.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/loadmele.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -328,6 +328,8 @@ BOOLEAN DoLoadTeam (MELEE_STATE *pMS) { + DWORD TimeIn = GetTimeCounter (); + if (GLOBAL (CurrentActivity) & CHECK_ABORT) return FALSE; @@ -434,6 +436,8 @@ } } + SleepThreadUntil (TimeIn + ONE_SECOND / 30); + return TRUE; } Modified: trunk/sc2/src/sc2code/melee.c =================================================================== --- trunk/sc2/src/sc2code/melee.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/melee.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -188,7 +188,7 @@ // 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 @@ 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 @@ 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 @@ 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 @@ { 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 @@ flushPacketQueues (); #endif + SleepThreadUntil (TimeIn + ONE_SECOND / 30); + return (TRUE); } @@ -1212,6 +1219,8 @@ static BOOLEAN DoPickShip (MELEE_STATE *pMS) { + DWORD TimeIn = GetTimeCounter (); + if (GLOBAL (CurrentActivity) & CHECK_ABORT) return (FALSE); @@ -1302,12 +1311,14 @@ 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 @@ } } + SleepThreadUntil (TimeIn + ONE_SECOND / 30); + return (TRUE); } @@ -1836,6 +1849,7 @@ static BOOLEAN DoConnectingDialog (MELEE_STATE *pMS) { + DWORD TimeIn = GetTimeCounter (); COUNT which_side = (pMS->MeleeOption == NET_TOP) ? 1 : 0; NetConnection *conn; @@ -1947,7 +1961,7 @@ flushPacketQueues (); - SleepThread (30); + SleepThreadUntil (TimeIn + ONE_SECOND / 30); return TRUE; } @@ -2021,6 +2035,8 @@ BOOLEAN DoMelee (MELEE_STATE *pMS) { + DWORD TimeIn = GetTimeCounter (); + BOOLEAN force_select = FALSE; if (GLOBAL (CurrentActivity) & CHECK_ABORT) return (FALSE); @@ -2047,7 +2063,7 @@ XFormColorMap ((COLORMAPPTR)clut_buf, ONE_SECOND / 2); } - InTime = GetTimeCounter (); + LastInputTime = GetTimeCounter (); return TRUE; } @@ -2060,7 +2076,7 @@ { // Start editing the teams. LockMutex (GraphicsLock); - InTime = GetTimeCounter (); + LastInputTime = GetTimeCounter (); Deselect (pMS->MeleeOption); UnlockMutex (GraphicsLock); pMS->MeleeOption = EDIT_MELEE; @@ -2086,19 +2102,19 @@ 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 @@ 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 @@ check_for_disconnections (pMS); #endif + SleepThreadUntil (TimeIn + ONE_SECOND / 30); + return (TRUE); } @@ -2695,5 +2713,3 @@ #endif /* NETPLAY */ - - Modified: trunk/sc2/src/sc2code/menu.c =================================================================== --- trunk/sc2/src/sc2code/menu.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/menu.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -446,6 +446,7 @@ if (useAltMenu) NewState = ConvertAlternateMenu (BaseState, NewState); pMS->CurState = NewState; + SleepThread (ONE_SECOND / 20); return (TRUE); } } Modified: trunk/sc2/src/sc2code/outfit.c =================================================================== --- trunk/sc2/src/sc2code/outfit.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/outfit.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -801,7 +801,10 @@ } if (pMS->CurState == OUTFIT_DOFUEL) + { ChangeFuelQuantity (); + SleepThread (ONE_SECOND / 30); + } else DoMenuChooser (pMS, PM_FUEL); } Modified: trunk/sc2/src/sc2code/pickship.c =================================================================== --- trunk/sc2/src/sc2code/pickship.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/pickship.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -239,6 +239,8 @@ } } + SleepThread (ONE_SECOND / 30); + return (TRUE); } Modified: trunk/sc2/src/sc2code/planets/cargo.c =================================================================== --- trunk/sc2/src/sc2code/planets/cargo.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/planets/cargo.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -340,16 +340,19 @@ 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 @@ } } + SleepThread (ONE_SECOND / 30); + return (TRUE); } Modified: trunk/sc2/src/sc2code/planets/devices.c =================================================================== --- trunk/sc2/src/sc2code/planets/devices.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/planets/devices.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -496,22 +496,24 @@ 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 @@ DrawDevices (pMS, (BYTE)(pMS->CurState - 1), (BYTE)(NewState - 1)); pMS->CurState = NewState; } + + SleepThread (ONE_SECOND / 30); } return (TRUE); Modified: trunk/sc2/src/sc2code/planets/pstarmap.c =================================================================== --- trunk/sc2/src/sc2code/planets/pstarmap.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/planets/pstarmap.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -1174,6 +1174,8 @@ DrawMatchedStarName (pTES); UpdateFuelRequirement (pMS); } + + SleepThread (ONE_SECOND / 30); return TRUE; } @@ -1229,6 +1231,7 @@ #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 @@ UpdateCursorInfo (pMS, last_buf); UpdateFuelRequirement (pMS); } + + SleepThreadUntil (TimeIn + MIN_ACCEL_DELAY); } { Modified: trunk/sc2/src/sc2code/planets/roster.c =================================================================== --- trunk/sc2/src/sc2code/planets/roster.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/planets/roster.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -362,6 +362,8 @@ "flash roster menu"); } + SleepThread (ONE_SECOND / 30); + return TRUE; } Modified: trunk/sc2/src/sc2code/planets/scan.c =================================================================== --- trunk/sc2/src/sc2code/planets/scan.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/planets/scan.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -668,6 +668,7 @@ 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 @@ 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); Modified: trunk/sc2/src/sc2code/restart.c =================================================================== --- trunk/sc2/src/sc2code/restart.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/restart.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -114,8 +114,9 @@ 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 @@ 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 @@ SetupMenu (); SetMenuSounds (MENU_SOUND_UP | MENU_SOUND_DOWN, MENU_SOUND_SELECT); - InTime = GetTimeCounter (); + LastInputTime = GetTimeCounter (); SetTransitionSource (NULL); BatchGraphics (); DrawRestartMenuGraphic (pMS); @@ -255,7 +256,9 @@ UnbatchGraphics (); } - InTime = GetTimeCounter (); + LastInputTime = GetTimeCounter (); + SleepThreadUntil (TimeIn + ONE_SECOND / 30); + return (TRUE); } Modified: trunk/sc2/src/sc2code/shipyard.c =================================================================== --- trunk/sc2/src/sc2code/shipyard.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/shipyard.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -1064,6 +1064,8 @@ } } + SleepThread (ONE_SECOND / 30); + return TRUE; } Modified: trunk/sc2/src/sc2code/starbase.c =================================================================== --- trunk/sc2/src/sc2code/starbase.c 2009-06-30 10:06:23 UTC (rev 3163) +++ trunk/sc2/src/sc2code/starbase.c 2009-07-01 00:25:39 UTC (rev 3164) @@ -433,6 +433,8 @@ UnlockMutex (GraphicsLock); pMS->CurState = NewState; } + + SleepThread (ONE_SECOND / 30); } return (TRUE); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |