This repository has been archived on 2026-10-17. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
rsx-modloader/scripts
SashegDev 419b2d0a6b HUD: моды рисуют через собственный API игры
Хук в отрисовку компаса. Выбор не случайный: виджет рисуется только пока виден
HUD-сло�� игры, поэтому панель бесплатно наследует и видимость, и масштаб, и
состояние горячей клавиши, которая HUD прячет. Дублировать логику клавиш не
пришлось.

Бридж зашивает ASM и регистрирует ClassFileTransformer, который дописывает вызов
rsx.HudHook.render перед возвратом метода. Профиль диктует цель, обфусцированных
имён в коде нет. Трансформер отдаёт контекст как Object: так один дескриптор
работает при любом переименовании класса контекста.

Привязка к API отрисовки трёхуровневая, и каждая ступень умеет отвалиться
отдельно: точное совпадение по дескриптору, затем по имени и числу аргументов
(класс текстуры грузится позже, чем привязка), затем по runtime-классу
билдера, который мы держим в руках. Не нашлось - пишем в лог один раз и гасим
только эту возможность.

Текст рисуется ванильной текстурой textures/font/ascii.png: у игры нет
однострочного текстового API, а для цифр и меток атласа хватает. Своим TTF
конвейером мы не занимались.

Стенд учит подделки: батч, билдер, команду, реестр текстур, масштаб, синглтон
экрана и виджет-компас. Проверяет, что панель рисует плашку и глифы с верными
координатами и что замолкает, когда игра прячет HUD. С отключённым хуком падают
пять проверок из двадцати пяти.

Профиль: hook.hud, экран HUD, батч, реестр текстур, масштаб и сетевые методы
NetHandlerPlayClient. У каждой строки - рецепт поиска после реобфускации.
2026-10-17 03:29:00 +03:00
..