DeaDDooMER wrote:
https://repo.or.cz/d2df-editor.git/commit/952e5c9c629e44e260c55f2756d72a199d8d9052
Дополню по просьбе ЧД.
1) Речь о редакторе, что очевидно из ссылки. Изменения напрямую не затрагивают игру.
2) Предыдущая реализация зипов полностью откатана, а новая написана с нуля и не использует sfs/wadcvt.
Из-за отката могут вылезти какие-нибудь уже ранее исправленные мелкие баги.
Выпиливание sfs меняет читалку и может отличаться от метода чтения в игре.
Выпиливание куска wadcvt меняет выхлоп писалки.
3) Читалка зипов читает только самый необходимый минимум и писалка так же пишет только необходимый минимум.
Если архив с расширениями ZIP64, зашифрован или многотомный, то такой архив даже не откроется. Масимальная версия спецификации - 63.
Любая необязательная информация при чтении игнорируются и выкидывается, т.е. комменты, аттрибуты, время и опциональные расширения формата. Структура файла так же не сохраняется.
Поддерживаемые методы компрессии: Store и Deflate. Если в архиве есть что-то другое, то он всё таки загрузится и файлы останутся при сохранении, однако открыть в редакторе такие файлы нельзя.
Предполагается что имена файлов хранятся в CP1251. Бит 11 на данный момент игнорируется.
Есть небольшие ограничения на структуру и особенности чтения, например не получится сделать DFWAD и DFZIP в одном файле :) Такие подробности смотреть в коде.
4) Что еще надо сделать:
-
Больше проверок-
Бит 11 (UTF-8 имена)-
Вывод сообщений об ошибках прямо в лог (коды ошибок нигде не проверяются и выяснить что-где почему не работает не реально)- Сохранять время модификации и комменты (не сложно)
5) Всё вышеперечисленное не основание для не-закрытия этого тикета :)