diff --git a/PLAN.md b/PLAN.md index 72883dc..fad020e 100644 --- a/PLAN.md +++ b/PLAN.md @@ -902,12 +902,25 @@ Unity-подобные ключи (`m_Name`, `MonoBehaviour`), читаются - **Шрифт**: `gamejar/assets/rustex/font/`. - **Панели**: `gamejar/assets/rustex/textures/other/rulespanel.png`. -**Главная сложность — имена.** Таблица предметов (`items.csv`) взята из -`legacy/minecraft/models/stacks.json`, и там поле `rusticon` со старыми -именами (`hatchet`, `boneclub`), а картинки называются нынешними -(`metal_axe`, `mace`). Совпадают только 9 из 218. Значит нужен свой -список соответствия «предмет -> иконка», хотя бы для тех предметов, что -игрок реально носит с собой (инструменты, оружие, ресурсы). +**Главная сложность — иконки предметов.** Вся наша таблица предметов +(`items.csv`) взята из `legacy/minecraft/models/stacks.json`, то есть из +версии ремейка 2017-2020, а нынешний ремейк (тот, что в `gamejar/`) +показывает предметы **трёхмерными моделями** (`nextgen/models/`, 91 штука), +и обычных иконок у него почти нет: в `gamejar/assets/rustex/textures/items/` +их всего 13. Старые иконки лежат в `legacy/minecraft/textures/models/misc/` +(133 штуки), но это **SDF-маски 4x4** — расстояние до края в альфе, их +рисуют своим шейдером и они остаются резкими на любом размере, но в +4x4 пикселях подробностей мало. + +И ещё: имя файла иконки не совпадает со старым `rusticon` из таблицы +(`hatchet` против `metal_axe`), совпадают только 9 из 218 — нужен свой +список соответствия «предмет -> иконка». + +**Вывод:** сначала рисуем HUD (полоски жизни/сытости/воды и значки +состояний) — там иконки есть и в нынешнем виде, из атласа. Иконки +предметов в инвентаре потом: либо свой список соответствия плюс SDF-шейдер +на масках 4x4, либо рендер трёхмерной модели предмета, как это делает +ремейк (у нас уже есть свои модели `.obj` и загрузчик к ним — см. 2.15). **Что делать по шагам:**