************************************************************************************** ************************************************************************************** Д3 - Менеджер Модов (версия 1.4 (fix 3)). (с) 2011 - 2012, Александр Бабаев. ************************************************************************************** ************************************************************************************** **********Содержание********** 1. Информация о версии 2. История версий 3. Системные требования 4. Лицензия 5. Авторы 6. Используемые технологии 7. Ссылки 8. Функции работы с реестром 9. Функции работы с ini файлом 10. Решение проблем с модами 11. Настройки обновления ****************************** ****************************** 1. Информация о версии ****************************** Перед вам версия 1.4 (фикс 3) - четвёртое обновление продукта обновление продукта. ВНИМАНИЕ: может потребоваться обновление файла настроек! ВНИМАНИЕ: перед установкой рекомендуется удалить ВСЕ моды. ****************************** 2. История версий ****************************** #1.4 (сборка 143) (17.01.2012) — фикс четвёртого обновления продукта. Список изменений: 1. [Компилятор: установка]: Добавлены новые флаги для копирования файлов - pcfDontBackUp (не добавляет файл в бекап) и pcfDontRegister (не регистрирует файл). #1.4 (сборка 142) (08.01.2012) — фикс четвёртого обновления продукта. Список изменений: 1. [Удаление]: Удалено требование единственной копии программы удаления. #1.4 (сборка 141) (07.01.2012) — фикс четвёртого обновления продукта. Список изменений: 1. [Менеджер Модов]: Исправлена ошибка удаления модов. #1.4 (сборка 140) (30.12.2011) — четвёртое обновление продукта. Список изменений: 1. [Общее]: Обновлён способ запуска утилит установки/удаления, тем самым решена проблема в отказе от запуска установки/удаления даже через Менеджер Модов*. 2. [Менеджер Модов]: Добавлена возможность создания ярлыков удаления на рабочем столе. 3. [Менеджер Модов]: Обновлена программа обновления**. 4. [Менеджер Модов]: Загрузка программы может быть оптимизирована с помощью настроек (см. пункт настроек "Загрузка"). 5. [Менеджер Модов]: Обновлено окно "О программе": убраны лишние строки, добавлены новые тестеры***. 6. [Менеджер Модов]: Логотип изменён на новогодний. ПРИМЕЧАНИЯ: * - Изменились параметры запуска. Требуется обновить файловые ассоциации. Установка некоторых модов будет работать некорректно (подробнее см. пункт 10). ** - Настроить программу обновления можно в меню настроек на вкладке "Обновление". Подробности см. в пункте 11. *** - В меню "О программе" добавлен небольшой секрет, который откроется только в новогодние праздники. Спасибо пользователю с ником "Ник 777" сайта db-3.ru за возможность осуществления. #1.3 (сборка 130) (18.12.2011) — третье обновление продукта. Список изменений: 1. [Компилятор]: Добавлена возможность копировать без бекапа (даже если SetDoBackUp (true)). Для этого достаточно добавить в опциях (т.н. флагах) опцию "pcfDontBackUp". 2. [Компилятор]: Добавлены функции работы с ini файлами (подробнее см. в п.9). 3. [Менеджер Модов]: Добавлена возможность запускать установку/удаления с помощью командной строки Windows. Для этого необходимо в настройках на вкладке "Установка/удаление" отметить пункт "Запуск с помощью командной строки". #1.2 (сборка 120) (15.08.2011) — второе обновление продукта. Список изменений: 1. [Менеджер модов]: При экспорте списка указывается установлено ли дополнение "Большие Гонки". 2. [Установка/Удаление]: Добавлены функции работы с реестром (подробнее см. в п.8). 3. [Установка/Удаление]: Добавлена новая функция «function isBigRaceInstalled: boolean», проверяющая установлено ли дополнение "Большие Гонки". 4. [Установка/Удаление]: Добавлена новый параметр "/silent", служащий для "тихой" установки/удаления. #1.1 (сборка 110) (4.08.2011) — первое обновление продукта. Список изменений: 1. [Менеджер модов]: Добавлен модуль утилиты, позволяющий вызывать утилиты с панели инструментов. 2. [Утилита]Добавлена утилита для добавления утилит в список: mm_toolsadder.exe(идёт в комплекте с программой). 3. [Установка/Удаление]: Добавлена новая функция «function ShellExec(const FileName, Params: string; const WinState: Word): boolean», позволяющая запускать внешние программы. ВНИМАНИЕ: во время исполнения програм, установка/удаление может казатся зависнувшей. #1.0 (сборка 100) (29.07.2011) — первая стабильная версия. Список изменений: 1. Добавлен модуль проверки новой версии. 2. Исправлена некорректная работа с папками, содержащими русские буквы. 3. Улучшено экспортирование списка модов (добавлена информация о системе). #0.8 (сборка 90) (16.05.2011) — первая публичная RC-версия. Список изменений: 1. Изменён принцип установки. Теперь для установки требуется один лишь файл (вместо двух, которые требовались в предыдущей версии). 2. Изменён алгоритм сжатия. Теперь файлы инсталляции занимают на 65% меньше места по сравнению с предыдущей версией. 3. Новый интерфейс, возможность переключения между стандартным и современным интерфейсом. 4. Добавлен поиск установленного мода. 5. Добавлена возможность свернуть в трей. 6. Изменена технология установки. 7. Изменены поддерживаемые расширения. 8. Добавлена процедура добавления файлов в бэкап: «procedure SendToBackUp (const AFileName: string)». 9. Работа функций «tCopyFileEx» и «tCopyFile» была оптимизирована. 10. Удалена функция проверки версии программы: "function CheckMMVersion (const AMinBuild, AMaxBuild: integer): boolean". Проверка теперь происходит при начале установки мода. 11. Изменена структура файлов конфигурации. #0.4 (сборка 90) (03.04.20011) - Последняя бета-версия. Список изменений: 1. Доработана система регистрации модов. 2. Разделение на менеджер модов, установщик и программу удаления. 2. Добавленна процедура для добавления свойств мода: "procedure SetAboutModInfo (const AModSupportURL, AModUpdateURL, AModLicenseFile, AModReadmeFile: string)". #0.3 (сборка 83) (20.03.2011) - Первая закрытая бета-версия. Список изменений: 1. Исправлена некоторая утечка ресурсов. 2. Добавлена функция проверки версии программы: "function CheckMMVersion (const AMinBuild, AMaxBuild: integer): boolean". 3. Добавлена функция проверки, установлен ли мод, по ID: "function isModInstalled (const AModID: string): boolean". 4. Добавлена процедура добавления кода перед автоматически сгенерированным кодом удаления: "procedure AddUnInstallCodeBefore (const ACodeStr: string)". 5. Добавлена процедура добавления кода после автоматически сгенерированного кода удаления: "procedure AddUnInstallCodeAfter (const ACodeStr: string)". 6. Теперь все утилиты автоматически требуют права администратора. 7. Добавлена возможность пометить мод неудаляемым (ВНИМАНИЕ! Такой мод НЕ удалить, так как на него не генерируется код удаления.). 8. Переписан idatCreator. Теперь в графическом интерфейсе... #0.2 (сборка 80) (11.03.2011) - вторая alpha - версия. Список изменений: 1. Изменён основной шрифт с Courier (11 pt) на Times New Roman (11 pt). 2. Исправлен баг с неозвученными сообщениями. 3. Добавлена процедура прерывания установки с сообщением: "procedure BrakeInstallEx (const AMessage: string)". 4. Изменена процедура прерывания установки: "procedure BrakeInstall" (внутреннее изменение). 5. Добавлена функция проверки версии игры: "function CheckRnRVersion (const AMinBuild, AMaxBuild: integer): boolean;". 6. В мастер создания установки добавлена возможность делать ограничения на версию игры. 7. Добавлена функция, которая позволяет считывать информацию с языковых файлов программы: "function GetLocalString (const ASection: string; const AMessageID: integer): string" 8. Добавлен новый тип: "TMMsgDlgType = (mmtWarning, mmtError, mmtInformation, mmtConfirmation, mmtNone)" 9. Добавлен новый тип: "TMMsgDlgBtns = (mmb_OK, mmb_ABORTRETRYIGNORE, mmb_OKCANCEL, mmb_RETRYCANCEL, mmb_YESNO, mmb_YESNOCANCEL)" 10. Добавлен новый тип: "TMMsgDlgResult = (mmr_ABORT, mmr_CANCEL, mmr_IGNORE, mmr_NO, mmr_OK, mmr_RETRY, mmr_YES)" 11. Добавлена функция для вывода сообщений: "function MessageDlg (const AText, ACaption: string; const ADlgType: TMMsgDlgType; const ADlgBtn: TMMsgDlgBtns): TMMsgDlgResult" 12. Добавлена процедура для вывода простых сообщений: "procedure ShowMessage (const AMessage: string)" 13. Переработаны алгоритмы очистки служебных папок. 14. Изменено поведение программы при отсутствии необходимой папки (папки игры, папки скинов и т.д.). Вместо "raise Exceptions <...>" теперь используется "BrakeInstallEx". 15. Доработан алгоритм установки/удаления. 16. Программа теперь автоматически требует права администратора. #0.1 (04.03.2011) - первая alpha - версия. ****************************** 3. Системные требования ****************************** Для того, чтобы программа могла нормально работать, вам потребуется: 1. Около 23 Мб (с установкой модов требуемое пространство будет возрастать). 2. Установленная лицензионная копия игры "Дальнобойщики 3. Покорение Америки". 3. Учётная запись администратора для работы программы. Рекомендуется: 1. Около 100 Мб. 2. Установленная лицензионная копия игры "Дальнобойщики 3. Покорение Америки" и дополнения "Дальнобойщики 3. Большие Гонки" или пропатченная оригинальная игра до 3.0.5. 3. Учётная запись администратора для работы программы. ****************************** 4. Лицензия ****************************** Лицензионное соглашение с конечным пользователем находится в файле "license.txt" в папке программы. ****************************** 5. Авторы ****************************** Над проектом работали: Руководитель проекта / разработчик: Александр Бабаев (aka GoodBoyAlex) Графика: GreeX Тестеры: Максим Урсалов (aka Maksimuscool), Андрей Рабский (aka Anry), GreeX Перевод: Русский и английский: Александр Бабаев (aka BadBoyAlex) Дополнительное тестирование: Виктор, ReanimatoR. ****************************** 6. Используемые технологии ****************************** Проект использует следующие технологии: 1. RemObjects Pascal Script. Copyright (c) 2004-2010 by RemObjects Software. http://www.remobjects.com/ 2. ImageBtns. © 2010, Maxizar. All rights reserved. 3. Silk Icon Set 1.3 by Mark James. http://www.famfamfam.com/lab/icons/silk/ 4. Vista Common Toolbar Icon Set by GlyFx. http://www.glyfx.com/ 5. SynEdit http://sourceforge.net/apps/mediawiki/synedit/index.php?title=SynEdit_Home_Page 6. 7-zip Delphi API © 2009 by Henri Gourvest. http://www.progdigy.com/?page_id=13 7. 7z Starndalone Plugin © 1999-2009 by Igor Pavlov. http://www.7-zip.org/ ****************************** 7. Ссылки ****************************** http://www.db-3.ru - фан-сайт игры "Дальнобойщики 3". http://vkontakte.ru/rignroll - официальная группа игры "Дальнобойщики 3" в соц. сети ВКонтакте. http://vkontakte.ru/rnrmm - страница проекта в соц. сети ВКонтакте. ****************************** 8. Функции работы с реестром ****************************** ВНИМАНИЕ: программа не умеет "писать" в реестр, а только "читать". ВНИМАНИЕ: ARootIndex может принимать только следующие значения: 0 - HKEY_CLASSES_ROOT 1 - HKEY_CURRENT_USER 2 - HKEY_LOCAL_MACHINE 3 - HKEY_USERS 4 - HKEY_CURRENT_CONFIG ФУНКЦИИ РАБОТЫ С РЕЕСТРОМ: 1. function RegReadString (const ARootIndex: integer; const ASection, AIdent, ADefaultValue: string): string Возвращает текстовое значение ключа AIdent в разделе ASection из ARootIndex или ADefaultValue, если значение не существует. 2. function RegReadInteger (const ARootIndex: integer; const ASection, AIdent: string; const ADefaultValue: integer): integer Возвращает целочисленное значение ключа AIdent в разделе ASection из ARootIndex или ADefaultValue, если значение не существует. 3. function RegReadBoolean (const ARootIndex: integer; const ASection, AIdent: string; const ADefaultValue: boolean): boolean Возвращает значение типа Правда/Ложь ключа AIdent в разделе ASection из ARootIndex или ADefaultValue, если значение не существует. 4. function RegSectionExist (const ARootIndex: integer; const ASection: string): boolean; Возвращает "true", если раздел ASection из ARootIndex существует и "false" в противном случае. ****************************** 9. Функции работы с ini файлом ****************************** Функции для работы с ini файлами делятся на 2 типа: 1. функции чтения ini файлов; 2. процедуры записи ini файлов. 1. ФУНКЦИИ ЧТЕНИЯ INI ФАЙЛОВ: 1. function INI_ReadString (const ASection, AIdent, ADefault, AINIFileName: string): string Возвращает текстовое значение ключа AIdent в разделе ASection из файла AINIFileName или ADefault, если значение не существует. 2. function INI_ReadInteger (const ASection, AIdent: string; const ADefault: integer; const AINIFileName: string): integer Возвращает целочисленное значение ключа AIdent в разделе ASection из файла AINIFileName или ADefault, если значение не существует. 3. function INI_ReadBool (const ASection, AIdent: string; const ADefault: boolean; const AINIFileName: string): boolean Возвращает значение типа Правда/Ложь ключа AIdent в разделе ASection из файла AINIFileName или ADefault, если значение не существует. 2. ПРОЦЕДУРЫ ЗАПИСИ INI ФАЙЛОВ: 1. procedure INI_WriteString (const ASection, AIdent, AValue, AINIFileName: string) Записывает текстовое значение AValue в ключ AIdent в разделе ASection из файла AINIFileName. 2. procedure INI_WriteInteger (const ASection, AIdent: string; const AValue: integer; const AINIFileName: string) Записывает целочисленное значение AValue в ключ AIdent в разделе ASection из файла AINIFileName. 3. procedure INI_WriteBool (const ASection, AIdent: string; const AValue: boolean; const AINIFileName: string) Записывает значение типа Правда/Ложь AValue в ключ AIdent в разделе ASection из файла AINIFileName. ****************************** 10. Решение проблем с модами ****************************** На данный момент известно о несовместимости модов Виктора (версии 1, 2). Способы решения проблемы: 1. Предварительно удалить "Пешеходный мод (в. 2.0)" (для второй версии ещё и первую версию мода со всеми дополнениями!). 2. Проигнорировать (нажать "НЕТ") при запросе о удалении мода (НЕ РЕКОМЕНДУЕТСЯ!). ****************************** 11. Настройки обновления ****************************** Корректные настройки программы обновления находятся в этой теме: http://www.db-3.ru/node/7598 (авторы сообщений: GoodBoyAlex, Anry, Maksimuscool (в случае других - игнорировать!!!)). На данный момент (08.01.2012) они таковы: Сервер обновлений: http://anbsoftware.ucoz.ru/download/rnr_modmanager/updates/ Имя файла версии: mm_version.mmv Маска имени файла новой версии: mm_update_from_%d_to_%d.7z Маска имени файла новой версии программы обновления: pinstaller_%d.7z