Madware
> Можешь еще сюда подглядывать https://github.com/jewalky
пригодится, спасибо.
Выложил на гитхаб очередную итерацию утилиты для конвертации бинарного конфигурационного формата из первой части игры в человекочитаемый JSON
orom-databin-to-json
Открыл для себя https://kaitai.io/
Сделал в ее формате описание для карт первых аллодов. Сегодня-завтра залью на гитхаб.
По причине достаточной наглядности данного формата, думаю, что выпилю табличную документацию. Тем более, что в ней присутствовали ошибки.
Чем крута данная штука — она позволяет генерировать загрузчики для любых популярных языков программирования, будь то C# или C++ или вообще питон какой-нибудь
Madware
А как оно в сравнении с https://msgpack.org ?
Отвечаю сам себе - я сравнил апельсины и бананы.
andreyu
:) да, примерно так, можно было еще с протобуфом авокадо сравнить
Вот так вот страшненько выглядит формат карт для первой части игры https://github.com/madwareru/orom-file-formats/blob/master/KSY/rom_alm.ksy
Добавил в гитхаб спецификацию для чтения формата ресурсов:
https://github.com/madwareru/orom-file-formats/blob/master/KSY/rom_res.ksy
Хотелось бы описать примерно так же файл data.bin. К сожалению, при чтении конкретно этого файла не обойтись без костылей. Пока сомневаюсь, что удастся описать такой загрузчик без большого количества крови, но попробовать определенно стоит
К сожалению, для чтения файла data.bin не обойтись без таких техник как LookAhead и разбор регулярных выражений.
Причем этот хак нужен только в одном месте — в секции human, остальные секции с горем пополам парсились, но не сказать, чтобы совсем без жертв.
Можно подогнать формат под себя, написав патч для оригинального файла, но это как-то не спортивно.
В общем, парсеры для этого формата я предпочту писать самостоятельно без помощи kaitai
Из позитивных моментов: пока старался сообразить описание формата, нашел и поправил несколько ошибок в версии на C#
На очереди попытка описать файлы регистра. Они очень похожи на ресурсные, так что в этом случае шанс на удачу намного выше
Madware
чувак , лучше бы новые проклятые земли замутил - хотя бы одну карту, это было бы бомбой :D да если ещё с аппаратным RTX :D а 2д аллоды это прошлый век , графика там дико простяцкая и тошная. хотя конечно если бы у меня был комп тогда когда они вышли - это тоже было бы бомбой
хотя щаз как то игры ваще не заходят - интереснее прикасаться к каким то новым технологиям.
star123
Как говорил один весьма мудрый индеец, не нравится — не ешь :)
Ну и по поводу того, что было сказано:
Обновил парсер для файлов data.bin, теперь есть дополнительная lookup таблица для получения интовых идентификаторов редоксти, материала, слота и
порядкового номера предмета из текстового описания, а так же был написан парсер для прикрепленных к этому итему эффектов (спеллов или модификаторов параметров).
Напоминаю, что парсер лежит у меня в гитхабе и доступен для всяческого изучения и использования без каких-либо ограничений:
https://github.com/madwareru/orom-databin-to-json
В репозитории с разбором форматов тоже есть обновления, в добавок к описанию ресурсных файлов добавлено так же описание файлов регистра:
https://github.com/madwareru/orom-file-formats/blob/master/KSY/rom_reg.ksy
Оказалось, что, помимо прочего, из kaitai struct файлов можно генерировать файлы graphviz, которые можно красиво визуализировать с помощью онлайн средств: https://i.imgur.com/ZGHRIXt.jpg
Картинка большая, поэтому встраивать её я не стал