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

Post Reply 
Threaded Mode | Linear Mode
Плагины. Обсуждение
» Plugins. Discussion & Questions
Author Message
Berserker Offline
Administrators

Posts: 16488
Post: #646

Там не костыль. В разных диалогах разные кнопки. Опции можно просматривать и из меня сохранения игры. Потому есть функция конфигурации диалога до отображения.


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

Posts: 2270
Post: #647

(11.02.2024 22:05)Berserker Wrote:  Там не костыль. В разных диалогах разные кнопки. Опции можно просматривать и из меня сохранения игры. Потому есть функция конфигурации диалога до отображения.

Там 2 набора кнопок, переключаемых флагом. Флаг можно менять непосредственно перед запуском диалога вог-опций смотря из того, запущена в игре карта или нет. Соотвественно, так ВоГ-опции можно посмотреть в любой момент игры. Тифон сейчас делает именно так.

Вот ещё одни свзязанные с вог-опциями костыли, полной переделкой которых сейчас занимаюсь. Бараторч за каким-то чёртом ставит свою кнопку, Игрик - свою, Херомант - свою. Итого: 3 кнопки, находящиеся на ОДИНАКОВЫХ КООРДИНАТАХ и, теоретически, должны открывать ОДНО И ТОЖЕ в ОДНОМ ДИАЛОГЕ!!!! Почему только теоретически? Потому что эти кнопки НИЧЕРТА В ИГРЕ НЕ ДЕЛАЮТ, тупо болтаются на форме, а сам клик происходит из рассчёта координат на форме диалога. В итоге, мне приходится прятать кнопки Бараторча и Игрика, чтобы запрограммировать кнопку вог-опций по-содовски и так же добавить к ней подсказку (к сожалению, и Игрик, и Бараторч ставят свои кнопки только после конструктора окна, а не прямо в нём, поэтому отключить эти кнопки невозможно - отключается весь функционал HD-мода в этом окне, да и кнопки плагина на XXXL-карты перестают работать... в общем совместмость на платформе ЭРЕ - главная БЕДА. Извините, накипело....). Беда кнопок Бараторча и Игрика - они возвращают 0 при клике на них, поэтому их невозможно запрограммировать. Поэтому приходится ставить свою кпопку, которую понимает и обрабатывает содовский код.
11.02.2024 23:54
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #648

Да, эта боль понятна.


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

Posts: 2814
Post: #649

1. Что значит каким-то чёртом HD-mod/WND ставит кнопку? Ты видел как делает это Вог? - Там просто проверяется условное место клика и по нему запускается меню Вог опций. Вот это - костыльная реализация, причем которая при увеличенных разрешениях уже корректно не работает.
2. Именно поэтому неправильно утверждать, что клик на кнопку Вог-Опций "не возвращает ничего". Он выставляет параметры клика (x=640, y=110, itemId=0), которые Вог сам потом коректно обрабатывает и поготавливает меню Вог опций. Это сделано, чтобы не поломать код Вога. А ты его сейчас начал ломать, т.е. делаешь то, на что обычно сам же и жалуешься.
3. Я добавляю эту кнопку, потому что кнопка HD-modа не имеет перевода. Вот решил я так на тот момент. Не вижу проблемы их скрыть стандартными средствами игры, делов то: 2 вызова одной и той же фунции , чтобы скрыть кнопки HD и WND. Если прям архикритично - могу убрать свою (тогда останется кнопка HD-мода, которая всегда будет на английском). Но за много лет - это первая жалоба, что кнопок видитиле две.
4. Кнопка запрограммирована как раз таки по Содовски, так что тут не надо ля-ля. Суть твоей претензии заключается в том, что это сделано в HiHook'e, а не LoHook'e, но эта претензия не принимается. HiHook всегда более предпочтительный инструмент. Этот вопрос уже неоднократно аргументировался.


game bug fixes extended.dll || My Plugins || My GitHub
12.02.2024 05:17
Visit this user's website Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #650

(12.02.2024 05:17)igrik Wrote:  1. Что значит каким-то чёртом HD-mod/WND ставит кнопку? Ты видел как делает это Вог? - Там просто проверяется условное место клика и по нему запускается меню Вог опций. Вот это - костыльная реализация, причем которая при увеличенных разрешениях уже корректно не работает.

Воговская реализация не была переделана под нормальную. Т.е. пытались поправить это дело и в HD-моде, и в wog_native_dialogs.era, но до конца так и не довели. Воговские кастыли не были заменены.

(12.02.2024 05:17)igrik Wrote:  2. Именно поэтому неправильно утверждать, что клик на кнопку Вог-Опций "не возвращает ничего". Он выставляет параметры клика (x=640, y=110, itemId=0), которые Вог сам потом коректно обрабатывает и поготавливает меню Вог опций. Это сделано, чтобы не поломать код Вога. А ты его сейчас начал ломать, т.е. делаешь то, на что обычно сам же и жалуешься.

Кнопка должна окрывать само воговское меню, а не создавать новые кастыли, чтобы заставлять корректно срабатывать воговские кастыли с HD-модом. В исходных кодах функция, открывающая меню, по неизвестным причинам закомментирована. 105

(12.02.2024 05:17)igrik Wrote:  3. Я добавляю эту кнопку, потому что кнопка HD-modа не имеет перевода. Вот решил я так на тот момент.

На кнопке можно заменить текст вызовом содовской функции 5FED80h. Т.к. это стандартный параметр элемента диалога "text", описанный в erm-хелпе.

(12.02.2024 05:17)igrik Wrote:  Не вижу проблемы их скрыть стандартными средствами игры, делов то: 2 вызова одной и той же фунции , чтобы скрыть кнопки HD и WND.

Адрес этой функции пока не нашёлся.

(12.02.2024 05:17)igrik Wrote:  Если прям архикритично - могу убрать свою (тогда останется кнопка HD-мода, которая всегда будет на английском). Но за много лет - это первая жалоба, что кнопок видитиле две.

Смысл, тогда начнут жаловаться игроки, что кпопка не на русском. Лучше оставить как есть.

(12.02.2024 05:17)igrik Wrote:  Суть твоей претензии заключается в том, что это сделано в HiHook'e, а не LoHook'e, но эта претензия не принимается. HiHook всегда более предпочтительный инструмент. Этот вопрос уже неоднократно аргументировался.

Претензия в общем-то в том, что Вы с Бараторчем ставите хуки на одинаковые адреса, в итоге при затирании хука затирается весь HiHook, поэтому конкретно что-то одно из данного типа хука отключить нельзя - тут либо всё, либо ничего. Но это мои проблемы, не Ваши, поэтому в ЭРЕ+ можно найти 1 весёлый феаноровский плагин с кучей хуков на адрес-пустышку, несмотря на то, что это HiHook-и, только там варварским способом удалось запретить их исполнение в отдельно взятом плагине. Совершенно не хочется заниматься этим варварством и в плагинах Игрика. Лучше как-то попытаться договориться (с Феанором это нереально, т.к. он давно ушёл из моддинга и поддержкой своих плагинов уже лет 10 не занимается).

(12.02.2024 05:17)igrik Wrote:  Да уж, XEPOMAHT. Ты явно не умеешь работать в команде. Постоянно на всех жалуешься, что это не так, да это не так.

Умел бы работать в команде - меня сейчас бы здесь уже не было. Увы, характер скверный, не женат, друзей нет, ссорюсь со всеми и ничего с этим поделать не могу.

(12.02.2024 05:17)igrik Wrote:  Если кто-то когда-то попытается домодифицировать ERA+, то я предсталяю как это будет сложно сделать ему.

Вряд ли кому-то это особо нужно, т.к. 99% моддеров предпочитают делать моды с 0. Все, кроме Майора, кто были тем или иным способом связаны с ERA+, давно занимаются чем-то другим, остался один я.
12.02.2024 07:44
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #651

(12.02.2024 07:44)XEPOMAHT Wrote:  Воговская реализация не была переделана под нормальную. Т.е. пытались поправить это дело и в HD-моде, и в wog_native_dialogs.era, но до конца так и не довели. Воговские кастыли не были заменены.
Кнопка должна окрывать само воговское меню, а не создавать новые кастыли, чтобы заставлять корректно срабатывать воговские кастыли с HD-модом. В исходных кодах функция, открывающая меню, по неизвестным причинам закомментирована.
Никто ничего не пытался поправить (про так называемые Воговские костыли).
Исправлялась только графическя часть, не трогая логику. Поэтому функция, открывающая Воговское меню закомментирована. Она использовалась только для тестов при написании кода, не более.
Это называется разделение зон ответственности. Почитай на досуге об этом.


(12.02.2024 07:44)XEPOMAHT Wrote:  Адрес этой функции пока не нашёлся
Code:
dlg = NewScenarioDlg(можно вытащить указатель отсюда0x587FD0)
HdButton = MEMORY[0x5FF5B0](dlg, 8888);
if ( HdButton )
  MEMORY[0x5FED80](HdButton, 6, 6); // скрыть кнопку HD
WndButton = MEMORY[0x5FF5B0](dlg, 4444);
if ( WndButton )
  MEMORY[0x5FED80](WndButton, 6, 6);  // скрыть кнопку WND


game bug fixes extended.dll || My Plugins || My GitHub
12.02.2024 16:53
Visit this user's website Find all posts by this user Quote this message in a reply
FallenAngel Offline

Posts: 834
Post: #652

igrik, фиксы: генерация темницы на подземелье на поверхности (DungeonTerrain.dll), поле битвы в подземелье зависит от почвы (no_underground_at_underground.bin) добавите в game bug fixes?
05.03.2024 10:52
Find all posts by this user Quote this message in a reply
Archer30 Offline
Moderators

Posts: 1117
Post: #653

Can we have RK's patch about AI thinking process added to game bug fixes?
https://github.com/RoseKavalier/H3Plugin...es.cpp#L78

This is useful for preventing crashes of dividing 0 (42437D) speed when war machines are placed on the map with wog map editor.


Latest ERA mods and scripts in development - My GitHub
05.03.2024 12:37
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #654

(05.03.2024 10:52)FallenAngel Wrote:  igrik, фиксы: генерация темницы на подземелье на поверхности (DungeonTerrain.dll), поле битвы в подземелье зависит от почвы (no_underground_at_underground.bin) добавите в game bug fixes?
Можно. Загрузите оба этих файла, чтобы я не искал их, пожалуйста. Я сам их декомпилирую и включу в свой плагин.
Хм. Я думал, что заплатку "no_underground_at_underground.bin" я давным давно как включил в плагин. Но оказалось что нет.


(05.03.2024 12:37)Archer30 Wrote:  Can we have RK's patch about AI thinking process added to game bug fixes?
https://github.com/RoseKavalier/H3Plugin...es.cpp#L78

This is useful for preventing crashes of dividing 0 (42437D) speed when war machines are placed on the map with wog map editor.
Ok, I will add it.


game bug fixes extended.dll || My Plugins || My GitHub
06.03.2024 09:02
Visit this user's website Find all posts by this user Quote this message in a reply
FallenAngel Offline

Posts: 834
Post: #655

06.03.2024 09:41
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #656

(05.03.2024 10:52)FallenAngel Wrote:  igrik, фиксы: генерация темницы на подземелье на поверхности (DungeonTerrain.dll)
FallenAngel, что делает именно этот плагин, и почему его нужно включить в game bug fixes?
То что я увидел не имеет никакого отношения к исправлению багов игры.


game bug fixes extended.dll || My Plugins || My GitHub
06.03.2024 20:22
Visit this user's website Find all posts by this user Quote this message in a reply
FallenAngel Offline

Posts: 834
Post: #657

igrik, если игра без подземелья, темница может сгенериться на чужой земле. Т.е. может стартовать без преимущества родной земли. Настаивать на включение его в плагин не буду, просто хотел узнать, добавите ли. Если что, оставлю в моде у себя просто, что мне нужно.
(This post was last modified: 06.03.2024 20:51 by FallenAngel.)
06.03.2024 20:43
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #658

FallenAngel, а о побочках плагина вы вкурсе?
Этот плагин делает много чего другого, что не касается генерации земли Данжа на поверхности.
- Он зачем то устанавливает тип земель для каждого замка, что и в оригинале игры (во первых - ненужное дублирование кода, во вторых - серьёзная проблема совместимости с различными модами)
- Он добавляет показ длительности заклинаний в бою (x12 или x4 раунда и т.п.), что его явно не касается, и давно реализовано в другом плагине
- Он включает/отключает показ тени силового поля в бою (что уже сделано в плагине исправлении багов)
- Он лезет в генерацию охраны между зонами при создании случайной карты. Причём одно исправляет, а другое ломает.

Генерацию Данжа на типе поверхности "подземелье" я конечно включу в плагин исправления багов.
Но конкретно этот плагин очень, очень сильно замусорен относительно своего названия. Просто имейте это в виду.


game bug fixes extended.dll || My Plugins || My GitHub
06.03.2024 21:12
Visit this user's website Find all posts by this user Quote this message in a reply
FallenAngel Offline

Posts: 834
Post: #659

igrik, ого, спасибо, я не знал про побочки
07.03.2024 05:32
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #660

Обновлен плагин game bug fixes extended.dll
Code:
[+] Исправлен один из багов раздвоения героев: когда герой при полёте или хождении по воде останавливается на водном ивенте
[+] Темница на поверхности генерируется на родной земле
[+] Битвы в шахтах в подземелье проверяют тип почвы. Ранее было всегда = подземелье
[+] При осаде города у охраны при объединении армий с героем-гостем не появляются фантомные артефакты Знамя Полководца
[+] Убийство охраны у Лагеря Беженцев больше не ломает тип существ в этом лагере
[+] Исправлен вылет из игры, когда Суккуб очаровывает существ при битве после разрушения строения в городе.
[+] Добавлен показ стоимости улучшений существ на кнопке апгрейда в окне существа (я не хотел делать в этом плагине, но было очень удобно, потому что используется один и тот же хук, что и в исправлении описания кнопки Сказочного дракона. Поэтому, пусть будет уже так)


game bug fixes extended.dll || My Plugins || My GitHub
09.03.2024 18:26
Visit this user's website 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-2024 MyBB Group