#define VISUALTERRAINSETTINGS		0x1424B12C0
#define SSMODULE		        0x1424B31F8
#define WORLDRENDERSETTINGS		0x142403988
 
class WorldRenderSettings
{
public:
	char pad_0x000[0xAC];	// 0x00
	WorldViewMode m_ViewMode; //+0xac
        char pad[0xE4-0xB0];
	bool m_ShadowmapsEnable; //+0xe4
        char pad[0xFA-0xE5];
	bool m_MotionBlurEnable; //+0xfa
        char pad[0x103-0xFB];
	bool m_DrawTransparentDecal; //+0x103
        char pad[0x112-0x104];
	bool m_FinalPostEnable; //+0x112
        char pad[0x1];
	bool m_ScreenEffectEnable; //+0x114
        char pad[0x128-0x115];
	bool m_ZPassEnable; //+0x128
        char pad[0x135-0x129];
	bool m_SkyEnable; //+0x135
	bool m_SkyFogEnable; //+0x136
	bool m_SkyHeightFogEnable; //+0x137
        char pad[0x140-0x138];
	bool m_SkyEnvmapEnable; //+0x140
        char pad[0x145-0x141];
	bool m_DynamicEnvmapEnable; //+0x145
        char pad[0x25A-0x146];
	bool m_LensFlaresEnable; //+0x25a
        char pad[0x25E-0x25B];
	bool m_CloudShadowEnable; //+0x25e
        char pad[0x261-0x25F];
	bool m_EmissiveEnable; //+0x261
        char pad[0x266-0x262];
	bool m_DrawVeggies; //+0x266
	bool m_Gen4aEsramEnable; //+0x267
	bool m_SpecularLightingEnable; //+0x268
	bool m_SkinLightingEnable; //+0x269
	bool m_TranslucencyLightingEnable; //+0x26a
	bool m_DynamicEnvmapLightingEnable; //+0x26b
        char pad[0x2AF-0x26C];
	bool m_ViewFxEnable; //+0x2af
 
	static WorldRenderSettings* Singleton()
	{
		return *(WorldRenderSettings**)WORLDRENDERSETTINGS;
	}
};
 
class VisualTerrainSettings
{
public:
	char aDataContainer[0x143]; //+0x00 Inherited
	bool m_DetailOverlayEnable; //+0x143
 
	static VisualTerrainSettings* Singleton()
	{
		return *(VisualTerrainSettings**)VISUALTERRAINSETTINGS;
	}
};
 
DWORD WINAPI fcn( LPVOID lpParam)
{
	bool hack = false;
	*(DWORD64**)SSMODULE = 0;
	while (1)
	{
		if (GetAsyncKeyState(somekey) & 1)
		{
			hack = !hack;
			if (hack)
				Beep(0x530, 200);
			else
				Beep(0x250, 200);
		}
 
		WorldRenderSettings* wRS = WorldRenderSettings::Singleton();
		if (!POINTERCHK(wRS))
			continue;
 
		VisualTerrainSettings* vTS = VisualTerrainSettings::Singleton();
		if (!POINTERCHK(vTS))
			continue;
 
		if (hack) {
			vTS->m_DetailOverlayEnable = false;
			wRS->m_SkyEnable = false;
			wRS->m_SkyFogEnable = false;
			wRS->m_SkyHeightFogEnable = false;
			wRS->m_CloudShadowEnable = false;
			wRS->m_DynamicEnvmapEnable = false;
			wRS->m_ScreenEffectEnable = false;
			wRS->m_FinalPostEnable = false;
			wRS->m_SkyEnvmapEnable = false;
			wRS->m_LensFlaresEnable = false;
			wRS->m_SkinLightingEnable = false;
			wRS->m_TranslucencyLightingEnable = false;
			wRS->m_DrawTransparentDecal = false;
			wRS->m_SpecularLightingEnable = false;
			wRS->m_ShadowmapsEnable = false;
			wRS->m_DrawVeggies = false;
		}
		else {
			vTS->m_DetailOverlayEnable = true;
			wRS->m_SkyEnable = true;
			wRS->m_SkyFogEnable = true;
			wRS->m_SkyHeightFogEnable = true;
			wRS->m_CloudShadowEnable = true;
			wRS->m_DynamicEnvmapEnable = true;
			wRS->m_ScreenEffectEnable = true;
			wRS->m_FinalPostEnable = true;
			wRS->m_SkyEnvmapEnable = true;
			wRS->m_LensFlaresEnable = true;
			wRS->m_SkinLightingEnable = true;
			wRS->m_TranslucencyLightingEnable = true;
			wRS->m_DrawTransparentDecal = true;
			wRS->m_SpecularLightingEnable = true;
			wRS->m_ShadowmapsEnable = true;
			wRS->m_DrawVeggies = true;
		}
	}
}
 
DWORD WINAPI DllMain(HMODULE hDll, DWORD dwReasonForCall, LPVOID lpReserved)
{
	static HANDLE hThread = INVALID_HANDLE_VALUE;
	if (dwReasonForCall == DLL_PROCESS_ATTACH)
	{
		DisableThreadLibraryCalls(hDll);
		hThread = CreateThread(NULL, 0, fcn, NULL, 0, NULL);
                MessageBox(NULL, "LLLLLLLLOOOOOOOOOOOLLLLLL", ":troll:", MB_OK);
		return (hThread != INVALID_HANDLE_VALUE);
	}
	return 0;
}