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

Сборка XVM из исходников: мелочи

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

Продолжаю забег по граблям. С нуля осваиваю XFW & XVM.

 

Решил скомпилировать XVM из исходников. (Резон такой: тестовый мод xfw.hello_world , компилится, но как его деплоить? На выходе один swf файл, а чтобы всё летало и стреляло нужно xfw скомпилированный разложить по нужным папкам, а файлов там богато. Догадаться, конечно, можно и руками, но в XVM-e оно заведомо автоматизировано. Вот и решил xvm скомпилить.)

 

Однако вот так вот просто скачать из репозитория и запустить билд-скрипт не выходит. Потому как в исходниках xvm-а нету xfw. Мануал молчит.

 

Оказалось, нужно содержимое XFW_ROOT_DIR скопировать в XVM_ROOT_DIR/src/

(Правда, пока с клиентом ещё не тестил.)

 

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

  • Нравится 1

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


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

xfw не нужно руками копировать, он как subrepo добавлен. Так же для сборки нужна libpython, которая тоже как subrepo подключена.


В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки.

Насчет док - согласен, надо бы их подробней написать.

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


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

 

 

В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки.

 

Спасибо за инфу. К сожалению, в доках по xfw.hello_world про это ничего, вот я и.

 

 

 

Насчет док - согласен, надо бы их подробней написать.

 

Я бы взялся, там не так и много. Раз уж я всё это ковыряю.

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


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

Для xfw.hello_world можешь просто сделать изменения в README.md и прислать pull request.

Для http://xfw.readthedocs.io/ доступ может дать @Mr 13 или @Mixaill.

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

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


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

 

 

Для xfw.hello_world можешь просто сделать изменения в README.md и прислать pull request.

 

ОК, как только разберусь, то есть, когда у меня мод пойдёт на клиенте. Без этого как-то неудобно :-)

 

Кстати, про xfw.hello_world. Он идёт без билд-скрипта. То есть там АС3 компилируется в swf и всё. А куда потом этот swf кидать? Непонятно. Почему, собственно, и взялся за xvm -- думал посмотреть, разобраться. Отчасти и разобрался, из билд-скриптов, вот куда xfw  складывать.

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


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

Там есть test.cmd, который копирует куда надо.

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


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

 

 

Там есть test.cmd, который копирует куда надо.

Спасибо. Уже попробовал скопировать по этому пути. Не взлетело.

 

Как я понимаю, xfw.hello_world после залогинивания должен рисовать лого xvm ну и хелло пишет. Или нет?

 

По смыслу xfw.hello_world предполагает уже развернутый xfw. А xfw отдельно от xvm-а не разворачивается. То есть файлы компилятся, но как их расфасовывать в папке res_mods не так очевидно. Оно, конечно, можно эти пуи извлечь из xvm-овских скриптов. Решил всё же срезать путь и поставить xvm, а потом подбавить файлик xfw.hello_world в нужную папку. Не взлетело.

 

Подозреваю, что зависимости xfw.hello_world от xfw собраны в файлах репо. Но опять же, по каким директориям их раскладывать в res_mods непонятно. Попробую найти те же файлы в дистрибутиве xfw и перетащить as3-проект xfw.hello_world в сорцы xvm и там искать нужные зависимости. Потом выкинуть все остальные моды. Да, изврат, но как же иначе развернуть этот тестовый мод.

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


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

Тв swc в hello.world обновил?

XFW, действительно, должен ставиться отдельно.

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


Ссылка на сообщение
Поделиться на других сайтах
(изменено)
Тв swc в hello.world обновил?

В смысе -- в проекте? Не-а. Брать их из последнего релиза xfw ?

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

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


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

Да

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


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

 

 

Тв swc в hello.world обновил?

 

Сделал. Всё равно не работает. Файлы для swc папки в проекте xfw.hello_world  взял из скомпилированных сорцев последней официальной версии xvm 6.5.4, которую удалось скомпилить и которая работает с клиентом игры.

 

Мод должен же рисовать лого прилогине -- не рисует. Ещё он должен писать всякое в лог -- в xvm.log ничего не пишет. Хотя xvm  этот мод немножко видит, и пишет в этот файл вот что:

2017-02-06 18:42:42: xvm_integrity results: incorrect!
extra file res_mods/mods/packages/xfw_hello_world/as_battle/xfw_hello_world.swf
extra file res_mods/mods/packages/xfw_hello_world/python/__init__.py

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


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

Вроде он в бою должен рисовать.

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


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

Ура! в бою рисует! СПАСИБО.

 

Щас гляну логи и начну все остальные моды выкидывать.


А в логи не пишет ничего, хотя в акшионскриптах в конструкторах есть строчки типа

DebugUtils.LOG_DEBUG("XFW: Hello, world!");

 

Кстати, что работает по заходу в бой, это очень неудобно для тестирования. Вот заодно попробую и изменить :)

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


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

Для проверки боя есть реплеи.

Для ангарных модов нужно использовать wg_lobby.swc.

Для логов есть Logger.

В общем, лучше примеры смотреть в XVM.

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


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

 

 

Для проверки боя есть реплеи.

Да, с реплеями я протупил.

 

Всё же раз xfw.hello_world заработал, попробую обновить для него доки.

 

Может быть, стоит проверить, работает ли он со старыми версиями swc библиотек. Хотя ну его. Напишу в доках и норм.

 

Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки?  Или оно тормозит?

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


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

Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки?  Или оно тормозит?

Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга.

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


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

 

 

Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга.

Спасибо.

 

Странно, что питоновский пинг требует прав админа, ну, тут уж ничего не сделать. Хотя если так легко обойти, через нативные внешние модули -- странно.  А запускать игру с правами админа не вариант? Небезопасно?

 

Сделал форк репо xfw.hello_world на битбакете, обновил файлы библиотек, добавил инфу в ридми. Заслал пулл реквест. Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл.

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


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

Я смержил.

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


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

 

 

Я смержил.

Спасибо. Кажется, боьших глупостей не написал.

 

Навстречу следующим граблям :)

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


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

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

Они решили его сделать через Raw Sockets, которые требуют прав администратора

 

Хотя если так легко обойти, через нативные внешние модули -- странно.

Мы используем функцию IcmpSendEcho() из Windows API, ей права администратора не нужны.

 

А запускать игру с правами админа не вариант? Небезопасно?

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

 

Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл.

mr13, пятая строчка :)

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

×