Начал изучать запакованные файлы внутри BF. Вооружившись кодом
PofP.bin.repacker от dodther и обнаружил, что на файлах локаций код падает на аномальных блоках. Сравнивая распакованный файл через PersianRug обнаружилось следующее (на примере 310_Depths_wow_ff0e1efa.bin)
так выглядят обычные блоки (размер распакованного блока, размер запакованного блока, его данные)
а вот так выглядят аномальные
Когда PersianRug находит такой блок (распакованный размер и размер запакованного блока одинаковые) - считывает следующие 2 байта, отнимает оттуда 17 байт, и копирует оставшиеся (в данном случае 253 - 17 = 236 байт) данных, остальное содержимое блока выкидывается. Разумеется, в таком запакованном файле обратно этого блока нет, что ставит крест на моддинге файлов локаций.
3,080,188 байт - оригинал
4,240,047 байт - распакованный
2,949,116 байт - запакованный обратно (с пом. psp_comp от RikuKH3)
Upd:
Залил примеры блоков во вложения.