Данная программа предназначена для
организации базы модов игры TES Skyrim, хотя не менее успешно
применима для многих сходных целей в т. ч. в других играх. Основная
идея её создания была в организации средства управления и контроля
массива файлов с по возможности минимальными накладными расходами на
дублировании подконтрольных файлов. Причиной её создания послужил тот
факт что все популярные и известные мне мод-менеджеры для игр
TES Oblivion, TES Skyrim имели отрицательное свойство двойного
дублирования всех файлов модов, загруженных в такие прогораммы, что
приводило к непомерному разрастанию размера игры при использовании
этих программ совместно со множеством модов. А отчасти и из
спортивного интереса (я не проводил анализ на наличие достойных
аналогов).
Возможности программы:
Создание базы данных
установленных в игру модификаций (модов) и управление состоянием этих
модов (установка, удаление) через базу данных.
Режим штучной
установки - допустимо устанавливать не весь мод целиком, а лишь
отдельные файлы конкретных модов
Возможность динамического
изменения состава и данных файлов в мода, уже занесённого в базу
данных (даёт возможность контроля и учёта файлов мода при его
разработке)
Автоматическое разрешение конфликтов при совпадении
имён файлов из различных модов, с учётом (и без) приоритетности
модов, без окончательной потери замещаемых файлов.
Конфликты:
Со
всем, в т. ч. "ручной" установкой
модов.
Требования:
целевая игра, целевые модификации,
мозги3
Глюки:
Программа написана через жопу,
так что весьма возможны, потому это и альфа версия. Хотя у афтара ещё
ни разу не глючила (при правильном танце с бубном).
Предлагаю
связь:
knt11@mail.ru - для дачи исходников желающим.
Можно писать и по поводу найденных глюков, но не обольщайся -
разработка давно заброшена и максимум - эта инструкция пополнится
списком того, чего нельзя с программой делать.
Установка:
*
Закидываем MI.exe и mainconfig.cfg в какую-нибудь папку, в которой
теперь будет стоять программа. Можно в корневую папку Скайрима
*
Закидываем папку ModsDataBase, с шаблноном пустой базы данных, туда
где теперь будет база данных. Например в Skyrim\data, чтоб далеко не
ходить. Папку с базой данных при желании можно и переименовать.
*
Запускаем программу.
* Прописываем в меню Конфигурация->Папки
(если само не вылезет) пути к папке Skyrim\data и пути к папке с
базой данных
! Пользуемся.
Удаление:
*
Деинсталировать из игры все моды, если нет желания чтоб они навеки
застряли в папке с игрой (сам факт удаления программы не нарушит их
работы, но сделает невозможным автоматическое удаление из игры)
*
Экспортировать из базы данных моды, которые есть желание
сохранить
x Удалить папку с базой данных и файлы MI.exe и
mainconfig.cfg
Основное окно программы
Основное
окно состоит из двух частей: слева находится список модов, известных
программе, справа - набор вкладок для просмотра информации о
выбранном моде и управления его состоянием.
Моды в списке
сортируются по приоритету, при этом моды, стоящие в списке ниже имеют
более высокий приоритет, и соответственно будут перезаписывать
файлы модов с более низким приоритетом.
Все моды могут иметь набор
следующих состояний, отображаемых цветным значком слева от названия
мода:
- эти три значка, и следующее за ними зарезервированное слово
"Uncnown" предназначены для индикации столкновений с
файлами, принадлежность которых к какому-либо из модов не
установлена. Цвет значка равноценен соответствующему цвету, из
описанных ниже;
- Добавленный в базу данных (известный программе) мод, который на
данный момент ни разу не был установлен в игру.
- Мод не установлен в игру, но был установлен ранее, а затем
удалён.
- Мод установлен в игру на 100%. Все файлы мода присутствуют в папке
игры.
- Мод установлен в игру на 100%, но это привело к замещению файлами
мода файлов других модов. Есть факт столкновения файлов, файлы этого
мода использованы как более приоритетные.
- Мод частично установлен в игру. Часть файлов мода не находится в
папке с игрой, но это не вызвано какими - либо конфликтами файлов.
- Мод частично установлен в игру. Часть файлов мода конфликтует с
файлами другого, более приоритетного мода.
- Мод не установлен в игру, обнаружено повреждение файлов мода.
Программа не даст установить такой мод, пока повреждения не будут
исправлены! (вручную)
- Мод установлен в игру, обнаружено повреждение файлов мода.
Такой мод можно только удалить.
Изменение приоритета модов в
списке осуществляется передвижением выбранной строки списка кнопками
клавиатуры ↑ и ↓ с зажатой клавишей Ctrl.
При
щелчке правой кнопкой мышки по названию мода выпадает меню со
следующими действиями:
Установить - устанавливает мод в
игру
Деинсталировать - удаляет мод из игры (но не из базы
модов)
Удалить - удаляет мод из базы модов (вызывает
диалог удаления). Это можно сделать только для не установленных в
игру модов.
Проверить - проверяет мод на наличие
повреждений.
Диалог удаления мода
В
диалоге пункты:
Удалить из базы данных - удалит мод из базы
данных и физически удалит файлы мода.
Выгрузить из базы данных
- при этом появится поле ввода целевой папки для приёма файлов мода -
переместит файлы мода из базы данных в целевую папку и удалит мод из
базы данных.
В правой части находится набор вкладок,
предоставляющих информацию:
Инфо - общие сведения о моде:
Имя, число файлов в составе, занимаемый размер, описание.
Файлы
- файлы, с относительными путями к ним, входящие в состав
мода
Установлены - файлы мода, которые на данный момент
присутствуют в папке игры
Не установлены - файлы мода,
которые на данный момент отсутствуют в папке игры
Конфликты
- сведения о файлах мода, конфликтующих (совпадающих именами) с
другими файлами, в т. ч. файлами других модов
Повреждены -
список повреждённых файлов мода. Такие файлы не прошли проверку в
процессе тестирования файлов мода на целостность. Например из за
того, что были "неожиданно" перезаписаны файлами мода,
установленными в обход программы.
Во
вкладках Установлены, Не установлены и
Повреждены для файлов также можно
вызывать меню правой кнопки мыши. Во всех случаях меню будет
выглядеть одинаково, однако некоторые его пункты будут
неактивны.
Пункты меню производят:
Установить -
устанавливает выбранный файл выбранного мода в игру. При этом
игнорируются приоритеты модов! т. е. файл в игру будет
установлен всегда, даже если он конфликтует с файлами более
приоритетных модов. Имей в виду! при этом с индикацией состояний мода
и может возникнуть путаница!
Удалить - удаляет выбранный
файл мода из игры.
Обновнить - повторно заносит в базу
данных информацию о файле мода, например если файл был
целенаправленно изменён и теперь надо "разрешить"
повреждение мода.
Добавить - Добавляет к базе мода файл.
Файл при этом должен быть предварительно помещён в корректное место в
базе данных программы или в папке игры.
(!)Убрать - БЕЗ
ДОПОЛНИТЕЛЬНОГО ПРЕДУПРЕЖДЕНИЯ удаляет файл мода из базы данных, но
сам файл не удаляется с диска!
Отдельно про
меню конфликтов:
Сверху
справа размещается список файлов мода, для которых существуют
конфликты.
Ниже, список "Обнаружен в модах" содержит
имена конфликтующих модов в порядке их приоритета перезаписи
конфликтного файла. Моды ниже в списке имеют более высокий приоритет,
файл последнего в списке мода реально установлен в игру.
Поле
"причина" расшифровывает причину конфликта. На данный
момент имеет только состояние "Совпадение имён файлов",
смысл которого по моему и так ясен.
Поля "Размер",
"Время" и "CRC32" на данный момент не реализованы
(вообще предполагалось предоставлять данные для сравнения)
Файл
->
Загрузить мод - вызовет
диалог добавления нового мода в базу программы
Выход
- закроет программу
Конфигурация ->
Папки
- вызовет диалог настройки папок местоположения
базы данных и игры
Режимы
- вызовет диалог настройки алгоритма проверки
целостности файлов мода
Диалог добавления нового
мода
Верхнее
поде ввода задаёт папку с файлами загружаемого мода
Следующее за
ним принимает название мода, затем отображаемое затем в списке
модов
флажок "Перемещать файлы при создании БД" в
отмеченном состоянии указывает программе перемещать файлы мода в базу
данных. При этом файлы мода исчезнут из исходной папки, но процесс
загрузки мода в базу пройдёт значительно быстрее.
Поле "описание
мода" предназначено для ввода пользователем описания
мода.
ВНИМАНИЕ!!!
в поля "описание мода" и предназначенное для названия мода
НЕЛЬЗЯ!
вводить конструкцию xxxxx>\n, где xxxxx - любой текст, \n - символ
перевода строки (обычно вводится клавишей Enter), > - понимается
буквально символ ">" (больше, треугольная скобка) без
кавычек, а также присваивать имени мода строку "Uncnown"!
и символов табуляции!
Эти строки и последовательности зарезервированы и их применение
необратимо порушит базу данных.
Диалог "Папки"
В
"Размещение игры" указывать ту папку игры, в которую должны
ставится моды;
В "База данных" указывается папка, в
которой будет размещаться база данных программы, включительно файлы
модов, которые в данный момент не установлены в игру
"активный
файл конфигурации" - показывает какой файл конфигурации
используется для хранения настроек программы.
Имей в виду!
Программа ищет файл конфигурации в текущей рабочей папке на момент
своего запуска! Будь внимателен.
Диалог
"Режимы"
Устанавливает
алгоритм тестирования файлов на целостность:
CRC - проверка по
контрольной сумме
размер - проверка на соответствие размера
время
- проверка на соответствие времени последней модификации
Можно
выбрать один из трёх подходов, первый - самый медленный и надёжный,
последний - самый быстрый и сомнительный
Флажёк "Не
тестировать" подавляет вызовы процесса автоматического
тестирования файлов мода (например перед его установкой в игру) на
время текущего сеанса работы программы.
Ну вот. вроде всё.
Можно закрыть эту буковь.... но всё-же рекомендую почитать ещё
немного....
по умолчанию mainconfig.cfg в текущем рабочем каталоге на момент
запуска программы
ver= 0 - магик. всегда должен быть именно
таким!
Раздел [GENERAL]
GameDir= - указавает путь к папке
игры
GameDb= - указывает путь к папке с базой данных
LastPath=
- хранит путь, последний раз указанный в каком-либо диалоге выбора
пути
IsExtOpMoveFiles= - перемещать ли файлы из источника при
создании БД 0=Нет 1=Да
ModFilesTestLevel= - алгоритм тестирования
файлов на целостность. допустимы 1 - 3.
bNoModFilesTests= -
отключить тестирование файлов на целостность. 1=Отключить
0=включить
Раздел [LOGGING]
LogLevel= - задаёт уроветь
подробности записываемой в лог информации. По умолчанию 1.
0=выключен
LogFile= - задаёт имя лог файла. Файл создаётся в
текущей рабочей папке на момент запуска программы.
Раздел
[DISPLAY]
содержит данные о положении и размерах окна программы
в
файле конфигурации для не текстовых полей допустимы комментарии через
символ ";"
или между полями, опять-же через символ ";"
Лежат в корне папки, выбранной под базу данных.
Состоят из
файла GameDB.ini и набора файлов %имя мода%.txt.
Каждому файлу
%имя мода%.txt соответствует папка с именем %имя мода%, в которой
лежат файлы мода, на данный момент не установленные в игру. Папки
модов, находящихся в базе данных, удалять нельзя, создавать "лишние"
папки тоже крайне нежелательно.
Отдельно имеется папка Uncnown и
файл Uncnown.txt, предназначенные для хранения данных о файлах,
принадлежность которых неизвестна, но которые конфликтуют с файлами
модов.
GameDB.ini - "это индекс" файл,
содержащий общую информацию о находящихся в базе модах, а также
данные о конфликтных файлах
внутри состоит из двух
полей:
<ACTIVE>
</ACTIVE>
содержит список модов
в БД и их состояния, отделённые символами табуляции:
пробел - не
установлен
- частично установлен
+ установлен полностью
!
имеются конфликты
8 спецуказатель на хранилище неизвестных файлов.
Технически тут заместо "Uncnown" можно прописать любое
другое слово, соответственно создав одноимённые файл и
папку.
<FILES>
</FILES>
содержит список
конфликтных файлов
В первой колонке - относительный путь к файлу,
во второй:
"!" - признак совпадения имён (дублирование
файла)
"<", "s", ">", "?"
- обозначают факт обнаружения нарушения целостности базы данных для
указанного файла. Какой за конкретно что отвечает уже, увы, не
помню.
далее идёт список модов (по приоритетам), участвующих в
конфликте
Файлы %имя мода%.txt имеют следующую
структуру:
<DESCR>
</DESCR>
содердит описание
мода
<FILES>
</FILES>
содержит список файлов
мода
первый столбец - состояние:
- файл не
установлен
+ файл установлен
? Файл утерян. Переходит
с "+"
. файл утерян. Переходит с "-"
Второй
столбец - путь/имя файла
Третий - размер файла (байт)
Четвёртый
- контрольную сумму CRC32
Пятый, шестой - время последней
модификации (в запакованном виде)