???
Математика на уровне МГУ

Показано с 1 по 3 из 3

Тема: Переключение между версиями игры

  1. #1
    . Аватар для Maximus_G
    Регистрация
    09.04.2002
    Адрес
    Владивосток
    Возраст
    45
    Сообщений
    10,064

    Post Переключение между версиями игры

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

    Я немного поработал над этим алгоритмом, для переключения во всех версиях от 2.04 до 3.03, и включив в копирование все файлы, которые изменились в патчах/аддонах, + те файлы что потенциально могут измениться в будущих патчах и оказать влияние на игру.

    Итак,
    от версии 2.04 нужны файлы/папки:
    ------------------------------------
    bin
    ForceFeedback
    GSData
    i18n
    lib
    dx8Wrap.dll
    files.SFS
    il2_core.dll
    il2_usgp.dll
    il2_usgs2.dll
    il2_usgs.dll
    il2fb.exe
    il2setup.exe
    il2setup.ini
    jgl.dll
    key
    mg_snd.dll
    rcu
    rts.dll
    ------------------------------------
    переименовываем их по шаблону "новое_имя = 204.старое_имя". Таким образом files.SFS превращается в 204.files.SFS, и так далее.

    От версии 3.01:
    ------------------------------------
    files.SFS
    il2_core.dll
    il2_coreP4.dll
    JET RT
    il2fb_new.exe
    ------------------------------------
    переименовываем в "301.*".

    От версии 3.02:
    ------------------------------------
    files.SFS
    il2_core.dll
    mg_snd.dll
    il2_coreP4.dll
    mg_snd_sse.dll
    il2fb_new.exe
    fb_3do10p.SFS
    fb_maps09p.SFS
    ------------------------------------
    переименовываем в "302.*".

    От версии 3.03:
    ------------------------------------
    files.SFS
    il2_core.dll
    mg_snd.dll
    il2_coreP4.dll
    mg_snd_sse.dll
    fb_3do10p.SFS
    fb_maps09p.SFS
    ------------------------------------
    переименовываем в "303.*".


    Во избежание путаницы, которая может возникнуть при первоначальном переименовании и размещении нужных файлов, предлагаю поступить следующим образом.
    1. Любым старым способом переводим игру в версию 3.0.
    2. Создаем в директории игры файл "!300".
    3. Перемещаем в директорию игры все файлы "204.*", "301.*", "302.*", "303.*".
    В директории игры НЕ должно быть файлов типа "300.*".
    4. Копируем в директорию игры файлы из аттача.
    5. Дефрагментируем диск
    6. Для переключения между версиями игры запускаем файлы "!toXXX.cmd". Для удобства пользования можно сделать к ним ярлыки в удобном для нас месте.
    7. Проверка корректности работы скриптов: Запускаем их, пробегаем по открывшемуся окошку с командами, проверяем что ни на одну из выполненных команд нет ответа системы в духе "файл не найден", или каких-нибудь других ошибок.

    Хинт. Файлы "!toXXX.cmd" созданы лишь для того, чтобы окошко с выполняемыми операциями не закрывалось. Если хотим, чтобы окошко закрывалось после всех операций - запускаем не эти файлы, а "XXX.cmd".

    И разумеется, все файлы из патчей, что не вошли в списки файлов типа ХХХ.*, устанавливаются в директорию игры в хронологическом порядке патчей.


    ------------------------------

    Файлы обновлены до версии 3.04.
    Для установки патча необходимо извлечь его содержимое во временную папку, переместить в папку игры все файлы и папки кроме files.sfs, il2_core.dll, il2_coreP4.dll. А эти файлы перед перемещением в папку игры переименовать по шаблону 304.*.

    Новые cmd-файлы естественно будут работать и в старых версиях игры, без нового патча.
    Вложения Вложения
    Крайний раз редактировалось Maximus_G; 20.01.2005 в 05:57.
    "Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"

  2. #2
    . Аватар для Maximus_G
    Регистрация
    09.04.2002
    Адрес
    Владивосток
    Возраст
    45
    Сообщений
    10,064

    Ответ: Переключение между версиями игры

    Новые файлы для работы с патчем 400m.

    Для работы переключалки необходимо:

    1. Разархивировать содержимое патча 400 в отдельную, изолированную директорию.

    2. Следующие файлы из содержимого патча нужно переименовать по одному шаблону имя -> 400.имя:

    fb_3do11.SFS -> 400.fb_3do11.SFS
    fb_3do11p.SFS -> 400.fb_3do11p.SFS
    fb_maps10.SFS -> 400.fb_maps10.SFS
    fb_maps10p.SFS -> 400.fb_maps10p.SFS
    files.SFS -> 400.files.SFS
    il2_core.dll -> 400.il2_core.dll
    il2_coreP4.dll -> 400.il2_coreP4.dll

    3. Переместить ВСЁ содержимое патча 400 в директорию игры.

    4. В директории игры создать файл-индикатор текущей рабочей версии - под названием "!304" (переход к версии 400 выполняем строго с версии 304).

    ---

    Переключалка будет работать и в том случае, если это первая ее установка (разумеется, тогда переключение будет возможно только между версиями 304 и 400).

    ---

    В случае, если игра уже пропатчена пользователем до версии 4.00, но у него есть желание иметь возможность откатить версию игры обратно на 304, необходимо сделать следующее (по аналогии с предыдущим алгоритмом):

    5. Разархивировать содержимое патча 304 в отдельную, изолированную директорию.

    6. Следующие файлы из содержимого патча необходимо переименовать:

    files.SFS -> 304.files.SFS
    il2_core.dll -> 304.il2_core.dll
    il2_coreP4.dll -> 304.il2_coreP4.dll

    7. Переместить только эти три файла в директорию игры.

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

    ---

    Далее переключения между версиями выполняются запуском файлов типа "!to304.cmd".

    Можно сразу прыгнуть, например, от версии 400 к 204, запуском соответствующего файла.

    Если вы не создавали возможность переключения на какие-то версии игры (например, используете переключалку только для версий 304 и 400), тогда стоит удалить соответствующие *.cmd-файлы, во избежание случайностей.

    Крайне не рекомендую запускать несколько cmd-файлов одновременно (сам случайно сделал это, пользуясь глючной мышью ).

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

    Если есть вопросы - задавайте.
    Вложения Вложения
    "Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"

  3. #3
    . Аватар для Maximus_G
    Регистрация
    09.04.2002
    Адрес
    Владивосток
    Возраст
    45
    Сообщений
    10,064

    Ответ: Переключение между версиями игры

    Поскольку версия 401 отличается от версии 400 только файлом files.SFS, и поскольку 400 неофициальная, в переключалке я просто заменил 400 на 401.
    Алгоритм:
    1. Откатиться на любую версию меньше 400 (например, 304).
    2. Переименовать ВСЕ файлы "400.*" в "401.*".
    3. Заменить файл "401.files.SFS" новым, из патча 401.
    4. Во избежание случайностей, удалить файлы "!to400.cmd" и "400.cmd".
    5. Обновить файлы-переключалки.
    6. Go Go Go!
    Вложения Вложения
    "Как говорит наш дорогой шеф, в нашем деле главное - реализьм!" (c) к/ф "Бриллиантовая рука"

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •