[ВОПРОС] Изменения в интерфейсе = вылет - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Модостроительство В этом разделе можно обсуждать все что касается создания модов для Heroes of Might and Magic V.

Ответ
 
Опции темы
#1
Старый 26.03.2023, 11:23
  #1
^
Waterfall_13
 
Аватар для Waterfall_13
📖
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
По умолчанию
[ВОПРОС] Изменения в интерфейсе = вылет

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

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

З.Ы. если удалить учётку из диска С где она создаётся и запустить снова то игра не вылетит, при этом поиграв и выйдя из игры, после чего снова попытавшись зайти, игра начнёт вылетать. То-есть так нужно делать постоянно (а это значит глобальный гемор для игрока и потеря сейвов). Короче не вариант.
Waterfall_13 вне форума
Ответить с цитированием
#2
Старый 26.03.2023, 12:34
  #2
^
fktifzobr@mail.ru
 
Аватар для fktifzobr@mail.ru
📖
Регистрация: 15.04.2014
Сообщения: 2875
Регистрация: 15.04.2014
Сообщения: 2875
По умолчанию
Re: [ВОПРОС] Изменения в интерфейсе = вылет

ну... я в этом не шарю, но возможно тут какая-нибудь неочевидная ошибка, типо отсутствия в строчке части #xpointer
fktifzobr@mail.ru сейчас на форуме
Ответить с цитированием
#3
Старый 26.03.2023, 17:43
  #3
^
vova2112
 
Аватар для vova2112
📖
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 114
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 114
По умолчанию
Re: [ВОПРОС] Изменения в интерфейсе = вылет

Waterfall_13 Покажи что есть, а то-ж совсем не понятно. Может неправильная ссылка на Shared, может в файле <Texture> неверные данные (формат или ссылка). Много может там всего быть, просто угадать не получится.
__________________
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
vova2112 вне форума
Ответить с цитированием
#4
Старый 26.03.2023, 19:22
  #4
^
Waterfall_13
 
Аватар для Waterfall_13
📖
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
По умолчанию
Re: [ВОПРОС] Изменения в интерфейсе = вылет

vova2112Waterfall_13 Покажи что есть, а то-ж совсем не понятно. Может неправильная ссылка на Shared, может в файле <Texture> неверные данные (формат или ссылка). Много может там всего быть, просто угадать не получится.

Да, конечно, вот тут рассмотрим как это происходит у меня

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

ССЫЛКА

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

Ну если проблему не решим, придётся бросать свежую версию мода, возвращаться к старой и снова переделывать старую под те изменения которые появились в новой (крайне дизморалящая перспектива).
Waterfall_13 вне форума
Ответить с цитированием
#5
Старый 27.03.2023, 06:38
  #5
^
vova2112
 
Аватар для vova2112
📖
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 114
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 114
По умолчанию
Re: [ВОПРОС] Изменения в интерфейсе = вылет

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

Т.К. повторить ошибку не получилось, предположу что возможно изменился путь до Рабочей папки в ярлыке(подобное у меня было и игра себя ведёт нестабильно - вылетает в начале), попробуй запустить не через ярлык.
Ещё надо не забывать про файл d3d9.dll который тоже может оказывать своё влияние.
__________________
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
vova2112 вне форума
Ответить с цитированием
#6
Старый 27.03.2023, 20:29
  #6
^
Waterfall_13
 
Аватар для Waterfall_13
📖
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
По умолчанию
Re: [ВОПРОС] Изменения в интерфейсе = вылет

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 вне форума
Ответить с цитированием
#7
Старый 27.03.2023, 22:56
  #7
^
vova2112
 
Аватар для vova2112
📖
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 114
Регистрация: 01.09.2020
Адрес: EAO
Сообщения: 114
По умолчанию
Re: [ВОПРОС] Изменения в интерфейсе = вылет

Waterfall_13
Вот такие ClassTypeID правилные:<BackgroundSimpleScallingTexture>
    <ClassTypeID>285694784</ClassTypeID>

<BackgroundSimpleTexture>
    <ClassTypeID>285694785</ClassTypeID>

<BackgroundTiledTexture>
    <ClassTypeID>285694786</ClassTypeID>

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

Вот ещё мои наблюдения при работе над интерфейсом игры:
Для обычных текстур в файлах ...(Texture).xdb более стабильно себя показала конструкция<Type>REGULAR</Type>
<ConversionType>CONVERT_ORDINARY</ConversionType>
Для текстур выделения и Highlight я использую<Type>REGULAR</Type>
<ConversionType>CONVERT_TRANSPARENT_ADD</ConversionType>
и
<Type>REGULAR</Type>
<ConversionType>CONVERT_TRANSPARENT</ConversionType>
Формат 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.

Ещё заметил что с кнопками работаешь не "правильно" их можно объединять в группы и отслеживать визуальное состояние
Типо такого:
можно объединить в группу в которой они будут включаться по нажатию и отключаться при включении другой кнопки из группыДля этого в файлах:
SpellsInfoTableButton.(WindowMSButton).xdb
BloodInfoTableButton.(WindowMSButton).xdb
CreatureInfoTableButton.(WindowMSButton).xdb
ElementInfoTableButton.(WindowMSButton).xdb
HeroesInfoTableButton.(WindowMSButton).xdb
NecroInfoTableButton.(WindowMSButton).xdb
Установить:
    <ButtonStates>
        <Item>
            <MessageOnEnterState/>
            <CommandsOnEnterState>
                <Commands/>
                <Reversable>false</Reversable>
            </CommandsOnEnterState>
            <CommandsOnRightClick>
                <Commands/>
                <Reversable>false</Reversable>
            </CommandsOnRightClick>
            <commandsOnLDblKlick>
                <Commands/>
                <Reversable>false</Reversable>
            </commandsOnLDblKlick>
            <WaitVisual>false</WaitVisual>
            <ReverseCommands>false</ReverseCommands>
            <Name/>
        </Item>
        <Item>
            <MessageOnEnterState/>
            <CommandsOnEnterState>
                <Commands/>
                <Reversable>false</Reversable>
            </CommandsOnEnterState>
            <CommandsOnRightClick>
                <Commands/>
                <Reversable>false</Reversable>
            </CommandsOnRightClick>
            <commandsOnLDblKlick>
                <Commands/>
                <Reversable>false</Reversable>
            </commandsOnLDblKlick>
            <WaitVisual>false</WaitVisual>
            <ReverseCommands>false</ReverseCommands>
            <Name/>
        </Item>
    </ButtonStates>
   <ButtonGroupID>1</ButtonGroupID>
    <AutoChangeState>true</AutoChangeState>
    <PushEffect>
        <Commands/>
        <Reversable>false</Reversable>
    </PushEffect>
    <State>0</State>
    <TextFileRef href=""/>
    <TextFormat/>
</WindowMSButton>
А в их Shared-ах добавить обработчик на изменение визуального состояния в "режиме нажатии кнопки":        <Item>
...
...
            <DefaultSubState>BST_NORMAL</DefaultSubState>
            <VisualOnEnterState>
                <Commands>
                    <Item href="Open.(UISSendUIMessage).xdb#xpointer(/UISSendUIMessage)"/>
                </Commands>
                <Reversable>false</Reversable>
            </VisualOnEnterState>
        </Item>
        <Item>
...
...
            <DefaultSubState>BST_NORMAL</DefaultSubState>
            <VisualOnEnterState>
                <Commands>
                    <Item href="Close.(UISSendUIMessage).xdb#xpointer(/UISSendUIMessage)"/>
                </Commands>
                <Reversable>false</Reversable>
            </VisualOnEnterState>
        </Item>
    </VisualStates>
    <TriggerMode>BCST_ON_PUSH</TriggerMode>
</WindowMSButtonShared>

__________________
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
Грешить, злодействовать, а равно и делать добро или совершать подвиги надо без натуги. А если с натугой — то лучше не надо.
К. Прутков-инженер. Мысль № 77.
Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий.
© Козьма Прутков
vova2112 вне форума
Ответить с цитированием
#8
Старый 28.03.2023, 00:08
  #8
^
Waterfall_13
 
Аватар для Waterfall_13
📖
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
Регистрация: 31.03.2020
Адрес: Крым
Сообщения: 809
Waterfall#7225
По умолчанию
Re: [ВОПРОС] Изменения в интерфейсе = вылет

vova2112Waterfall_13

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

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


Опции темы



Часовой пояс GMT +4, время: 16:49.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru