## Что сделать в GIANTS Editor

1. Открыть I3D техники.
2. Создать пустой `TransformGroup` в месте вывода давления.
3. Развернуть его так, чтобы текст был обращён к водителю. (синяя стрелочка должна смотреть на вас)
4. При необходимости создать отдельные точки для переднего, заднего и прицепного давления.
5. Скопировать пути точек, например `0>28|1|0`.

Внутрь transform-точки ничего добавлять не требуется — цифры создаст скрипт.

## Что вставить в XML техники

Блок размещается непосредственно внутри `<vehicle>`:

```xml
<vehicle type="tractor">
    <!-- Остальной XML техники. -->

    <tirePressureSystem refreshMs="100" onlyWhenControlled="true">
        <display
            type="pressure"
            node="0>28|1|0"
            font="DIGIT"
            alignment="CENTER"
            size="0.012"
            mask="0.0"
            color="1 1 1"
            hiddenColor="0.05 0.05 0.05"
            emissiveScale="3"
            offColor="0.15 0.15 0.15"
            offHiddenColor="0.02 0.02 0.02"
            offEmissiveScale="0"/>

        <display
            type="frontPressure"
            node="0>28|1|1"
            font="DIGIT"
            alignment="CENTER"
            size="0.012"
            mask="0.0"
            color="1 1 1"
            hiddenColor="0.05 0.05 0.05"
            emissiveScale="3"/>

        <display
            type="rearPressure"
            node="0>28|1|2"
            font="DIGIT"
            alignment="CENTER"
            size="0.012"
            mask="0.0"
            color="1 1 1"
            hiddenColor="0.05 0.05 0.05"
            emissiveScale="3"/>

        <display
            type="trailerPressure"
            node="0>28|1|3"
            font="DIGIT"
            alignment="CENTER"
            size="0.012"
            mask="0.0"
            color="1 1 1"
            hiddenColor="0.05 0.05 0.05"
            emissiveScale="3"/>
    </tirePressureSystem>

    <!-- Остальной XML техники. -->
</vehicle>
```

Пути `0>28|1|0` — `0>28|1|3` являются примерами. Их обязательно нужно
заменить настоящими путями из I3D техники.

Можно использовать `i3dMappings` вместо прямого пути:

```xml
<tirePressureSystem>
    <display type="pressure" node="mudsysPressure" mask="0.0"/>
</tirePressureSystem>

<i3dMappings>
    <i3dMapping id="mudsysPressure" node="0>28|1|0"/>
</i3dMappings>
```

Если `<i3dMappings>` уже существует, новый раздел создавать нельзя — mapping
добавляется в существующий.

## Доступные значения

| `type` | Что выводится |
|---|---|
| `pressure` | Среднее текущее давление всей этой машины — точно как на малом HUD |
| `frontPressure` | Среднее текущее давление передних колёс |
| `rearPressure` | Среднее текущее давление задних колёс |
| `trailerPressure` | Среднее текущее давление прицепной техники |

Во время накачивания или спускания цифры изменяются постепенно. Если требуется
только значение малого HUD, достаточно одного `<display type="pressure" .../>`;
остальные дисплеи можно не добавлять.

## Полосовой индикатор давления

Для шкалы нужен `Shape` с материалом `glowShader` и
`customShaderVariation="slider"`, как у слайдеров из CockPitInfo. Внутрь
`<tirePressureSystem>` добавляется:

```xml
<slider
    type="pressure"
    node="0>35"
    minValueSlider="0.8"
    maxValueSlider="2.8"
    intensity="3"
    offIntensity="0"/>
```

`sliderPos` автоматически получает значение от `0` при `0.8` бара до `1` при
`2.8` бара. При заглушенном двигателе используется `offIntensity`, после
запуска — `intensity`.

Для шкалы также разрешены типы `frontPressure`, `rearPressure` и
`trailerPressure`.

## Атрибуты

| Атрибут | Назначение |
|---|---|
| `refreshMs` | Интервал обновления всех значений в миллисекундах |
| `onlyWhenControlled` | `true` — обновлять только управляемую технику |
| `node` | Путь к пустому TransformGroup либо ID из `i3dMappings` |
| `font` | Шрифт GIANTS, например `DIGIT` или `DIGIT_BOLD` |
| `alignment` | `LEFT`, `CENTER` или `RIGHT` |
| `size` | Размер символов |
| `scaleX`, `scaleY` | Дополнительный масштаб символов |
| `mask` | Формат: `0.0` для одного или `0.00` для двух знаков после точки |
| `color` | Цвет активных символов |
| `hiddenColor` | Цвет неактивных сегментов цифрового шрифта |
| `emissiveScale` | Яркость свечения |
| `offColor` | Цвет цифр при заглушенном двигателе |
| `offHiddenColor` | Цвет неактивных сегментов при заглушенном двигателе |
| `offEmissiveScale` | Свечение при заглушенном двигателе; обычно `0` |
| `minValueSlider` | Давление, соответствующее пустой шкале |
| `maxValueSlider` | Давление, соответствующее полной шкале |
| `intensity` | Яркость шкалы при запущенном двигателе |
| `offIntensity` | Яркость шкалы при заглушенном двигателе |

Любой ненужный `<display>` можно удалить. Например, для одного общего экрана
трактора можно оставить только переднее и заднее давление.

При заглушенном двигателе значение остаётся на дисплее цветом `offColor`.
После запуска двигателя оно автоматически переключается на `color` и
`emissiveScale`.

## Подключение мода

В `modDesc.xml` техники ничего добавлять не нужно. Mud System Physics
автоматически добавляет специализацию колёсной технике. Требуется только:

1. установленный и включённый `FS25_MudSystemPhysics`;
2. включённая система давления шин в настройках мода;
3. блок `<tirePressureSystem>` в XML техники;
4. правильные пути к transform-точкам.
