Files
SashegDev b45e47fd47 Панель пинга в углу экрана
Рисуется средствами самой игры: мост отдаёт команды её собственному батчу, с её
шрифтовым атласом и её масштабом интерфейса. Поэтому панель не выглядит
чужеродной и меняет размер вместе с настройкой интерфейса.

Гаснет вместе с HUD по той же клавише, что и компас, и мод об этой клавише не
знает: хук живёт в отрисовке компаса, а компас не рисуется, когда HUD скрыт.

Пинг считает мост: вендорский сетевой слой не хранит задержку, а единственный
сигнал, доступный на любом сервере, - отклонение интервала keep-alive от
собственного расписания сервера. Число помечено "~": это оценка, а не круговой
оборот.

Конфиг: enabled, opacity, position, offsetX/Y, lossAbove.
2026-10-17 03:45:23 +03:00

2.8 KiB

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 при старте игры.