Перейти к содержанию

Сообщения от Изменения в интерфейсе = вылет

Пока нет оценок — будьте первым!
Аватар пользователя
3 года назад
Кто-нибудь из тех кто занимался интерфейсом, знает из-за чего может вылетать игра от изменений. Какие-то жёсткие рамки ?

Лично я пытался добавить кнопку в разделы лобби одиночной, сетевой и дуэлей (с информацией). И вроде как после этого у меня играл стала вылетать спустя 5 секунд после появления главного меню.
Не пойму что за фигня. При этом запускаю старую версию мода, там всё в порядке.
Я уже откатил то что менял обратно... всё равно не помогло.

З.Ы. если удалить учётку из диска С где она создаётся и запустить снова то игра не вылетит, при этом поиграв и выйдя из игры, после чего снова попытавшись зайти, игра начнёт вылетать. То-есть так нужно делать постоянно (а это значит глобальный гемор для игрока и потеря сейвов). Короче не вариант.
Аватар пользователя
3 года назад
ну... я в этом не шарю, но возможно тут какая-нибудь неочевидная ошибка, типо отсутствия в строчке части #xpointer
Аватар пользователя
3 года назад
Waterfall_13 Покажи что есть, а то-ж совсем не понятно. Может неправильная ссылка на Shared, может в файле неверные данные (формат или ссылка). Много может там всего быть, просто угадать не получится.
В ответ пользователю vova2112
Аватар пользователя
3 года назад
vova2112
Waterfall_13 Покажи что есть, а то-ж совсем не понятно. Может неправильная ссылка на Shared, может в файле неверные данные (формат или ссылка). Много может там всего быть, просто угадать не получится.
Да, конечно, вот тут рассмотрим как это происходит у меня

А тут прикладываю ссылку на использующиеся в моде файлы UserInterface

ССЫЛКА

Я буду очень благодарен если те кто "в теме" посёрфят по файликам, может вы заметите где ошибка произошла, где символа не хватает.

Ну если проблему не решим, придётся бросать свежую версию мода, возвращаться к старой и снова переделывать старую под те изменения которые появились в новой (крайне дизморалящая перспектива).
В ответ пользователю Waterfall_13
Аватар пользователя
3 года назад
Waterfall_13
А тут прикладываю ссылку на использующиеся в моде файлы UserInterface
Значит докладую - аналогичных вылетов не получилось достичь, наверно прислал не те файлы, ибо в лобби создания сетевой игры (где на видео долго грузилось) кнопка которую ты добавлял отсутствует.
Заметил другие ошибки:
- в файле [InfoWindows\Buttons\CreatureInfo\Conjunction\InfoB utton.(BackgroundSimpleTexture).xdb] неправильный ClassTypeID
- во множестве файлов dds предназначенных для интерфейса используются mipmap, что Очень плохо т.к. при изменении уровня графики ниже высокого игра не стабильна и вылетает.(надо отказаться от mipmap в текстурах интерфейса, а где необходимо использовать mipmap, то генерировать их кратными 4 как у оригинальных файлов игры)

Т.К. повторить ошибку не получилось, предположу что возможно изменился путь до Рабочей папки в ярлыке(подобное у меня было и игра себя ведёт нестабильно - вылетает в начале), попробуй запустить не через ярлык.
Ещё надо не забывать про файл d3d9.dll который тоже может оказывать своё влияние.
В ответ пользователю vova2112
Аватар пользователя
3 года назад
vova2112
Значит докладую - аналогичных вылетов не получилось достичь, наверно прислал не те файлы, ибо в лобби создания сетевой игры (где на видео долго грузилось) кнопка которую ты добавлял отсутствует.
Заметил другие ошибки:
- в файле [InfoWindows\Buttons\CreatureInfo\Conjunction\InfoB utton.(BackgroundSimpleTexture).xdb] неправильный ClassTypeID
- во множестве файлов dds предназначенных для интерфейса используются mipmap, что Очень плохо т.к. при изменении уровня графики ниже высокого игра не стабильна и вылетает.(надо отказаться от mipmap в текстурах интерфейса, а где необходимо использовать mipmap, то генерировать их кратными 4 как у оригинальных файлов игры)

Т.К. повторить ошибку не получилось, предположу что возможно изменился путь до Рабочей папки в ярлыке(подобное у меня было и игра себя ведёт нестабильно - вылетает в начале), попробуй запустить не через ярлык.
Ещё надо не забывать про файл d3d9.dll который тоже может оказывать своё влияние.

1) А какой КлассТайпАйди должен быть ?
2) Про мипмапы не знал (у меня скорее всего вообще всё такое, учитывая количество всяких иконок и прочего, фиг вычистишь на этом этапе.
3) Путь в ярлыке не менялся (в том то и прикол что пару дней назад всё было норм, а тут полез немного интерфейс подшаманить и начало вылетать)

4)Д3Д9длл уже года 3 в моде лежит

В общем понятно что ничего непонятно =)
В любом случае, спасибо, что полез разбираться, не каждый захочет рыться в чужом болоте 😅
В ответ пользователю Waterfall_13
Аватар пользователя
3 года назад
Waterfall_13
Вот такие ClassTypeID правилные:


    285694784


    285694785


    285694786

Про mipmap нужно просто зависти правило - всегда отключать их генерацию(если это текстура интерфейса).

Вот ещё мои наблюдения при работе над интерфейсом игры:
Для обычных текстур в файлах ...(Texture).xdb более стабильно себя показала конструкция

REGULAR
CONVERT_ORDINARY
Для текстур выделения и Highlight я использую

REGULAR
CONVERT_TRANSPARENT_ADD
и
REGULAR
CONVERT_TRANSPARENT
Формат TF_8888(без потерь) самый неприхотливый к нестандартным размерам высоты и ширины, с другими форматами(TF_DXT1 - TF_DXT5, TF_565) иногда надо "поиграться с размером полотна".
в файлах ...(Texture).xdb успешно используются форматы:

TF_565
TF_4444
TF_8888
TF_DXT5
TF_DXT4
TF_DXT3
TF_DXT1
Надо не забывать про точное позиционирование элементов

EPA_HIGH_END - выравнивание по правому\нижнему краю
EPA_LOW_END - выравнивание по левому\верхнему краю
EPA_MARGIN - растягивание на весь экран
ERA_CENTER - расположить по центру
можно использовать в связке со значениями (x\y) в секции Position , не будет учитываться пока значение в секции Second = false.

Ещё заметил что с кнопками работаешь не "правильно" их можно объединять в группы и отслеживать визуальное состояние
[spoiler=Типо такого:]
можно объединить в группу в которой они будут включаться по нажатию и отключаться при включении другой кнопки из группы

Для этого в файлах:
SpellsInfoTableButton.(WindowMSButton).xdb
BloodInfoTableButton.(WindowMSButton).xdb
CreatureInfoTableButton.(WindowMSButton).xdb
ElementInfoTableButton.(WindowMSButton).xdb
HeroesInfoTableButton.(WindowMSButton).xdb
NecroInfoTableButton.(WindowMSButton).xdb
Установить:
   
       
           
           
               
                false
           
           
               
                false
           
           
               
                false
           
            false
            false
           
       
       
           
           
               
                false
           
           
               
                false
           
           
               
                false
           
            false
            false
           
       
   
   1
    true
   
       
        false
   
    0
   
   

А в их Shared-ах добавить обработчик на изменение визуального состояния в "режиме нажатии кнопки":

       
...
...
            BST_NORMAL
           
               
                   
               
                false
           
       
       
...
...
            BST_NORMAL
           
               
                   
               
                false
           
       
   
    BCST_ON_PUSH


[/spoiler]
В ответ пользователю vova2112
Аватар пользователя
3 года назад
vova2112
Waterfall_13

Ещё заметил что с кнопками работаешь не "правильно" их можно объединять в группы и отслеживать визуальное состояние

Если честно, я в кнопках вообще не шарю, максимум на что меня хватает в этом искусстве интерфейса это их "двигать" и добавлять картинки.
Если узнать как я сделал внешний вид главного меню, можно знатно прикурить.

Статистика

Приветствуем новейшего участника: recijeb

Сейчас на сайте 6 пользователей 1314 гостей