(22.08.2022 00:01)Panda Wrote: [ -> ]1. Добавить в мод дополнительные игровые файлы (мой "H3spriteEraPlus.pac", ~ 7 мб) - это должно решить проблему с ошибкой во время игры "Map Drawing Error".
ОК, подумаю над этим.
(22.08.2022 00:01)Panda Wrote: [ -> ]2. Добавить в мод патч "4 lines of the creature description.bin", по умолчанию включить - расширяет поле описания просмотра навыков юнитов до 4 строк.
Добавил.
(22.08.2022 00:01)Panda Wrote: [ -> ]3. Удалить из мода патч "campaign_heroes_as_start_heroes", который более несовместим и крашит игру при его включении.
Удалил.
(22.08.2022 00:01)Panda Wrote: [ -> ]4. Удалить из мода патч "NoCommander", т.к. опция командиров была переписана, и более этот патч уже не нужен.
Удалил.
(22.08.2022 00:01)Panda Wrote: [ -> ]5. Удалить из мода патч "view mage guild.bin" - это патч уже есть в Эре Берсеркера под именем "view mage guild without spellbook.bin" и он по умолчанию включен.
Удалил.
(22.08.2022 00:01)Panda Wrote: [ -> ]6. Удалить из мода патчи "transfer last stack" и "dismiss last stack.bin" - эти патчи уже есть в Эре Берсеркера и они по умолчанию включены.
Хм, а у меня в папке с вогом по-умолчанию они выключены. Удалил, т.к. похоже что и в включённом виде они не работают (хотя когда-то со старыми версиями ЭРЫ и HD-мода работали)
(22.08.2022 00:01)Panda Wrote: [ -> ]7. Удалить из мода патч "inferno gates teleports to any town.off" - это патч уже есть в Эре Берсеркера, и он по умолчанию выключен. К тому же этот патч не совместим с HD-модом и более не работает. Чинить его, увы, некому ((
А его и не починить, т.к. проверка на тип города при телепортировании - теперь внутри HD-мода. Удалил.
(22.08.2022 00:01)Panda Wrote: [ -> ]8. Удалить из мода патч "Jeddite_Nagash.bin" - Берсеркер в Эра 3+ вернул стандартные навыки и описания Джеддита и Нагаша.
Не уверен. Судя по логу патчера, Берсеркер отключил только Нагаша, а воговский Жеддит в стандартной ЭРЕ остаётся неизменным. Поэтому данный патч удалять не нужно.
XEPOMAHT, да, всё верно, патчи "transfer last stack" и "dismiss last stack.bin" по умолчанию вЫключены (буковка "Ы" стала потеряшка

). Патчи работают, только что проверил, что на чистой Эре, что в Эра Плюс. Ложная тревога
Ну а по поводу Нагаша и Жеддита ждем ответа от
Берсеркера, т.к. у меня Жеддит стандартный

XEPOMAHT, есть ли возможность сделать так, чтобы воспроизведение всех стартовых роликов при запуске игры, контролировалось конфигурационным .ини файлом допустим? Чтобы игроку дать возможность отключить/включить их, а не тыкать несколько раз каждый раз при запуске игры? Я уже сделал механизм удаления и добавил его в сборку, но всё же, может есть более рациональный способ? Или там все зашито в exe?
(22.08.2022 05:52)Panda Wrote: [ -> ]XEPOMAHT, есть ли возможность сделать так, чтобы воспроизведение всех стартовых роликов при запуске игры, контролировалось конфигурационным .ини файлом допустим? Чтобы игроку дать возможность отключить/включить их, а не тыкать несколько раз каждый раз при запуске игры? Я уже сделал механизм удаления и добавил его в сборку, но всё же, может есть более рациональный способ? Или там все зашито в exe?
Раньше было воспроизводить или нет ролики в ключе "Show Intro" в реестре виндовоза. Тифон игнорирует проверку этого ключа и ролики воспроизводятся всегда. Нужен доступ к heroes3.ini, а эровская функция ReadStrFromIni имеет 4 недокументированных параметра, с которыми фиг знает как взаимодействовать в Тифоне. Теоретически там должно быть:
Code:
push адрес_какой_нибудь_переменной_в_которую_эра_вернёт_значение_ключа
push "heroes3.ini"
push "Show Intro"
push "Settings"
call ReadStrFromIni
Но по факту возвращается всегда 0. Да и heroes3.ini - един для всех модов и самой эры, думаю, можно создать конфиг era+.ini, но так же точно его не увидит менеджер модов, да и игроки тоже в 99% не будут знать. Решения этой головоломки в рамках платформы ЭРА пока нет, надо выпрашивать Берсеркера.
PS: могу вынести в качестве вог-опции, но инициализация значений опций может происходить после роликов, тогда ничего срабатывать уже не будет.
XEPOMAHT, а если избавиться от пробела в названии ключа и поставить нижнее подчеркивание? То есть, получится "Show_Intro". Возможно, функция ReadStrFromIni не умеет корректно работать с пробелами.
(22.08.2022 07:09)Raistlin Wrote: [ -> ]То есть, получится "Show_Intro". Возможно, функция ReadStrFromIni не умеет корректно работать с пробелами.
В берсерковском heroes3.ini нет нижнего подчёркивания. Что гадать на кофейной гуще, лучше подождать ответы моддеров, которые сталкивались со чтением данных из heroes3.ini из dll.
XEPOMAHT, читает в текстовый буффер, который массив char.
В c++ так:
char TextBuffer[20]; //строка из 20 символов (или любой размер)
ReadStrFromIni("heroes3.ini", "Settings", "Show Intro", TextBuffer);
Смысл в том, что нужно сначала выделить память под строку, куда будет прочитана строка из ini, и указать адрес буффера 4-м аргументом.
Если память не выделена, то соответственно читать некуда.
Джеддит и Нагаш в Эре 3 стандартные, не воговские.
XEPOMAHT,
push адрес буфера, желательно байт так 250+
push "Show Intro"
push "Settings"
push "heroes3.ini"
call ReadStrFromIni
(22.08.2022 07:59)Berserker Wrote: [ -> ]Джеддит и Нагаш в Эре 3 стандартные, не воговские.
Тогда отчего индекс Жеддита не меняешь?
(22.08.2022 07:59)Berserker Wrote: [ -> ]push адрес буфера, желательно байт так 250+
Стандартный содовский на 512 подойдёт?
XEPOMAHT, Berserker,
В общем, даже если в heroes3.ini файле поставить Show Intro=1, то воспроизводится только 30% из имеющихся роликов (какие уже не помню). Поэтому и из чистой сборки были удалены эти ролики, т.к. весят они очень много , около ~ 200 МБ, но большинство из них игрок никогда не увидит, даже поставив 1 в строке, соответственно нет никакого смысла в хранении этих роликов в сборке. А вот при запуске Гоговского екзешника, все ролики воспроизводятся, кроме одного, естественно воговского. В Эра Плюс так же, как и в Гоге, не зависимо от того, 1 или 0 выставить. Я думал это зашито в екзешник, поэтому и спросил, есть ли возможность включения/отключения, чтобы угодить 2 лагерям, то бишь кому не нужно, отключат, кому нужно, оставят.
Show Intro=1 включает именно ролики перед показом основного меню игры. В воге свои, в Полном Собрании свои.
XEPOMAHT, сборку обновил. Сделал свой "правильный" механизм "уборки" стартовых роликов при запуске, т.к. некоторых игроков реально подбешивает тыкать несколько раз пробелы при каждом запуске игры. Теперь у них есть возможность отключить это, не нарушая игровые файлы. Как то так.

(22.08.2022 13:22)Panda Wrote: [ -> ]Сделал свой "правильный" механизм "уборки" стартовых роликов при запуске, т.к. некоторых игроков реально подбешивает тыкать несколько раз пробелы при каждом запуске игры. Теперь у них есть возможность отключить это, не нарушая игровые файлы. Как то так. 
Там можно просто выключать мод на стартовые видеоролики для тех, кому они не нужны/надоели. Т.к. они пропускаются при отсутствии соответсвующих файлов в игре.
Раз уж пошла такая пьянка, то вот обновление мода на стартовые видеоролики, где первый ролик обрёл русскую озвучку от Буки.
XEPOMAHT, остались исходники под изменение размера окна главного меню:? хочу попробовать на досуге

(23.08.2022 00:16)daemon_n Wrote: [ -> ]остались исходники под изменение размера окна главного меню:? хочу попробовать на досуге 
Исходников не было и нет, т.к. вручную менялся _HD3_.dll, в котором и сокрыта вся подноготная для отрисовки рамок и заливки фоновых заплаток для главного меню, мешающая увеличивать размер задника главного меню. Единственное, что можно там сделать - уничтожить хук Бараторча на отрисовку ограничителей главного меню и рисовать всё это самостоятельно в отдельно взятом плагине. Правда, Бараторч там делает не только перерасчёт элементов диалога и их отрисовку - присутствуют ещё какие-то патчи, без которых HD-мод начинает сходить с ума и например вместо карты приключений отрисовывает лютый винегрет.
XEPOMAHT, мне только главное меню интересно)