Closed D0ve closed 6 years ago
Было бы хорошо для заимствования кода имхо посмотреть и этот
Чего-то вы видать не понимаете, но ладно. Линукс-версия xash3d и так умеет загружать dll. В xashds для андроид используется линукс-сервер с dll-загрузчиком в эмуляторе qemu/exagear. Нативный dll-загрузчик для андроид не стабилен.
Да, согласен , спасибо за разъяснения ; суть была - портировать dll-загрузчик в эмуляторе , - очень хотелось саппорта любых модов с dll для Андроид/Линукс...
Наверно хотелось и доработанный стабильный нативный динамический x86 транслятор для dll...
Как вариант, родилась мысль, ведь в dll просто ресурсы и скрипты, но запакованы и в коде x86... ? Может стоит придумать репакер для dll в какой-либо стандартный формат , который Xash понимает !
Ты видимо не знаешь как устроен двоичныц файл программы. Данные и код перемешаны. Из dll вызываются функции движком напрямую и читаются данные. Ты не можешь транслировать dll отдельно ни одним из существующих трансляторов. Только целиком. А написание такого транслятора - задача на миллион долларов
ещё один вариант - статическая трансляция. Это осуществимо_ но сложно. И это поьребует уйму ручной работы над каждым dll.
https://m.habrahabr.ru/post/215375/ Доработай его наработку. Имплементируй недостаюшие инструкции и прикрути winapi от dll загрузчика . Пока что это самый простой способ.
Признателен за разбор полёта! А эмулятор если прикрутить как в XashDS , сдвинется дело с загрузкой dll вперёд ?
...спросил потому что на XashDS вроде как были успешные случаи загрузок dll...
Да тут просто стена безграмотности.
1) XashDS -- Xash Dedicated Server. Сам по себе не имеет никакого отношения к Android, а XashDS Android лишь включает обычный собранный под Linux x86 движок, запущенный под эмулятором. Это просто невозможно как-то применить где-то ещё.
2) Запускать x86 код внутри ARM кода -- задача на практике неисполнимая.
3) Даже если ты намереваешься пускать полный движок под эмулятором, то зачем тебе вообще Xash3D? Бери голдсорс и Exagear, и играйся наздоровье.
Да хотелось просто очень чтобы такие игры как Ганмен шли 'из коробки'... тема уже поднималась конечно, но так всё и не сдвинулось... И возникла мысль , почему нельзя сделать специальный билд Ксаш для Андроид уже с Линуксовым Ксашем х86 в эмуляторе! (в точности как в XashDS-Android, только с полным Xash'ем ) Потому как сингл , насколько понимаю, КсашДС Андроид не заведёт(.
Он как раз для запуска синглплейерных модов на андроиде и предназначен, только с клиентом HL что-то может не работать. Практичней будет поиск исходников мода, либо их повторная реализация с целью дальнейшей сборки нативных библиотек под андроид и другие платформы.
Возникла у него мысль. Ты вообще читал что я писал? Пункт третий. Если тебе так охота запускать полноценный движок, то зачем тебе Ксаш? Бери голдсорс и запускай. Ещё и возможность на оригинальных серверах поиграть получишь, чего у нас никогда не будет. :)
Тема будет ещё много раз подниматься, но ответ всегда один. Вне зависимости от ваших хотелось, на практике осуществить задуманное не выйдет. А теоретизировать можно сколько угодно.
Зачем же тогда в КсашДС-андроид соблазнили возможностью работы с dll! (за что большой респект кстати). Да, хочется запускать на своём андроиде всё,)
Просвятите тогда пожалуйста будет ли совершенствоваться нативный dll-загрузчик для андроид ?
И что известно о поддержке библиотек прекомпилированных под ARM ? (тогда будет шанс поддержки бинарно транслированных/перекомпелированных dll-лек из х86 в arm!)
Он создавался для запуска сервера кс на ранних стадиях разработки cs16client. Позже был адаптирован для игры в Opposing Force, Decay PC и некоторые другие моды
каюсь , многих проблем с запуском dll не знал( Тогда , чтобы не было путаницы , предлагаю переименовать XashDS-Android в ,например , XashXL for Andoid (X86.Linux.for.Android) !!! И строить его как полноценную версию (не только сервер) Хаsh.x86Linux в эмуляторе QEMU ! Т.к. действительно это архинужный продукт! Да и , глядишь , Элтэкс свой транслятор сопенсорсят возможно , после нападок Интела... или другой более лучший способ транслирования/эмулирования х86 на Андроиде появится.
Для x86 android все-таки есть wine, а dll-загрузчик в движке - сильно урезаная оболочка на его основе и многие вызовы внешних библиотек он не оборачивает. Да и то, что вы просите труднореализуемо на практике и возможно будет проще отреверсить нужный мод, если от него нет исходников, да и любая эмуляция дает дополнительные накладные расходы. К тому же xash3d - платформа для моддинга, а не просто запускалка старых модов на GoldSource.
я имел ввиду ессно x86 android в эмуляторе для Андроид арм, которым иявляется сейчас КсашДС Андроид(арм). Предложил ему новое имя XashXL ) и основывать на полноценном Ксаше от ЛинуксХ86. И попросил его не бросать , а хотя бы добавлять в него код сторонних разработчиков тоже, таких как в шапке например. А с АндроидомХ86 вообще, да, там конечно Вайн).
пусть остаётся пока как есть. Разве что xashds требует обновления и нормального интерфейса. Ну и дедика нативного чтобы удобно было держать сервера на уже не используемых устройствах.
Главное возможность полноценного сингл мода оставьте в нём пожалуйста! И если можно полноценный, не урезанный, Ксаш чтоб в нём был тоже! Потому как, пожалуй, КсашДС-Андроид сейчас очень нужная палочка-выручалочка для модов с dll-ками!
Я это, пожалуй, закрою. Нет ни обсуждения проблемы, ни проблемы как таковой.
Да, согласен. Но проблема, в общем была в загрузке х86-dll на Андроид арм... . В старых форумах нашёл о планах на поддержку своих библиотек..., интересно в силе ли они ещё?
В старых форумах нашёл о планах на поддержку своих библиотек..., интересно в силе ли они ещё?
Я вам как минимум 2раза об этом написал, но вы то ли не читаете, то ли не понимаете. http://www.moddb.com/games/xash3d-android/downloads
Очень бы хотелось функций XashDS , чтобы были т.с. из коробки: Android dedicated server with x86 dynamic translator and dll support
или хотя бы x86 dynamic translator and dll support
В Android и Linux
цель: играть нормально в любые моды с транслятором dll
Кроме существующего репо https://github.com/FWGS/xashds-android Было бы хорошо для заимствования кода имхо посмотреть и этот https://github.com/GregTheMadMonk/xashds-android
Заранее очень признателен кураторам за реализацию!!!