При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Разработка игр > Xash3D Engine
Ник
Пароль
Регистрация Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.04.2016, 23:35  #1
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,267


По умолчанию Xash 0.98 build 3366 [anniversary build]

Для тех, кто слышит о проекте впервые добро пожаловать в FAQ.
Тем, кому проект понравился и они желают материально поддержать автора - сюда.

Этот билд также является юбилейным (5 лет со дня открытия исходников). Когда я приступал к сборке этой версии, я думал что изменений накопилось совсем уж немного. Но когда сравнил с предидущей версией, то оказалось что вполне даже прилично накопилось, учитывая что проектом я практически не занимаюсь.
Вообще же, у многих может возникнуть вопрос, а как так получается, что я не работаю над Xash3D, а новые версии тем не мене выходят и даже содержат в себе какие-то изменения? Есть два пути по которым Xash3D уже больше года получает свои обновления. Во первых, это может быть как-то связано с обновлением паранои. Второй путь - это бэкпорт из XashNT. Конечно это не копипаста, это именно исправления ошибок, которые перекочевали в новый движок, там были исправлены и эти исправления вернулись обратно в Xash3D. Справедливости ради - далеко не все исправления возвращаются обратно. Ну хоть что-то.

Краткий список изменений (полный самизнаетегде):
1. Поддержка тайлинга на студиомоделях (скоро выложу так же ксаш-мод с аналогичной поддержкой и компиляторами. Параною - после глобального апдейта, придется потерпеть).
2. Переписан код предиктинга, исправлены ошибки. Ну это вы могли видеть еще в мартовском билде, правда без исходников.
3. ВАЖНО: добавлен экспериментальный хинт, который в теории должен заставлять мобильные видеокарты принудительно выбирать Нвидия-чип, вместо интеловского. Правда меня терзают сомнения, что этот хинт надо было добавлять в экзешник, а не в xash.dll, но это как раз тот случай, когда вам предстоит протестировать. На атишных карточках хинт не поможет, только для связки нвидия-интел.
4. Переписан код подсчёта CRC (старый вариант иногда приводил к вылету в консоль, даже в синглплеере)
5. профикшена загрузка 4-битных текстур для кнопок меню. Один раз я уже это дело фиксил, но со временем оно опять испортилось.

Полный список изменений можно прочитать как обычно - в change.log в архиве xash_extras.7z

Полные исходные коды движка, нешифрованный client.dll и документацию
можно скачать по этой сцылке:

www.hlfx.ru/xash/xash_extras.7z - 2.89 Mb

Уже скомпилированный движок с набором необходимых библиотек - по этой:

www.hlfx.ru/xash/xash_build3366.7z - 1488 Kb

Дядя Миша, подумав, добавил 25.04.2016 в 23:39
Так же обратите внимание - версия движка наконец-то изменилась, теперь 0.98.
Полагаю што наличие предиктинга и всех прочих изменений вполне даёт право на то, чтобы обновить номер версии.

Последний раз редактировалось Дядя Миша, 13.12.2016 в 01:32.
Дядя Миша вне форума Ответить с цитированием
Старый 25.04.2016, 23:52  #2
a1batross
a1batross
Старшина
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 19
Сообщения: 414


По умолчанию

https://github.com/a1batross/Xash3D...3f61bbf83bcba75

А вот и дифф с 3224.

Ну и много же переписано, много добавлено. И кажется я вижу некоторый код, про который говорилось в теме про XashNT. Бэкпортируешь наработки.

А ещё вот. Макросы под винду в Ксаше. ^_^
Код:
#ifdef WIN32
// Enable NVIDIA High Performance Graphics while using Integrated Graphics.
__declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
#endif
Код:
#define ENGINE_THREADED_MAIN_LOOP	(1<<8) // simulate dedictated thread for main engine loop (prefomance)

Серверный код в отдельном потоке? Упоминаний нет, видать XashNT. Круто!

Последний раз редактировалось a1batross, 26.04.2016 в 00:00.
a1batross вне форума Ответить с цитированием
Старый 26.04.2016, 00:11  #3
XaeroX
XaeroX
Регистрация: 05.09.2008
Адрес: Новосибирск
Возраст: 31
Сообщения: 9,162


По умолчанию

2 Дядя Миша:
А кто тебе про NvOptimusEnablement рассказал, если не секрет?
XaeroX вне форума Ответить с цитированием
Старый 26.04.2016, 00:27  #4
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,267


По умолчанию

[ Цитата ] Серверный код в отдельном потоке?
Не прижилось оно, пришлось выбросить от греха. Только флажок и попал в сорцы.
Но в XashNT даёт десятикратный прирост производительности.

Дядя Миша, подумав, добавил 26.04.2016 в 00:27
2 XaeroX: ну Барнес же

Последний раз редактировалось Дядя Миша, 26.04.2016 в 00:27.
Дядя Миша вне форума Ответить с цитированием
Старый 26.04.2016, 00:36  #5
a1batross
a1batross
Старшина
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 19
Сообщения: 414


По умолчанию

2 Дядя Миша:
из параллелизации ничего не сломав(почти ничего) помогли OpenMP-шные фичи для распараллеливания циклов. Правда, пришлось положиться на GCC-шный анализ. Но работает, прирост немалый дало, особенно на медленных ARM.
a1batross вне форума Ответить с цитированием
Старый 26.04.2016, 00:41  #6
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

2 a1batross:
Ты же понимаешь, что это немного не то. Но всё-таки сервер в отдельном потоке особо нет смысла - он и так не сильно тормозит. Намного заметнее падение fps в мультиплеере. У нас везде в клиентскую и рендер упирается производительность
mittorn вне форума Ответить с цитированием
Старый 26.04.2016, 00:42  #7
a1batross
a1batross
Старшина
Регистрация: 06.01.2015
Адрес: Москва
Возраст: 19
Сообщения: 414


По умолчанию

2 mittorn:
понимаю. Тут куда круче -- пускать серверный код в отдельном потоке.
a1batross вне форума Ответить с цитированием
Старый 26.04.2016, 00:54  #8
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,267


По умолчанию

Вот буквально только что зашёл на какой-то сервер, который называется USA Ras Pi-2. Как я понимаю, он поднят в штатах на Raspberry Pi. Весьма лагучая штука.
Но играть можно.
2 mittorn:
2 a1batross:
нет, вы оба заблуждаетесь. Там в другом фишка. Но не буду раскрывать деталей технической реализации.
Дядя Миша вне форума Ответить с цитированием
Старый 26.04.2016, 02:06  #9
Raid
Raid
Регистрация: 28.03.2037
Адрес: CSM-чат
Возраст: 26
Сообщения: 7,837


По умолчанию

[ Цитата ] Engine: adding support for new wad filetypes (like DDS images) and wad imagetypes (normalmap, glossmap etc)
Так это. Теперь материалы, тестируемые в п2 можно прямо в ксаш совать? Глоссы-бампы, все дела.

З.Ы. Я так думаю, если мультиплеер в ксаше будет доведён до ума - то наверное можно доп. ветку карт сделать для коопа (2-3 рыла). Жора и компания.

Последний раз редактировалось Raid, 26.04.2016 в 02:37.
Raid вне форума Ответить с цитированием
Старый 28.04.2016, 20:02  #10
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

2 Raid:
Тогда придётся этот мультиплеер (включая, например, предикт оружия) делать в п2
mittorn вне форума Ответить с цитированием
Старый 29.04.2016, 20:09  #11
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

Клиентское оружие стало работать намного хуже. Совсем нет анимаций в клиенте cs 1.3 и в cs16client.
Применённые изменения в форке при сборке mingw/gcc выдают жуткую кашу в текстурах или краши на нкоторых картах, например dust2. При сборке студией не наблюдается - т.е скорее всего проблема в новом коде вадников
mittorn вне форума Ответить с цитированием
Старый 08.05.2016, 20:13  #12
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,267


По умолчанию

2 mittorn: можете Кувертусу сказать отдельное спасибо.
Это всё ради того, чтобы правильно заработал какой-то мод с детальными текстурами.
Дядя Миша вне форума Ответить с цитированием
Старый 08.05.2016, 22:34  #13
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

2 Дядя Миша:
Да я разобрался уже, дорстаточно проверку длины сделать перед компаром.
Ну ещё там была пара недочётов во время слияния кода. Осталось что-то с предиктом оружия сделать. Увы, тут он не работает должным образом, а точнее неправильно выбирается, когда включать runfuncs. Пока мы этим не занимались. Используем старый код, пока руки не дошли.
mittorn вне форума Ответить с цитированием
Старый 09.05.2016, 09:00  #14
SovietCoder
SovietCoder
Рядовой
Регистрация: 02.05.2015
Сообщения: 37


По умолчанию

[ Цитата ] Сообщение от mittorn: а точнее неправильно выбирается, когда включать runfuncs. Пока мы этим не занимались.
Не то что бы они неправильно выбираются, сам принцип верный. Но, насколько я помню, там происходит какой-то рассинхрон, который может вообще не проявится при определенной комбинации рейтов.
SovietCoder вне форума Ответить с цитированием
Старый 09.05.2016, 10:04  #15
mittorn
mittorn
Старший лейтенант
Регистрация: 22.04.2010
Сообщения: 832


По умолчанию

2 SovietCoder:
Но в предыдущем билде предикт был почти идеален.
Для проверки можно cs 1.3 использовать.
Глючил только idle иногда и переключение. И не факт что это из-за предикта, код ивентов тоже отличается (см. дёрганье егона без предикта).
Сейчас же получкется интересная картина при потере соединия - ивенты проигрываются непррывно пока соединение зависает, никакой паузы между выстрелами нет. А в кс пока пакеты доходят до сервера, их вообще нет, только punchangle меняется.
mittorn вне форума Ответить с цитированием
Старый 15.10.2016, 13:35  #16
SergioPovero
SergioPovero
Старый школьник
Регистрация: 04.04.2010
Сообщения: 18


Желтая звезда

[ Цитата ] Сообщение от Дядя Миша: -
Добрый день. Вопрос назрел. Есть ли makefont как в экстрасе только с возможностью увеличения шрифта до 22-24 (в отличии от того что есть 2011 года где максимум 13) соответственно и поддержка кириллицы.
Спасибо.

Последний раз редактировалось SergioPovero, 15.10.2016 в 13:40.
SergioPovero вне форума Ответить с цитированием
Старый 15.10.2016, 13:55  #17
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,267


По умолчанию

К мейкфонту есть опция -pointsizes X Y Z, где X Y Z соответственно размеры первого второго и третьего шрифтов. И вот на сколько он максимум позволяет, учитывая что размеры текстур фиксированы и не могут превышать 512х512.
Ну грубо говоря при размере шрифта 22 в текстуру 512х512 влезают не все буквы.
Дядя Миша вне форума Ответить с цитированием
Старый 15.10.2016, 16:56  #18
SergioPovero
SergioPovero
Старый школьник
Регистрация: 04.04.2010
Сообщения: 18


По умолчанию

[ Цитата ] Сообщение от Дядя Миша: К мейкфонту есть опция -pointsizes X Y Z, где X Y Z соответственно размеры первого второго и третьего шрифтов. И вот на сколько он максимум позволяет, учитывая что размеры текстур фиксированы и не могут превышать 512х512.
Ну грубо говоря при размере шрифта 22 в текстуру 512х512 влезают не все буквы.
Пытаюсь от ГС добавить кирилицу.. RUSSIAN_CHARSET не спасает. Можете дать ваш makefont.cpp ? для пощупать.
SergioPovero вне форума Ответить с цитированием
Старый 15.10.2016, 19:46  #19
Дядя Миша
Дядя Миша
Регистрация: 28.03.2010
Адрес: Кубань
Сообщения: 12,267


По умолчанию

Та дело в том, что я его слегка потерял давным-давно. Поэтому и в сорцах его нет.
Надо будет когда-нибудь по новой сделать, но там минимальные отличия от оригинала из HLSDK.
Дядя Миша вне форума Ответить с цитированием
Старый 15.10.2016, 19:48  #20
Qwertyus
Qwertyus
Подполковник
Регистрация: 13.08.2009
Сообщения: 1,160


По умолчанию

2 Дядя Миша:
Размер текстуры вроде бы дозволяется в пределах площади 640х480, или 552х552 для квадрата. Или сама утилита для изготовления шрифтов не позволяет обрабатывать больше 512х512?
Qwertyus вне форума Ответить с цитированием
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 21:29.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2017 by CS-Mapping.com.ua Community