Sidebar

Xash3D SDL2 форк

  • Наступило лето и у нас стартовал конкурс с призовым фондом в $120!
    "De-Make It!" Summer Contest.

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
Дядя Миша сказал(а):
Но размер экзешника в 380 килобайт реально пугает. В былые времена столько весила вся первоквака.
А он случаем не прибавил так сильно в весе из-за новой иконки высокого разрешения?

[ADDED=Ku2zoff]1435608970[/ADDED]
Я так и думал. 361 кб вес одной лишь иконки. Вес экзешника 372 кб. Вес оригинального ксашевского экзешника 6 кб, вес его иконки 2 кб. Итого 372 - 361 = 11 кб, против 6 - 2 = 4 кб. Не такая уж большая разница для такого маленького файла. Но если вдуматься, то вообще-то в три раза больше весит, чем оригинал. А дллки движка и меню не шибко прибавили в весе: 1.09 мб против 0.99 и 149 кб против 127.
2 a1batross: а твой порт, оказывается и vgui.dll от нового голдсорса юзает, а не от хл 1.1.0.8. Хорошо.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Движок не знает ключ командной строки -dll (в голдсорсе позволяет через батник/ярлык указывать путь к серверной дллке, отличный от того, что в либлисте). Реквестирую данную фичу. Хотя, это скорее к Дяде Мише просьба, оригинальный ксаш тоже не знает.
Да и дядя Миша узнал только что от тебя.
А еще смена basedir. В каждой кваке есть, а GS и Xash не умеют
А как по твоему параноя-2 и римейк кваки функциклируют? Скажешь тоже не подумавши.
Или мне это кажется, и ксаш может работать более чем на одном ядре?
Чем ты эти ядра нагружать собрался? Если включить вертикалку ксаш отожрёт от одного ядра процентов 20. Или тебе хочется чтобы он от двух ядер жрал по 10 процентов?
 

mittorn

Active member
22.04.2010
1 225
19
38
Награды
0
Ku2zoff сказал(а):
Ого :) Вот это будет очень кстати. Голдсорс ведь такого не сможет. А в x86_64 линукс невозможно сделать загрузку дллок? ЕМНИП, вайн и там и там нормально работает.
Когда я перешёл на linux, там не было некоторых видеокодеков. И в mplayer сделали костыль win32codecs. В нём реализован линкер dll и небольшая часть winapi. Местами это лучше работало, чем нативные кодеки. Скорее всего этого хватит для загрузки сервера. Надеюсь, что с 64 битами проблем не будет т.к xash 32битный. Если у multilib будут конфликты, они должны бытт устранимы.
С клиентом чуть посложнее. Надо сделать:
1. Внешний загрузчик vgui. Уже готово, залит в отдельную ветку. Теперь движок нигде не имееи c++ кода, а значит может грузить c++ либы с разными ABI. Например, можно будет собирать движок с mingw и загружать msvc-библиотеки.но загрузчик vgui, сам vgui и клиент связаны, по этому должны быть совместимы.
2. Эмуляцию функций SDL для inputw32.
3. Эмуляцию мыши для старого inputw32
4. Возможно немного fs переделать

[ADDED=mittorn]1435613760[/ADDED]
ZhekA сказал(а):
И насколько это сложно и целесообразно? ;)
На android либо gles1 либо gles2. В gles1 доступен ffp, но нет никаких шейдеров и даже хорошего сглаживания. А fps получается на мощных устройствах около 40. Зато gl1 без расширений в него легко транслируется.
В gles2 не доступны нужные функции из gles1. По этому использование gles2 потребует вносить серьёзеые изменения в движок. Причём скорее всего сложные. Зато будет всё быстрее и можно будет использовать шейдеры и новомодные фичи.
 
Последнее редактирование:

a1batross

Umu~!
06.01.2015
672
27
28
Награды
0
21
Москва
xash.su
2 Ku2zoff:
да, со старым оно крашилось. Хотя наверно не стоило линковать с vgui.lib с последнего HLSDK.

[ADDED=a1batross]1435635511[/ADDED]
2 Дядя Миша:
не заметил в них такого. Все равно имеются все библиотеки и игра в одной папке.
 
Последнее редактирование:

mittorn

Active member
22.04.2010
1 225
19
38
Награды
0
a1batross сказал(а):
2 Ku2zoff:
да, со старым оно крашилось. Хотя наверно не стоило линковать с vgui.lib с последнего HLSDK.

[ADDED=a1batross]1435635511[/ADDED]
2 Дядя Миша:
не заметил в них такого. Все равно имеются все библиотеки и игра в одной папке.
Попробуй смержить загрузчик vgui под vs. Соберёшь под разные версии - будет просто vgui_support разный.

[ADDED=mittorn]1435636830[/ADDED]
А ведь xash так и не умеет даже -width и -height. В source ещё много полезных опций.
 
Последнее редактирование:

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
>>да, со старым оно крашилось. Хотя наверно не стоило линковать с vgui.lib с последнего HLSDK.
Ну почему же? Как раз стоило. Клиентка, собранная из SDK 2.3 прекрасно работает под новым голдсорсом, а значит, совместима и с новой версией VGUI. А вот наоборот не знаю. Вполне возможно, что если бы ты заюзал старые VGUI либы, не было бы совместимости с клиенткой, собранной из нового HLSDK. Но только под виндой. Под линуксом только одна версия vgui.so, т.к. раньше линукс-версии клиента не было.

[ADDED=Ku2zoff]1435643691[/ADDED]
2 a1batross: думаю, стоит переименовать форк. SDLash3D какое-то некрасивое название. Либо SDLXash3D, либо Xash3D_SDL. Или что-то подобное. Чтоб в названии присутствовало SDL, и разница с оригиналом была видна, и чтоб Xash3D тоже было в названии, и было понятно, на каком движке основан форк.

[ADDED=Ku2zoff]1435643964[/ADDED]
Добавь в репозиторий проекты для 2013 или 2010 студии, чтоб двиг можно было собирать под виндой. Мало ли, может пригодится.
 
Последнее редактирование:

ZhekA

New member
27.02.2008
4 117
60
0
Награды
1
31
Москва
www.moddb.com
  • Золотая медаль 131
mittorn сказал(а):
На android либо gles1 либо gles2. В gles1 доступен ffp, но нет никаких шейдеров и даже хорошего сглаживания. А fps получается на мощных устройствах около 40. Зато gl1 без расширений в него легко транслируется.
В gles2 не доступны нужные функции из gles1. По этому использование gles2 потребует вносить серьёзеые изменения в движок. Причём скорее всего сложные. Зато будет всё быстрее и можно будет использовать шейдеры и новомодные фичи.
И что в итоге то будет? =)
 

mittorn

Active member
22.04.2010
1 225
19
38
Награды
0
Ku2zoff сказал(а):
>>да, со старым оно крашилось. Хотя наверно не стоило линковать с vgui.lib с последнего HLSDK.
Ну почему же? Как раз стоило. Клиентка, собранная из SDK 2.3 прекрасно работает под новым голдсорсом, а значит, совместима и с новой версией VGUI. А вот наоборот не знаю. Вполне возможно, что если бы ты заюзал старые VGUI либы, не было бы совместимости с клиенткой, собранной из нового HLSDK. Но только под виндой. Под линуксом только одна версия vgui.so, т.к. раньше линукс-версии клиента не было.

[ADDED=Ku2zoff]1435643691[/ADDED]
2 a1batross: думаю, стоит переименовать форк. SDLash3D какое-то некрасивое название. Либо SDLXash3D, либо Xash3D_SDL. Или что-то подобное. Чтоб в названии присутствовало SDL, и разница с оригиналом была видна, и чтоб Xash3D тоже было в названии, и было понятно, на каком движке основан форк.

[ADDED=Ku2zoff]1435643964[/ADDED]
Добавь в репозиторий проекты для 2013 или 2010 студии, чтоб двиг можно было собирать под виндой. Мало ли, может пригодится.
Значит vgui_support не пригодится в vs-версии. Однако надо ещё собрать с mingw32. Тогда vgui_support собирать cl.exe. Предчувствую глюки NameForFunction.
Проект для 2013 есть отдельной веткой, скоро в основной будет.
Название мне тоже не очень нравится.
 

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
Скачал ветку visual studio 2013. Собрал. При полном экране вроде бы никаких лагов и фризов нет. Отсутствие предиктинга сказывается на сетевой игре, иногда есть лаги при срельбе, cl_lw 1. Но с ботами довольно играбельно. На первый взгляд всё хорошо, не считая лагов стрельбы. Вечером отпишусь подробнее. sv_clienttrace 1 задолбал ставиться по-умолчанию. В других игроков при значениях меньше 3.5 попасть невозможно.

[ADDED=Ku2zoff]1435650697[/ADDED]
Нашёл один баг. Когда мышка захвачена VGUI и виден курсор, оружие равно стреляет, когда кликаешь, хотя не должно.

[ADDED=Ku2zoff]1435651002[/ADDED]
Второй баг: если указать в gameinfo.txt в качестве серверной дллку ботов, которая лежит не в папка_мода/dlls/, а в папка_движка/папка_ботов/, например "../parabot/parabot.dll", кнопка Create game в меню Lan game становится неактивной, и в списке не видно ни одной карты. Дллку движок просто не находит, т.к. даже через консоль невозможно запустить карту. Если дллку переложить в dlls, то всё возвращается на свои места.

[ADDED=Ku2zoff]1435651466[/ADDED]
Вот обновлённые бинарники с исправленным полноэкранным режимом, кому надо:
http://rghost.ru/89Dvzbdrh
Выложил все, на всякий случай, хотя изменения есть только в xash.dll.

[ADDED=Ku2zoff]1435652409[/ADDED]
Третий баг: не работает режим выделенного сервера. Копирую hl.exe, переименовываю в #hl.exe - всё равно запускается как обычно, а не консолькой.

[ADDED=Ku2zoff]1435652697[/ADDED]
upd: второй баг относится и к оригинальному Xash3D тоже. Первый и третий только к форку.
 
Последнее редактирование:

mittorn

Active member
22.04.2010
1 225
19
38
Награды
0
>>>Третий баг: не работает режим выделенного сервера. Копирую hl.exe, переименовываю в #hl.exe - всё равно запускается как обычно, а не консолькой.
Какой-то неочевидный способ включить dedicated. Через меню dedicated работает.
 

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
>>Какой-то неочевидный способ включить dedicated. Через меню dedicated работает.
Дядя Миша почему-то очень любит эту фичу.
>>Вот с исправленной мышью и фуллскрином.
Фуллскрин исправлен в сорцах ещё со вчерашнего дня, кажется. А что исправлено в мыши? Так же и стреляет при активном VGUI меню.
 

a1batross

Umu~!
06.01.2015
672
27
28
Награды
0
21
Москва
xash.su
2 Ku2zoff:
альт-таб. Сверь разницу. :)

Называть форк иначе, чем Xash3D не будем. Увидишь, почему. :)
SDLash3D всего лишь название организации. Ну илт команды разработчиков. Если жнлание буднт поменять -- поменяется.

С вгуи то же самое на линуксе, это просто ивент и в вгуи, и в клиентку пересылается.
 

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
a1batross сказал(а):
альт-таб. Сверь разницу. :)
Не заметил разницы в полноэкранном режиме. Всё то же, что и раньше: Если альт-табнуться, не выходя в меню, мышь залипает по центру экрана. А вот в оконном норм.
a1batross сказал(а):
Называть форк иначе, чем Xash3D не будем. Увидишь, почему. :)
Я уже собрал и погонял версию из ветки predict_test. Несмотря на недоделанность, разница видна. Игрок двигается намного плавнее. Правда, когда только в одном направлении. Если зажать бег вперёд/назад и стрейф одновременно, то подёргивается. Ну и оружия вообще жэсть :) Дерзайте, надеюсь доделаете.
 
Последнее редактирование:

a1batross

Umu~!
06.01.2015
672
27
28
Награды
0
21
Москва
xash.su
2 Ku2zoff:

а ты линукс скомпилял? Можешь локально сделать git merge visualstudio2013 predict_test и под винду собрать.

А вообще лол, я практически код ДМ не менял. Фактический полезный коммит -- это закомментирование одной строчки в CL_IsPredicted(). Форсированно выполнять предикт -- дебажить поможет. :)
 

Ku2zoff

Member
12.08.2010
315
6
18
Награды
0
28
2 a1batross: Неа. Я взял только три файла с коммитами о предиктинге (кажется cl_frame.c, cl_game.c, cl_pmove.c)и заменил в текущей версии для vs2013. Знаю, что так не правильно, и надо весь двиг собирать из predict_test. Но разница есть. В оригинальном билде 3030 cl_predict 1 не убирает дёрганья игрока при беге. Это ты просто насильно заставил предиктинг работать? А ведь нужных функций предикта игроков и энтить ещё нет. Вот оно что.
Что заметил: при выходе из сетевой игры, если сервер ещё запущен (не была введена команда disconnect), двиг иногда крашится. Иногда с ошибкой xash.dll, иногда просто выходит дольше обычного, секунды 3-4. Посмотрю, что за дела. Вроде бы и оригинальный ксаш этим страдает, но только, когда на сервере есть ещё игроки, кроме локалхоста.
Попробую смержить ветки, чтобы собрать под винду. Надеюсь, Tortoise SVN это умеет.
 
Последнее редактирование:
Команда форума
VIP
28.03.2010
15 328
252
83
Награды
4
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 Ku2zoff: я вам пять лет говорил, что предиктинг в ксаше есть, просто не работает правильно. А вы это интерпретировали исключительно в силу своих умственных способностей. Для кого-то это звучало как "предиктинга нет вообще и он даже не написан", а для самых слаборазвитых "в ксаше вообще нет поддержки сети и никогда не будет".
 

ZhekA

New member
27.02.2008
4 117
60
0
Награды
1
31
Москва
www.moddb.com
  • Золотая медаль 131
2 a1batross:
Полный экран работает нормально )
Если свернуть через альт+таб, то в винде мышка стоит по центру и ее сдвинуть нельзя.
 

Донат - Операционные расходы

Итого
1 121.00 $
Цель
1 300.00 $
Донат завершается:

Доноры Красавчики

Новые сообщения

Пользователи онлайн

Нет пользователей онлайн.