John_Nash Posted February 5, 2017 Share Posted February 5, 2017 Продолжаю забег по граблям. С нуля осваиваю 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 @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 5, 2017 Share Posted February 5, 2017 xfw не нужно руками копировать, он как subrepo добавлен. Так же для сборки нужна libpython, которая тоже как subrepo подключена. В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки. Насчет док - согласен, надо бы их подробней написать. @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 5, 2017 Author Share Posted February 5, 2017 В xfw.hello_world подразумевается, что xfw берется уже собранный из ночников, и из него .swc файлы копируются в папку swc/, по идее этого должно быть достаточно для сборки. Спасибо за инфу. К сожалению, в доках по xfw.hello_world про это ничего, вот я и. Насчет док - согласен, надо бы их подробней написать. Я бы взялся, там не так и много. Раз уж я всё это ковыряю. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 5, 2017 Share Posted February 5, 2017 (edited) Для xfw.hello_world можешь просто сделать изменения в README.md и прислать pull request. Для http://xfw.readthedocs.io/ доступ может дать @Mr 13 или @Mixaill. Edited February 5, 2017 by sirmax @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 5, 2017 Author Share Posted February 5, 2017 Для xfw.hello_world можешь просто сделать изменения в README.md и прислать pull request. ОК, как только разберусь, то есть, когда у меня мод пойдёт на клиенте. Без этого как-то неудобно :-) Кстати, про xfw.hello_world. Он идёт без билд-скрипта. То есть там АС3 компилируется в swf и всё. А куда потом этот swf кидать? Непонятно. Почему, собственно, и взялся за xvm -- думал посмотреть, разобраться. Отчасти и разобрался, из билд-скриптов, вот куда xfw складывать. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 5, 2017 Share Posted February 5, 2017 Там есть test.cmd, который копирует куда надо. @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 6, 2017 Author Share Posted February 6, 2017 Там есть 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 и там искать нужные зависимости. Потом выкинуть все остальные моды. Да, изврат, но как же иначе развернуть этот тестовый мод. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 6, 2017 Share Posted February 6, 2017 Тв swc в hello.world обновил? XFW, действительно, должен ставиться отдельно. @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 6, 2017 Author Share Posted February 6, 2017 (edited) Тв swc в hello.world обновил? В смысе -- в проекте? Не-а. Брать их из последнего релиза xfw ? Edited February 6, 2017 by John_Nash @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 6, 2017 Share Posted February 6, 2017 Да @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 6, 2017 Author Share Posted February 6, 2017 Тв 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.swfextra file res_mods/mods/packages/xfw_hello_world/python/__init__.py @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 6, 2017 Share Posted February 6, 2017 Вроде он в бою должен рисовать. @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 6, 2017 Author Share Posted February 6, 2017 Ура! в бою рисует! СПАСИБО. Щас гляну логи и начну все остальные моды выкидывать. А в логи не пишет ничего, хотя в акшионскриптах в конструкторах есть строчки типа DebugUtils.LOG_DEBUG("XFW: Hello, world!"); Кстати, что работает по заходу в бой, это очень неудобно для тестирования. Вот заодно попробую и изменить :) @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 6, 2017 Share Posted February 6, 2017 Для проверки боя есть реплеи. Для ангарных модов нужно использовать wg_lobby.swc. Для логов есть Logger. В общем, лучше примеры смотреть в XVM. @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 6, 2017 Author Share Posted February 6, 2017 Для проверки боя есть реплеи. Да, с реплеями я протупил. Всё же раз xfw.hello_world заработал, попробую обновить для него доки. Может быть, стоит проверить, работает ли он со старыми версиями swc библиотек. Хотя ну его. Напишу в доках и норм. Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки? Или оно тормозит? @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted February 6, 2017 Share Posted February 6, 2017 Кстати, пока возился, обратил внимание, что функция для пинга серверов написана на C. Почему? Разве в питоне нет подходящей библиотеки? Или оно тормозит?Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга. @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 7, 2017 Author Share Posted February 7, 2017 Питоновоскому пингу нужен запуск игры с правами администратора, а ВГшный показывает всё что угодно, кроме самого пинга. Спасибо. Странно, что питоновский пинг требует прав админа, ну, тут уж ничего не сделать. Хотя если так легко обойти, через нативные внешние модули -- странно. А запускать игру с правами админа не вариант? Небезопасно? Сделал форк репо xfw.hello_world на битбакете, обновил файлы библиотек, добавил инфу в ридми. Заслал пулл реквест. Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted February 7, 2017 Share Posted February 7, 2017 Я смержил. @ Quote Link to comment Short link Share on other sites More sharing options...
John_Nash Posted February 7, 2017 Author Share Posted February 7, 2017 Я смержил. Спасибо. Кажется, боьших глупостей не написал. Навстречу следующим граблям :) @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted February 7, 2017 Share Posted February 7, 2017 (edited) Странно, что питоновский пинг требует прав админа, ну, тут уж ничего не сделать. Они решили его сделать через Raw Sockets, которые требуют прав администратора Хотя если так легко обойти, через нативные внешние модули -- странно. Мы используем функцию IcmpSendEcho() из Windows API, ей права администратора не нужны. А запускать игру с правами админа не вариант? Небезопасно? Во-первых да, а во-вторых, у игрока банально может быть учетная запись пользователя. Автор xfw.hello_world вроде бы Олег Савченко, но в списке мемберов XVM-а его не нашёл. mr13, пятая строчка :) Edited February 7, 2017 by Mixaill @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.