rem: DoDiscoveryReport (pPSD->OldMenuSounds);
add: DoDiscoveryReport (MenuSounds);
context: GenerateAndrosynth (BYTE control){	switch (control)	{		case GENERATE_ENERGY:		{			DWORD rand_val, old_rand;			if (pSolarSysState->pOrbitalDesc == &pSolarSysState->PlanetDesc[1])			{				COUNT i, which_node;				old_rand = TFB_SeedRandom (						pSolarSysState->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]						);				which_node = i = 0;				do				{					rand_val = TFB_Random ();					pSolarSysState->SysInfo.PlanetInfo.CurPt.x =							(LOBYTE (LOWORD (rand_val)) % (MAP_WIDTH - (8 << 1))) + 8;					pSolarSysState->SysInfo.PlanetInfo.CurPt.y =							(HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8;					pSolarSysState->SysInfo.PlanetInfo.CurType = 0;					pSolarSysState->SysInfo.PlanetInfo.CurDensity = 0;					if (pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]							& (1L << i))					{						pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]								&= ~(1L << i);							/* so won't get freed in lander.c */						CaptureStringTable (GetStringTable (								pSolarSysState->SysInfo.PlanetInfo.DiscoveryString								));						if (!(pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]								& (1L << (i + 16))))						{							SET_GAME_STATE (PLANETARY_CHANGE, 1);							pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]									|= (1L << (i + 16));							if (pSolarSysState->SysInfo.PlanetInfo.DiscoveryString)							{								PPLANETSIDE_DESC pPSD;								pPSD = (PPLANETSIDE_DESC)pMenuState->ModuleFrame;								UnbatchGraphics ();								DoDiscoveryReport (pPSD->OldMenuSounds);								BatchGraphics ();								pSolarSysState->SysInfo.PlanetInfo.DiscoveryString =										SetRelStringTableIndex (										pSolarSysState->SysInfo.PlanetInfo.DiscoveryString,										1										);								if (GetStringTableIndex (										pSolarSysState->SysInfo.PlanetInfo.DiscoveryString										) == 0)										/* so will get freed in lander.c */									ReleaseStringTable (											pSolarSysState->SysInfo.PlanetInfo.DiscoveryString											);							}						}					}					if (which_node >= pSolarSysState->CurNode							&& !(pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]							& (1L << i)))						break;					++which_node;				} while (++i < 16);				pSolarSysState->CurNode = which_node;				TFB_SeedRandom (old_rand);				break;			}			pSolarSysState->CurNode = 0;			break;		}		case GENERATE_PLANETS:		{			COUNT angle;			GenerateRandomIP (GENERATE_PLANETS);			pSolarSysState->PlanetDesc[1].data_index = TELLURIC_WORLD;			pSolarSysState->PlanetDesc[1].radius = EARTH_RADIUS * 204L / 100;			angle = ARCTAN (					pSolarSysState->PlanetDesc[1].location.x,					pSolarSysState->PlanetDesc[1].location.y					);			pSolarSysState->PlanetDesc[1].location.x =					COSINE (angle, pSolarSysState->PlanetDesc[1].radius);			pSolarSysState->PlanetDesc[1].location.y =					SINE (angle, pSolarSysState->PlanetDesc[1].radius);			break;		}		case GENERATE_ORBITAL:			if (pSolarSysState->pOrbitalDesc == &pSolarSysState->PlanetDesc[1])			{				UWORD retval;				pSolarSysState->SysInfo.PlanetInfo.LanderFont =						CaptureFont (								LoadGraphic (LANDER_FONT)								);				pSolarSysState->PlanetSideFrame[1] =						CaptureDrawable (						LoadGraphic (RUINS_MASK_PMAP_ANIM)						);				pSolarSysState->SysInfo.PlanetInfo.DiscoveryString =						CaptureStringTable (								LoadStringTable (ANDROSYNTH_RUINS_STRTAB)								);				retval = HIWORD (						pSolarSysState->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]						);				while (retval)				{					if (retval & 1)					{						pSolarSysState->SysInfo.PlanetInfo.DiscoveryString =								SetRelStringTableIndex (								pSolarSysState->SysInfo.PlanetInfo.DiscoveryString,								1								);						if (GetStringTableIndex (								pSolarSysState->SysInfo.PlanetInfo.DiscoveryString								) == 0)						{							DestroyStringTable (ReleaseStringTable (									pSolarSysState->SysInfo.PlanetInfo.DiscoveryString									));							pSolarSysState->SysInfo.PlanetInfo.DiscoveryString = 0;						}					}					retval >>= 1;				}			}			GenerateRandomIP (GENERATE_ORBITAL);			if (pSolarSysState->pOrbitalDesc == &pSolarSysState->PlanetDesc[1])			{				pSolarSysState->SysInfo.PlanetInfo.AtmoDensity =						EARTH_ATMOSPHERE * 144 / 100;				pSolarSysState->SysInfo.PlanetInfo.SurfaceTemperature = 28;				pSolarSysState->SysInfo.PlanetInfo.Weather = 1;				pSolarSysState->SysInfo.PlanetInfo.Tectonics = 1;			}			break;		default:			GenerateRandomIP (control);			break;	}}