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