rsxm-hud
Панель пинга в углу экрана, нарисованная средствами самой игры.
Как это выглядит
Тёмная полупрозрачная плашка в левом верхнем углу: ping 42 ms, а потери
добавляются справа, только когда они больше порога. Палитра, отступы и масштаб -
те же, что у компаса и полосок еды и здоровья, потому что рисует их тот же код
игры.
Как это работает
Мод не рисует ничего сам. Он говорит мосту «нарисуй», а мост отдаёт команды собственной системе отрисовки игры - тот же батч, тот же шрифтовый атлас, тот же масштаб интерфейса. Поэтому панель не выглядит чужеродной и меняет размер вместе с настройкой интерфейса.
Панель гаснет вместе с HUD по той же клавише, что и компас: мод не знает про эту клавишу вообще. Хук живёт в отрисовке компаса, а компас не рисуется, когда HUD скрыт.
Пинг
Вендор заменил сетевой слой на свой, поля задержки в нём нет, и игра пинг нигде
не считает. Считает мост, по одному доступному везде сигналу: сервер шлёт
keep-alive раз в 15 секунд по своему расписанию, и отклонение интервала прихода -
это сеть. Число помечено ~, потому что это оценка, а не измеренный круговой
оборот; она сходится за несколько выборок.
Настройки
%LOCALAPPDATA%\rsx-mod\config\rsxm-hud.json:
enabled главный выключатель, независимый от клавиши HUD
opacity 0.05..1, прозрачность плашки и текста
position top-left | top-right | bottom-left | bottom-right
offsetX/Y отступ от края
lossAbove показывать потери, только если они выше этого процента
Сборка
build.cmd
Нужен только JDK. Компилируется против rsx-api.jar и rsxm-lib.jar, но не
содержит ни одного: библиотека лежит в libs\ и подмешивается в системный
class path при старте игры.