rem: ClearSemaphore (&GraphicsSem);
add: ClearSemaphore (GraphicsSem);
context: DrawRaceStrings (BYTE NewRaceItem){	RECT r;	STAMP s;	CONTEXT OldContext;		SetSemaphore (&GraphicsSem);	OldContext = SetContext (StatusContext);	GetContextClipRect (&r);	s.origin.x = RADAR_X - r.corner.x;	s.origin.y = RADAR_Y - r.corner.y;	r.corner.x = s.origin.x - 1;	r.corner.y = s.origin.y - 11;	r.extent.width = RADAR_WIDTH + 2;	r.extent.height = 11;	BatchGraphics ();	SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0xA, 0xA, 0xA), 0x08));	DrawFilledRectangle (&r);	r.corner = s.origin;	r.extent.width = RADAR_WIDTH;	r.extent.height = RADAR_HEIGHT;	SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x00), 0x00));	DrawFilledRectangle (&r);	if (NewRaceItem != (BYTE)~0)	{		TEXT t;		HSTARSHIP hStarShip;		STARSHIPPTR StarShipPtr;		UNICODE buf[10];		COUNT ShipCost[] =		{			RACE_SHIP_COST		};		hStarShip = GetAvailableRaceFromIndex (NewRaceItem);		NewRaceItem = GetIndexFromStarShip (&GLOBAL (avail_race_q), hStarShip);		s.frame = SetAbsFrameIndex (pMenuState->ModuleFrame, 3 + NewRaceItem);		DrawStamp (&s);		StarShipPtr = LockStarShip (&GLOBAL (avail_race_q), hStarShip);		s.frame = StarShipPtr->RaceDescPtr->ship_info.melee_icon;		UnlockStarShip (&GLOBAL (avail_race_q), hStarShip);		t.baseline.x = s.origin.x + RADAR_WIDTH - 2;		t.baseline.y = s.origin.y + RADAR_HEIGHT - 2;		s.origin.x += (RADAR_WIDTH >> 1);		s.origin.y += (RADAR_HEIGHT >> 1);		DrawStamp (&s);		t.align = ALIGN_RIGHT;		t.CharCount = (COUNT)~0;		t.pStr = buf;		wsprintf (buf, "%u", ShipCost[NewRaceItem]);		SetContextFont (TinyFont);		SetContextForeGroundColor (BUILD_COLOR (MAKE_RGB15 (0x00, 0x1F, 0x00), 0x02));		DrawText (&t);	}	UnbatchGraphics ();	SetFlashRect ((PRECT)~0L, (FRAME)0);	SetContext (OldContext);	ClearSemaphore (&GraphicsSem);}