Очередная "изумительная задачка" от разрабов э7.
Где-то здесь спрятано (и поместилось же!) четыре (!) последовательности чисел с плавающей точкой:
Code:
"vertices": [
-0.10359,
0.0888,
0.10452,
0.04209,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0.36702,
-0.26988,
-0.39985,
-0.2182,
-0.37242,
-0.26208,
0.15728,
-0.65833
]
"vertices": [
0,
0.18258,
0.13976,
-0.09882,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0.21664,
-0.1593,
-0.23601,
-0.12879,
-0.21982,
-0.15469,
-0.58355,
0.08629
]
"vertices": [
-0.70013,
-0.42529,
-0.08866,
0.81469,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1.19152,
-0.87615,
-1.29809,
-0.70837,
-1.20904,
-0.85083,
4.21899,
-4.74075
]
"vertices": [
-0.10359,
0.0888,
0.10452,
0.04209,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0.36702,
-0.26988,
-0.39985,
-0.2182,
-0.37242,
-0.26208,
0.15728,
-0.65833
]
Наверное какая-то хитрая формула с заполнением нулями промежуточных значений и вычислением значений точек, но я её пока не раскурил.
Гении. Одно слово - гении. Снимаю шляпу перед автором e7herder. Или тем, кто для него писал декодер scsp-файлов.
Я почти набросал свой декодер. Зубки обламываю и облизываю описание ffd в блоке animations. Ну или "по-умному": Free Form Deformation, что бы это ни значило.
Остальное в файле вроде разобрал на запчасти. Но надо будет потом контрольный забег устроить, пробежаться по всем старым персонажам (до изменений в формате scsp в июне 2021), убедиться что расхождений с существующими json с дампа e7herder я своим декодером не делаю.
Что-то нашёл, только пока не понял, что...
Есть система. Блоки по 18 4х байтных последовательностей. Каждая вторая последовательность в одном блоке идентична каждой второй последовательности в остальных блоках.
Мне кажется... это заговор.