Closed DmitriySolontsevoy closed 2 years ago
Ну это к @NikitaNikson
@DmitriySolontsevoy проверь на этом
@NikitaNikson проверил, начинал новую игру, такое же поведение у иконок, как описано выше
Понял, сейчас тогда по-другому сделаем
@DmitriySolontsevoy твоя проблема фиксится в maingame(_16).xml (в ui)
Либо в static_ammo
, либо в static_wpn_icon
У меня в моде несколько худов доступно. На некоторых иконка патронов сдвинута:
@NikitaNikson В моём случае худ один единственный, под стать оригиналу (статик о котором идёт речь - static_wpn_icon). Как я пофиксаю общую иконку? Если я сдвину одиночную вправо, то сдвинутся двойные и будут налезать на статик кол-ва патронов
Восстановил ТЧшный код для иконки. Попробуй сейчас: bin_05.10.21.zip
(если архив не будет работать, измени формат на .rar)
Проверил - иконки так же смещены, но теперь все более растянуты вширь. Запустил чистую игру без модов и OGSR, чтобы освежить в памяти, как оно выглядело в ориге. Оказывается, что там одинарные иконки тоже были смещены (хотя почему-то не так сильно, как это выглядит сейчас у меня в моде на OGSR). Но я кое-что проверил и это странно: если выставлять такое разрешение, что соотношение сторон 4:3 - то оба вида иконок появляются в одинаковом месте, а если выбирать любое другое соотношение сторон - то иконка улетает влево. Может движок как-то неправильно строит худ для таких соотношений сторон?
Может ты просто не адаптировал худ под 16:9?
Границы худовых элементов можно посмотреть включив в консоли show_wnd_rect_all
@NikitaNikson Как раз-таки только его я и адаптировал. В XML-ке под эту иконку один единственный статик, если бы их было два, тогда в этом был бы смысл
Вот как выглядят rect'ы иконок в обоих случаях. Границы не расширяются в одну сторону, прямоугольник улетает полностью
Судя по скринам, это надо фиксить как-то в движке, а не где либо ещё
у меня всё нормально, потроны не залазят
Это исправляется в UIMainIngameWnd.cpp
.
В оригинале:
float w = ((iGridWidth>2)?1.6f:iGridWidth)*INV_GRID_WIDTH*0.9f;
float h = INV_GRID_HEIGHT*0.9f;//1 cell
float x = UIWeaponIcon_rect.x1;
if (iGridWidth<2)
x += ( UIWeaponIcon_rect.width() - w) / 2.0f;
Для корректного отображения иконки боеприпаса код изменить на:
float w = ((iGridWidth > 1) ? iGridWidth : 1) * INV_GRID_WIDTH;
float h = INV_GRID_HEIGHT;//1 cell
w *= UI()->get_current_kx();
float x = UIWeaponIcon_rect.x1;
if (iGridWidth<2)
x += w / 2.0f;
@xrModder неплохо
Связано с этим багом: https://github.com/OGSR/OGSR-Engine/issues/301 Тестил на последнем релизе. Иконки на две ячейки теперь отображаются правильно, а вот те, что в одну ячейку, теперь улетают куда-то влево.
Вот двойная иконка:
А вот одинарная: