BlackStar Localizations Studio

Объявление

Прежде чем начать работу с форумом, прочитайте правила: ПРАВИЛА ФОРУМА

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » BlackStar Localizations Studio » Перепаковка и русификация игр » Руководство по перепаковке игр для начинающих


Руководство по перепаковке игр для начинающих

Сообщений 1 страница 19 из 19

1

Небольшое отступление

Цель РЕпака состоит не в критическом уменьшении дистрибутива игры, как считают многие, и для этого прибегают к всяческим извращениям. Типа отрезать-вырезать-выкинуть-перекодировать-обжать и пережать. В результате получают то, чего в сети навалом и за что подобные "рЫпакЁры" получают пинка под зад от людей сие "чудо" скачавших. Так как там половины того что было - нет, вторая половина не работает и т.д. Цель создания "нормального" РЕпака состоит в том чтоб на выходе получить дистрибутив игры с оригинальным содержанием плюс принцип - поставил и играй. Без всяких кряков, дисков в приводе или образов в эмуляторе. Поэтому в этой статье я не буду описывать вышеуказанные "кощунства" над игрой. И вопросов по этому поводу просьба не задавать.

Так что извращаться как указано выше мы не будем. Для кого это не приемлемо, дальше не читают, а идут на определенные ресурсы где тусуется скопище ламеров с сопливыми воплями кто чего смог вырезать и мечтающими только о вышеуказанных действах. С принципом - впихнуть невпихуемое, любой ценой!!! То есть 4-5 гиговый дистрибутив всунуть на 700 меговую болванку.

Цель нашего РЕпака

Итак определим цель: делаем репак на основе лицензионной версии, без разного мусора типа Acrobat-oв, DirectX-ов и драйверов. А так же рекламного материала разного рода - демки, каталоги и прочее. За счет этого дистрибутив значительно уменьшится в размере.

Необходимые инструменты
-----------------------------------
Total Uninstall 4.8

Примечание:
5-е версии никуда не годятся. Только для установки/удаления программ. Для мониторинга версия 4.8 просто идеал. В 5-ой же версии для мониторинга нужно долго и нудно ее настраивать. Выкидывать из нее "мусорные" ключи реестра которые там стоят по умолчанию "для отслеживания" и вбивать новые, причем немало. Сборки игр и программ созданные на основе мониторинга в 5-ой версии, без "умного" вмешательства - работать НЕ БУДУТ, ни у вас после переустановки системы или смене имени пользователя, ни тем более на других компьютерах.

Собственно руководство

Добываем "чистую лицензию", в которой не побывали пакостные лапки вышеуказанных "деятелей". Суем диск в привод или образ в эмулятор (смотря что имеется в наличии). Ждем загрузки авторана если он там есть. Некоторые игры сделаны без авторана, то есть - сразу запускается установка. Закрываем авторан или диск. Если запустилась установка - отменяем. Мониторим установку в два прохода.

Проход первый:
1) Запускаем программу Total Uninstall, открываем в ней наш диск и указываем файл установки, обычно он с именем setup.exe. Если такового там нет или в чем то сомневаетесь, указывайте файл авторана autorun.exe. Запускаем установку. При установке отказываемся от установки всяких Acrobat Reader-ов, DirectX-ов, Game Arcade и прочего. Ставим только собственно игру. В конце и после установки игру НЕ ЗАПУСКАТЬ!!! После установки закрываем Total Uninstall.

2) Ставим NoCD в папку с игрой. Если не поставить сразу, то при запуске старфорсовское "добро" потребует ввод ключа и проверку диска, а также установку своих драйверов. А это гадость та еще. Если уже "настарфорсили" очищаем систему от этих драйверов тулзой - sfclean. Если же игра защищена секуромом, то при запуске без NoCD, потребует диск и в любом случае (с диском или без) создаст секуромные данные в реестре. Оно вам надо??? Не забываем про NoCD!!!

Проход второй:
Опять запускаем Total Uninstall. Указываем в нем главный эксешник игры. Запускаем игру. Лезем в настройки игры и меняем что возможно. Если есть возможность сохранить игру сразу, то сохраняем. если нет, то играем до первого чекпоинта. Выходим из игры. Закрываем Total Uninstall.

Это нужно для того, чтобы игра создала всевозможные файлы конфигураций, сохранений и данных в реестре. Необходимо это для того чтобы знать что добавлять при деинсталляции. Другими словами для создания "чистой" деинсталляции, без оставшихся после удаления игры - данных реестра, конфигов и сейвов.

Подготовка к сборке

1) Лезем в папку с установленной игрой. Удаляем из нее весь мусор.
Удаляем файлы:
Uninstall.exe и все ему принадлежащее.
Все файлы с именем Protect.xxx, это драйвера старфорса и его приблуд.
Все файлы с именем Secdrv.xxx, это защита секурома.
Файлы Руководства если они вам не нужны. Я делаю прохождение игры в формате CHM и кладу его в дистрибутив с созданием ярлыка в меню Пуск. Ну и прочий мусор не относящийся к игровому процессу. Демки, каталоги игр и прочее.

2) Открываем Total Uninstall. Смотрим данные реестра созданные при установке игры. Экспортируем их в файл .REG. Чистим файл .REG от мусора типа uninstall и прочего.

3) Смотрим данные реестра созданные при запуске игры. Экспортируем так же в файл .REG. Чистим. Системные ветки содержащие раздел Microsoft/Windows и тому подобное, вычищаем из файла чтоб не добавить в деинсталляцию. Иначе ваша Винда после удаления игры может плохо кончить. В общем оставляем в .REG файлах только данные относящиеся к игре. Настройки, конфигурация и т.д.

4) Смотрим файлы созданные/измененные при запуске игры. Их мы так же как и созданные при установке/запуске игры добавим в деинсталляцию.

Примечание:
Если не хотите удалять сейвы при деинсталляции игры, то не включайте их в деинсталлятор. Я лично удаляю все начисто. К тому же многие игры создают сейвы в корне папки установки. И их удаление не предотвратить при деинсталляции. Так что если сейвы нужны, сохраняем в другое место перед деинсталляцией.

Перед сборкой, не забудьте удалить из папки установки файлы созданные при мониторинге запуска игры. Сейвы, конфиги и прочее. Так же не оставляйте в дистрибе измененные при запуске файлы. Вам придется дважды ставить игру, чтоб получить "чистые" файлы. Поэтому сразу после мониторинга установки (до запуска) скопируйте папку игры с чистым дистрибутивом (пока файлы неизменены) - в другую папку. То есть делаем резервную копию дистрибутива.

Сборка (обобщенная)

Пихаем дистрибутив в инсталлятор. Добавляем данные реестра созданные при установке. Добавляем данные реестра созданные при запуске в деинсталляцию. Добавляем созданные после запуска файлы в деинсталляцию. Компилируем. Получаем дистрибутив с "чистой" деинсталляцией.

Инсталляторы для игр

Для игр подходят не все инсталляторы. Некоторые просто виснут при упаковке. Список подходящих инсталляторов ниже.

InstallShield - большинство игр разработчики пакуют именно в нем.
Wise Installer - так же широко распространен при сборке игр.
Ghost Installer - очень даже не плохой инсталлятор.
Astrum InstallWizard - отличается высокой скоростью упаковки/распаковки.
Inno Setup - наиболее часто используемый для сборок игр.

Аспекты сжатия

Описание аспектов сжатия, будет расписано применительно к инсталлятору Inno Setup. Так как в других инсталляторах выбора как правило нет. Обращу ваше внимание на то что разработчики пакуют игры ZIP сжатием или CAB сжатием (если в InstallShield), а некоторые игры не жмут совсем. Существуют игры которые просто не жмутся ни при каких аспектах сжатия, так что нет смысла тратить время на попытку "сплющивания" подобных дистрибутивов. Пример тому игра - Call of Duty, хоть тресни, но на выходе получишь то же что было на входе.

Собственно описание и сравнение

ZIP - самое быстрое при упаковке и установке игры. Потребляет минимум ресурсов.
LZMA - довольно долгое сжатие. Установка так же займет значительное время. Значительное потребление оперативной памяти. Загрузка процессора может доходить до 100%.

Сравним результаты сжатия в ZIP и LZMA:
Пример такой, дистриб 1200 МБ, результат на выходе в ZIP - 700 МБ, в LZMA 680 МБ. Разница 20 мегеабайт. Смысла жать в LZMA никакого, 20 мб не сделают никакой погоды, но зато потратите времени в разы больше + нагрузка компа. На слабых компах вообще нечего делать.

Примечание:
Степень сжатия зависит от дистрибутива игры, разные игры жмутся по разному.

При сжатии в LZMA, если вам по барабану время и прочее, подумайте о тех кому вы это дадите. Хотят ли они ставить игру полчаса или нет, а если у кого то "дохлый" комп то при установке может вообще повиснуть. Вот именно поэтому разработчики и жмут в ZIP или CAB. Лично я лучше пожертвую несчастными 50-100 мегабайтами, но зато упаковка/установка не занимает много времени. К тому же эти 50-100 мб ничего н дают. Если уж делаете сборник и на диске не хватает 100-200 мб, то есть смысл пожать в LZMA. Хотя по сравнению с тем же ZIP сжатием выгода будет невелика.

Если все же решили жать в LZMA, сначала сделайте сборку в ZIP сжатии и запомните получившийся размер. Времени это займет не более 2-5 минут. Зато будет возможность оценить разницу в размере ZIP и LZMA. Может случиться что LZMA сжатие окажется бессмысленным. И вы только потратите лишнее время на упаковку/установку.

Проще купить лишнюю болванку, тем более для получения качественной записи на болванку нужно писать не более 4200 мегабайт. То что на ней пишут 4.7 ГБ это фуфло. Там их нет. К тому же проги для записи пишут свою служебную информацию, которая тоже занимает место.

Советы по Inno Setup

Скрипт:
Не пытайтесь писать скрипт вручную. Этого никто не делает. Можете сделать шаблон, и редактировать его под каждую игру. Или используйте Мастер для создания основного скрипта, а потом редактируйте его под свои нужды. Реестр, запуск, деинсталляция и прочее.

Секция Реестр:
Самая распространенная ошибка при создании скрипта, это неправильное написание данных реестра. Не нужно в конце каждой ветки добавлять флаг - uninsdeletekey !!! Абсолютно бесполезная фигня! При деинсталляции будут удалены только параметры и значения параметров, сами же разделы реестра (выглядят как папки) останутся в реестре. Пишите данные реестра правильно!

Неправильно:
Root: HKLM; Subkey: "Software\Activision\Call of Duty 2"; ValueType: string; ValueName: "..."; ValueData: "..."; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\Activision\Call of Duty 2"; ValueType: string; ValueName: "..."; ValueData: "...\..."; Flags: uninsdeletekey

Правильно:
Root: HKLM; Subkey: "Software\Activision"; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\Activision\Call of Duty 2"; Flags: uninsdeletekey

Root: HKLM; Subkey: "Software\Activision\Call of Duty 2"; ValueType: string; ValueName: "..."; ValueData: "..."
Root: HKLM; Subkey: "Software\Activision\Call of Duty 2"; ValueType: string; ValueName: "EXEString"; ValueData: "...\..."

Первая строка - удаляет раздел реестра если он уже пустой, в нашем случае это раздел Activision.
Вторая строка удаляет раздел со всем содержимым, это подраздел Call of Duty 2. Так что писать  uninsdeletekey, в конце каждой строки не нужно.

Ну вот вроде все пока. Это в общих чертах. Описать все невозможно. Задаем вопросы для подробностей. Вопросы по Inno Setup касающиеся сборки игровых дистрибутивов, так же пишем здесь, а не в разделе "Инсталляторы". Чтоб не нырять за вопросами/ответами туда-сюда.

Послесловие

Обрезальщикам-перекодировщикам, в данной теме не писать. Чтоб не засирать ее. Кому не терпится, создайте новую тему и пишите. Все описания обрезаний-перекодов отсюда будут удаляться без предупреждения.

+3

2

По просьбам трудящихся тема будет продолжена или скорее всего начата с начала.

0

3

Ура !!!  :jumping:

Давайте набросаем планик:

1) Введение.
    Цели и задачи перепаковки (рассмотрены выше) но возможно ещё чего нибудь добавить.

2) Описание инсталляционных пакетов и их особенности (С ракурса перепаковки).

Как и чем определить какой инсталлятор перед нами (Какими снифирами можно определить...)
Кто какой мусор после себя оставляет и т д.
Нужные и не нужные части  инсталятора.

3) Распаковка инсталляторов (если это возможно).
  Добывание скрипта, ресурсов и т.д.

4) Подготовка.
    Создание условий для мониторинга. (Создание виртуальной машины с  чистой виндой и минимум прог).

5) Виды инструментов и их настройка  для мониторинга.

6) Мониторинг.

Сбор и разбор полученных данных при инстилляции.
   6.1  Мониторинг истой инсталляции(Без запуска программы).
         Изменения в системе,
         Изменения в реестре,
         Регистрация DLL
         Регистрация служб.
 
   6.2 Мониторинг после запуска.
         Изменения в системе,
         Изменения в реестре,
         Регистрация DLL
         Регистрация служб.
         Настроек программы.

   6.3  Очищение и удаление ненужного мусора, не представляющего никакой ценности.   

7) Перепаковка.
Применение полученных данных при мониторинге.
Куда прописать ключи  которые создаются при инстилляции.
Как зарегистрировать в системе Dll и прочие компоненты...
Как всё созданное удалить при деинсталяции, что бы система осталась чистой и главное
рабочей  :D

8) Дополнения.
Всякие полезные советы и рекомендации не вошедшие в предыдущие разделы.

P.S.  Может чего забыл, дополняйте что бы Вам хотелось ещё узнать.

0

4

Tekton написал(а):

Цели и задачи перепаковки (рассмотрены выше) но возможно ещё чего нибудь добавить.

Обязательно!!!! Плюс понос трехэтажного мата в адрес нынешних сопливых ламерят забивших всю сеть. С описанием всех аспектов их больного дебилизма. Будет жестко... Очень жестко.

В главу "мониторинг" добавь подробности подзаголовки типа - реестр файлы и че хочешь вобщем.
Если че сам добавлю если в мозг клюнет при написании мануала.

А мануал чую будет огромнейший...
Хотел целую книгу написать да все недосуг было.  :D

Да надо бы как то разбить на игры и программы.

0

5

Rowdy написал(а):

А мануал чую будет огромнейший...
Хотел целую книгу написать да все недосуг было.  :D

Ага. :D
Целый диплом! 
Или трёхтомник :rofl:

P.S. Ты главное это...
Не пропадай братка :stupor:

0

6

Да тут я теперь. Куда ж мне деваться то?  :D   :flag:

0

7

Тоже жду этот титанический труд! :rolleyes:
Надеюсь дело продвигается ??? :stupor:

0

8

Rowdy написал(а):

По просьбам трудящихся тема будет продолжена или скорее всего начата с начала.

Трудящиеся ждут обещанного

0

9

Объясните  пожалуйста как сделать в Inno Setup подобную надпись.

http://uploads.ru/i/N/w/V/NwVYc.png

0

10

[Messages]
BeveledLabel=твой текст )))

0

11

MogilShik Спасибо за помощь!

0

12

Таа незашо)))

0

13

http://s1.uploads.ru/C1452.png

Кто разбирается в Inno Setup помогите.
Как и где ...при создании скрипта в Inno Setup изменить эти надписи?

0

14

Как в Inno Setup не знаю, но если что, это можно подредактировать Ресторатором. Открыть в нем setup и в раздел Версия...
Примерно вот так  :rolleyes: :
     
    http://s1.uploads.ru/4U3vB.png

0

15

Wan написал(а):

это можно подредактировать Ресторатором

То что это можно редактировать в редакторе ресурсов я знаю, хотелось узнать как это сделать в Inno Setup.

0

16

Код:
; Переменные. 
; Обычно прописываются перед секцией [SETUP]

#define MyAppName " Моя прога" ; Название проги
#define MyAppVersion "1.5.10" ; № версии
#define MyAppPublisher "®>>>TEKTON<<<®" ; Автор
#define MyAppURL "http://www.example.com/" ; Сайт
#define MyAppExeName "MyProg.exe"; Название инстала


[Setup]
AppName={#MyAppName}
AppVerName={#MyAppName}+ v.+ {#MyAppVersion}
AppPublisher={#MyAppPublisher}, Inc.
AppCopyright=© {#MyAppPublisher} 2012г.
VersionInfoVersion={#MyAppVersion}
VersionInfoCompany=© {#MyAppPublisher} 2012г.

P.S. В шапке >>> темы <<<, в самом конце, перезалил справку по Инно v.5.XX

0

17

Версию файла получилось исправить.
Но как быть со строкой Описание: Моя Программа Setup там автоматом дописывается слово Setup

0

18

Добавление слова "Setup" к значению параметра AppName заложено в самом компиляторе Inno. Вы здесь ничего не сделаете. Но если вы обратитесь к справке к программе, то узнаете, что есть такой параметр параметр как VersionInfoDescription. Если он не указан в сценарии, то будет использована строка вида "{AppName} Setup", т.е. так как и получается у вас "Моя Программа Setup". Если не хотите лицезреть это слово "Setup" в свойствах вашего файла установки, то добавьте в разделе [Setup] вашего сценария строку:

Код:
VersionInfoDescription = "Моя программа"

После этого в свойствах файла будет указано то, что вы написали в этом параметре.

+1

19

Horna написал(а):

Код:
VersionInfoDescription = "Моя программа"

Спасибо за подсказку!

0


Вы здесь » BlackStar Localizations Studio » Перепаковка и русификация игр » Руководство по перепаковке игр для начинающих