Веб-интерфейс ТОМ2 на wine. Фантастика или реальность?
Все попытки запустить графический интерфейс ТОМ2 на линуксе заканчивались неудачей.
Так же как и Фурка, ТОМ использует графический движок HGE, который в свою очередь использует DirectX, с которым на wine всё, видимо, очень плохо.
И это, конечно, очень завышенные требования для простой текстовой игры =)
На текущий момент ТОМ можно запустить на линуксе только под wine, и только в консоли.
А как будут обстоять дела с веб-интерфейсом?
После различных многочисленных экспериментов основная схема работы веб-интерфейса теперь выглядит так:
1. Запускается webtom.exe;
2. Открывается динамический порт в диапазоне 49152 — 65535;
3. В диалоговом окне запускается ИЕ;
4. Отображается HTML-страница, полученная с открытого порта на localhost;
Страница использует CSS, JS, библиотеку jQuery.
На windows все прекрасно работает, результат меня вполне устраивает.
А что интересно будет происходить под wine?
Рассмотрим по пунктам:
1. Запуск webtom.exe.
Проблем быть не должно, это обычный экзешник.
2. Открытие порта в диапазоне 49152 — 65535.
Wine умеет работать с портами? видимо должна…
3. Открытие ИЕ в диалоговом окне.
Поставить ИЕ на wine можно. Правда не все сайты корректно работают, но нам многого и не надо.
Для открытия окна ИЕ используется функция в mshtml.dll
Насколько эта библиотека в её вайновском варианте отличается от родной сказать сложно, надо пробовать…
4. Отображение HTML-страницы, полученной с localhost;
Наверное должно работать, какая собственно разница, откуда получена страница.
CSS, JS — стандарт, без них вообще ничего не работает, проблем быть не должно.
ИТОГ: Надо пробовать!
Так же как и Фурка, ТОМ использует графический движок HGE, который в свою очередь использует DirectX, с которым на wine всё, видимо, очень плохо.
И это, конечно, очень завышенные требования для простой текстовой игры =)
На текущий момент ТОМ можно запустить на линуксе только под wine, и только в консоли.
А как будут обстоять дела с веб-интерфейсом?
После различных многочисленных экспериментов основная схема работы веб-интерфейса теперь выглядит так:
1. Запускается webtom.exe;
2. Открывается динамический порт в диапазоне 49152 — 65535;
3. В диалоговом окне запускается ИЕ;
4. Отображается HTML-страница, полученная с открытого порта на localhost;
Страница использует CSS, JS, библиотеку jQuery.
На windows все прекрасно работает, результат меня вполне устраивает.
А что интересно будет происходить под wine?
Рассмотрим по пунктам:
1. Запуск webtom.exe.
Проблем быть не должно, это обычный экзешник.
2. Открытие порта в диапазоне 49152 — 65535.
Wine умеет работать с портами? видимо должна…
3. Открытие ИЕ в диалоговом окне.
Поставить ИЕ на wine можно. Правда не все сайты корректно работают, но нам многого и не надо.
Для открытия окна ИЕ используется функция в mshtml.dll
Насколько эта библиотека в её вайновском варианте отличается от родной сказать сложно, надо пробовать…
4. Отображение HTML-страницы, полученной с localhost;
Наверное должно работать, какая собственно разница, откуда получена страница.
CSS, JS — стандарт, без них вообще ничего не работает, проблем быть не должно.
ИТОГ: Надо пробовать!
Но ИЕ позволяет сделать это в самой программе, не открывая лишних окон и не запуская браузера вообще.
На windows он всегда есть по умолчанию, на wine появляется после установки ИЕ (как я понимаю).
По первому пункту надо отметить, что ASBer проводит большую работу по рефакторингу кода ТОМ. И будем надеяться, что в относительно скором будущем владельцы линукс СМОГУТ скомпилировать ТОМ с помощью gcc.
По второму пункту… Возможно, epoxa может помочь. Или ещё кто. Надо разобраться может с апачем? Или ещё с чем? я просто не очень хорошо понимаю веб-технологии и не совсем понимаю почему сейчас ВЕБ-ТОМ так привязан к винде
Будем надеяться на отвязку от виндовс платформы по всем параметрам
Но и сам движок пока тоже не доделан, так что это вопрос приоритетов.
Что вперед — доводить до ума платформу, или прикручивать её к веб-хостингу.
У него заткнулось на 4-м пункте — не заработал java script. Вполне возможно что дело в настройках безопасности браузера.