Четверг, 18.04.2024, 23:26
Приветствую Вас Гость

Каталог статей

Главная » Статьи » S3DecoderLib

S3DecoderLib: Sims3Pack. Часть теоретическая

Формат Sims3Pack и его декодирование: Часть теоретическая

 

[ Стабильный билд • Типы данных • Реализация декодера • Описание формата (eng) ]

 

Програмный модуль и версия

S3PackDecoder.pas, rev.120825

 

Файл Sims3Pack хранит файлы и состоит из трех частей: - заголовка файла; - манифеста XML; - секции данных;

 

Заголовок файла

 

Заголовок данных имеет размер 17 байт такого вида:

Sims3PackHeader.jpg

Назначение важных полей описано в следующем разделе.

 

Манифест XML

Манифест в кодировке UTF-8, описывает общие данные и каждый из содержащихся в пакете файлов в виде:



...
 оригинальное_(английское)_название_пакета
 оригинальное_(английское)_описание_пакета
 
 
...
 
 
...
 
 
...
 
 
...
 
 
 имя_файла
 длина_файла
 относительное_смещение_от_начала_секции_данных
 контрольная_сумма
 GUID
 тип_данных
...
 
...

В общем, там много всего, нам столько в общем случае не надо. Манифест, по сути, является индексной таблицей файла.

 

Секция данных

 

Содержит данные, главная особенность, что они могут идти не всплошную, абсолютное смещение блока от начала файла вычисляется как сумма от данных из XML, относительного смещения секции данных из заголовка файла и длины заголовка файла (тех самых 17 байт)

Категория: S3DecoderLib | Добавил: crazylab (26.09.2013)
Просмотров: 801