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

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

(изменено)
14 hours ago, Polyacov_Yury said:

Почему-то при наличии чего бы то ни было в поле extra у ZipInfo какого-либо файла ломает этот самый файл (ResMgr просто игнорирует байт, в котором написана длина этого самого extra, и читает контент файла сразу после его имени, срезая вместо этого его данные в конце на то же число байт).

Потому что у картошко-кодеров, судя по всему, руки растут не совсем откуда нужно. Если уж было сказано, что формат пакетов zip, тогда уж реализуйте менеджер ресурсов в соответствии с протоколом, либо публикуйте актуальную документацию по формату. Сидеть и раскуривать, почему с одним упаковщиком работает, а с другим нет, уже за*****ло, честное слово.

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

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


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

Потому что у картошко-кодеров, судя по всему, руки растут не совсем откуда нужно. Если уж было сказано, что формат пакетов zip, тогда уж реализуйте менеджер ресурсов в соответствии с протоколом, либо публикуйте актуальную документацию по формату. Сидеть и раскуривать, почему с одним упаковщиком работает, а с другим нет, уже за*****ло, честное слово.

Да кто вам сказал, что они у них присутствуют вообще (руки)..... что вы, я вас умоляю, они их делают  ОППОЙ и при этом ей же и думают

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


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

Кстати, раз уж тут пошла пьянка про редактирование gui.mods.__init__ - почему бы не запихнуть функцию findValidMods под @adisp.async()? А то винда иногда аж ругается, мол, у тебя подвисло :)

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


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

Кстати, раз уж тут пошла пьянка про редактирование gui.mods.__init__ - почему бы не запихнуть функцию findValidMods под @adisp.async()? А то винда иногда аж ругается, мол, у тебя подвисло :)

 

И как тогда линейная последовательность загрузки будет выполняться?

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


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

И как тогда линейная последовательность загрузки будет выполняться?

 

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

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


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

 

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

 

Чиво? При линейной загрузке всё что происходит в твоем моде по вызову import "твой_мод" должно и будет выполняться в главном потоке. После чего главный поток перейдет к следующему импорту. Если ты хочешь, чтобы при импорте твоего мода главным потоком, что-то в твоем моде начало жить своей жизнью, то сам прописывай потоки. Главная треда запустит твои потоки и пойдет дальше по своим делам моды импортировать.

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

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


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

Чиво? При линейной загрузке всё что происходит в твоем моде по вызову import "твой_мод" должно и будет выполняться в главном потоке. После чего главный поток перейдет к следующему импорту. Если ты хочешь, чтобы при импорте твоего мода главным потоком, что-то в твоем моде начало жить своей жизнью, то сам прописывай потоки. Главная треда запустит твои потоки и пойдет дальше по своим делам моды импортировать.

Немножко путаешь главный поток всего клиента в целом и главный поток питона этого самого клиента. Посмотри, как у меня skinLoader работает - потоку сишного кода все время отдается контроль и тут же возвращается обратно. Он, получается, весь выполняется в главном потоке, но не прерывает его работу. Так же работают и всякие OutfitApplier'ы и прочие клиент-серверные штуки.

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


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

Немножко путаешь главный поток всего клиента в целом и главный поток питона этого самого клиента. Посмотри, как у меня skinLoader работает - потоку сишного кода все время отдается контроль и тут же возвращается обратно. Он, получается, весь выполняется в главном потоке, но не прерывает его работу. Так же работают и всякие OutfitApplier'ы и прочие клиент-серверные штуки.

 

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

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

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


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

Кароче ну как всегда.
В кратце: мод грузится 2 раза. В meta.xml версии прописаны разные.
Отличие в пакетах: Имя питон файла и папки с модом.
http://joxi.ru/V2V5PPdF0PONjm

На этом всё.
И тут вопрос, на кой тогда нужен meta.xml если там явно прописана версия которую нужно использовать но при этом старый пакет не отключается ?

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


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

Отличие в пакетах: Имя питон файла и папки с модом.

 

9 минут назад, Armagomen_dev сказал:

на кой тогда нужен meta.xml

meta.xml разрешает конфликты между вотмодами. Если ты переименовал скрипт - то конфликта никакого не будет, и обе версии будут импортированы. RTFM.

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


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

В meta.xml версии прописаны разные.

Так в доке явно написано, что

Quote

При наличии узла <id> в файле meta.xml, имя файла пакета не влияет на порядок загрузки. Пакеты, у которых <id> совпадает, считаются разными версиями или частями одной и той же модификации, и конфликты между ними также не учитываются. Данные пакеты загружаются в порядке увеличения версии, которая хранится в узле <version>.

Иными словами, считается, что конфликты между различными версиями одного и того же мода автор уже разрешил самостоятельно; при наличии файлового конфликта приоритет имеет файл из пакета, версия которого больше. Так что если у тебя в пакетах скрипт имеет разные имена, загружены будут оба скрипта, если пути к файлам скриптов совпадают - только скрипт из более нового пакета.

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

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

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

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


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

meta.xml разрешает конфликты между вотмодами.

 

11 часов назад, GPCracker сказал:

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

 

Короче я понял, он в роди бы как устраняет конфликты по задумке, но в реале не очень.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

×