Lord-Vadim Опубликовано 6 августа, 2013 Опубликовано 6 августа, 2013 06.08.2013 22:25:16, Кербер сказал(-а): SQL изучать придётся. Если я в ней хоть что-то пойму, то использую её, если же нет, то тогда останется XML. Если собираешься и дальше программировать - по любому пригодится!
Karandra Опубликовано 6 августа, 2013 Автор Опубликовано 6 августа, 2013 Я бы отложил это изучение на потом. Ладно завтра подумаю что и как. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 7 августа, 2013 Опубликовано 7 августа, 2013 (изменено) Ну вот не зря говорят, что: "утро вечера мудренее"! Проснулся и сразу новое решение. Кстати, и без 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 Как видишь, все достаточно просто. Изменено 7 августа, 2013 пользователем Lord-Vadim
Karandra Опубликовано 7 августа, 2013 Автор Опубликовано 7 августа, 2013 Я наверное недостаточно проснулся, так как не понял половины. Может в процессе работы придёт решение как лучше сделать. И на быстродействие влияет не загруженность и размер файла журнала (на 2.2 проверял, там журнал был намного больше), а отрисовка строчек в список. И вот здесь лучше чтобы их было меньше, впрочем все эти закономерности рушит список инсталляторов - он грузится слишком быстро (не то чтобы я против), но это странно. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 7 августа, 2013 Опубликовано 7 августа, 2013 (изменено) 07.08.2013 09:45:38, Кербер сказал(-а): Я наверное недостаточно проснулся, так как не понял половины. Может в процессе работы придёт решение как лучше сделать. И на быстродействие влияет не загруженность и размер файла журнала (на 2.2 проверял, там журнал был намного больше), а отрисовка строчек в список. И вот здесь лучше чтобы их было меньше, впрочем все эти закономерности рушит список инсталляторов - от грузится слишком быстро (не то чтобы я против), но это странно. Разберешься...Если не разберешься - спрашивай, что не понятно. А журнал замен пользователю вообще нет необходимости показывать, это внутренние дела программы как и что она заменяет/восстанавливает. Поэтому не будет торможения при прорисовке, так как рисовать ничего не надо. Скорость нужна при работе алгоритма восстановления так как в журнале ищется информация о файлах какие заменять/восстанавливать, какие не трогать, какие архивировать. И вообще, я думал тебя порадует информация, что SQL не нужен... :) Изменено 7 августа, 2013 пользователем Lord-Vadim
Karandra Опубликовано 7 августа, 2013 Автор Опубликовано 7 августа, 2013 07.08.2013 12:51:02, Lord-Vadim сказал(-а): И вообще, я думал тебя порадует информация, что SQL не нужен... :) Естественно порадует, а то работа бы встала как минимум на два месяца. А пока есть прогресс в другом. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 7 августа, 2013 Опубликовано 7 августа, 2013 07.08.2013 13:04:06, Кербер сказал(-а): Естественно порадует, а то работа бы встала как минимум на два месяца. А пока есть прогресс в другом. Отлично!!! Категории ты сам все добавишь в программу или дашь возможность пользователям самим их настраивать?
Karandra Опубликовано 7 августа, 2013 Автор Опубликовано 7 августа, 2013 Будут предустановленные, но можно и самому создавать. В инсталлятор добавится настройка предпочитаемой категории, при создании. 1 Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 7 августа, 2013 Опубликовано 7 августа, 2013 07.08.2013 13:18:36, Кербер сказал(-а): Будут предустановленные, но можно и самому создавать. В инсталлятор добавится настройка предпочитаемой категории, при создании. Хорошо. Когда начнешь разбираться с восстановлением - напиши. Там есть нюанс - если мод заменяет файлы другого мода не используемые в оригинальном Skyrim. Я тебе потом подробно распишу.
Karandra Опубликовано 7 августа, 2013 Автор Опубликовано 7 августа, 2013 Если они не используются в оригинальном Скайриме значит они от другого мода или просто "левые". Ладно, пиши потом, времени ещё много. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 7 августа, 2013 Опубликовано 7 августа, 2013 Я тут, наконец-то, разобрался с запаковкой ресурсов в BSA и подключением их в лаунчере. В связи с этим, по крайней мере для меня, пропадает актуальность нашей с тобой предыдущей беседы, так как моды теперь будут представлены только файлами ESP и BSA, а они перезаписываются крайне редко. Вот можешь посмотреть: http://rghost.ru/47963192 В архиве инструкция и всё необходимое. Можешь использовать инструкцию в своей программе для информации тем, кто делает инсталляторы.
Karandra Опубликовано 7 августа, 2013 Автор Опубликовано 7 августа, 2013 Я уже видел это, слово в слово, но не помню где. Не знаю пока что делать дальше, посмотрю в процессе. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 7 августа, 2013 Опубликовано 7 августа, 2013 07.08.2013 19:11:41, Кербер сказал(-а): Я уже видел это, слово в слово, но не помню где. Не знаю пока что делать дальше, посмотрю в процессе. Жаль, что я этого раньше не видел и пришлось самому во всём разбираться.
Karandra Опубликовано 8 августа, 2013 Автор Опубликовано 8 августа, 2013 Отшлифовываю работу категорий. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 8 августа, 2013 Опубликовано 8 августа, 2013 Ты вносить изменения в упаковку и создание инсталляторов планируешь? А то я начал наводить порядок со своей коллекцией модов. Сначала планировал сделать инсталляторы для Wrye Bash, но твоя программа удобнее. И сейчас я не знаю начинать делать или ждать новой версии твоей программы?
Karandra Опубликовано 8 августа, 2013 Автор Опубликовано 8 августа, 2013 На этот раз будет обратная совместимость. При создании можно будет указать категорию, но в мастере установки её можно будет изменить. Только тебе придётся вручную менять журнал, или просто переустанавливать все инсталляторы после обновления, удалив журнал. У меня с версии 2.2 осталось около двухсот инсталляторов для установочного модуля версии 3.0, для 4.0 они очень плохо подходят, да и то только простые, мне придётся их все пересобирать. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 8 августа, 2013 Опубликовано 8 августа, 2013 08.08.2013 17:07:06, Кербер сказал(-а): У меня с версии 2.2 осталось около двухсот инсталляторов для установочного модуля версии 3.0, для 4.0 они очень плохо подходят, да и то только простые, мне придётся их все пересобирать. А сделать программную пересборку никак?
Karandra Опубликовано 8 августа, 2013 Автор Опубликовано 8 августа, 2013 Можно, конечно, но кроме меня это вряд ли кому-нибудь понадобится. Но сделаю, как команду консоли, чтобы не засорять общий интерфейс. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 8 августа, 2013 Опубликовано 8 августа, 2013 Да, ещё хотел попросить: Сделай в настройках опцию, чтобы можно было программу не закрывать при запуске Skyrim. Когда настраиваешь ENB приходится Skyrim по нескольку раз запускать/выключать и каждый раз запускать программу заново и искать где менял настройки - неудобно.
Karandra Опубликовано 8 августа, 2013 Автор Опубликовано 8 августа, 2013 (изменено) Есть версия ENB, где их можно менять прямо в игре. Но настройку могу сделать. Есть идеи какие ещё требования можно добавить в инсталлятор? Формат: Название, авторское сокращение (если есть), ссылка. Изменено 8 августа, 2013 пользователем Кербер Kortex Mod Manager: Discord | GitHub | Web-site
Const24 Опубликовано 9 августа, 2013 Опубликовано 9 августа, 2013 Кербер, прошу прощения, если этот вопрос уже задавался, возможно ли добавление распознавания формата 7z, а не только zip? 08.08.2013 19:27:37, Lord-Vadim сказал(-а): Да, ещё хотел попросить: Сделай в настройках опцию, чтобы можно было программу не закрывать при запуске Skyrim. Поддерживаю эту идею. Спасибо.
Karandra Опубликовано 9 августа, 2013 Автор Опубликовано 9 августа, 2013 09.08.2013 10:58:59, Const24 сказал(-а): Кербер, прошу прощения, если этот вопрос уже задавался, возможно ли добавление распознавания формата 7z, а не только zip? Пока нет. Kortex Mod Manager: Discord | GitHub | Web-site
Lord-Vadim Опубликовано 10 августа, 2013 Опубликовано 10 августа, 2013 Новых идей, пока не возникло. Единственное: Наборы требований, которые добавляет пользователь при создании установщика - лучше сохранять, а то при каждом новом проекте приходится их заново набирать. Не критично, конечно, но было бы удобней, что бы они сохранялись.
Karandra Опубликовано 12 августа, 2013 Автор Опубликовано 12 августа, 2013 (изменено) Хм, насчёт наборов требований не знаю, но у меня есть вопрос. Я сделал некоторую часть системы копирования, что предложишь дальше? При установке происходит копирование и архивирование уже существующих файлов. Они сохраняются в отдельную папку с такими же путями как оригинал, но а архиве (поймёшь, когда посмотришь файл). В журнал записывается их прежний путь и путь к архиву. Я в некотором замешательстве что делать дальше. Запись файлов и архивирование не происходит при обновлении одного и того же инсталлятора, то есть если он уже был установлен с помощью SKSM. Может сделать проверку версий инсталляторов, чтобы не установить случайно старую версию? Структура журнала замен и папка архивов прилагается. http://rghost.ru/48070206 Изменено 12 августа, 2013 пользователем Кербер Kortex Mod Manager: Discord | GitHub | Web-site
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти