rem: SetPrimColor (pBatch, BUILD_COLOR (MAKE_RGB15 (ctab[0] >> 3, ctab[1] >> 3, ctab[2] >> 3), d));
add: SetPrimColor (pBatch, BUILD_COLOR (MAKE_RGB15 (ctab[0] >> 1, ctab[1] >> 1, ctab[2] >> 1), d));
context: RenderTopography (BOOLEAN Reconstruct){	CONTEXT OldContext;	FRAME OldFrame;	OldContext = SetContext (TaskContext);	OldFrame = SetContextFGFrame (pSolarSysState->TopoFrame);	SetContextDrawState (DEST_PIXMAP | DRAW_REPLACE);	if (pSolarSysState->XlatRef == 0)	{		STAMP s;		s.origin.x = s.origin.y = 0;#if 0		s.frame = SetAbsFrameIndex (				pSolarSysState->PlanetFrameArray[2], 1				);#endif		DrawStamp (&s);	}	else	{		COUNT i;		BYTE AlgoType;		SIZE base, d;		POINT pt;		PLANDATAPTR PlanDataPtr;		PRIMITIVE BatchArray[NUM_BATCH_POINTS];		register PPRIMITIVE pBatch;		PBYTE lpDst, xlat_tab, cbase;		HOT_SPOT OldHot;		RECT ClipRect;		OldHot = SetFrameHot (pSolarSysState->TopoFrame, MAKE_HOT_SPOT (0, 0));		GetContextClipRect (&ClipRect);		SetContextClipRect (NULL_PTR);		SetContextClipping (FALSE);		pBatch = &BatchArray[0];		for (i = 0; i < NUM_BATCH_POINTS; ++i, ++pBatch)		{			SetPrimNextLink (pBatch, i + 1);			SetPrimType (pBatch, POINT_PRIM);		}		SetPrimNextLink (&pBatch[-1], END_OF_LIST);		PlanDataPtr = &PlanData[				pSolarSysState->pOrbitalDesc->data_index & ~PLANET_SHIELDED				];		AlgoType = PLANALGO (PlanDataPtr->Type);		if (Reconstruct && AlgoType != GAS_GIANT_ALGO)			base = 0;		else			base = PlanDataPtr->base_elevation;		xlat_tab = (PBYTE)((XLAT_DESCPTR)pSolarSysState->XlatPtr)->xlat_tab;		cbase = GetColorMapAddress (pSolarSysState->OrbitalCMap);		pBatch = &BatchArray[i = NUM_BATCH_POINTS];		lpDst = pSolarSysState->lpTopoData;		for (pt.y = 0; pt.y < MAP_HEIGHT; ++pt.y)		{			for (pt.x = 0; pt.x < MAP_WIDTH; ++pt.x)			{				d = (SBYTE)*lpDst;				if (Reconstruct)				{					d = (SIZE)((BYTE)((BYTE)d - (BYTE)base));					++lpDst;				}				else if (AlgoType == GAS_GIANT_ALGO)				{					*lpDst++ = (BYTE)((SBYTE)d + base);					d &= 255;				}				else				{					d += base;					if (d < 0)						d = 0;					else if (d > 255)						d = 255;					*lpDst++ = (BYTE)d;				}				--pBatch;				pBatch->Object.Point.x = pt.x;				pBatch->Object.Point.y = pt.y;{				PBYTE ctab;				d = xlat_tab[d] - cbase[0];				ctab = (cbase + 2) + d * 3;				SetPrimColor (pBatch, BUILD_COLOR (MAKE_RGB15 (ctab[0] >> 3, ctab[1] >> 3, ctab[2] >> 3), d));}				if (--i)					continue;				DrawBatch (BatchArray, 0, 0);				pBatch = &BatchArray[i = NUM_BATCH_POINTS];			}		}		if (i < NUM_BATCH_POINTS)		{			DrawBatch (BatchArray, i, 0);		}		SetContextClipping (TRUE);		SetContextClipRect (&ClipRect);		SetFrameHot (pSolarSysState->TopoFrame, OldHot);	}	SetContextFGFrame (OldFrame);	SetContext (OldContext);}