Current time: 21.01.2022, 22:05 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
ERA III
Author Message
Berserker Offline
Administrators

Posts: 15661
Post: #361

Code:
[+] Implemented extended complex dialogs support in ERM. Credits: igrik, Berserker.
    IF:N(msgType/^text^[/?result/(textAlignment)/(preselectedPicId)].
    Display dialog with up to selectable 8 pictures.

    msgType           is one of MSG_TYPE_XXX constants (message, question, popup, picture selection with optional cancel button).
    textAlignment     is bit mask of TEXT_ALIGN_XXX flags. Both vertical and horisontal alignment are supported. -1 means "use default".
    preselectedPicId  is preselected picture index: 0-7 or -1 for none
    result            will contain -1 in most cases, (TRUE) or (FALSE) for questions, 0-7 (picture index) for picture selection and -1 for cancelled selection.

    Example:

    !?FU(OnAfterErmInstructions);
    !!IF:N(PIC_TYPE_SPELL)/(SPELL_TOWN_PORTAL)/(PIC_TYPE_RES_GOLD)/300/
          (PIC_TYPE_RES_WOOD)/5/(PIC_TYPE_RES_MERCURY)/10/(PIC_TYPE_RES_ORE)/15/
          (PIC_TYPE_RES_SULFUR)/20/(PIC_TYPE_RES_CRYSTAL)/25/(PIC_TYPE_MONEY)/5000;

    !!IF:N(MSG_TYPE_CHOOSE_PIC_OR_CANCEL)/^Take anything you need, bro!^/?(chosenItem:y)/(TEXT_ALIGN_LEFT);

    !!IF:M^%(chosenItem)^;


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
19.10.2020 01:02
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 1714
Post: #362

(18.10.2020 19:04)Berserker Wrote:  у нас будет диалог с выбором до 8-и изображений!

Круто. Надеюсь, совместимость с messages.dll не сломана?
19.10.2020 01:15
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15661
Post: #363

XEPOMAHT, не тестировали. Дашь библиотеку и тестовый код? Напомни, что она позволяла делать. Забываю постоянно.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
19.10.2020 01:32
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 1714
Post: #364

(19.10.2020 01:32)Berserker Wrote:  Дашь библиотеку и тестовый код?

Из ERA+ можно скопировать. Завтра на работе попробую протестировать.


(19.10.2020 01:32)Berserker Wrote:  Напомни, что она позволяла делать. Забываю постоянно.

(01.05.2019 00:46)XEPOMAHT Wrote:  
(30.04.2019 19:38)igrik Wrote:  По messages.dll: есть исходник или хотя бы инструкция как им пользоваться?

Там просто прописывается в typemsgs.txt имя дефа, номер спрайта, текст под картинкой и подсказка по пкм. Затем можно вызывать сообщение с картинкой любыми средствами, например "!!IF:Q1/100/1/4/z100504;" (ERM) или "Message стр ebx*4+524 MoPSpec, Type_Msg_RMBINFO, Pic_MoP, Pic_Арена" (WERD)

Исходник наверное есть у Берсеркера. И в исходниках MoP ассемблерный код тоже можно найти.
19.10.2020 02:00
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15661
Post: #365

Хорошая идея. Нужно сделать такую возможность без привязки к messages.dll. Совместимость пропадёт тогда, но messages.dll не расчитана на два и более мода.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
19.10.2020 03:11
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 1714
Post: #366

(19.10.2020 03:11)Berserker Wrote:  Совместимость пропадёт тогда, но messages.dll не расчитана на два и более мода.

Оно и используется, на моей памяти, только в 2-х модах - Фениксе и ERA+, которые... и так не совместимы друг с другом. Режима глобального мода в ERA (чтобы глупые пользователи модов не могли их запустить единовременно) по-прежнему увы нет (как будто это только мне нужно).
(This post was last modified: 19.10.2020 03:39 by XEPOMAHT.)
19.10.2020 03:38
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15661
Post: #367

XEPOMAHT, может и можно сохранить совместимость. Реализовали с игриком поддержку выбора картинки по умолчанию для диалога:
https://yadi.sk/i/gUmUzwwL-0aUIQ


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
19.10.2020 05:03
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 1714
Post: #368

(18.10.2020 21:50)Berserker Wrote:  Тестируем уже:
Image: 8j37KmQuwFM.jpg?size=584x393&qua...194d6982b7

Протестировал. С ERA+ несовместимо, увы.

На этой строке при любом раскладе

Code:
!!IF:N(MSG_TYPE_CHOOSE_PIC_OR_CANCEL)/^Hi!^/?(res:y);

вылетает всегда:

Code:
Failed to read data at ECE8EDE0.
EIP: H3era.004F55D3. Code: C0000005

> Registers
EAX: 00000000 (int: 0)
ECX: FFFFFFFF (int: -1)
EDC: ECE8EDE0 (int: -320279072)
EBX: 00227F8C (int: 2260876, pint: 0x00000024 = 36)
ESP: 00227C38 (int: 2260024, pint: 0x00227F8C = 2260876)
EBP: 00227D00 (int: 2260224, pint: 0x00227D20 = 2260256)
ESI: FFFFFFFF (int: -1)
EDI: ECE8EDE0 (int: -320279072)

Ну и проверки на синтаксис так же на новой команде нет, берёт в себя любой мусор, а проверка на синтаксис работает только для старых !!IF:N-команд.
19.10.2020 11:36
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2648
Post: #369

(19.10.2020 11:36)XEPOMAHT Wrote:  
(18.10.2020 21:50)Berserker Wrote:  Тестируем уже:
Image: 8j37KmQuwFM.jpg?size=584x393&qua...194d6982b7

Протестировал. С ERA+ несовместимо, увы.

На этой строке при любом раскладе

Code:
!!IF:N(MSG_TYPE_CHOOSE_PIC_OR_CANCEL)/^Hi!^/?(res:y);

вылетает всегда
А как ты смог протестировать, если у тебя нет новых era.dll и wog native dialogs.era?
Я сейчас поставил ERA+ и протестировал. У меня всё отлично работает.
Image: Image.jpg

На данном скрине видно, что:
1. Работает выравнивание текста СЛЕВА
2. Выбран элемент №6 (напомню, что индексация 0-7)
3. Элемент №6 выбран по дефолту (т.е. элемент при показе диалога уже подсвечен и активна клавиша ОК)
4. Тип сообщения 10 (есть выбор элементов, кнопки ОК и ОТМЕНА)
19.10.2020 13:25
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 1714
Post: #370

(19.10.2020 13:25)igrik Wrote:  А как ты смог протестировать, если у тебя нет новых era.dll и wog native dialogs.era?

Меня воодушевил призыв Берсеркера (видимо с бодуна неправильно его понял), скачал версию era.dll, что постом выше, почему-то на радостях подумал, что там оно есть. JC_see_stars

(19.10.2020 13:25)igrik Wrote:  Я сейчас поставил ERA+ и протестировал. У меня всё отлично работает.

Это хорошо. Значит в будущем можно пытаться переходить на ERA 3.1, раз такие фишки добавляются, ERM эволюционирует дальше. Ab
19.10.2020 14:01
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15661
Post: #371

XEPOMAHT, проверил, messages.dll из Феникса не вылетает.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
19.10.2020 15:19
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5268
Post: #372

Berserker Wrote:Дашь библиотеку и тестовый код? Напомни, что она позволяла делать. Забываю постоянно
Berserker, вот тема ж по messages.dll - http://wforum.heroes35.net/showthread.php?tid=5659
делал специально летом её, чтоб потом не искать где попало, а сразу под глазами 116
там же и есть исходники от Мастера
19.10.2020 17:34
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15661
Post: #373

Code:
[+] Improved UN:U command. It does not raise error if no more objects are found, but sets x-coordinate to -1 instead. Thus no premature
    objects counting is required. A new syntax with 6 parameters was added to allow using arbitrary integer variables instead of v-variables.
    !!UN:U(objectType)/(objectSubtype)/(direction like -1/-2 or object index)/(x)/(y)/(z).

    Example:
    ; Let's traverse through all map monsters, doubling their quantity

    !#VA(x:y) (y:y) (z:y); define variables to store object coordinates
    !!VR(x):S-1;           setting x-coordinate to -1 will force to start search from scratch
    
    !!re i; endless loop
      !!UN:U(OBJ_MONSTER)/(ANY_OBJ)/-1/(x)/(y)/(z); find next monster, (x) = -1 on failure
      !!br&(x)<0:;                                  exit loop if nothing found
      !!MO(x)/(y)/(z):Gd*2;                         double monsters quantity
    !!en:;


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
20.10.2020 03:51
Find all posts by this user Quote this message in a reply
Archer30 Offline
Moderators

Posts: 739
Post: #374

Thanks for the update Berserker, great work!

Just wondering if the Era Erm Framework mod is the latest in ERA 3.1.0. By checking files it is the same as in 3.0.5.

Another thing is the animated trees. I thought you would have removed them 102
(This post was last modified: 20.10.2020 14:48 by Archer30.)
20.10.2020 14:39
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15661
Post: #375

Archer30, thanks for report, you're right. Will release 3.1.1 update in a few hours, I hope.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
20.10.2020 15:27
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2022 MyBB Group