rem: ClearSemaphore (&GraphicsSem);
add: ClearSemaphore (GraphicsSem);
context: CrewTransaction (SIZE crew_delta){	if (crew_delta)	{		SIZE crew_bought;		crew_bought = (SIZE)MAKE_WORD (				GET_GAME_STATE (CREW_PURCHASED0),				GET_GAME_STATE (CREW_PURCHASED1)				) + crew_delta;		if (crew_bought < 0)		{			if (crew_delta < 0)				crew_bought = 0;			else				crew_bought = 0x7FFF;		}		else if (crew_delta > 0)		{			if (crew_bought >= CREW_EXPENSE_THRESHOLD					&& crew_bought - crew_delta < CREW_EXPENSE_THRESHOLD)			{				GLOBAL (CrewCost) += 2;				ClearSemaphore (&GraphicsSem);				DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);				SetSemaphore (&GraphicsSem);			}		}		else		{			if (crew_bought < CREW_EXPENSE_THRESHOLD					&& crew_bought - crew_delta >= CREW_EXPENSE_THRESHOLD)			{				GLOBAL (CrewCost) -= 2;				ClearSemaphore (&GraphicsSem);				DrawMenuStateStrings (PM_CREW, SHIPYARD_CREW);				SetSemaphore (&GraphicsSem);			}		}		if (!(ActivateStarShip (				SHOFIXTI_SHIP, CHECK_ALLIANCE				) & GOOD_GUY))		{			SET_GAME_STATE (CREW_PURCHASED0, LOBYTE (crew_bought));			SET_GAME_STATE (CREW_PURCHASED1, HIBYTE (crew_bought));		}	}}