diff --git a/sc2/src/sc2code/border.c b/sc2/src/sc2code/border.c index ba66fa429..237d8085d 100644 --- a/sc2/src/sc2code/border.c +++ b/sc2/src/sc2code/border.c @@ -48,7 +48,6 @@ DrawSISFrame (void) { RECT r; - LockMutex (GraphicsLock); SetContext (ScreenContext); BatchGraphics (); @@ -192,8 +191,7 @@ DrawSISFrame (void) InitSISContexts (); ClearSISRect (DRAW_SIS_DISPLAY); - UnbatchGraphics (); - UnlockMutex (GraphicsLock); + UnbatchGraphics (); } diff --git a/sc2/src/sc2code/comm.c b/sc2/src/sc2code/comm.c index 12a559ab5..a85dd0b3c 100644 --- a/sc2/src/sc2code/comm.c +++ b/sc2/src/sc2code/comm.c @@ -2055,9 +2055,7 @@ HailAlien (void) } else /* in starbase */ { - UnlockMutex (GraphicsLock); DrawSISFrame (); - LockMutex (GraphicsLock); if (GET_GAME_STATE (STARBASE_AVAILABLE)) { DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 1)); @@ -2125,9 +2123,7 @@ InitCommunication (RESOURCE which_comm) { if (LOBYTE (LastActivity) == 0) { - UnlockMutex (GraphicsLock); DrawSISFrame (); - LockMutex (GraphicsLock); } else { diff --git a/sc2/src/sc2code/encount.c b/sc2/src/sc2code/encount.c index c75e3e754..0aebe0563 100644 --- a/sc2/src/sc2code/encount.c +++ b/sc2/src/sc2code/encount.c @@ -510,10 +510,7 @@ UninitEncounter (void) VictoryState = 0; else { - UnlockMutex (GraphicsLock); DrawSISFrame (); - LockMutex (GraphicsLock); - DrawSISMessage (NULL_PTR); if (LOBYTE (GLOBAL (CurrentActivity)) == IN_HYPERSPACE) DrawHyperCoords (GLOBAL (ShipStamp.origin)); diff --git a/sc2/src/sc2code/hyper.c b/sc2/src/sc2code/hyper.c index 0c8f0f484..56840ae8a 100644 --- a/sc2/src/sc2code/hyper.c +++ b/sc2/src/sc2code/hyper.c @@ -325,9 +325,7 @@ LoadHyperspace (void) { if (LOBYTE (LastActivity) == 0) { - UnlockMutex (GraphicsLock); DrawSISFrame (); - LockMutex (GraphicsLock); } else { diff --git a/sc2/src/sc2code/outfit.c b/sc2/src/sc2code/outfit.c index d794d908e..c12525075 100644 --- a/sc2/src/sc2code/outfit.c +++ b/sc2/src/sc2code/outfit.c @@ -602,10 +602,10 @@ DoOutfit (PMENU_STATE pMS) s.frame = CaptureDrawable ( LoadGraphic (OUTFIT_PMAP_ANIM)); + LockMutex (GraphicsLock); SetTransitionSource (NULL); BatchGraphics (); DrawSISFrame (); - LockMutex (GraphicsLock); DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 2)); DrawSISTitle (GAME_STRING (STARBASE_STRING_BASE)); diff --git a/sc2/src/sc2code/planets/planets.c b/sc2/src/sc2code/planets/planets.c index 486a444a6..462cbf66f 100644 --- a/sc2/src/sc2code/planets/planets.c +++ b/sc2/src/sc2code/planets/planets.c @@ -127,9 +127,7 @@ LoadPlanet (BOOLEAN IsDefined) { if (LOBYTE (LastActivity) == 0) { - UnlockMutex (GraphicsLock); DrawSISFrame (); - LockMutex (GraphicsLock); } else { diff --git a/sc2/src/sc2code/planets/solarsys.c b/sc2/src/sc2code/planets/solarsys.c index 2f1d03b9c..1e2256e00 100644 --- a/sc2/src/sc2code/planets/solarsys.c +++ b/sc2/src/sc2code/planets/solarsys.c @@ -1455,6 +1455,8 @@ InitSolarSys (void) if (pSolarSysState->MenuState.Initialized == 0) { + LockMutex (GraphicsLock); + SetTransitionSource (NULL); BatchGraphics (); draw_sys_flags |= UNBATCH_SYS; @@ -1472,9 +1474,7 @@ InitSolarSys (void) } else { - LockMutex (GraphicsLock); ClearSISRect (DRAW_SIS_DISPLAY); - UnlockMutex (GraphicsLock); LastActivity &= ~CHECK_LOAD; } @@ -1482,8 +1482,6 @@ InitSolarSys (void) // Enabled graphics synchronization again, as in 3DO code originally. // This should fix the 'entering star' lockup/messed graphics problems. - // 2002/11/30 by Mika - LockMutex (GraphicsLock); DrawSISMessage (NULL_PTR); SetContext (SpaceContext); SetContextFGFrame (Screen); diff --git a/sc2/src/sc2code/shipyard.c b/sc2/src/sc2code/shipyard.c index f454c2482..7f3bb94a5 100644 --- a/sc2/src/sc2code/shipyard.c +++ b/sc2/src/sc2code/shipyard.c @@ -1215,11 +1215,10 @@ DoShipyard (PMENU_STATE pMS) pMS->hMusic = LoadMusicInstance (SHIPYARD_MUSIC); + LockMutex (GraphicsLock); SetTransitionSource (NULL); BatchGraphics (); - DrawSISFrame (); - LockMutex (GraphicsLock); DrawSISMessage (GAME_STRING (STARBASE_STRING_BASE + 3)); DrawSISTitle (GAME_STRING (STARBASE_STRING_BASE)); UnlockMutex (GraphicsLock);