Четверг, 23.11.2017, 06:32
Приветствую Вас Гость

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

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

S3DecoderLib: Общие замечания и термины

Общие замечания и термины

 

[ ]

 

О программировании

 

Об установке Delphi, Jedi и компонентов, а также по программированию на Object Pascal здесь не будет сказано ни слова – как известно интернет большой, гугл рулит, а времени как всегда не хватает. Может как-нибудь потом, хотя, скорее всего в следующей жизни.

 

О файлах и потоках

 

Файлы Sims3 по сути представляют собой архивы и содержат:

  • заголовок файла;
  • содержание файла – индексную таблицу;
  • секцию данных, состоящую из записей, которые могут быть сжатыми, а могут и не быть;

Главной особенностью файла в общем виде является то, что он где-то лежит, а нам с ним нужно работать (во всяком случае, очень бы этого хотелось). Поэтому в дальнейшем будет использоваться термин поток данных – как файл с механизмом доступа к нему. В Delphi реализацией потока служит класс TStream и его наследники. Дальше будет использоваться термины: первичный поток – поток содержащий файл, с которым ведется работа в данный момент, вторичный поток – поток, содержащий декодированную запись.

 

О работе с файлами и записями

 

Для пользовательских программ под Win32 доступно всего 2 Гб памяти, это не так много как может показаться, к тому же если программа будет полчаса распаковывать данные, а потом столько же запаковывать, никто ее создателя умным не назовет. Посему мораль – данные должны загружаться и декодироваться только при их запросе. Поскольку у Pascal с абстракцией под названием шаблон как-то не сложилось, поток придется создавать отдельно и затем передавать декодеру. Во избежание проблем, после создания потока доступ к нему должен осуществляться только через функции библиотеки, особенно, это касается его закрытия.

Библиотека реализует работу с записями через их массив, общие детали реализации формата файла – типа его заголовка и формата индексной таблицы скрыты от пользователя.

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