LINUX.ORG.RU

Релиз Xash3D FWGS 0.19

 , , ,


1

5

Команда разработчиков FWGS рада сообщить о выходе новой версии Xash3D FWGS, форка движка Xash3D. Xash3D FWGS позволяет запускать на большом количестве разнообразных платформ такие игры, как Half-Life, Half-Life: Blue Shift и Half-Life: Opposing Force. Кроме того, обеспечена поддержка некоторых других модификаций и игр, использующих движок GoldSource. Этот проект примечателен тем, что в его активной разработке участвуют пользователи нашего ресурса: a1batross, mittorn и Solexid.

Первый релиз Xash3D на Android, тогда ещё под эгидой SDLash3D, был выпущен первого апреля, ровно два года назад. Продолжая соблюдение славных традиций, разработчики сегодня подготовили новую версию движка, содержащую огромное количество добавлений и исправлений. Полную историю проекта вы можете прочитать в отдельной статье «Как создавался кроссплатформенный Half-Life или „Хедкрабы внутри ваших часов“».

Основные изменения:

  • Общеплатформенные:
    • Кодовая база движка была синхронизирована с Xash3D build 3366.
    • Обеспечена поддержка двух новых платформ: iOS и emscripten.
    • Добавлены некоторые расширения сетевого протокола.
    • Добавлена возможность обхода NAT.
    • В главное меню добавлена возможность управления устройствами ввода (мышка, сенсорный экран, геймпад).
    • Обеспечена идентификация устройства в мультиплеере.
    • Оптимизирован поиск консольных команд и переменных (LinkedList => HashMap).
    • Добавлена реализация net_graph.
    • Обеспечена поддержка кодировки CP1251.
    • В SDL-backend добавлена поддержка ресемплирования звука.
    • Обеспечена безопасная запись конфигурационного файла.
    • Исправлено несколько ошибок подключения к удалённому серверу.
    • Исправлен вылет сервера при отсоединении клиента.
    • Исправлена некорректная загрузка звуков в формате WAV.
    • Исправлен вылет при невозможности открытия файла лога.
    • Добавлен вывод ошибок сервера в GUI.
  • Android:
    • Поправлена поддержка мыши в NVidia SHIELD и некоторых других устройствах.
    • Движок теперь работает в режиме службы.
    • Улучшение поддержки мыши через evdev (только для рутованных устройств).
  • Unix-like:
    • Linux: Различные улучшения работы движка в полноэкранном режиме.
    • Linux: Исправлены некоторые неполадки в работе сенсорного управления.
    • FreeBSD & macOS: Исправлена работа http-загрузчика.
    • Linux & macOS: Обеспечено корректное определение имён подгружаемых библиотек.
  • Windows:
    • Добавлена возможность использования сенсорного управления на неподдерживаемых клиентских библиотеках.

Полный список изменений можно посмотреть в большом ChangeLog'е.

Собранные пакеты для дистрибутивов Ubuntu, Debian и Arch Linux доступны в отдельных репозиториях одного из разработчиков Xash3D FWGS:

>>> Подробности и готовые сборки

★★★★★

Проверено: Shaman007 ()
Последнее исправление: EXL (всего исправлений: 6)
Ответ на: комментарий от s1n

А вот libsdl2-dev:i386 не захотел рядом жить вместе с libsdl2-dev.

Ставь libsdl2-dev:i386. Или можешь и не париться и поставить с моего OBS.

a1batross ★★★★★
()
Ответ на: комментарий от dikiy

Уровень логгирования переключается -dev N аргументом в командной строке. Поставь, например, -dev 5 и запусти.

Небось файлов каких-то нет.

a1batross ★★★★★
()
Ответ на: комментарий от mittorn

Такая же проблема, сейчас проверил.

Лог: http://paste.org.ru/?xj3n5p

Даже окно не появляется. Тупо зависает и по Ctrl+С не прибить.

Использую стимовский кеш, может в этом дело?

Хотя на Window-сборке всё запускалось без проблем.

EXL ★★★★★
() автор топика
Ответ на: комментарий от dikiy

У меня такое было при попытке запуска на windows 7 через flinux. Не знаю в чём дело. Попробуй -dev 5 добавить.
Ещё есть возможность что проблема в SDL где-то. SDL используется системный или тот что приложен в архиве с релизов гитхаба?

mittorn ★★★★★
()
Ответ на: комментарий от EXL

В логе всё нормально. Может это из-за полноэкранного режима? А если в video.cfg вырубить?

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Я пробовал как системный 32-битный SDL2, так и тот, что с релизов на GitHub — ситуация никак не меняется.

EXL ★★★★★
() автор топика
Ответ на: комментарий от EXL

у меня та же шняга. У меня пролеченная стимовская версия (без самого стима есессно)

dikiy ★★☆☆☆
()
Последнее исправление: dikiy (всего исправлений: 1)
Ответ на: комментарий от mittorn

Иксы последние.

video.cfg:

//=======================================================================
//			Copyright Flying With Gauss Team 2017 ©
//		video.cfg - archive of renderer variables
//=======================================================================
setr fullscreen "0"
setr height "768"
setr vid_displayfrequency "0"
setr vid_highdpi "1"
setr vid_mode "-1"
setr width "1366"

Пробовал менять ещё параметры highdpi и width/height на 800x600, окна нет всё равно.

EXL ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Через wine версия xash_vc.exe работает с тем же кешем valve/ из Steam.

Ошибка где-то в создании окна что ли.

EXL ★★★★★
() автор топика
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от EXL

чтобы прописать свой режим vid_mode должен быть -2

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

А может окно за границами экрана создаётся?

окно создается там где надо. Только оно не обновляется и кажется, что его как бы нет. А по факту там висит битмап куска экрана, который там был до этого (как-то так)

dikiy ★★☆☆☆
()
Ответ на: комментарий от mittorn

Странная ситуация. После запуска Wine-версии начала запускаться и версия Linux

Конфиг был обновлён автоматически до:

setr fullscreen "0"
setr height "600"
setr vid_displayfrequency "0"
setr vid_highdpi "1"
setr vid_mode "1"
setr width "800"
EXL ★★★★★
() автор топика
Ответ на: комментарий от dikiy

А как оно называется?
Там вот такой код есть:


	MsgDev(D_NOTE, "Got closest display mode: %ix%i@%i\n", got.w, got.h, got.refresh_rate);

	if( fakewnd )
		SDL_DestroyWindow( fakewnd );

	fakewnd = SDL_CreateWindow("fakewnd", SDL_WINDOWPOS_CENTERED,
		SDL_WINDOWPOS_CENTERED, got.h, got.w, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_BORDERLESS | SDL_WINDOW_INPUT_GRABBED | SDL_WINDOW_FULLSCREEN );

	if( !fakewnd )
		return false;

	if( SDL_SetWindowDisplayMode( fakewnd, &got) == -1 )
		return false;

У меня он позволяет переключить в полноэкранный режим корректно. Хак работает таким образом: создать полноэкранное окно fakewnd, которое переключит экран в нужный режим и поверх него создаётся или разворачивается основное в верхнем левом углу экрана. Без этого он режим переключает, а вот окно делает размером с десктопное разрешение, в результате opengl рисует изображение явно не там где надо.

mittorn ★★★★★
()
Последнее исправление: mittorn (всего исправлений: 1)
Ответ на: комментарий от mittorn

Да, точно. При vid_mode -1 окно просто не создаётся. И звука входа в меню — нет тоже, что странно.

EXL ★★★★★
() автор топика
Ответ на: комментарий от a1batross

Да уже забил на сборку. Поставил xash3d с твоего OBS. Стянул несколько версий Gunman Chronicles. Взял hl.so и client.so из папки с халвой и вроде как все запустилось. Начал играть, там дальше и посмотрим играбельно или нет.

s1n
()
Ответ на: комментарий от EXL

Пока англ запустил. У меня есть 4-5 разных русских версий. Надо еще глянуть самый кошерную русскую версию. Для начала поставил эту версию

s1n
()
Ответ на: комментарий от mittorn

Хак работает таким образом: создать полноэкранное окно fakewnd

Да. Вот именно такое ощущение. С -1 на весь экран пустой битмап растягивается, но самого окна, например, в панельке окошек, не наблюдается. Вопрос, откуда там -1 взялся? Он по дефолту стоит?

И ещё, гамма применяется глобально, если окно в фокусе. Что-то подобное наблюдал в Quake III. Так и было задумано?

EXL ★★★★★
() автор топика
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

-1 по дефолту, означает автоматически определить разрешение экрана
Гамма глобальная, так было задумано в оригинальном Xash3D

mittorn ★★★★★
()
Ответ на: комментарий от s1n

Пока англ запустил. У меня есть 4-5 разных русских версий. Надо еще глянуть самый кошерную русскую версию. Для начала поставил эту версию

Я помню в Gunman Chronicles была кошерная русская озвучка, там где в самом начале (в вагонетке) девушка говорила. Прямо с душой и качественно было сделано. Не помню, увы, кто делал. Возможно, Фаргус.

EXL ★★★★★
() автор топика
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

В общем пока поиграл немного заметил пару моментов:

  • Музыка есть, а голосов нет. Ощущение, что проблема в регистрозависимом линуксе, ибо под вайном голос есть
  • Некоторые модельки дергались и прокручивали
  • Вышел из лифта, прогулялся до брифинг-комнаты и там тишина, подозрение, что какой-то триггер не сработал. В консоли появилось «[21:16:38] Unknown command: VModEnable»
s1n
()
Ответ на: комментарий от s1n

И в итоге застрял в этой комнате. Выхода нет и ничего не происходит.

s1n
()
Ответ на: комментарий от mittorn

означает автоматически определить разрешение экрана

Если нужно будет что-то проверить, пиши.

EXL ★★★★★
() автор топика
Ответ на: комментарий от mittorn

Нашёл окно в таскбаре.

Оказывается, при -1 фейковое полноэкранное окно «захватывает» весь битмап дисплея, со старым состоянием экрана и отображает его. Соответственно, окна не видно. Если переключиться по Alt+Tab на другое окно в системе, таскбар вылезет настоящий, в котором уже будет окно.

EXL ★★★★★
() автор топика
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от EXL

у меня twin. Думал, что поведение не изменилось. Ладно, уберу этот хак. Только полноэкранный режим не будет нормально работать если разрешение отличается от нативного.

mittorn ★★★★★
()
Ответ на: комментарий от s1n

Стянул несколько версий Gunman Chronicles. Взял hl.so и client.so из папки с халвой

Не надо так! Gunmman Chronicles != Half-Life. Даже близко не халфлайф.

Если хочется играть именно под Linux, то версии с OBS собираются с поддержкой DLL Loader от mittorn. Можно загружать виндовые DLL-ки от модов, если они сильно не прибиты к платформе.

a1batross ★★★★★
()
Ответ на: комментарий от a1batross

Вернул gunman.dll обратно. Прописал его в liblist.gam. В итоге после запуска у меня кнопка «New Game» не активна. В консоли тишина.

з.ы. еще и фон в главном меню отсутствует.

s1n
()
Ответ на: комментарий от s1n

через -dll и -clientlib путь укажи. Иногда помогает. Если не загрузится - значит поддержки загрузчика нет и придётся скачать билд с гитхаба

mittorn ★★★★★
()
Ответ на: комментарий от Thetan

Thetan> Кстати, это повод придумать лицензию для любителей тщеславия.

BSDL уже давно существует.

Quasar ★★★★★
()
Ответ на: комментарий от mittorn

За что его и ценность. В Quake 2 код почище, чем в QuakeWorld или NetQuake.

a1batross ★★★★★
()
Ответ на: комментарий от mittorn


[dikiy@localhost hl-pack]$ xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x1e00008 "New Game"

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1920
  Height: 1080
  Depth: 24
  Visual: 0x3c2
  Visual Class: DirectColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x1e00004 (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1920x1080+0+0

dikiy ★★☆☆☆
()

Этот проект примечателен тем, что в его активной разработке участвуют пользователи нашего ресурса:

А у нас в квартире газ.

no1_tx
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.