Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Исходник Rust Bright-Night - метод для светлой ночи

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
19 Окт 2025
Сообщения
101
Реакции
4
Народ, раз уж тема ночной слепоты в расте всплывает регулярно, решил поделиться небольшим методом для светлой ночи. Ничего революционного, но в адекватном виде в паблике попадалось нечасто, поэтому оформляю как основу под ваш external.

Идея простая: работаем с клиентскими параметрами времени/освещения, чтобы убрать именно «чёрную яму» ночью и сделать её ближе к раннему утру. Это не вечный день, а именно более комфортная ночная картинка, когда всё ещё понятно, что ночь, но бегать и стрелять уже не мучение.

Подход:

- получаем доступ к объекту, который отвечает за класс 'TOD_SKY';
- отслеживаем текущий `night_params` и 'ambient_params', после сдвигаем их в более светлый диапазон;
- при необходимости слегка поднимаем яркость окружения, чтобы не проваливались тёмные участки.

Реализацию метода и структуру можете встроить в свой цикл обновления или рендер‑луп, в зависимости от архитектуры проекта. Оффсеты под конкретную версию игры придётся подобрать самостоятельно — после каждого крупного обновления они обычно меняются, так что без актуального дампа обойтись не получится.

Исходник с примером работы и набором оффсетов прикреплю ниже. Дальше — дело за вами: кто хочет максимально легит, может делать плавный переход и минимальные правки параметров, кто делает purely rage — можете крутить значения более агрессивно.

Код:
Expand Collapse Copy
uintptr_t night_params =read<uintptr_t>(tod_sky_chain + O::Sky::NightParameters);
uintptr_t ambient_params = read<uintptr_t>(tod_sky_chain + O::Sky::AmbientParameters);
if (night_params != 0) {
write<float>( night_params + O::Sky::TOD_NightParameters::runtimeAmbientMultiplier,13.0f);
}
if (ambient_params != 0) {
write<float>(ambient_params + O::Sky::TOD_AmbientParameters::Saturation, 0.0f);
}

Если кто уже использует похожий подход или делает светлую ночь через другие параметры (постобработку, цветокор, шейдеры), будет интересно посмотреть альтернативы — пишите, чем обошлись и как это ведёт себя на свежих билдах.
 
Народ, раз уж тема ночной слепоты в расте всплывает регулярно, решил поделиться небольшим методом для светлой ночи. Ничего революционного, но в адекватном виде в паблике попадалось нечасто, поэтому оформляю как основу под ваш external.

Идея простая: работаем с клиентскими параметрами времени/освещения, чтобы убрать именно «чёрную яму» ночью и сделать её ближе к раннему утру. Это не вечный день, а именно более комфортная ночная картинка, когда всё ещё понятно, что ночь, но бегать и стрелять уже не мучение.

Подход:

- получаем доступ к объекту, который отвечает за класс 'TOD_SKY';
- отслеживаем текущий `night_params` и 'ambient_params', после сдвигаем их в более светлый диапазон;
- при необходимости слегка поднимаем яркость окружения, чтобы не проваливались тёмные участки.

Реализацию метода и структуру можете встроить в свой цикл обновления или рендер‑луп, в зависимости от архитектуры проекта. Оффсеты под конкретную версию игры придётся подобрать самостоятельно — после каждого крупного обновления они обычно меняются, так что без актуального дампа обойтись не получится.

Исходник с примером работы и набором оффсетов прикреплю ниже. Дальше — дело за вами: кто хочет максимально легит, может делать плавный переход и минимальные правки параметров, кто делает purely rage — можете крутить значения более агрессивно.

Код:
Expand Collapse Copy
uintptr_t night_params =read<uintptr_t>(tod_sky_chain + O::Sky::NightParameters);
uintptr_t ambient_params = read<uintptr_t>(tod_sky_chain + O::Sky::AmbientParameters);
if (night_params != 0) {
write<float>( night_params + O::Sky::TOD_NightParameters::runtimeAmbientMultiplier,13.0f);
}
if (ambient_params != 0) {
write<float>(ambient_params + O::Sky::TOD_AmbientParameters::Saturation, 0.0f);
}

Если кто уже использует похожий подход или делает светлую ночь через другие параметры (постобработку, цветокор, шейдеры), будет интересно посмотреть альтернативы — пишите, чем обошлись и как это ведёт себя на свежих билдах.
вопрос нахуя это если каждый знает как это сделать
 
я чамсы не могу сделать на external вот это уже попа на девблог, все есть уже материал айди и оффсеты но они тупо неработают
 
Назад
Сверху Снизу