From 1f3c4c0a556a935f48a666b99753072f00773d06 Mon Sep 17 00:00:00 2001 From: avolkov Date: Tue, 15 Feb 2011 14:15:07 +0000 Subject: [PATCH] Give fades an own mutex instead of sharing one with colormap xforms; decreases console spam during Slylandro comm git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3560 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/libs/graphics/cmap.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/sc2/src/libs/graphics/cmap.c b/sc2/src/libs/graphics/cmap.c index 9deca4c77..a99809aea 100644 --- a/sc2/src/libs/graphics/cmap.c +++ b/sc2/src/libs/graphics/cmap.c @@ -50,6 +50,7 @@ static int fadeAmount = FADE_NORMAL_INTENSITY; static int fadeDelta; static TimeCount fadeStartTime; static sint32 fadeInterval; +static Mutex fadeLock; #define SPARE_COLORMAPS 20 @@ -60,7 +61,7 @@ static int poolcount; static TFB_ColorMap * colormaps[MAX_COLORMAPS]; static int mapcount; -Mutex maplock; +static Mutex maplock; void @@ -76,6 +77,8 @@ InitColorMaps (void) XFormControl.Lock = CreateMutex ("Transform Lock", SYNC_CLASS_TOPLEVEL | SYNC_CLASS_VIDEO); for (i = 0; i < MAX_XFORMS; ++i) XFormControl.TaskControl[i].CMapIndex = -1; + + fadeLock = CreateMutex ("Fade Lock", SYNC_CLASS_TOPLEVEL | SYNC_CLASS_VIDEO); } void @@ -90,6 +93,7 @@ UninitColorMaps (void) HFree (poolhead); } + DestroyMutex (fadeLock); // uninit xform control DestroyMutex (XFormControl.Lock); @@ -317,7 +321,7 @@ GetFadeAmount (void) { int newAmount; - LockMutex (XFormControl.Lock); + LockMutex (fadeLock); if (fadeInterval) { // have a pending fade @@ -341,7 +345,7 @@ GetFadeAmount (void) newAmount = fadeAmount; } - UnlockMutex (XFormControl.Lock); + UnlockMutex (fadeLock); return newAmount; } @@ -359,9 +363,9 @@ finishPendingFade (void) static void FlushFadeXForms (void) { - LockMutex (XFormControl.Lock); + LockMutex (fadeLock); finishPendingFade (); - UnlockMutex (XFormControl.Lock); + UnlockMutex (fadeLock); } DWORD @@ -392,7 +396,7 @@ FadeScreen (ScreenFadeType fadeType, SIZE TimeInterval) if (QuitPosted) TimeInterval = 0; - LockMutex (XFormControl.Lock); + LockMutex (fadeLock); finishPendingFade (); @@ -411,7 +415,7 @@ FadeScreen (ScreenFadeType fadeType, SIZE TimeInterval) TimeOut = fadeStartTime + TimeInterval + 1; } - UnlockMutex (XFormControl.Lock); + UnlockMutex (fadeLock); return TimeOut; }