Arcanum Launcher |
Здравствуйте, гость ( Вход | Регистрация )
Arcanum Launcher |
vladgor |
4.8.2014, 19:49
Сообщение
#1
|
Диггер
Группа: ДегустаторыСообщений: 37 Регистрация: 24.2.2013 Пользователь №: 5 941 |
Arcanum Launcher v. 0.6
лончер | моды | дропбокс --- Решил-таки побороть лень и опубликовать свою реализацию идеи, которую здесь уже упоминали. Использую лончер уже в течение года, понемногу допиливая и добавляя всякие функции, пока что каких-то ошибок в работе не заметил. Это, конечно, не означает, что у вас их тоже не будет, поэтому используйте на свой страх и риск. Описание Суть работы лончера заключается в том, чтобы на время работы Арканума заменять оригинальные файлы игры файлами мода. В данной конкретной реализации принцип работы немного сложнее: происходит удаление временных файлов, «схватываются» сохранения для одиночной игры и мультиплеерные персонажи (получается, что для каждого мода свои сохранения). Плюс присутствует еще куча фишек типа: — бэкапа сейвов — скачивания модов и их обновления в случае, если была найдена более свежая версия — запуска игры с ключами — восстановления в случае, если файлы мода не были перемещены обратно из-за, например, крэша системы. --- Установка лончера Достаточно просто поместить лончер в папку с игрой. Если вам нужна русифицированная версия, поместите этот конфиг в папку с лончером. --- FAQ Q: Несешь ли ты административную, уголовную или кармическую ответственность за испорченные сейвы, файлы игры, детство, личную жизнь или стены в подъезде? A: Нет, не несу. Используйте на свой страх и риск. Я в свою очередь постарался сделать максимум, чтобы ничего не ломалось, зная, что в жизни рядового арканумовца и так много опасностей в виде портящихся сейвов и т.п. Q: Do ya speak russian, motherfucker? Почему, во имя святых гуслей, лончер на английском? A: Лень было раскладку переключать, очевидно. Вообще, когда-то давно я сделал одну надмозглую русификацию (и вообще реализовал возможность переводить лончер на другие языки). Если хотите, можете сделать свою локализацию, шаблон есть. Q: Что ты имеешь в виду под омерзительным пиндосским словом «репозиторий»? A: Упрощенно говоря, специально устроенный сервер, на котором хранятся моды для лончера. По умолчанию лончер обращается к моему репозиторию, но вообще, стандартный репозиторий можно изменить, написав в файле "launcher.cfg" следующее: Код infoLink = %url% Q: Я обрел силы земли, проникся духом Арканума и вспорол все свои чакры консервным ножом. Я уверен, что мой разум достаточно созрел для создания своих модов для лончера. Поделись таинством. A: Лол, держите: 1. Создаете папку со своим будущим модом в папке "mods", которая, в свою очередь, лежит в папке с игрой. Название мода определяется названием созданной папки. 2. Кидаете нужные файлы в эту папку. Тут важно понимать, как будут перемещаться файлы и папки при активации мода, например, файл "\mods\%your_mod_name%\heyhopheylaley.exe" будет перемещен в корневую папку арканума, т.е. по пути "\heyhopheylaley.exe". Если такой файл уже есть в папке с игрой, то перед тем, как перемещать файл мода, лончер переименует оригинальный файл в "%filename%.backup". Если папки, в которой лежит файл мода, в директории Арканума не существует, то она будет создана (и удалена при деактивации мода). То есть, что важно, почти все папки мода не переносятся, а создаются в папке с Арканумом. Почти все, кроме нескольких заданных по умолчанию: "data\players" и "modules\%module_name%\save". Эти папки переносятся, чтобы «схватывать» новые сейвы и «подставлять» старые, т.к. любые изменения, совершенные в них во время игрового сеанса, в них же и останутся при переносе обратно в папку с модом. Задать список переносимых папок можно в файле "mods\%your_mod_name%\modConfig\dirs.txt". Если такого файла нет, то создаем его, открываем и пишем в первой строке "[[dirs to replace]]" без кавычек, жмем Enter и перечисляем адреса нужных папок, один адрес — одна строка. Важно: адреса папок указываются относительно папки с модом. В том же файле, кстати, можно перечислить адреса папок, которые надо почистить после деактивации мода: пишите "[[dirsToClean]]" и абсолютно так же перечисляете адреса папок, каждый с новой строки. [опционально] 3. Создаете файл "mods\%your_mod_name%\modConfig\config.cfg", заполняете его по шаблону: Код name = %mod_name% version = %mod_version% Имя нужно указывать для того, чтобы идентифицировать мод в репозитории. А версия нужна для проверки обновлений мода. 4. Создаете файл "mods\%your_mod_name%\modConfig\modDescription.html" с описанием мода. Q: Я обрел все то же самое, что в предыдущем вопросе. Как мне создать свой репозиторий? A: Опишу позже, там много всего. Q: — Хэй, Влад, у меня отличная идея для лончера. — Хэй, Влда, я заметил косяк в лончере. — Хэй, Вадл, я знаю крутой мод, который ты точно захочешь добавить в свой репозиторий. — Хэй, Вдал, я обновил свой мод/патч, а у тебя в репозитории модов мой патч старой версии. — Хэй, ФВпвыпыук5, я видел исходники лончера и теперь я желаю тебе скорейшей ампутации рук. Куда же нам писать??? A: Да куда угодно: в джабер, на электронную почту, в личку, можете использовать голубиную почту, можете вычислить меня по айпи, взломать мой компьютер и написать на моем экране, можете написать кровью в моем подъезде, можете использовать психоэнергетические сигналы и посылать свои мысли прямо в мой мозг, вы вообще много чего можете. Но лучше все-таки в джабер или на почту, да. Q: Почему твое описание для патча 1075 так сильно сосет? A: С радостью исправлю, как только дойдут руки разобраться во всех этих патчах, фиксах, хаках и прочем. Я тут относительно недавно, и мне нужно некоторое время, чтобы вникнуть во все это. Если кто-нибудь поможет найти нормальное описание, буду благодарен. --- Change log 0.6 Добавлено: — добавлен ключ для запуска игры в оконном режиме -lwindowed. Для правильной работы также необходим ключ -no3d. Ну и папка "launcher\fixes\windowed\" должна содержать три файла: ddraw.dll, arcanum-w.exe и aqrit.cfg (файлы можно взять отсюда) — лончер теперь умеет обновлять себя. При каждом запуске лончер проверяет наличие новых версий, и если новая версия таки есть, предлагает обновиться. Отключить проверку можно, написав в файле "launcher.cfg" строку Код checkForUpdate = 0 — лончер теперь может хранить debug-логи в папке "launcher\logs\". Включить это можно, написав в файле "launcher.cfg" строку Код storeLogs = 1 Изменено: — debug-лог теперь называется "debug.txt" и хранится в папке "launcher" — конфиг-файл теперь называется "launcher.cfg" 0.597 С этой версии начинаю логировать изменения. Добавлено: — новые маски для конфиг-файла репозитория Изменено: — лог-файл: теперь логируется процесс скачивания, немного подробнее расписан процесс активации и деактивации мода — стандартный репозиторий — одна ложка сахара в чай вместо двух стандартных Исправлено: — кэширование файлов с репозитория — кнопка "abort", которая появляется при скачивании мода, работает нормально — конфиг-файл лончера, который теперь считывается полностью --- Благодарности
Сообщение отредактировал vladgor - 24.1.2015, 21:29 |
Woratiklis |
5.8.2014, 13:42
Сообщение
#2
|
Жаброшейная амфибия
Группа: СвоиСообщений: 709 Регистрация: 21.4.2009 Из: Красноярск Пользователь №: 3 461 |
Теперь лончер стал доступен широкой публике vladgor, грац!
Очень удобная программа, особенно если хочешь иметь несколько разных версий арканума в одном (у меня стоит оригинальный 1.0.7.4 с возможностью переключаться на патч 1.0.7.5, Grand Fix 1.3 и GF1.1 Expansion style, а так же специальная сборка файлов для совместной игры). Так же часто использую разные ключи. -------------------- |
Gentle_Giant |
5.8.2014, 13:48
Сообщение
#3
|
Hvaldimir Hvaldimirovich
Группа: МодераторыСообщений: 1 015 Регистрация: 26.10.2006 Из: Grand Guignol, Russia Пользователь №: 15 |
Воистину идеи витают в воздухе!
Суть работы лончера заключается в том, чтобы на время работы Арканума заменять оригинальные файлы игры файлами мода. В данной конкретной реализации принцип работы немного сложнее: происходит удаление временных файлов, «схватываются» сохранения для одиночной игры и мультиплеерные персонажи (получается, что для каждого мода свои сохранения). Вот это ближе к идее Mod Manager. Может быть, стоит реализовать совмещение разных модов для общего одновременного запуска (поиск конфликтов, общих задействованных файлов, «компилирование» и т.п.)? Как вариант можно использовать предустановки в ini файле для проверенных на отсутствие конфликтов групп модов. Завтра уезжаю. Когда приеду, толком посмотрю, что реализовано. обновления в случае, если была найдена более свежая версия (в данный момент не работает, так как хостинг, на котором хранились моды, загнулся. Буду рад, если кто-нибудь посоветует недорогой http-хостинг), ИМХО, стоит внести это в изменяемые настройки, типа UpdateURL=. А сама ссылка Дропбокса не подходит для этих целей? Видел такое в проекте HoMM3 HD: Код <CheckForUpdates> = 1 <UpdateServer> = "https://dl.dropbox.com/u/56675299/HD35_Update" Полагаю, и SourceForge подойдёт для обновления. восстановления в случае, если оригинальные файлы Арканума не были восстановлены по причине, например, крэша системы во время игры. Можно сверять контрольные суммы файлов и их количество из директории mods и из папок, используемых непосредственно игрой. Если поступит реквест со стороны сообщества, могу объяснить, зачем нужна папка "modConfig" и как настраивать моды. Стоит создать подробное описание и вложить его в архив с Launcher. Удачи и терпения! -------------------- Все разговоры с иностранцами заканчиваю фразой: «Начинай изучать русский язык – пригодится для работы в российской оккупационной администрации в твоей стране.»
|
vladgor |
5.8.2014, 17:41
Сообщение
#4
|
Диггер
Группа: ДегустаторыСообщений: 37 Регистрация: 24.2.2013 Пользователь №: 5 941 |
Цитата Может быть, стоит реализовать совмещение разных модов для общего одновременного запуска (поиск конфликтов, общих задействованных файлов, «компилирование» и т.п.)? Как вариант можно использовать предустановки в ini файле для проверенных на отсутствие конфликтов групп модов. Да, уже была такая идея, но я отказался от ее реализации. Незнакомые с тонкостями пользователи все равно ничего хорошего после совмещения не получат, а опытным намного проще самим все сделать руками. Можно, например, создать папку "weapon rebalance + gf" в папке "mods\" и там уже все грамотно совместить — лончер воспримет это как новый мод. Цитата ИМХО, стоит внести это в изменяемые настройки, типа UpdateURL=. Не совсем понял, о чем ты, но, судя по тому куску текста, который ты процитировал из моего поста, могу предположить, что ты подумал об обновлении самого лончера. Если так, то нет, я говорил про обновления модов. Могу немного рассказать про систему со скачиванием и обновлением модов, кстати. Там, в принципе, ничего сложного: с сервера скачивается файл с описанием модов, которые можно скачать. В описание модов, помимо самого текста с описанием, так же входит ссылка на архив с модом, версия мода и его вес. Лончер проверяет, какие из доступных модов уже скачаны и при желании пользователя может их обновить. Окно со списком модов для скачивания выглядит примерно так: Не смотрите на то, что почти не оформлено и не указаны авторы мода: это будет сделано, как только найдется нормальный хостинг. До этого я использовал public-папку в дропбоксе, но сейчас, как я понял, это лавочку уже прикрыли (да и вероятность схватить бан тоже была, так что это даже к лучшему, пожалуй). К чему я это веду: по умолчанию программа читает файл со списком модов для скачивания по определенному адресу, который можно изменить в конфиг-файле. Таким образом, можно сделать несколько разных списков с модами, между которыми можно переключаться. В одном списке, например, будут моды на английском языке, а в другом — на русском. Не уверен, что понятно объяснил, так что спрашивайте, если что-либо непонятно. Цитата Можно сверять контрольные суммы файлов и их количество из директории mods и из папок, используемых непосредственно игрой. Слишком сложно. На всякий случай уточню ситуацию: пользователь запустил через лончер Арканум, файлы мода переместились в папку с игрой. И ВДРУГВНЕЗАПНООБОЖИМОЙ система выдала БСОД и успешно крашнулась. В итоге получается, что файлы мода остались в папке с игрой, так как лончер перемещает все файлы обратно только при выходе из игры (ну или при её вылете, лончер такие ситуации тоже отлавливает), и, если мод большой, переименовывать и переносить все файлы обратно в папку с модом вручную — не самое приятное занятие. Как эта ситуация решена: лончер логирует все свои действия, и если при запуске он видит, что мод был активирован (так я называю процесс перенесения файлов из папки с модов в папку с игрой), но обратного процесса не происходило, то он делает вывод, что файлы мода до сих пор находятся в папке с игрой, и начинает восстанавление, идя по лог-файлу снизу вверх. Цитата Стоит создать подробное описание и вложить его в архив с Launcher. Займусь этим как только поборю очередные приступы лени. |
Gentle_Giant |
20.8.2014, 16:01
Сообщение
#5
|
Hvaldimir Hvaldimirovich
Группа: МодераторыСообщений: 1 015 Регистрация: 26.10.2006 Из: Grand Guignol, Russia Пользователь №: 15 |
Не смотрите на то, что почти не оформлено и не указаны авторы мода: это будет сделано, как только найдется нормальный хостинг. Саныч может выделить тебе закуток. вроде запуска игры с ключами Можно интегрировать как опцию Не собираешься добавить настройки на включение и выключение различных хаков движка игры? -------------------- Все разговоры с иностранцами заканчиваю фразой: «Начинай изучать русский язык – пригодится для работы в российской оккупационной администрации в твоей стране.»
|
vladgor |
22.8.2014, 14:22
Сообщение
#6
|
Диггер
Группа: ДегустаторыСообщений: 37 Регистрация: 24.2.2013 Пользователь №: 5 941 |
Саныч может выделить тебе закуток. Уже нашел и настроил хостинг, теперь скачивание и обновление должны работать. Сейчас обновлю топик. Можно интегрировать как опцию фикс костыль для решения проблем с графикой. Была такая идея. Если есть универсальный костыль для всех win-осей, то внедрю без проблем. Не собираешься добавить настройки на включение и выключение различных хаков движка игры. Если разъяснишь, что за хаки движка (ну или хотя бы тыкнешь, где про них почитать можно), то да, могу добавить такие настройки. |
Gentle_Giant |
22.8.2014, 17:58
Сообщение
#7
|
Hvaldimir Hvaldimirovich
Группа: МодераторыСообщений: 1 015 Регистрация: 26.10.2006 Из: Grand Guignol, Russia Пользователь №: 15 |
Была такая идея. Если есть универсальный костыль для всех win-осей, то внедрю без проблем. Нужно проверять… Если разъяснишь, что за хаки движка (ну или хотя бы тыкнешь, где про них почитать можно), то да, могу добавить такие настройки. Например, по второй ссылке из поста выше можно прочитать про хак на оконный режим. -------------------- Все разговоры с иностранцами заканчиваю фразой: «Начинай изучать русский язык – пригодится для работы в российской оккупационной администрации в твоей стране.»
|
vladgor |
20.10.2014, 17:38
Сообщение
#8
|
Диггер
Группа: ДегустаторыСообщений: 37 Регистрация: 24.2.2013 Пользователь №: 5 941 |
Обновил программу, скачать можно отсюда. Оконный режим тестировался только в 32-битной winXP. Буду благодарен, если кто-нибудь протестирует его хотя бы на семерке.
0.6 Добавлено: — добавлен ключ для запуска игры в оконном режиме -lwindowed. Для правильной работы также необходим ключ -no3d. Ну и папка "launcher\fixes\windowed\" должна содержать три файла: ddraw.dll, arcanum-w.exe и aqrit.cfg (файлы можно взять отсюда) — лончер теперь умеет обновлять себя. При каждом запуске лончер проверяет наличие новых версий, и если новая версия таки есть, предлагает обновиться. Отключить проверку можно, написав в файле "launcher.cfg" строку Код checkForUpdate = 0 — лончер теперь может хранить debug-логи в папке "launcher\logs\". Включить это можно, написав в файле "launcher.cfg" строку Код storeLogs = 1 Изменено: — debug-лог теперь называется "debug.txt" и хранится в папке "launcher" — конфиг-файл теперь называется "launcher.cfg" Сообщение отредактировал vladgor - 20.10.2014, 17:40 |
Gentle_Giant |
24.10.2014, 10:52
Сообщение
#9
|
Hvaldimir Hvaldimirovich
Группа: МодераторыСообщений: 1 015 Регистрация: 26.10.2006 Из: Grand Guignol, Russia Пользователь №: 15 |
— добавлен ключ для запуска игры в оконном режиме -lwindowed. Для правильной работы также необходим ключ -no3d. Ну и папка "launcher\fixes\windowed\" должна содержать три файла: ddraw.dll, arcanum-w.exe и aqrit.cfg (файлы можно взять отсюда) Может быть, стоит собрать хаки в проекте, подобном Custom DLL Fixes & Changes для IWD2? Цитата I programmed a dll (well, modified one of the dlls used for Diablo 2 modding over at the phrozen keep http://www.d2mods.com/). it will load into memory when my modified IWD2.EXE is loaded. It will apply changes to the game from there. Возьмёшься за такое? -------------------- Все разговоры с иностранцами заканчиваю фразой: «Начинай изучать русский язык – пригодится для работы в российской оккупационной администрации в твоей стране.»
|
Tlan |
12.6.2015, 7:40
Сообщение
#10
|
Прохожий
Группа: ПрохожиеСообщений: 3 Регистрация: 12.6.2015 Пользователь №: 6 457 |
Оконный режим тестировался только в 32-битной winXP. Буду благодарен, если кто-нибудь протестирует его хотя бы на семерке. Проверил на Win7 x64 Pro. Отлично сработало. И родной ехе'шник и после HiResolution патча. Причем оказался единственный нормально работающий вариант запустить окно в любом разрешении борлее чем 800х600. Т.к. Arcanum-w.exe после HiResolution патча запускался только в полноэкранном режиме и клал с пробором на любые ключи командной строки и обе выложенные на форуме програмки по шаманству над DirectX, которые должны были по идее запускать Арканум в окне. |
Текстовая версия | Сейчас: 22.12.2024, 6:32 |