-
Постов
77 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Новости
Статьи
Мемы
Видео
Форумы
Блоги
Загрузки
Галерея
Весь контент Lord-Vadim
-
Я тут, наконец-то, разобрался с запаковкой ресурсов в BSA и подключением их в лаунчере. В связи с этим, по крайней мере для меня, пропадает актуальность нашей с тобой предыдущей беседы, так как моды теперь будут представлены только файлами ESP и BSA, а они перезаписываются крайне редко. Вот можешь посмотреть: http://rghost.ru/47963192 В архиве инструкция и всё необходимое. Можешь использовать инструкцию в своей программе для информации тем, кто делает инсталляторы.
- 527 ответов
-
Версия v2.5
1 350 раз скачали
Часть модов для Skyrim, некоторые авторы, выкладываю в виде папок Textures, Meshes, и т.д. То есть чтобы их установить надо скопировать эти папки в папку Data. У этого метода есть ряд минусов. А именно: 1) Засоряется папка Data. 2) Их тяжело удалять так как удалять приходится вручную (смотреть, что, куда записалось). 3) При копировании можно перезаписать какие то другие данные (Skyrim или других модов) и если мод не понравиться или будет работать некорректно, то с его удалением возникнут проблемы. 4) Нельзя выбрать момент загрузки, то есть выбрать после какого мода и перед каким модом загрузятся данные этого мода. Всех этих проблем можно избежать запаковав данные мода в архив BSA и добавив к нему файл подключения ESP. Инструкции и все необходимое в архиве. -------------------------------------------------------------------------- Содержание архива: • Инструкции по работе с ESP и BSA.pdf • MyMod.esp - пустой файл ESP; • Archive.exe - упаковщик BSA; • BSAUnpacker.exe - распаковщик BSA; • TESVSnip - программа для работы с файлами ESP и ESM; • NifSkope - программа для работы с файлами NIF; • Champollion - Декомпилятор скриптов PEX в исходные файлы PSC; • Утилиты - TES5Edit, OpenSky, BSAopt, BSA_Browser. -------------------------------------------------------------------------- Оглавление: 01. Вступление. 02. Инструкция создания пары ESP+BSA для модов их не имеющих. 03. Инструкция создания BSA для модов имеющих ESP, но не имеющих BSA и хранящих свои ресурсы в не запакованных папках Textures, Meshes и тд. 04. Инструкция по распаковке BSA. 05. Инструкция создания пары ESP+BSA для модов которые имеют и свой файл ESP и файл BSA и папки Textures, Meshes и т.д. 06. Инструкция по объединению двух модов которые имеют собственные файлы ESP. 07. Инструкция по извлечению из файла ESP и файла BSA мода какой-то его части. 08. Поиск необходимых текстур DDS используя NIF файлы. 09. Изменение веса, стоимости и базового урона оружия. 10. Конвертируем ESP в ESM и обратно. 11. Объединение двух и более ESP с помощью TES5Edit. 12. Декомпиляция файлов скриптов PEX в файлы исходного кода PSC. 13. Заключение. -------------------------------------------------------------------------- Важно!!! Я не модмейкер, не разработчик Skyrim и не истина в последней инстанции... Возможно существуют ситуации когда не стоит запаковывать все ресурсы в BSA. Всегда что то может пойти не так, так что сохраняйте исходную копию мода. Все действия Вы выполняете на свой страх и риск, я за это ответственности не несу. Мой девиз: "Твори, Выдумывай, Пробуй!!!"- 168 комментариев
-
- 145
-
-
Хорошо. Когда начнешь разбираться с восстановлением - напиши. Там есть нюанс - если мод заменяет файлы другого мода не используемые в оригинальном Skyrim. Я тебе потом подробно распишу.
- 527 ответов
-
Отлично!!! Категории ты сам все добавишь в программу или дашь возможность пользователям самим их настраивать?
- 527 ответов
-
Разберешься...Если не разберешься - спрашивай, что не понятно. А журнал замен пользователю вообще нет необходимости показывать, это внутренние дела программы как и что она заменяет/восстанавливает. Поэтому не будет торможения при прорисовке, так как рисовать ничего не надо. Скорость нужна при работе алгоритма восстановления так как в журнале ищется информация о файлах какие заменять/восстанавливать, какие не трогать, какие архивировать. И вообще, я думал тебя порадует информация, что SQL не нужен... :)
- 527 ответов
-
Ну вот не зря говорят, что: "утро вечера мудренее"! Проснулся и сразу новое решение. Кстати, и без SQL будет работать быстро. Старая концепция подразумевала, при деинсталляции плагинов, перенос файлов из архива в архив, мне кажется, что это будет слишком длительная операция, так что обойдемся без этого. И так, новая концепция: Делаем для каждого файла свой архив хранения копий. При этом, в каталоге архивов сохраняем структуру расположения (Skyrim\Data\...), так как файлы с одинаковыми именами могут быть в разных каталогах. И ты был прав: не нужны Дата и Время файла. Нужна структура по типу стека. Как это будет выглядеть на практике: Файл журнала делаем по типу ".ini", то есть с секциями и данными. В секции указываем полный путь к файлу. Секции в файле журнала располагаем по алфавиту для быстрого поиска. В данных записываем ID плагина. Теперь как будет выглядеть алгоритм в новой концепции: 01) Skyrim - Файл_0 02) Инсталляция Мода_1 Делаем запись в журнал: [Skyrim\Data\Файл_0] ID=Мод_1 Файл_0 переименовываем в Файл_Мод_1 и записываем его в архив Skyrim\Data\Файл_0.zip Файл_1 записываем вместо Файла_0 в Skyrim 03) Инсталляция Мода_2 Делаем запись в журнал: [Skyrim\Data\Файл_0] ID=Мод_1 ID=Мод_2 Файл_1 переименовываем в Файл_Мод_2 и записываем его в архив Skyrim\Data\Файл_0.zip Файл_2 записываем вместо Файла_1 в Skyrim 04) Инсталляция Мода_3 Делаем запись в журнал: [Skyrim\Data\Файл_0] ID=Мод_1 ID=Мод_2 ID=Мод_3 Файл_2 переименовываем в Файл_Мод_3 и записываем его в архив Skyrim\Data\Файл_0.zip Файл_3 записываем вместо Файла_2 в Skyrim После этих процедур мы имеем: В Журнале запись по типу стека, то есть ID расположены в порядке добавления: [Skyrim\Data\Файл_0] ID=Мод_1 ID=Мод_2 ID=Мод_3 В архиве Skyrim\Data\Файл_0.zip файлы: Файл_Мод_1 ; бывший Файл_0 Файл_Мод_2 ; бывший Файл_1 Файл_Мод_3 ; бывший Файл_2 В Skyrim: Файл_3 Теперь рассмотрим процедуры удаления: 01) Если удаляется последний мод в списке: Файл_Мод_3 записываем в Skyrim и удаляем его из архива. из журнала удаляем запись ID=Мод_3 После этого имеем: В Журнале: [Skyrim\Data\Файл_0] ID=Мод_1 ID=Мод_2 В архиве Skyrim\Data\Файл_0.zip файлы: Файл_Мод_1 ; бывший Файл_0 Файл_Мод_2 ; бывший Файл_1 В Skyrim: Файл_2 02) Если удаляется не последний мод в списке, допустим Мод_1: В Skyrim ничего не меняем. В архиве удаляем Файл_Мод_2. Файл_Мод_1 переименовываем Файл_Мод_2. После этого имеем: В Журнале: [Skyrim\Data\Файл_0] ID=Мод_2 ID=Мод_3 В архиве Skyrim\Data\Файл_0.zip файлы: Файл_Мод_2 ; бывший Файл_0 Файл_Мод_3 ; бывший Файл_2 В Skyrim: Файл_3 Как видишь, все достаточно просто.
- 527 ответов
-
Если собираешься и дальше программировать - по любому пригодится!
- 527 ответов
-
1) Такой же. Лишним не будет. Как говориться одна голова - хорошо, а две лучше. 2) "Внутренности" программы я не смотрел. Просто если бы у тебя были подключены базы (да SQL она родимая) то ты бы не переживал по поводу загруженности журналов и скорости поиска в них.
- 527 ответов
-
Сам бы себя связал, а то идеи так и прут. :) 2) BSA не надо запоминать, так как они обычно называются по имени плагина (то есть имеют уникальное имя) и перезаписаны они могут быть только новой версией плагина. Не думаю, что надо запоминать плагины по разным версиям, так как в идеале замена выглядит следующим образом: сначала удали старую версию плагина, а затем установи новую. Алгоритм сравнения и замены файлов в архиве подкину завтра... спать хочется...
- 527 ответов
-
Не видел. Надо будет глянуть.
- 527 ответов
-
Не боись... Как говорил Крош из любимого мультика моих детей ("Смешерики"): "Глаза бояться, а руки делают..." 1) Место на диске. Я уже писал. Не важно Диск на 150 Гб или 2 Тб любой нормальный пользователь всё равно экономит место на диске, а реализация алгоритма восстановления позволит удалить копию папки "Data" (без копии мне Skyrim приходилось переустанавливать каждые две недели), так-что еще и экономия места получится. 2) Запоминать не в любом случае. Если плагин ничего не заменяет, то и запоминать ни чего не надо. Зачем мусор в журнале и лишние архивы. Сохранять только копии заменяемых файлов. В плагине может быть сотня файлов, а заменяемых 2-3 - только их и сохранять иначе и 2Тб не хватит. :) 3) Архивы называть по ID установщика. 4) В "Журнале замен" делать записи: "ID" - "Дата установки" - "Время установки" - "Имя перезаписанного файла". 5) Еще раз внимательно просмотри алгоритм, поменял нумерацию, чтобы стало понятней: 01) Skyrim - Файл_0 02) Инсталляция Мода_1 - заменяет Файл_0 на Файл_1. Файл_0 - в Архив_ID=1. Делаем запись в журнале ID=1 03) Инсталляция Мода_2 - заменяет Файл_1 на Файл_2. Файл_1 - в Архив_ID=2. Делаем запись в журнале ID=2 04) Деинсталляция Мода_1 05) Остается Файл_2 так как записан позже. в Архиве_ID=2 заменяем Файл_1 на Файл_0 (из Архива_ID=1). Удаляем Архив_ID=1. Удаляем запись из журнала ID=1 06) Инсталляция Мода_1 07) Заменяет Файл_2 на Файл_1. Файл_2 - в Архив_ID=1. Делаем запись в журнале ID=1 08) Деинсталляция Мода_2 09) Остается Файл_1 так как записан позже. в Архиве_ID=1 заменяем Файл_2 на Файл_0 (из Архива_ID=2). Удаляем Архив_ID=2. Удаляем запись из журнала ID=2 10) Деинсталляция Мода 1 11) Заменяет Файл_1 на Файл_0 (из Архива_ID=1). Удаляем Архив_ID=1. Удаляем запись из журнала ID=1 12) В ИТОГЕ: Активный файл - Файл_0. Архивов нет. Записей в "Журнале замен" нет. "Журнал замен" лучше делать не текстовым файлом, а базой данных и индексировать по полям "ID" и "Имя перезаписанного файла" - тогда поиск будет быстрым, но это уже на твое усмотрение.
- 527 ответов
-
- 1
-
-
Ты заблуждаешься. Не так много как ты думаешь. Процентов 70% модов делают нормальные авторы и пакуют свои ресурсы в архивы ".bsa" - там ничего запоминать не надо. А вот те, которые делают реплейсеры - те да, придется запоминать. Можно паковать копии в архив для экономии места. А логические ошибки..., на то ты и программист, что бы их избегать. На счет размера - копия папки DATA занимает не меньше места, как защита от глючных модов. Но без алгоритма восстановления твою программу можно использовать только для настроек графики и ENB. А установку модов придется делать как раньше: через Wrye Bash, так как там алгоритм деинсталляции реализован отлично, но вот инсталляторы писать там не удобно - вручную и долго.
- 527 ответов
-
Вот те раз... :( Этим ответом ты меня сильно опечалил... Основная функция менеджера модов: Поддержка целостности Skyrim и корректная инсталляция/деинсталляция модов... Подумай над этим... иначе это просто красивая оболочка и все... Копии заменяемых файлов ОБЯЗАТЕЛЬНО надо сохранять!!! Алгоритм должен выглядеть так: 01) Skyrim - "Файл текстуры 1" 02) Инсталляция Мода 1 - заменяет "Файл текстуры 1" на "Файл текстуры 2". "Файл текстуры 1" - в копии. 03) Инсталляция Мода 2 - заменяет "Файл текстуры 2" на "Файл текстуры 3". "Файл текстуры 2" - в копии. 04) Деинсталляция Мода 1 05) Остается "Файл текстуры 3" так как записан позже. "Файл текстуры 2" - удаляем из копий. 06) Инсталляция Мода 1 07) Заменяет "Файл текстуры 3" на "Файл текстуры 2". "Файл текстуры 3" - в копии. 08) Деинсталляция Мода 2 09) Остается "Файл текстуры 2" так как записан позже. "Файл текстуры 3" - удаляем из копий. 10) Деинсталляция Мода 1 11) Заменяет "Файл текстуры 2" на "Файл текстуры 1". "Файл текстуры 1" - удаляем из копий. 12) В итоге активный файл "Файл текстуры 1". В копиях пусто.
- 527 ответов
-
Да, и теперь самый главный вопрос: алгоритм деинсталляции. Что происходит в следующей ситуации: 01) Skyrim - "Файл текстуры 1" 02) Инсталляция Мода 1 - заменяет "Файл текстуры 1" на "Файл текстуры 2" 03) Инсталляция Мода 2 - заменяет "Файл текстуры 2" на "Файл текстуры 3" 04) Деинсталляция Мода 1 05) Что получаем в качестве файла текстуры? 06) Инсталляция Мода 1 07) Что получаем в качестве файла текстуры? 08) Деинсталляция Мода 2 09) Что получаем в качестве файла текстуры? 10) Деинсталляция Мода 1 11) Что получаем в качестве файла текстуры?
- 527 ответов
-
Вот это хорошо. А можно к вкладкам "Информация", "Файлы данных", "Журнал" добавить вкладку "Скриншоты"? Менять все кнопки нет смысла идея была выделить визуально "Интерактивные". А отступ между ними сделать хотя-бы в 3-4 пикселя можно?
- 527 ответов
-
Кнопки посмотрел, но для изменения надо, чтобы "Интерактивные" копки использовали "шкурки" отличные от остальных, например: Explorer Bar. Button - Standart 04.btn, тогда их можно будет изменить.
- 527 ответов
-
2) Сложности... это того стоит :) 3) Посмотрю. 6) Мне кажется, так будет лучше, но там тоже придётся менять разделение, иначе под картинку останется широкая и низкая рамка. Кстати, картинки в ней и сейчас отображаются не корректно. На первом скрине - норма, а на втором меньше чем надо.
- 527 ответов
-
2) Сделай в журнале древовидную структуру (по категориям: основные, интерфейс, реплейсеры, дома, ...) и подгружай записи по мере необходимости, а при установке мода делать выбор в какую его категорию поместить. Это сильно увеличит скорость загрузки, так как изначально будет грузиться только структура дерева, а потом подгружаться та категория которую открыли. Ведь при работе крайне редко возникает необходимость увидеть весь список, обычно нужен какой-то конкретный мод. Тоже и со списком установщиков: зачем грузить всю структуру вместе с подпапками сразу? А если там 5000 папок, сколько он будет грузиться? Загружай только основной каталог, а остальное подгружай по мере открытия, быстро и эффективно. 3) Интерактивными я назвал кнопки которые появляются справа в зависимости от выбранных страниц ("Переход", "Экспорт/Импорт", "Журнал" и т.д.). 6) Понятно, что сложней, но посмотри как это выглядит на большом экране: большое, белое, не используемое пятно. (см. скрин)
- 527 ответов
-
- 1
-
-
День добрый! Если я не надоел ещё со своими замечаниями, то вот ещё несколько: 1) При установке версии 3.1 журнал "Управления установщиками" не пустой. Четыре записи об установленных модах (видимо те которые ты устанавливал). 2) Кнопку "Установщики" неплохо было бы сделать также как "Настройки INI" и "Файлы данных". То есть по умолчанию: "Управление установщиками", а слева кнопка выбора. 3) Идея с интерактивными кнопками появляющимися справа - хороша, но их надо как-то визуально отделить от остальных: выделить цветом, поставить разделитель или просто отодвинуть на несколько пикселей. 4) На странице "Управление установщиками" можно добавить интерактивные кнопки "Установка" и "Создание". Да и вообще вместо выпадающих списков (слева от кнопок) используй интерактивные кнопки - это и удобней и интерфейс становится интуитивно понятней. 5) А вот кнопка "Переход", по моему мнению, лишняя. Она дублирует то, что уже есть в выпадающем списке. Лучше то меню, что она вызывает встроить в интерфейс страницы "Настройка INI" слева на постоянной основе, это позволит более оперативно переключаться по вкладкам настройки. Если не будет помещаться, можно немного увеличить минимальный размер окна программы (мониторами 800х600 врядли кто-то пользуется). 6) При развёртывании окна программы на полный экран на страницах "Файлы данных" и "Управление установщиками" все дополнительное место отдается под списки, а места под описание (вширину) не добавляется. Лучше добавлять место пропорционально или дать возможность пользователю менять ширину окна списка/описания. 7) При запуске установщика на странице "Документы" остаются пункты от предыдущих установщиков (на 1 скриншоте). 8) В "Установщике" устанавливать по умолчанию курсор на первый пункт (скин 2), что бы небыло пустого окна (скрин 3). Пока вроде всё. Извини если сильно загружаю.
- 527 ответов
-
- 1
-
-
При выборе в настройках в качестве стартового окна любого, кроме "Настройка INI", делает недоступным кнопку "Настройка INI" и пункт "Графика".
- 527 ответов
-
- 1
-
-
Поэкспериментировал с разными картинками - проблемы возникают только с теми - размеры которых меньше или равны разрешению экрана. Картинки нуждающиеся в масштабировании отображаются корректно. Похоже в программе надо вставить проверку надо ли масштабировать картинку или нет. В данный момент картинки меньше экрана масштабируются до минимального размера окна, при этом у них даже соотношение сторон нарушается.
- 527 ответов
-
Проект LB: http://rghost.ru/47893294 Изменение ImageViewerResizeMultiplier ни к чему не привело. В предыдущем проекте есть скриншоты меньшего размера чем разрешение экрана моего монитора (1920х1200). Они должны выводиться вообще без масштабирования, а они выводятся в маленьких окошках. А как на счет ".7z" ?
- 527 ответов
-
И в этих картинки открываются маленькими. По нажатию "Enter" - увеличиваются (Windows 7 x64). Проблемы с ID папки и картинкой у меня наблюдаются в проекте "LB" но он, даже в сжатом виде, 460 Mb так, что извини, не сброшу. Второй проект: http://rghost.ru/47892428 Кстати, обрати внимание, этот проект - сборник модов разных авторов (мне удобнее сделать один установщик нескольких однотипных модов, чем делать отдельный установщик для каждого маленького мода). Поэтому просьба: можно добавить в создание установщика функцию позволяющую сделать пометку, что это сборник разных модов и чтобы для установленных компонентов (файлы данных) описание и картинка брались не с общего мода, а с каждого компонента отдельно? И ещё вопрос: Не можешь добавить запаковку в ".7z"? Ужимает данные модов намного лучше. Для примера: Установщик LB сделанный с SKSM на максимальном сжатии: 457 Mb Тоже самое делал для Wrye Bash с ".7z" запаковкой: 134 Mb Разница - существенная.
- 527 ответов
-
Со SkyUI - ясно. Остальное: картинки под спойлером. 2) На картинке 1 отмечено. ID папки и изображение было выбрано, потом был переход к другому пункту, затем возврат обратно. В результате: <Нет> <Нет>. Если не обращать на это внимание и провести "Сборку", то в собранном пакете ID и картинка будут сопоставлены верно. 4) Просмотр картинок не корректно работает из любого места в программе. Для примера - просмотр скриншотов при установке. Картинка 2 список скриншотов (все картинки большого разрешения), первый скриншот открывается нормально (картинка 3), остальные, почему-то, в маленьком окне (картинка 4).
- 527 ответов
-
Спасибо! Еще замечания по установщикам: 1) При добавлении папок было бы неплохо запоминать путь последней добавленной папки, если добавлять несколько папок, каждый раз находить путь заново - неудобно. 2) При добавлении компонентов иногда перестают отображаться картинки присвоенные компонентам, иногда не отображаются присвоенные ID папки. 3) SkyUI установлен, а программа пишет, что его нет (SkyUI v4.1). 4) При двойном клике на картинке она не открывается в полном размере (открывается чуть больше чем превьюшка). 5) Если при инсталляции модов создавались какие либо папки, то при деинсталляции, если они пустые, их надо удалять.
- 527 ответов
-
- 1
-