Обновить

Комментарии 3

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

Та же дребедень с метаданными карты. Попробуйте одну и ту же карту сохранить в разных версиях (RoE, AB, SoD, HotA) или проставить разные условия победы или количество игроков. Посмотрите, на сколько байтов дальше будут уезжать свитки и учёные. В общем, это тяжёлый формат для парсинга, который с каждой новой версией Хоты становится только сложнее :с

Да, согласен. Паттерн-матчингом универсальный парсер не сделать.

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

По ссылке посмотрел — там уже совсем другой уровень разбора формата.

Вообще, полезно выводить после полученное n после самой строки (например, в скобках).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации