Начинающий
- Статус
- Оффлайн
- Регистрация
- 10 Авг 2025
- Сообщения
- 17
- Реакции
- 2
Hi yougame, ive decided to share a pretty simple fog changer, heres everything you need:
for pattern:
how to find the pattern after update:
search for:
in client.dll
C++:
#include "Hook_UpdateSky.hpp"
#include <AndromedaClient/Settings/Settings.hpp>
#include <cmath>
auto __fastcall Hook_UpdateSky::hkUpdateSky(void* a1, void* a2, int a3) -> __int64
{
__int64 result = UpdateSky_o(a1, a2, a3);
if (Settings::World::fogchanger)
{
float* sky_exposure = reinterpret_cast<float*>((uintptr_t)a2 + 0x20);
if (*reinterpret_cast<bool*>((uintptr_t)a2 + 0x24))
{
const float mod = pow(2.0f, Settings::World::fogbright);
*sky_exposure *= (mod * mod);
}
float* start_dist = reinterpret_cast<float*>((uintptr_t)a2 + 0x4);
float* end_dist = reinterpret_cast<float*>((uintptr_t)a2 + 0x8);
float* max_density= reinterpret_cast<float*>((uintptr_t)a2 + 0x1C);
*start_dist = Settings::World::fog_start;
*end_dist = Settings::World::fog_end;
*max_density = Settings::World::fog_max_density;
}
return result;
}
C++:
#pragma once
#include <Common/Common.hpp>
using UpdateSky_t = __int64(__fastcall*)(void*, void*, int);
inline UpdateSky_t UpdateSky_o = nullptr;
namespace Hook_UpdateSky
{
auto __fastcall hkUpdateSky(void* a1, void* a2, int a3) -> __int64;
}
for pattern:
Код:
48 89 5C 24? 48 89 74 24? 57 48 81 EC? ??? 48 8B F1 49 8B D8
how to find the pattern after update:
search for:
Код:
g_flBrightnessExposureBias
g_flRenderOnlyExposureBias
CUBEMAP_FOG_SOURCE_SKY_ENTITY
CUBEMAP_FOG_SOURCE_SKY_MATERIAL
Unable to determine cubemap texture for env_cubemap_fog.
g_tSkyTexture
in client.dll