poget Posted September 30, 2013 Share Posted September 30, 2013 (edited) Здравствуйте. Возникла пара проблем с размещением файлов мода XVM. 1) Мне понадобилось разместить все файлы мода в своей альтернативной папке (к примеру "/res_mods/my-xvm/") Я делал так: есть стандартная папка "/res_mods/xvm/" и в ней "xvm.xc", а в этом файле уже прописан путь к папке, где лежат все файлы конфигурации и ресурсы (строкой вида - ${"../my-xvm/configs/xvm.xc":"."} ). Конфиги заработали, так же прописал путь для клановых иконок. Но вот для папок: "l10n, mods, res", свой путь задать не удалось, мод ищет их в основной папке "/xvm/". Особенно хотелось задать путь для папки "res", чтобы использовать пути вида - "xvmres://", а также подгружать изображение для "шестого чувства" из нужной папки. Может все-таки есть возможность задать свой путь для ресурсных файлов? 2) Вторая проблема возникла вследствие решения первой. Обнаружил что мод ищет все нужные файлы не только в стандартной папке "/world_of_tanks/res_mods/xvm/", но и в корне игры, то есть - "/world_of_tanks/xvm/". Такая альтернатива меня устроила и я перенёс все файлы мода в последнюю папку. После этого почти все заработало, кроме экрана загрузки боя. Выяснил что происходит это из-за отстутсвия файла "/xvm/mods/xvm-hangar.swf" именно по стандартному адресу. В папке "/xvm/mods/" три файла (xvm.swf, xvm-autologin.swf, xvm-hangar.swf). Так вот, файл "xvm.swf" грузится как и все другие файлы - то есть сначала мод ищет его в стандартной "/world_of_tanks/res_mods/xvm/", а если не находит, то в "/world_of_tanks/xvm/". А вот с двумя другими файлами ("xvm-autologin.swf" и "xvm-hangar.swf") такого не происходит. То есть они ищутся по дефолтному адресу и все, в случае отстутвия просто не загружаются. Есть ли способ побороть данную проблему? П.С. Исползьую ночной билд мода "latest_xvm_flex4.10.zip" от 28.09.13 Edited September 30, 2013 by poget @ Quote Link to comment Short link Share on other sites More sharing options...
Art_NRG Posted September 30, 2013 Share Posted September 30, 2013 Можно помудрить с символьными ссылками @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 30, 2013 Share Posted September 30, 2013 Здравствуйте. Возникла пара проблем с размещением файлов мода XVM. 1. можно использовать <img src='img://../../../...'> 2. Тут ограничения накладывает система пакетов игры. Попробуй поиграться с paths.xml @ Quote Link to comment Short link Share on other sites More sharing options...
poget Posted September 30, 2013 Author Share Posted September 30, 2013 Можно помудрить с символьными ссылками Кстати неплохая идея. Попробовал, все работает. Но этот вариант я оставлю прозапас, все-таки это костыль, а не полноценное решение. 1. можно использовать <img src='img://../../../...'> 2. Тут ограничения накладывает система пакетов игры. Попробуй поиграться с paths.xml 1. Ну я везде так и делал, но как указать путь к лампочке (SixthSense.png), я не нашел 2. Если не ошибаюсь, paths.xml указывает пути, по которым игра проходится в поисках нужных файлов. Но чем мне это поможет? Ведь файлы (xvm-hangar.swf) и (xvm-autologin.swf) вызываются из кода xvm (как я понял) и ищутся они имено в папке "/res_mods/xvm/mods/" и нигде больше (с помощью файл-монитора мне удалось обнаружить запросы на эти два файла только по данному адресу), в то время как файл "xvm.swf", из той же папки, прекрасно берется и из корня игры - "world_of_tanks/xvm/mods/". Странно что все файлы для XVM прекрасно работают из одноименной папки в корне игры, кроме этих двух файлов. @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 30, 2013 Share Posted September 30, 2013 Кстати неплохая идея. Попробовал, все работает. Но этот вариант я оставлю прозапас, все-таки это костыль, а не полноценное решение. 1. Ну я везде так и делал, но как указать путь к лампочке (SixthSense.png), я не нашел 2. Если не ошибаюсь, paths.xml указывает пути, по которым игра проходится в поисках нужных файлов. Но чем мне это поможет? Ведь файлы (xvm-hangar.swf) и (xvm-autologin.swf) вызываются из кода xvm (как я понял) и ищутся они имено в папке "/res_mods/xvm/mods/" и нигде больше (с помощью файл-монитора мне удалось обнаружить запросы на эти два файла только по данному адресу), в то время как файл "xvm.swf", из той же папки, прекрасно берется и из корня игры - "world_of_tanks/xvm/mods/". Странно что все файлы для XVM прекрасно работают из одноименной папки в корне игры, кроме этих двух файлов. 1. Да, путь к лампе не меняется в конфиге, но все равно управляется через paths.xml 2. Если хочешь глубоко копать - разбирайся в исходниках. @ Quote Link to comment Short link Share on other sites More sharing options...
poget Posted September 30, 2013 Author Share Posted September 30, 2013 1. Да, путь к лампе не меняется в конфиге, но все равно управляется через paths.xml 2. Если хочешь глубоко копать - разбирайся в исходниках. 1) Может я жестко туплю, но что-то мне кажется через paths.xml проблему с лампой не решить. К примеру я добавляю в файл запись <Path>./res_mods/my-xvm</Path> И закладываю в папку "my-xvm/SixthSense.png", или даже, по аналогии с дефолтом - "my-xvm/res/SixthSense.png". Но она не грузится, оно и логично, иначе бы можно было кинуть файл SixthSense.png в любую папку прописанную в paths.xml, например в "res_mods/0.8.8/". Я так понимаю лампа как и другие файлы грузятся по пути вида: "../../../xvm/", тогда единственная возможность изменить путь к файлу, это правка кода и добавление возможности изменять этот путь через конфиг. Но важность и приоритет такой задачи, конечно, крайне низки. 2) ну а по поводу файлов из папки mods, покопался по исходникам, вроде нашел почему так происходит. Видимо xvm.swf грузится строкой "../../../xvm/mods/xvm.swf" (нашел такое в application.patch). То есть путь вычисляется относительно какой-то исходной папки и, в зависимости от исходной точки, сюда попадают как "WOT/res_mods/xvm/mods/", так и "WOT/xvm/mods/". (таким же образом, видимо, грузятся и почти все остальные файлы для XVM) А вот все остальные файлы дополнительных модов, в числе которых - "xvm-hangar.swf" и "xvm-autologin.swf", грузятся похоже в (XvmStat.py) кодом: mods_dir = "res_mods/xvm/mods" if not os.path.isdir(mods_dir): return None mods = [] for m in glob.iglob(mods_dir + "/*.swf"): m = m.replace('\\', '/') if not m.lower().endswith("/xvm.swf"): mods.append(m) return json.dumps(mods) if mods else None И тут уже путь задан более жестко, относительно корневой папки WOT - "res_mods/xvm/mods". Отсюда и те нестыковки, которые меня заинтересовали. Так вот хотелось бы спросить: то, что папка XVM грузится не только по дефотному пути - "wot/res_mods/xvm/", но и из корня - "wot/xvm/", это так было задумано, или просто это погрешность, возникшая вследтвие использования путей вида - "../../../xvm/", на которую, ввиду малой значимости, было решено закрыть глаза? Просто в первом случае желательно исправлять метод вызова файлов доп. модов, а во втором случае ничего исправлять не нужно, и все ок )) @ Quote Link to comment Short link Share on other sites More sharing options...
sirmax Posted September 30, 2013 Share Posted September 30, 2013 да, ты полностью разобрался во всех нюансах, даже нечего добавить. :) @ Quote Link to comment Short link Share on other sites More sharing options...
poget Posted September 30, 2013 Author Share Posted September 30, 2013 Ок. Спасибо за уделенное время. Прояснил, все что хотел ) @ 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.