О программе в целом

Чтобы успешно проводить бесчеловечные эксперименты, с жертвой, то бишь с The Sims 2, нужно обстоятельно познакомиться. В первую очередь — разобраться, как игра хранит свои данные.
Что-то подобное представляет собой пакет *.package. Главный и единственный тип файлов, с которым мы будем иметь дело на данном этапе — это Package, другими словами, — «пакет» или «ресурс». Позволю себе немного рассказать о том, что это такое. Предположим, у нас есть какая-то куча файлов различных типов: картинки, тексты, музыка, трехмерные модели и т.п. Все они как-то используются в игре — рисуются на заставке, выводятся в диалогах, проигрываются на заднем плане, шастают взад-вперед... Для того, чтобы обеспечить подобными данными игру класса The Sims 2, этих файлов нужно много. Чудовищно много. Соответственно, чтобы каталог игры не содержал миллионы мелких файлов, по сумме занимающих много гигабайт дискового пространства, их архивируют и «сшивают» вместе.
Получается один огромный файл, в котором хранится вперемешку все. В заголовке размещается описание содержимого, но не для нас — для самой программы. Когда она считает нужным, например, нарисовать картинку, то просто открывает эту «упаковку», читает заголовок и находит в архиве нужный файл с изображением, а после — разархивирует его и показывает на экране.
В принципе, наверное, можно было бы упорядочивать файлы по типам. В одном хранить все картинки, в другом — музыку, в третьем — тексты. Но разработчики пошли немного другим путем и упорядочили пакеты по области применения. Так, в пакете вроде N001_Neighborhood.package лежит все, что касается поселения Pleasant View — и списки семей, и расположение домиков, и история с географией. Каждый пакет имеет определенное назначение.
Следовательно, нам нужно знать две вещи: в каких пакетах искать интересующую нас информацию, и — какими средствами ее изменять. Начнем с первого.

Каталоги и файлы

Все полезные для нас файлы, можно разделить на две части: данные самой игры и данные пользователя. Первые отвечают за все, что не связано с действиями игрока, поэтому не меняются с момента инсталляции. Вторые, напротив, только для того и созданы, чтобы быть измененными, так как фиксируют все достижения игрока.
В зависимости от того, что мы хотим в итоге получить, мы будем модифицировать ту или другую группу пакетов. Для работы с собственными поселениями, домиками, семьями и отдельными персонажами — пользовательские данные. Для создания или изменения объектов, поведения — данные самой игры. Радует тот факт, что упомянутые группы пакетов находятся далеко друг от друга.
Игровые ресурсы ищите в TSData\Res\ относительно каталога, в который вы установили игру (например, C:\Program Files\The Sims 2\TSData\Res\).
Сохраненные игры, как я уже упоминал в предыдущих статьях, лежат в папке EA Games\The Sims 2\ относительно папки «Мои документы» (например, C:\Documents and Settings\Stager\Мои документы\EA Games\The Sims 2\).

 

Для первого раза мы не будем трогать глобальные данные, поэтому сейчас я расскажу только о каталоге сохраненных игр. Вот, на что стоит обратить внимание:
EA Games\The Sims 2
Cameras. Текстовые файлы — настройки камеры для различных режимов.
Collections. Коллекции предметов (один *.package-файл — одна коллекция).
Config. Стартовые настройки игры для текущего пользователя.
Downloads. Пакеты с дополнительными объектами игры.
Logs. Информация об имевших место ошибках.
Neighborhoods. Внимание — это оно. Здесь живут все симы вместе с семьями, домиками и городскими улицами, упакованные в файлы *.package.
PackagedLots. Пакеты с отдельно сохраненными домиками в транспортируемом формате *.Sims2Package.
SavedSims. Отдельные персонажи, сохраненные в виде «свободно конвертируемых» пакетов *.Sims2Package.
Остальные каталоги, надеюсь, не понадобятся вам в любом обозримом будущем. Заглянем в Neighborhoods. Несложно заметить, что число вложенных каталогов равно количеству городов, плюс Tutorial. Их смысл очевиден: N001 — Pleasant View, N002 — Strange Town, N003 — Verona Ville, а остальные, если они есть — пользовательские.
На заметку: вот, кстати, исчерпывающий ответ на вопрос, какие файлы надо сохранять на случай переноса игры на другой компьютер. Теперь вы можете не копировать все подряд, а только то, что нужно.
Зайдем в любой каталог, например — в самый первый. Обратите внимание на картинку 001_Neighborhood.png. Открыв ее, убедитесь, что мы не ошиблись — перед нами действительно городок Pleasant View. Все, мы на месте. Осталось совсем вкратце остановиться и «обозреть окрестности».
N001\Characters\. Каталог симов, каждый — в своем собственном файле. Не удивляйтесь, что их так много. Кроме вашей семьи и соседей, тут еще масса «технических» персонажей — горничных, полицейских, социальных работников и случайных прохожих.
N001\Lots\. Каталог домиков, или, как они здесь называются, лотов.
N001\001_Neighborhood.package. Файл — описание города.
Запускаем редактор и видим... ну да, а чего вы ожидали? Дружелюбного интерфейса? Ну уж нет. Несмотря на невзрачный вид, эта программа способна творить чудеса при умелом использовании. Откроем файл-описание города Pleasant View (мы только что его находили: Мои документы\EA Games\The Sims 2\Neighborhoods\N001\001_Neighborhood.package). Что же мы видим?
Слева в окне редактора — список типов файлов. Учтите: то, что я говорил о картинках, музыке и текстах — всего лишь пример, на самом деле типов данных намного больше и они другие. Вот Sim Description — описание персонажа, Neighborhood/Memory -список воспоминаний, Family Information — информация о семье и так далее. Все это — типы файлов, лежащих в пакете, и ничто иное.
Щелкнув по любому из них, в окне справа (Packed Files) мы получим список файлов этого типа. Так, несложно убедиться, что все воспоминания хранятся в одном файле, а персонажи — в отдельных, по файлу на каждого, равно как и семьи.