Итак, я работал над этим неделю, пытаясь перенести рекламные листовки из текущего PW в версию 1.5.5, да, это возможно. Это гораздо больше, чем просто модификация файла ECM. Вам нужно:
1) Скопируйте всю папку из models.pck для листовки целиком
2) Файлы ECM также ссылаются на различные файлы .gfx для создания блестящих эффектов вокруг листовки, поэтому вам также нужно скопировать их из gfx.pck.
3) Некоторые более новые файлы ECM имеют MOXTVersion: 71, версия 1.5.5 поддерживает только 67. Чтобы понизить их, удалите строки с надписями "AudioEventGroupEnable: 1", "ParticleBonesCount: 0" и "GfxUseFixedPoint: 0", а затем, очевидно, измените номер версии в первой строке.
4) Некоторые новые файлы SMD имеют версию 9, 1.5.5 поддерживает только 8. Понизить их не сложно, так как единственное изменение, которое я смог найти, - это дополнительное 4-байтовое значение в массиве действий (таким образом, каждая запись в массиве - это название действия, начальный кадр, конечный кадр, новое значение, имя файла анимации). Не удалось найти никакой документации по этому вопросу, но все просто.
5) Некоторые новые файлы STCK имеют версию 2, 1.5.5 поддерживает только 1. Это действительно сложный вариант, потому что версия 2 а) хранит сегментные данные совершенно по-другому, и б) может "сжимать" кватернионы, опуская значение w, которое затем вычисляется путем вычисления длины квартениона в единицах измерения с учетом значений x, y, z. Код для чтения как версии 1, так и версии 2 содержится в исходном коде angelica 2.2, который представлен здесь. Посмотрев достаточное количество примеров файлов версии 1 и версии 2, вы сможете понять, как записывать сегментные данные в старом стиле.
6) (добавлено новое) Некоторые файлы SKI имеют версию 101 вместо версии 9? Понятия не имею, почему такой большой скачок или в чем предполагаемая разница на самом деле. Все, что я сделал, чтобы исправить это, - это открыл файл в шестнадцатеричном редакторе и изменил байт версии обратно на 9, и это сработало X.X