rem: SleepThread (2);
add: SleepThread (ONE_SECOND / 60);
context: ZapToUrquanEncounter (void){	HENCOUNTER hEncounter;	if ((hEncounter = AllocEncounter ()) || (hEncounter = GetHeadEncounter ()))	{		SIZE dx, dy;		ENCOUNTERPTR EncounterPtr;		HSTARSHIP hStarShip;		EXTENDED_SHIP_FRAGMENTPTR TemplatePtr;		LockEncounter (hEncounter, &EncounterPtr);		if (hEncounter == GetHeadEncounter ())			RemoveEncounter (hEncounter);		memset (EncounterPtr, 0, sizeof (*EncounterPtr));		InsertEncounter (hEncounter, GetHeadEncounter ());		hStarShip = GetStarShipFromIndex (&GLOBAL (avail_race_q), URQUAN_SHIP);		TemplatePtr = (EXTENDED_SHIP_FRAGMENTPTR)LockStarShip (				&GLOBAL (avail_race_q),				hStarShip				);		EncounterPtr->origin = TemplatePtr->ShipInfo.loc;		EncounterPtr->radius = TemplatePtr->ShipInfo.actual_strength;		EncounterPtr->SD.Type = URQUAN_SHIP;		EncounterPtr->SD.Index = MAKE_BYTE (1, 0) | ONE_SHOT_ENCOUNTER;		EncounterPtr->SD.ShipList[0] =				((SHIP_FRAGMENTPTR)TemplatePtr)->ShipInfo;		EncounterPtr->SD.ShipList[0].var1 = URQUAN_SHIP;		EncounterPtr->SD.star_pt.x = 5288;		EncounterPtr->SD.star_pt.y = 4892;		EncounterPtr->log_x = UNIVERSE_TO_LOGX (EncounterPtr->SD.star_pt.x);		EncounterPtr->log_y = UNIVERSE_TO_LOGY (EncounterPtr->SD.star_pt.y);		GLOBAL_SIS (log_x) = EncounterPtr->log_x;		GLOBAL_SIS (log_y) = EncounterPtr->log_y;		UnlockStarShip (				&GLOBAL (avail_race_q),				hStarShip				);		{#define LOST_DAYS 15			COUNT i;			BYTE black_buf[] = {FadeAllToBlack};			SleepThreadUntil (XFormColorMap ((COLORMAPPTR)black_buf, ONE_SECOND * 2));			for (i = 0; i < LOST_DAYS; ++i)			{				while (ClockTick () > 0)					;				ResumeGameClock ();				SleepThread (2);				SuspendGameClock ();			}		}		GLOBAL (CurrentActivity) = MAKE_WORD (IN_HYPERSPACE, 0) | START_ENCOUNTER;		dx = CurStarDescPtr->star_pt.x - EncounterPtr->SD.star_pt.x;		dy = CurStarDescPtr->star_pt.y - EncounterPtr->SD.star_pt.y;		dx = (SIZE)square_root ((long)dx * dx + (long)dy * dy)				+ (FUEL_TANK_SCALE >> 1);		SetSemaphore (GraphicsSem);		DeltaSISGauges (0, -dx, 0);		if (GLOBAL_SIS (FuelOnBoard) < 5 * FUEL_TANK_SCALE)		{			dx = ((5 + ((COUNT)TFB_Random () % 5)) * FUEL_TANK_SCALE)					- (SIZE)GLOBAL_SIS (FuelOnBoard);			DeltaSISGauges (0, dx, 0);		}		DrawSISMessage (NULL_PTR);		DrawHyperCoords (EncounterPtr->SD.star_pt);		ClearSemaphore (GraphicsSem);		UnlockEncounter (hEncounter);	}}