автор : Soft_Ice (с) ...::: Soft_Ice CracK LaB :::...
инструменты: Universal Extractor, Notepad, regedit.exe
+ Inno Setup (или что другое)
Соглашение: Данная статья заинтересует, в основном, новичков и людей, имеющих мылый опыт изучения реверс инженеринга. Статья предназначена для личного пользования - только в целях самообразования и обучения. Никакие материалы статьи не могут быть воспроизведены где-либо, без согласия автора и указания его авторства.
Существует несколько красивых игры в стиле Адвенчур , выпущенных в свет примерно с 2004 года. Это "Эхо забытой пещеры", " Путешествие на Луну", "Тайна осторова сокровищ" , " тайна Да Винчи" и др.
Несмотря на то, что мой комп ( P3-700-512-FX5200NV-128) вписывается в их минимальные требования - происходили некоторые проблемы с запуском и настройкой этих игр... Расмотрим структуру ресурсов игр, методы настройки
видеопараметров и решения возможных проблем.
Возможные проблемы
1. Игра вообще не запускается либо запускается в окне или с ненормальным разрешением ( большие меню, кнопки за пределами экрана)
2. Игра вылетает с ошибкой
3. Игра наглухо вешает систему во время второго ролика ( Kheops.ksv)
4. Игра сбрасывает настройки видео в цвет 16 бит и Софтвар режим (!)
5. Игра не сохраняет параметры, не грузит сейвы итп.
Структура ресурсов игры и движка.
Все игры от Хеопса сделаны на одном движке. В корневой игровой папке вы обнаружите ЕхЕ - главный запускающийфайл - рекомендую сразу же отучить его от диска путем замены на Fixed ExE
Библиотека spr.dll содержит все текстовые ресурсы и потому защищена в некоторых играх ( Старфорс-ТАГЕС) - ее необходимо заменять на соответсвующую из комплекта НО-СД.
Библиотека ijl15.dll ( Intel JPEG Library) - cлужебная.
Все остальные библы типа protect.dll принадлежат защите и должны быть удалены.
Рядом наш главный конфигурационный файл config.ini (!) В нем содержаться все глобальные настройки для игры.
Папка Users содержит другой конфигурационный файл Config.ini ( настройки Ваши - опциональные) + профили игроков + Сейвы игроков + иногда Media.ini ( здесь ролики и фотки , их названия для повторного просмортра в игре)
Папка datas содержит все псевдоархивы с графикой, видео и звуком для игры. Поскольку мне неизвестен запаковщих этих архивов, отредактировать мы их не сможем, но сможем посмотреть и выдернуть их медиа содержимое - музыку, графику, звук. Делать это лучше прекрасной программой Universal Extractor ( бесплатная) -
http://www.volny.cz/nova-software
Посмотрим - у нас есть англ версия игры и русская (Путешествие на Луну),как сделать инсталятор с выбором озвучки ?
Зайдем в datas\cd1 - и посмотрим - содержимое cmn_cmn.bf - озвучка SFX ( звуки) а вот и то, что нужно loc_RU_cmn.bf - здесь сразу англ и русская речь ! Однако в других играх может лежать только руская итп.Итак в англ версии префикс файла таков - loc_US , а в главном конфигурационном файле (config.ini) строка такая -LOC=US
Выбираем основу - скажем оригинальную версию. При выборе инсталятором русской озвучки нужно подставлять русский файл, переименованный в loc_US_cmn.bf Так же нужно переименовать и остальные локализированные файлы.Таким образом создается инсталятор мультиязычной версии. Это может быть полезно, если нет нужного НО-СД для русской версии , но всегда можно сделать ее на основе английской.
cmn_hig.bf - Здесь например лежат текстуры, которые в любой версии одинаковы, и их можно оставить только один вариант.
Расммотрим видео файлы и решение проблемы номер 3 из нашего списка. Такое наблюдалось в играх " Эхо.." и " Путешествие на Луну". Вторая заставка Хеопс - наглухо вешала всю систему. Не знаю, возможно игре не понравились драйвера видеокарты или видеокодеки в системе ( K-Lite pack) - но при переименовывании и подстановке другого файла tac.ksv - игра просто летала. Думаю, сам файл с роликом косячен, причем в более поздних версиях. Было решено заменить его (удалять нельзя - игра не пойдет!) на точно такой же, но от ранней игры " Возвращение на таинственный остров" - и чудо- игры пошли

О формате потокового видео ksv мы ничего не знаем, потому редактировать и поставить заглешку не можем. Возможно только перименовать и заменить, потому и подставляем старый ролик. Если его нет, подходит и первый ролик tac.ksv - его нужно скопировать и заменить старый (ессно переименовав его в kheops.ksv)
Все англоязычные ролики (общие для любой локализации) найдем тут - datas\CMN\CMN\VID
Ролики локализованные с озвучкой - datas\LOC\RU\CMN\VID
Если кто то решит сделать инсталятор с выбором видеороликов, необходимо учесть, что название папки в англ версии будет уже datas\LOC\US\CMN\VID
Общие ролики выбираем одни для любой версии.
Рассмотрим настройку конфигурации в config.INI
Открываем и редактируем в блокноте ИНИ файл (!)
Filename: {app}\config.ini
REM - Так я напишу комментарий
[OPTION]
LOC=RU
nAvatar=1
bContextualHelp=1
bSubtitle=1 REM - включение субтитров, если 1
nWarpSpeed=2
bCenterMouse=1 REM - включение центровка курсора, если 1
bSoftBilinear=0
nVolume=100
nProfiles=2
dataset=2
bScreenResolution=2 REM - разрешение экрана 1024*758, если 2, 0- 640*480
bFullScreen=1 REM - полноэкранный режим, если 1
bUse32BitsScreen=1 REM - включение 32 бит цвета, если 1
bUse32BitsSprites=1 REM - включение 32 бит цвета спрайтов, если 1
bUseHardware=1 REM - включение режима Хардваре видеокарты, если 1
VOICE=100
SFX=100
AMBIENT=100
SUBTITLE=1
SPEED=-1
SAVE=1
MIXING=S
[INSTALL]
PATH={app}\datas REM - здесь вместо {app} прописываем путь к игре
Теперь решение проблем и настройка.
4. Игра сбрасывает настройки видео в цвет 16 бит и Софтвар режим (!)
Это проявлялось, после первого запуска игры, она почему то прописывала нули в настройки видеопараметров и 32 битного цвета ! Причем всегда.
Решается просто - прописывайте нужные параметры и ставьте галку в свойствах config.ini - " Только чтение"
Я бы не поверил, но в лицензии так сделано по умолчанию (!)
Проверялось на играх " Тайна Да Винчи" и " Путешествие на Луну"...
Если Вы пишете инсталятор, создайте и запустите такой бат файл после создания инсталятором ини файла и прописи параметров в него , в конце ...
@echo off
attrib +r config.ini
exit
1. Игра вообще не запускается либо запускается в окне или с ненормальным разрешением ( большие меню, кнопки за пределами экрана)
2. Игра вылетает с ошибкой
5. Игра не сохраняет параметры, не грузит сейвы итп.
Решение таких проблем - отсутствие папки Users\Profile1 и (или) в ней файла конфигурации config.ini Как не странно, но в игре " Тайна Да Винчи" - движок отказался сам все это создать, хотя и должен бы и пришлось делать это вручную.
Вот состав файла config.ini ( Не путать с главным конфигом !!!)
[OPTIONS]
sName=
bSubtitle=1
bContextualHelp=1
bUseHardware=1
bUse32=1
nWarpSpeed=2
nResolution=2
nVolume=100
nAvatar=1
В отличии от главного, ставить опции " только для чтения" ему не нужно. Файлы Сейвов и media.ini создаются автоматичкски после запуска.
Также настройте нужное разрешение экрана в этом и главном ини файлах.
И последняя небольшая тонкость - в некоторых игра, для установки русского шрифта (а не кракозябр) игра (или руссификатор от Сержанта) будет менять Вашу кодовую страницу nls в реестре 1252 на 1251.
После сноса игры, этот параметр можно вернуть в случае проблем...(хотя и не обязательно)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage]
"1250"="c_1250.nls"
"1251"="c_1251.nls"
"1252"="c_1251.nls"
"1253"="c_1253.nls"
"1254"="c_1254.nls"
"1255"="c_1255.nls"
"1256"="c_1256.nls"
"1257"="c_1257.nls"
"1258"="c_1258.nls"
Вот Вам ветка реестра, создайте рег файл и измените инфу в реестре.
Справедливо для игры " Эхо забытой пещеры" только для русской версии.
Надеюсь, моя статья поможет Вам.
Исключительно в образовательных целях.
13.06.2008