Wake of Gods Forum | Форум Во Имя Богов
Era 2.9.15 Голосуем за исправления - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Моды (/forumdisplay.php?fid=104)
+---- Forum: ЭРА / ERA (/forumdisplay.php?fid=182)
+---- Thread: Era 2.9.15 Голосуем за исправления (/showthread.php?tid=5822)


Era 2.9.15 Голосуем за исправления - Berserker - 01.11.2020 19:01

Какие исправления из более поздних версий наиболее всотребованы для Эры 2.9.14?

1) SN:O.
2) Инициализация нулями аргументов функций по умолчанию.


RE: Era 2.9.15 Голосуем за исправления - Bes - 01.11.2020 19:07

ты серьёзно?
уж коли сказал НЕТ, хоть и печально было это слышать, то держись до конца.Dry


RE: Era 2.9.15 Голосуем за исправления - Bes - 03.11.2020 22:03

ёлы-палы, никому нет дела чтоль до ERA2 платформы как таковой?
я специально промолчал, думал щас и без меня все заинтересанты выскажут своё категорическое ДА... Dry

Я ЗА исправление ЕРМ огрехов для ERA2.9.14 в любой форме. Kap
(никто ж новые красоты из ERA3 сюда не просил перетаскивать)



RE: Era 2.9.15 Голосуем за исправления - wessonsm - 03.11.2020 22:18

Bes, я тоже хотел послушать, что остальные скажут.
Наследование аргументов от родительской функции хотелось бы, чтобы было, как в старых версиях. МБ, в рамках опции "ERM Legacy Support".
!!SN:H для артов не помешало бы.
Вообще, это всё имеет смысл, если поможет обеспечить совместимость старых модов с 2.9.15, но это трудновыполнимая задача, насколько я вижу.
А новые моды всё равно лучше адаптировать под Эра 3.


RE: Era 2.9.15 Голосуем за исправления - Berserker - 03.11.2020 23:28

Quote:Наследование аргументов от родительской функции хотелось бы, чтобы было, как в старых версиях. МБ, в рамках опции "ERM Legacy Support".
Эм, сейчас именно так. Но Hawaiing на англ. форуме пишет, что это баг.

Hawaiing Wrote:Hi Bersy.
Maybe I found the answer.

!!FU(test007):P-1/0/1/2/3/4/5/6/7/8;
!!FU(test007):P;
FU:A=1 x1=0 and x2-x10 still keep the same value 0..8???
!?FU(test007);
!!FU:A?y1;
!!IF:M^FU:A=%Y1
X1=%X1 X2=%X2 X3=%X3 X4=%X4 X5=%X5 X6=%X6 X7=%X7
X8=%X8 X9=%X9 X10=%X10 X11=%X11 X12=%X12 X13=%X13 X14=%X14 X15=%X15
^;

those two bugs just on era2.9.14.
era3 fixed.
Would you fix it on era2.9.14?

Quote:Вообще, это всё имеет смысл, если поможет обеспечить совместимость старых модов с 2.9.15, но это трудновыполнимая задача, насколько я вижу.
Это точно.


RE: Era 2.9.15 Голосуем за исправления - wessonsm - 04.11.2020 00:01

(03.11.2020 23:28)Berserker Wrote:  Но Hawaiing на англ. форуме пишет, что это баг.
Главное - это чётко договориться, что считать правильным, а что нет.
Но если моды для 2.46 это использовали и это работало, то почему не должно работать дальше?
Различия в версиях как раз вносят путаницу.
Я сам не всегда сразу понимаю принцип работы старых скриптов, но они работают.
Вот пример (Из LORD'а).
Я думаю, это плохо написано, но это работает, вернее работало:



RE: Era 2.9.15 Голосуем за исправления - Berserker - 04.11.2020 00:42

wessonsm, это код — ужас. x-переменные не глобальные, чтобы их так использовать. Это жуткий костыль из-за необходимости хранить состояние в DO. До чего же всё топорно было в ЕРМ.


RE: Era 2.9.15 Голосуем за исправления - Bes - 04.11.2020 00:52

Berserker, ближе к телу.
Что решил то, будет обнова или нет? и если ДА, то что именно?
считаю 2) решение не актуальным в свете того, что многие скрипты в WoG Scripts уже оттестированы с реалиями работы ЕРМ в ERA2, и вновь что-то для ф-ций менять - это гарантированные ошибки на уже проверенных новых версиях скриптов. как минимум.
Чаяния авторов модов для ERA2.46 насчёт их возможной адаптации на ERA2.9.14+ понятны, но тянуть аж три поколения платформы - это реально перебор.
а вот недочёты SN для ERA2 вполне себе будет оправдано доисправить.


RE: Era 2.9.15 Голосуем за исправления - wessonsm - 04.11.2020 01:05

Berserker, но тогда может имело бы смысл оставить циклы !!DO в таком виде, как они были?
Всё равно в здравом уме никто их не будет сейчас использовать, ведь есть !!re и другие возможности.
Например, какой смысл в ускорении выполнения циклов !!DO, если многие из
скриптов, которые их используют, перестанут после этого работать, а новые скрипты с использованием !!DO всё равно никто не пишет?
Я понимаю, что вопрос по большому счёту риторический, изменения уже сделаны, и откатить их обратно просто нереально.

(04.11.2020 00:52)Bes Wrote:  а вот недочёты SN для ERA2 вполне себе будет оправдано доисправить.
Это будет актуально только для авторов новых модов, которые по какой-то причине хотят, чтобы их моды работали и на ERA 2 тоже.


RE: Era 2.9.15 Голосуем за исправления - Berserker - 04.11.2020 01:23

wessonsm, в 2.9.14 уже многие оптимизации применены, если помнишь. Можно ввести обнуление x-ов по умолчанию только для FU:P (ещё смотреть нужно, перехватывал ли я FU:P в Эре 2), а для DO:P не делать.

SN:O для Беса тогда пока в списке. Валере не до тестов, а то бы мы подтянули совместимость со старыми модами, если там буквально пара-тройка проблемных мест.


RE: Era 2.9.15 Голосуем за исправления - Bes - 04.11.2020 02:19

Berserker, я не пойму всё никак почему ты вдруг сам поднял вопрос ERA2, если совсем недавно эту тему обновления этой платформы публично закрыл с точкой.
Кто лоббирует, так сказать, этот вопрос? имя его/их озвуч102


RE: Era 2.9.15 Голосуем за исправления - Berserker - 04.11.2020 02:50

Bes, китайский модер Hawaiing написал просьбу исправить баг, что х-переменные не обнуляются по умолчанию. Я подумал, что уже двое желающих лоббируют правки. Может и Валера бы набежал со временем. Сейчас оказывается, что ряд старых скриптов использует этот баг как фичу. Наверное, буду всех на 3.х версию отправлять, в которую вложено много трудов. Ведь код, что идёт на 2.9.14, почти весь и на 3.х идёт.


RE: Era 2.9.15 Голосуем за исправления - Bes - 04.11.2020 02:57

Quote:Ведь код, что идёт на 2.9.14, почти весь и на 3.х идёт.
ну... нет. Одна скажем правка в ERA3 именованных f..t до локальных переменных похоронит многие отлаженные скрипты.
Что до х-переменных - да, многие их так использовали, благо справка это сама же и расписала с примерами. Был бы незадокументирован этот момент, вряд ли так активно пользовали.
как по мне - был на то время весьма удобных способ. Баг? нет,зря ты щас это так пытаешься выставить. особенность ЕРМ, не более.


RE: Era 2.9.15 Голосуем за исправления - Berserker - 04.11.2020 03:01

Bes, документировали кривую реализацию и только. Такие вещи нельзя документировать, уж поверь.


RE: Era 2.9.15 Голосуем за исправления - Bes - 04.11.2020 03:15

Berserker, ну что, выпиливаю из справки по ЕРМ1,0+ это?
Code:
SN:O команда вызывает сбои игры, если кликнуть на входе, где стоит другой герой.
Rolleyes
а может даже и это?
Code:
SN:K#1/#2/$3 - синтаксис получения символа в $3 параметр работает некорректно



RE: Era 2.9.15 Голосуем за исправления - wessonsm - 04.11.2020 03:51

Berserker, прошу поправить, если я я что-то не то говорю.
ЕМНИП, x - принудительно обнулялись при вызове FU:P из триггера - не-функции, при вызове из родительской функции - наследовались, хоть это и не было задокументировано. Или обнулялись всегда? Мне сейчас уже затруднительно это проверить.
В !!DO обнулялись на первом круге цикла, дальше x1..x15 просто наследовались.
Я нигде не использовал незадокументированных возможностей в своих скриптах, но видел такое использование, пример выше привел.

Я вижу смысл в обновлении 2.9.14 в основном ради совместимости со старыми модами.
Но по сути ничто не мешает сделать такое же и для ERA 3.x.x, так что для меня необходимость выпуска 2.9.15 тоже под вопросом.
Здесь в тестирование всё будет упираться, тестеров как всегда мало.


RE: Era 2.9.15 Голосуем за исправления - Berserker - 04.11.2020 07:36

Quote:ЕМНИП, x - принудительно обнулялись при вызове FU:P из триггера - не-функции, при вызове из родительской функции - наследовались, хоть это и не было задокументировано. Или обнулялись всегда? Мне сейчас уже затруднительно это проверить.
Вообще никогда не занулялись. 0 как значение по умолчанию введено в Эре, затем убрано в Эре, затем возвращено в Эре. Если проще — это очень удобное значение, позволяющее не передавать часть аргументов и трактовать их как 0.

Quote:Но по сути ничто не мешает сделать такое же и для ERA 3.x.x,
Подобные кривые механики в 3.Х.Х вносить не буду. В 3.Х DO-переменные вычисляются один раз до начала повторов, x-ы зануляются, а уже во время повторов храни в x-ах что хочешь.
То есть твой код работает, если x3 — счётчик. А В 2.9.14 твой код выше может не работать, если изначально в x3 мусор или иное значение, а не 0.

Использование же x-переменных одних функций другими функциями — это беда.

Bes, нет, пока ничего не пилим. Но спасибо за заметку.


RE: Era 2.9.15 Голосуем за исправления - wessonsm - 04.11.2020 08:18

(04.11.2020 03:15)Bes Wrote:  
Code:
SN:K#1/#2/$3 - синтаксис получения символа в $3 параметр работает некорректно
А это почему кстати?


RE: Era 2.9.15 Голосуем за исправления - Berserker - 04.11.2020 08:54

wessonsm, баг был. Два символа копировались.


RE: ERM-Справочник v2.9.x - Berserker - 12.11.2020 07:13

(11.11.2020 11:13)Bes Wrote:  вот видишь, я охотно иду тебе навстречу, а ты? ждём-с 2,9,15 =)))

Так что править-то в 2.9.15 кроме SN:O? )


RE: ERM-Справочник v2.9.x - daemon_n - 12.11.2020 16:03

HE:X там ведь тоже сломан был?


RE: ERM-Справочник v2.9.x - Berserker - 12.11.2020 17:27

daemon_n, нужно проверять. Формально с третьей версии, но по факту, вроде бы, в 2.9.14 уже закралось. Спасибо, отметил.


RE: Era 2.9.15 Голосуем за исправления - Bes - 12.11.2020 21:52

если реально будешь, то как и в ERA2.46F добавь последний плагин фиксов от igrik'а


RE: Era 2.9.15 Голосуем за исправления - Berserker - 13.11.2020 00:11

Хорошо. А сохранилась последняя версия вог-скриптов для 2.9.14?


RE: Era 2.9.15 Голосуем за исправления - daemon_n - 13.11.2020 01:11

предлагаю ещё снять (поднять) лимит на доход золота


RE: Era 2.9.15 Голосуем за исправления - Bes - 13.11.2020 13:54

Quote:А сохранилась последняя версия вог-скриптов для 2.9.14?
в сборке на 2,9,14 ж есть.

Кстати, почитал историю сегодня, вот бы что тож подтянуть...
Code:
[+] IF:N1/# now works with any string, not z1 only.



Пока эта команда не столь разползлась по модам и скриптам, тоже бы порезать
Code:
[!] !!FU:C is deprecated and not supported anymore. It may be reused in future.



если возможно, дабы обеспечить стабильность 2й платформы для игроков
Code:
[-] Fixed bug, causing many Era commands to return garbage after valid string contents. Credits: PerryR.
Code:
[-] Fixed WoG bug, disallowing to set dialog hints twice using DL:H command. Credits: gamecreator.
Code:
[-] Fixed Nagash portrait name in game and map editor executables. No more "missing hpsz001.pcx" error.
Code:
[*] Fully restored Nagash and Jeddite original portraits, descriptions and specialties.
Code:
[-] Fixed memory leakage in SN:M dynamical arrays deallocation and a few other places.
Code:
[*] Fixed WoG bug with tactics detection on the very first round. Do not use BU:R in !?BR or !?FU(OnCombatRound) for zero round,
    because a few structures are not initialized at this moment and random crash may occur. First round code was moved after
    combat theme initialization and tactics popup message appearance.



RE: Era 2.9.15 Голосуем за исправления - Berserker - 13.11.2020 17:38

Всё будет сложно, но что-то вполне, спасибо.


RE: Era 2.9.15 Голосуем за исправления - Bes - 14.11.2020 00:41

ну, сам смотри что реально/нужно, а что игрок получит ТОЛЬКО обновив платформуRolleyes
в любом случае, лично я буду очень благодарен за дошлифовку важных моментов ERA2


RE: Era 2.9.15 Голосуем за исправления - Algor - 18.11.2020 14:50

!!SN:H для артефактов


RE: Era 2.9.15 Голосуем за исправления - SergOz - 18.11.2020 15:55

(18.11.2020 14:50)Algor Wrote:  !!SN:H для артефактов
YesYesYes
А если бы ещё для журнала QW... чтобы избавиться от z



RE: Era 2.9.15 Голосуем за исправления - SergOz - 20.11.2020 00:04

Было бы здорово, если бы можно было динамические массивы SN:M делать именованными.
Вместо номера, который не должен совпадать с уже назначенными, можно было бы назвать его запоминающимся именем. Yes


RE: Era 2.9.15 Голосуем за исправления - Berserker - 20.11.2020 00:11

Era 3.

!#FU(NewIntArray):P?i^serg_monsters^/(M_STORED);

А потом так: !!SN:Vi^serg_monsters^/[индекс]/значение.
Конечно, производительнее сохранить i^serg_monsters^ в локальную (monstersList:y), но оба варианта хороши.


RE: Era 2.9.15 Голосуем за исправления - SergOz - 20.11.2020 01:03

Berserker,
Э-э... тема то "исправления в Эра 2.9.15" там нет !!SN:V
А если мне нужен массив из 20-30 значений, а потом где-то их нужно считывать, то вспомнить имя массива легче, чем его номер, да и вероятность назвать новый массив тем же именем - минимальна


RE: Era 2.9.15 Голосуем за исправления - Berserker - 20.11.2020 01:16

SergOz, В 2.9.15 только перенос исправлений. Что-то сложное не потащу. Напомню, что в 3.0 переписан ЕРМ интерпретатор и даже несколько раз. По факту для SN/MP/RD один интерпретатор, для остальных другой. И оба — не воговские.


RE: Era 2.9.15 Голосуем за исправления - SergOz - 20.11.2020 02:35

Berserker, понял, что только перенос.
Если это сложно, то проще использованные номера массивов где-то записывать.
Как говорила тётушка Чарли из Бразилии: "это был мой маленький каприз..."



RE: Era 2.9.15 Голосуем за исправления - Berserker - 20.11.2020 02:51

SergOz, переходи на тройку. Я вчера ради интереса запустил Феникс-Мод. Стартанул без ошибок, как и новая карта Валеры. Ну разве не пример 99% совместимости? А возможности новые растут с каждым обновлением.


RE: Era 2.9.15 Голосуем за исправления - Bes - 20.11.2020 03:11

SergOz, ты мне не сбивай с панталыку Алекса, для всех этих красот, включая SN:H^art^/... уже есть ERA3Stop
Я тихим сапом вроде как нащупал брешь в совести у Berserker'а, дабы краеугольные баги таки он закрыл в брошенной ERA2, а ты на пару с "красным" хотелки тут кляньчитеMoral


RE: Era 2.9.15 Голосуем за исправления - Berserker - 20.11.2020 03:15

Ахах, Бес, ты, как всегда, на высоте 96-copy


RE: Era 2.9.15 Голосуем за исправления - MaGoth - 26.12.2020 18:58

Berserker, поправь пожалуйста костыль глючной эровской команды !!SN:O в ERA 2.9.15, что-бы она не добавляла ещё больше глюков.. Sm


RE: Era 2.9.15 Голосуем за исправления - Raistlin - 28.12.2020 04:44

(20.11.2020 02:35)SergOz Wrote:  Berserker, понял, что только перенос.
Если это сложно, то проще использованные номера массивов где-то записывать.
Я сам не пробовал, но интуиция подсказывает, что для этой цели можно пользоваться SN:W118


RE: Era 2.9.15 Голосуем за исправления - Berserker - 28.12.2020 05:47

Raistlin, в Эре 3 к массивам просто обращаться по именованной локальной или глобальной переменной.
Сергоз хочет такую халяву в ЕРМ 1 )


RE: Era 2.9.15 Голосуем за исправления - V_Maiko - 28.12.2020 06:01

Berserker, why complicate the lives of others? not everyone can or wants to use ERA 3 because of the components and functions, either outdated or abandoned of his mod, give a hand Ab


RE: Era 2.9.15 Голосуем за исправления - Berserker - 28.12.2020 07:26

V_Maiko, the talk is not about complicating things. It's about much cleaner/easier things in new Era versions.


RE: Era 2.9.15 Голосуем за исправления - Archer30 - 21.11.2021 15:24

I vote for "preventing loading scripts when the script starts with ZVSE2". ERM 2 scripts should not be loaded at all.

Same goes to ERA 2.46f


RE: Era 2.9.15 Голосуем за исправления - Bes - 27.01.2022 21:07

тему закрываем?
я так понимаю, поезд ушёл окончательно?


RE: Era 2.9.15 Голосуем за исправления - Berserker - 27.01.2022 23:07

Да, закрывай пока. Если что github всё помнит.


RE: Era 2.9.15 Голосуем за исправления - XEPOMAHT - 27.01.2022 23:14

(27.01.2022 21:07)Bes Wrote:  тему закрываем?
я так понимаю, поезд ушёл окончательно?

Закрывай конечно. Есть важные доводы использовать для моддинга именно ERA3, т.к. ERA2 теперь - только для старых модов и карт, которых некому обновлять. Ну или для сверх ленивых, отказывающихся производить адаптацию под ERA3. Тем более, новые моды с ERA2 часто несовместимы (например, ERA+ наверняка не заведётся на таком старье).