rem: ClearSemaphore (&GraphicsSem);
add: ClearSemaphore (GraphicsSem);
context: DrawMeleeShipStrings (PMELEE_STATE pMS, BYTE NewStarShip){	RECT r, OldRect;	HSTARSHIP hStarShip;	STARSHIPPTR StarShipPtr;	CONTEXT OldContext;	SetSemaphore (&GraphicsSem);	OldContext = SetContext (StatusContext);	GetContextClipRect (&OldRect);	r = OldRect;	r.corner.y += 76;	r.extent.height = SHIP_INFO_HEIGHT;	SetContextClipRect (&r);	BatchGraphics ();	if (NewStarShip == (BYTE)~0)	{		RECT r;		TEXT t;		ClearShipStatus (BAD_GUY_YOFFS);		SetContextFont (StarConFont);		r.corner.x = 3;		r.corner.y = 4;		r.extent.width = 57;		r.extent.height = 60;		SetContextForeGroundColor (BLACK_COLOR);		DrawRectangle (&r);		t.baseline.x = STATUS_WIDTH >> 1;		t.baseline.y = 32;		t.align = ALIGN_CENTER;		if (pMS->row < NUM_MELEE_ROWS)		{			t.pStr = GAME_STRING (MELEE_STRING_BASE + 0);			t.CharCount = (COUNT)~0;			DrawText (&t);			t.pStr = GAME_STRING (MELEE_STRING_BASE + 1);		}		else		{			t.pStr = GAME_STRING (MELEE_STRING_BASE + 2);			t.CharCount = (COUNT)~0;			DrawText (&t);			t.pStr = GAME_STRING (MELEE_STRING_BASE + 3);		}		t.baseline.y += TINY_TEXT_HEIGHT;		t.CharCount = (COUNT)~0;		DrawText (&t);	}	else	{		hStarShip = GetStarShipFromIndex (&master_q, NewStarShip);		StarShipPtr = LockStarShip (&master_q, hStarShip);		InitShipStatus (StarShipPtr, NULL_PTR);		UnlockStarShip (&master_q, hStarShip);	}	UnbatchGraphics ();	SetContextClipRect (&OldRect);	SetContext (OldContext);	ClearSemaphore (&GraphicsSem);}