add: draw_sys_flags |= UNBATCH_SYS;
context: ChangeSolarSys (void){	if (pSolarSysState->MenuState.Initialized == 0)	{StartGroups:		++pSolarSysState->MenuState.Initialized;		if (pSolarSysState->MenuState.flash_task == 0)		{			DrawMenuStateStrings (PM_STARMAP, -(PM_NAVIGATE - PM_SCAN));			SetSemaphore (GraphicsSem);			RepairSISBorder ();			InitDisplayList ();			DoMissions ();			// if entering new system (NOT from load),			// force redraw and transition in IPtask_func			if ((draw_sys_flags & UNBATCH_SYS)					&& LastActivity != (CHECK_LOAD | CHECK_RESTART))				draw_sys_flags |= DRAW_REFRESH;							CheckIntersect (TRUE);						pSolarSysState->MenuState.flash_task =					AssignTask (IPtask_func, 6144,					"flash solar system menu");			ClearSemaphore (GraphicsSem);			if (!PLRPlaying ((MUSIC_REF)~0) && LastActivity != CHECK_LOAD)			{				PlayMusic (SpaceMusic, TRUE, 1);				if (LastActivity == (CHECK_LOAD | CHECK_RESTART))				{					BYTE clut_buf[] = {FadeAllToColor};					LastActivity = 0;					if (draw_sys_flags & UNBATCH_SYS)					{						draw_sys_flags &= ~UNBATCH_SYS;						UnbatchGraphics ();					}					SetSemaphore (GraphicsSem);					while (pSolarSysState->SunDesc[0].radius == (MAX_ZOOM_RADIUS << 1))					{						ClearSemaphore (GraphicsSem);						TaskSwitch ();						SetSemaphore (GraphicsSem);					}					ClearSemaphore (GraphicsSem);					XFormColorMap ((COLORMAPPTR)clut_buf, ONE_SECOND / 2);				}			}			ResumeGameClock ();			SetGameClockRate (INTERPLANETARY_CLOCK_RATE);		}	}	else	{		if (pSolarSysState->MenuState.flash_task)		{			SuspendGameClock ();			FreeSolarSys ();			if (pSolarSysState->pOrbitalDesc->pPrevDesc !=					&pSolarSysState->SunDesc[0])				GLOBAL (ShipStamp.origin) =						pSolarSysState->pOrbitalDesc->image.origin;			else			{				GLOBAL (ShipStamp.origin.x) =						SIS_SCREEN_WIDTH >> 1;				GLOBAL (ShipStamp.origin.y) =						SIS_SCREEN_HEIGHT >> 1;			}  		}		GetPlanetInfo ();		(*pSolarSysState->GenFunc) (GENERATE_ORBITAL);		LastActivity &= ~(CHECK_LOAD | CHECK_RESTART);		if ((GLOBAL (CurrentActivity) & (CHECK_ABORT | CHECK_LOAD | START_ENCOUNTER))				|| GLOBAL_SIS (CrewEnlisted) == (COUNT)~0				|| GET_GAME_STATE (CHMMR_BOMB_STATE) == 2)			return;		if (pSolarSysState->MenuState.flash_task == 0)		{			LoadSolarSys ();			ValidateOrbits ();			DrawInnerSystem ();			goto StartGroups;		}		else		{			DrawMenuStateStrings (PM_SCAN, SCAN);			SetSemaphore (GraphicsSem);			pSolarSysState->MenuState.CurState = SCAN + 1;			SetFlashRect ((PRECT)~0L, (FRAME)0);			FlushInput ();			ClearSemaphore (GraphicsSem);		}	}}