FWGS / xash3d-fwgs

Xash3D FWGS engine.
1.53k stars 228 forks source link

[MOD: The Specialists] Отсутствует в списке карта ctb_deadheat #389

Closed Vladislav4KZ closed 5 months ago

Vladislav4KZ commented 3 years ago

Эта карта режима "Capture the Briefcase (Захват чемодана)" её можно загрузить через консоль, а в меню её нет. Остальные карты видно в списке

a1batross commented 3 years ago

Список зависит от того, какая энтити была прописана в liblist.gam.

Но Ксаш его конвертирует в gameinfo.txt. Конвертер мог заглючить отчего-то. Покажи liblist.gam, сгенерированный gameinfo.txt и саму карту.

On Sat, Mar 27, 2021, 1:18 PM Владислав Сухов @.***> wrote:

Эта карта режима "Capture the Briefcase (Захват чемодана)" её можно загрузить через консоль, а в меню её нет. Остальные карты видно в списке

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/FWGS/xash3d-fwgs/issues/389, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYQTAO55KWMQBLWDARPS63TFWWGHANCNFSM4Z4YPCHA .

Vladislav4KZ commented 3 years ago

@a1batross сделал энтпатч этой карты и понял, что в этой карте для спавна игроков используется info_player_team1 и info_player_team2, а в gameinfo.txt и liblist.gam прописано "info_player_deathmatch" для мультиплеера

a1batross commented 3 years ago

Интересно что делает голдсорс в этом случае.

nekonomicon commented 3 years ago

Может быть если GoldSource не находит sp_entity и mp_entity, то считает карту мультиплеерной или общего назначения? Просто карта непригодной ни для чего быть не должна. Либо используются захардкоженные значения. Энтити info_player_team1 и info_player_team2 были ещё в quake.

Vladislav4KZ commented 3 years ago

Может быть если GoldSource не находит sp_entity и mp_entity, то считает карту мультиплеерной или общего назначения?

Синглплеерный спавн "info_player_start" есть на той карте. И в GoldSource её можно выбрать из списка мультиплеерных карт

nekonomicon commented 3 years ago

Вариант рипентом поудалять\подобавлять такие точки спауна и посмотреть, что будет. Вообще в Opposing Force изначально планировали добавить кооперативный режим, и в обычном hlsdk есть зачатки + соответствующий квар в движке, так что может быть и карты с sp_entity должны быть пригодны для мультиплеера.

Vladislav4KZ commented 3 years ago

Вариант рипентом поудалять\подобавлять такие точки спауна и посмотреть, что будет. Удалил я эти точки спавна, карта со списка в GoldSource не исчезла.

И ради эксперимента, скопировал синглплеерную карту из Half-Life в мод, она тоже появляется среди мультиплеерных карт

nekonomicon commented 3 years ago

Тогда может быть и так, что mpentity и spentity - остались в конфигах с ранних версий, а в движке в данный момент не проверяются вообще.

Vladislav4KZ commented 3 years ago

Но в самом Half-Life на GS же не видно синглплеерных карт среди мультиплеерных

nekonomicon commented 3 years ago

Может быть и так, что карты каким-то образом фильтруются, но только для игр Valve. Даже так: https://developer.valvesoftware.com/wiki/The_liblist.gam_File_Structure mpentity в steam не работает

a1batross commented 3 years ago

Разобрался. Всё это часть GameUI.dll в голдсорсе.

Поиск там... в стиле Valve.

  1. Исключается всё что содержит подстроку из mpfilter из liblist.gam.
  2. Для Half-Life и Opposing Force просто исключается набор карт: (mapname[0] == 'c' || mapname[0] == 't') && mapname[2] == 'a' && mapname[1] >= '0' && mapname[1] <= '5' и mapname[0] == 'o' && mapname[1] == 'f'

И что с этим делать? mpfilter я конечно добавлю, но делать костыль для HL и OF не сильно хочется. Можно попробовать расширить mpfilter, чтобы он считался за регулярку и для HL и OF добавлять это поле движком.

Энтити в расчёт не берутся.

Vladislav4KZ commented 3 years ago

Также запустил BrainBread на ксаше. В списке нашёл всего лишь одну карту! А их в игре много

nekonomicon commented 1 year ago

Еще актуально?

Vladislav4KZ commented 1 year ago

Еще актуально?

Да

a1batross commented 5 months ago

Этот мод не имеет mpfilter, но зато есть некорректно выставленный mpentity.

Сделал такую вещь. Если мод заявляет о себе как только мультиплеерном, то все его карты считаются за валидные.

4107bd4e0fdbf1a6b0f031739afa92ea7fc6754f