Перейти к содержимому
Korean Random

Рекомендуемые сообщения

7 часов назад, Polyacov_Yury сказал:

Спешу с новостями

Это я торможу с публикацией. :)

 

7 часов назад, Polyacov_Yury сказал:

В версии 0.9.20.1 пакет net.openwg.vfsgettext больше не будет нужен. Более изящное исполнение включено в стандартный клиент игры. По крайней мере - на тесте это так.

Да, это сознательное и запланированое изменение в 9.20.1.

Помимо фикса загрузки gettext-файлов было исправлено ещё примерно два бага.

 

Ждите обновления документации в скором времени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)
14 часа назад, Polyacov_Yury сказал:

Собственно, о чем я. Рассортировать пакеты в папке /mods/версия/ я предлагаю. К примеру, в отдельную папочку скидать такие вещи, как mods_gui, vxSettingsApi, modsListApi и подобные, в отдельную - моды от ПроТанки, в отдельную - от @Pavel3333... Просто чтобы все не лежало в одной аморфной куче. Ладно, я своими только модами пользовался, все тихо-мирно в папочке PYmods лежит и не мешает лишний раз. Но как только начал чужие модики накатывать - в папку с пакетами стало заглядывать боязно.

Это не решит проблему (которой нет, лол). Для этого нужен отдельный менеджер пакеджей, чтоб тыкать интерфейсом красиво можно было.

Изменено пользователем IzeBerg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 9.20.1 починили ряд багов:

  • Неполная регистронезависимость имён в VFS
  • Некорректная загрузка локаций из пакетов
  • Невозможность загрузки Gettext-файлов из VFS

Обновленная версия доки (v0.5) приаттачена к первому посту. Большое спасибо @Mixaill за работу над докой.

 

Английскую версию сейчас допереводим, приаттачу, как только будет готова.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
24 минуты назад, ribbed сказал:

В 9.20.1 починили ряд багов:

  • Неполная регистронезависимость имён в VFS

Ох ты ж ёжик.. Это, получается, мне придется аж в нескольких местах .lower()'ы у имен файлов из кода поубирать. С лету могу сказать, что затронутся BanksLoader и Ремодомод. Или, может, оставить их... По правилу "работает - не трожь" :)

 

P.S. Поправили пачку пробелов и переносов строк в доке, да. При этом "инсталлятор" все равно с одной Л написан :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
32 минуты назад, ribbed сказал:

Неполная регистронезависимость имён в VFS

 

Тут нужно пояснить, что именно исправили.

 

Исправили только итерацию по списку файлов в /res/scripts/client/gui/mods/__init__.py

 

То есть модификация не будут два раза инициализироваться, если

  • она есть как в пакете, так и res_mods
  • имя файла содержит как минимум один символ в верхнем регистре

Однако, до сих пор необходимо:

  •  проводить дедупликацию данных от функции keys()

 

В остальных случаях править регистр предположительно не нужно, это исправлено в пункте

38 минут назад, ribbed сказал:

Некорректная загрузка локаций из пакетов

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 12.10.2017 в 14:52, Mixaill сказал:

 

Тут нужно пояснить, что именно исправили.

 

Исправили только итерацию по списку файлов в /res/scripts/client/gui/mods/__init__.py

 

То есть модификация не будут два раза инициализироваться, если

  • она есть как в пакете, так и res_mods
  • имя файла содержит как минимум один символ в верхнем регистре

Однако, до сих пор необходимо:

  •  проводить дедупликацию данных от функции keys()

 

В остальных случаях править регистр предположительно не нужно, это исправлено в пункте

 

Только с четвертого запуска клиента, после прочтения пары скриптов и нескольких логов таки понял, о чем Вы. Этот фикс - да, я видел. От дважды-импорта модов.

Я просто думал, что наконец-то починили регистр у файлов в пакетах... Ну да ладно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Стесняюсь спросить, по приоритету загрузки что идет первое mods или старая res_mods. ? Не знаю как сейчас но раньше это мешало когда одни и те же файлы мода есть в пакетах и просто в res_mods лежали, если этого еще не сделали то надо бы сделать чтобы сначала прогружало пакеты а затем res_mods и только те скрипты которых нет в пакетах.

  • Нравится 1
  • Не нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, Armagomen_dev сказал:

что идет первое mods или старая res_mods.

в res_mods. как по мне, это удобно, когда есть старый вотмод и измененный .pyc, который отлаживаешь и помещаешь в вотмод новой версии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)
9 минут назад, Pavel3333 сказал:

в res_mods. как по мне, это удобно, когда есть старый вотмод и измененный .pyc, который отлаживаешь и помещаешь в вотмод новой версии.

Паша, я сейчас не про отладку говорю а про использование, да и автоматическое создание пакета делается в один клик, это не проблема. Проблема вылазит в конфликт когда один и тот же мод грузится из разных папок, но при этом тот который в рес модс лежит старой версии и в нем нет параметров которые есть в новой но при этом мод обращается к ним, в итоге получаем ошибку.
Отладка никак не причина того чтобы не делать это.

Изменено пользователем Armagomen_dev

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

@Armagomen_dev, лично у меня из-за этого никогда проблем не возникало, но ты прав.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, Armagomen_dev сказал:

Проблема вылазит в конфликт когда один и тот же мод грузится из разных папок, но при этом тот который в рес модс лежит старой версии и в нем нет параметров которые есть в новой но при этом мод обращается к ним, в итоге получаем ошибку.

Проблема возникла уже в том моменте, что каким-то образом была создана ситуация, что модификация у конечного пользователя есть как в виде .wotmod, так и в варианте для /res_mods/ .

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)
25 минут назад, Mixaill сказал:

Проблема возникла уже в том моменте, что каким-то образом была создана ситуация, что модификация у конечного пользователя есть как в виде .wotmod, так и в варианте для /res_mods/ .

 

Это вполне рабочая ситуация для юзверов. Вот из-за таких и многих других ситуаций я и запилил WMCleaner.

Изменено пользователем StranikS_Scan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
On 12.10.2017 at 2:13 PM, ribbed said:

Некорректная загрузка локаций из пакетов

Не совсем понятно, о чем именно речь идет.

On 14.10.2017 at 1:26 AM, Armagomen_dev said:

Стесняюсь спросить, по приоритету загрузки что идет первое mods или старая res_mods. ?

Приоритет загрузки, ты не поверишь, прописан в paths.xml в корне игры.

On 14.10.2017 at 1:40 AM, Pavel3333 said:

лично у меня из-за этого никогда проблем не возникало, но ты прав.

@Armagomen_dev, проблема не в порядке загрузки, здесь, ИМХО, все сделано правильно, а в организации работы над модами. Лично я такими вещами уже давно не занимаюсь, поскольку у меня все уже в пакетах, которые собираются скриптами сборки в один двойной клик вместе с питоном, флешом и т.д., комбинация команд Ctrl+C/<переключить папку в проводнике>/Click+Delete/Ctrl+V для обновления пакетов в клиенте меня особо пока не напрягает. Для тех, у кого моды достаточно тяжелые и готовый *.wotmod весит несколько десятков мегабайт или более, и переписывать/обновлять его при каждой правке не вариант, могу посоветовать использовать Python не только для написания самих модов, но и для автоматизации установки обновленных файлов из рабочего каталога разработки в клиент с оценкой даты/времени/контрольной суммы (если необходимо) и перезаписью файлов в res_mods по необходимости + скрипт зачистки res_mods, чтобы когда все нужные файлы уже упакованы в *.wotmod и проводится финальное тестирование, файлы разработки не мешали.

On 14.10.2017 at 7:18 PM, Mixaill said:

Проблема возникла уже в том моменте, что каким-то образом была создана ситуация, что модификация у конечного пользователя есть как в виде .wotmod, так и в варианте для /res_mods/ .

Данная "проблема" скорее всего это просто "обратная сторона медали". Чуть ниже расписал более подробно.

 

Для пользователя res_mods как дает возможность редактировать файлы из пакета без редактирования пакета непосредственно (это положительная сторона вопроса), так и проблему в виде не совсем логичного переопределения файлов из пакета старыми версиями файлов. Но для второй ситуации следом идет вполне логичный вопрос - "Товарищ! Ты зачем копируешь файлы из res_mods старого патча в новый? Если ты не понимаешь, какой файл и за что отвечает?". Или к разработчикам мода, которые после миграции на пакеты в текущем патче не прописали, что нужно зачистить из res_mods все файлы, из тех, что присутствуют в пакете, или просто не прописавшим список файлов, которые необходимо удалить. Как по мне, проблемы абсолютно-не-думающего-своей-головой-пользователя - это точно не проблемы разработчика модификации.
Что касаемо решения такой проблемы со стороны разработчиков, если кому-то реально больше нечем заняться, на уровне пакета можно добавить код проверки на реальное расположение файла в VFS. ЕМНИП, у ResMgr есть функция разрешения пути VFS в реальный путь, и для res_mods он вернет путь, по которому явно будет присутствовать файл, а вот по пути виртуальному (файл в пакете) найти его средствами "RealFS" уже не получится. В общем, что-то типа

import os.path
import ResMgr
path = '<VFS_Filename>' # 'script/client/gui/mods/__init__.pyc'
isOverrided = os.path.isfile(ResMgr.resolveToAbsolutePath(path))

Ну особо дотошные товарищи могут сделать os.path.relpath и прописать проверку в стиле os.path.commonprefix c 'res_mods/' на равенство этому самому 'res_mods/' (слеш нужен, из-за особенностей работы commonprefix'а). Но это если прям ну совсем нечего делать, или речь идет о написании совместимого кода с программами, вносящими свои пути в paths.xml в корне игры.
Однако, проблема такого кода в том, что скрипт, в котором он прописан, можно переопределить. И данный механизм (переопределение файла через res_mods) обычно используется для отладки, либо изменения файлов в пакете без редактирования самого пакета (иногда конфига не хватает и грамотный народ начинает патчить файлы).

  • Нравится 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, GPCracker сказал:

Не совсем понятно, о чем именно речь идет.

Раньше если перепаковывал ангар в .wotmod, то результат был НЕОЧЕНЬ.

media-20171015.thumb.jpg.08f5584b08d9866bd208d780a14d20c0.jpg

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
(изменено)
14 minutes ago, Mixaill said:

Раньше если перепаковывал ангар в .wotmod, то результат был НЕОЧЕНЬ.

Значит под локациями подразумеваются игровые локации, а не локации в плане файловой системы... Ассоциативное восприятие. Теперь понятно, спасибо.

Изменено пользователем GPCracker

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
16 часов назад, GPCracker сказал:

Приоритет загрузки, ты не поверишь, прописан в paths.xml в корне игры.

Ну в принципе, я не сомневался что у res_mods приоритет будет больше чем у пакетов. В этом и есть вся суть проблемы конечных юзеров когда у него одинаковый мод разных версий и там и там лежат. Да еще и некоторые умники думают что они умнее разработчика и распаковывают пакет после чего ложат файлы в res_mods потом забывают что они это сделали, обновляют пакет а старые то файлы никуда не делись которые они извлекли, тут то и начинаются танцы с бубном.

<root>
  <Paths>
    <Path>./res_mods/0.9.20.0</Path>
    <Path mode="recursive" mask="*.wotmod" root="res">./mods/0.9.20.0</Path>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 minute ago, Armagomen_dev said:

В этом и есть вся суть проблемы конечных юзеров когда у него одинаковый мод разных версий и там и там лежат. Да еще и некоторые умники думают что они умнее разработчика и распаковывают пакет после чего ложат файлы в res_mods потом забывают что они это сделали, обновляют пакет а старые то файлы никуда не делись которые они извлекли, тут то и начинаются танцы с бубном.

Вот это точно проблемы этих самых "умников". Если кто-то не умеет читать инструкции, это точно не проблемы того, кто эти инструкции пишет.

  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Attached v0.5 of mod packages documentation to the first post.

  • Нравится 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

The document is under CC BY-SA 4.0 license. Does that mean that the code examples at chapter 8 are also under that license?

According to Creative Commons's compatible license page that license is compatible with itself, Free Art license and GPLv3. Can I use some other open source license instead, like MIT license or LGPL 2.1 and still use the code in my mod?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, jhakonen сказал:

The document is under CC BY-SA 4.0 license. Does that mean that the code examples at chapter 8 are also under that license?

According to Creative Commons's compatible license page that license is compatible with itself, Free Art license and GPLv3. Can I use some other open source license instead, like MIT license or LGPL 2.1 and still use the code in my mod?

Im use WTFPL open license and its ok :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×