Объявления
Поздравляем
Avrelian


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Альтернативный перевод Heroes III

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineАватара пользователя
Владимир  
Эксперт
Эксперт
 
Сообщения: 1046
Зарегистрирован: 30 окт 2012, 18:37
Пол: Не указан
Награды: 3
Высшая медаль (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (1)
Поблагодарили: 629 раз.

Re: Альтернативный перевод Heroes III

Сообщение Владимир » 10 май 2023, 14:02

Редактор не отличается по поведению в оригинале и в Буке. Карты редактировались как-то иначе.
Но можно сравнить сами стандартные карты с картами, где есть длинные названия. Я попробую.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5582
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2184 раз.

Re: Альтернативный перевод Heroes III

Сообщение AlexSpl » 10 май 2023, 16:59

Как и обещал, консольная утилита GZIP, однако очень древняя, поэтому 16-ти разрядная. Помню, давным давно скачивал с какого-то геройского сайта с разными утилитами. Про современные версии читал, что у них есть проблемы с контрольной суммой, но можно пытаться пробовать старые версии Gzip с официального сайта. Вдруг какая-то из них на 100% дружит с Героями 3.

GZIP.ZIP
(35.2 КБ) Скачиваний: 196

* * *
Посмотрел карту The Mandate of Heaven. Самое длинное название города - New Sorpigal (13 байт: 12 текст + 1 нулевой символ в конце строки). А какое название у "Буки" самое длинное? Так понимаю, Вы хотите сделать ещё длиннее? Посмотрел код LMOracle и у меня там MAX_TOWN_NAME = 17, т.е. 16 значащих символов + 1 нуль (00).
Вернуться к началу

offlineАватара пользователя
Владимир  
Эксперт
Эксперт
 
Сообщения: 1046
Зарегистрирован: 30 окт 2012, 18:37
Пол: Не указан
Награды: 3
Высшая медаль (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (1)
Поблагодарили: 629 раз.

Re: Альтернативный перевод Heroes III

Сообщение Владимир » 10 май 2023, 17:25

Собственно, у Буки на этом месте... "Новый Сорпигал" - который помещается и работает.

Если вписать что-то совсем длинное, будут уже проблемы эстетического характера (название не поместится в текстовую область в игре). Так что нет. Просто работаю-то я не с материалами от Буки. Либо оригиналы, либо творчество пиратов.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5582
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2184 раз.

Re: Альтернативный перевод Heroes III

Сообщение AlexSpl » 10 май 2023, 17:27

А у Вас почему не помещается? Длина же строки "Новый Сорпигал" всего 15 символов.
Вернуться к началу

offlineАватара пользователя
Владимир  
Эксперт
Эксперт
 
Сообщения: 1046
Зарегистрирован: 30 окт 2012, 18:37
Пол: Не указан
Награды: 3
Высшая медаль (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (1)
Поблагодарили: 629 раз.

Re: Альтернативный перевод Heroes III

Сообщение Владимир » 10 май 2023, 17:30

Попробуйте вписать это в редакторе - скорее всего, получите вот это:
Владимир писал(а):

Это невозможно сделать ни вписав название вручную, ни использовав инструмент "импортировать тексты" - как в оригинальном редакторе карт, так и в редакторе собственно из версии от Буки. В первом случае набирается ограниченное количество символов, во втором - лишние обрезаются; ограничение на длину в обоих случаях одно и то же.

...и "Новый Сорпиг"
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5582
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2184 раз.

Re: Альтернативный перевод Heroes III

Сообщение AlexSpl » 10 май 2023, 17:34

Я имею в виду в распакованную карту в шестнадцатеричном редакторе вписать поверх старого названия и не забыв байт 00 в конце. Запаковывать для тестов не нужно. Суммарная длина не должна превышать 17 символов, считая 0. Длиннее название не получится сделать из-за ограничения длины строки в самом формате карт.

* * *
Распаковал карту и, действительно, в h3m длина названия города 12 символов :smile5: И даже не null-terminated. Скорее всего, она такой становится уже в памяти, а игра считывает в буфер только 12 символов. Нужно смотреть, как сделано у "Буки".

h3m.png
h3m.png (6.94 КБ) Просмотров: 2066

* * *
Так, тогда бы карты от "Буки" не читались в оригинале. Что если вот этот DWORD перед названием карты есть длина названия? Тогда меняем это число на нужное нам и дописываем (не переписываем!) не хватающее кол-во байт сразу после оригинального названия. Выглядит логично. Сейчас буду пробовать.

* * *
Что ж, получилось :smile18:

new_sorpigal_hex.png
new_sorpigal_hex.png (7.23 КБ) Просмотров: 2064
new_sorpigal.png
new_sorpigal.png (302.82 КБ) Просмотров: 2064

Кстати, была уже такая тема (вроде, про std::string тогда речь шла). В коде H3API должно быть подробнее.

Помню, речь шла про Z-строки Славы Сальникова, и я сделал предположение, что это std::string какой-нибудь древний, а RoseKavalier подтвердил, что так и есть. Вот тут можно почитать.
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 547
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 131 раз.

Re: Альтернативный перевод Heroes III

Сообщение void_17 » 11 май 2023, 06:48

Я же говорил, что там число перед строкой стоит. Большинство строк так и читается/записывается в игре.

Кстати надо будет как-то составить полноценный формат карт и сохранений для RoE/AB/SoD
Вернуться к началу

offlineАватара пользователя
void_17  
имя: имя
Ветеран
Ветеран
 
Сообщения: 547
Зарегистрирован: 25 апр 2021, 15:05
Откуда: Оттуда
Пол: Мужчина
Поблагодарили: 131 раз.

Re: Альтернативный перевод Heroes III

Сообщение void_17 » 12 май 2023, 09:13

Цитата:
Про современные версии читал, что у них есть проблемы с контрольной суммой, но можно пытаться пробовать старые версии Gzip с официального сайта. Вдруг какая-то из них на 100% дружит с Героями 3.

Попробовал другие утилиты.
С распаковкой WinRAR работает нормально. Спокойно разархивируется в т.ч. для 4 и 5 героев... Переименовываю .h3m в .gz -> ПКМ -> Извлечь в текущую папку
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5582
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2184 раз.

Re: Альтернативный перевод Heroes III

Сообщение AlexSpl » 12 май 2023, 10:17

Ещё встроенный в Total Commander архиватор распаковывает/запаковывает без проблем. Если нет ассоциаций расширения, то открывает прямо по двойному клику и карты и сейвы. Запаковать обратно можно простым перетаскиванием в открытый архив.
Вернуться к началу

offlineАватара пользователя
leiz  
Подмастерье
Подмастерье
 
Сообщения: 187
Зарегистрирован: 15 сен 2018, 07:58
Пол: Не указан
Поблагодарили: 95 раз.

Re: Альтернативный перевод Heroes III

Сообщение leiz » 12 май 2023, 23:52

AlexSpl писал(а):

Если нет ассоциаций расширения, то открывает прямо по двойному клику и карты и сейвы.

Постоянно в ТС пользуюсь, например, быстро содержимое ISO посмотреть без монтирования:
Цитата:
Ctrl+PgDn Открыть каталог/архив (включая самораспаковывающиеся .EXE-архивы).

Открывает все, что может. В т.ч. игровые ресурсы и аддоны для ToME, которые в *.teaa или карты и сейвы для Тройки. Даже некоторые инсталяторы, если плагин стоит.
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [bot] и гости: 1