b45e47fd47
Рисуется средствами самой игры: мост отдаёт команды её собственному батчу, с её шрифтовым атласом и её масштабом интерфейса. Поэтому панель не выглядит чужеродной и меняет размер вместе с настройкой интерфейса. Гаснет вместе с HUD по той же клавише, что и компас, и мод об этой клавише не знает: хук живёт в отрисовке компаса, а компас не рисуется, когда HUD скрыт. Пинг считает мост: вендорский сетевой слой не хранит задержку, а единственный сигнал, доступный на любом сервере, - отклонение интервала keep-alive от собственного расписания сервера. Число помечено "~": это оценка, а не круговой оборот. Конфиг: enabled, opacity, position, offsetX/Y, lossAbove.
48 lines
2.8 KiB
Markdown
48 lines
2.8 KiB
Markdown
# 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 при старте игры.
|