Поскольку делаю я пока только мультиплеер, дошло дело и до режима наблюдателя. Управление и интерфейс в этом режиме активно юзают VGUI. Я раньше (в 2008 году) делал этот режим копипастой из рикошета. Сейчас же, в новом HLSDK ничего копипастить не надо, режим есть в дллке по-умолчанию. Единственное, что не работает - переключение на конкретного игрока из меню, что открывается большой кнопкой на нижней панели. Это легко фиксится, особенно теперь, когда есть реверс-инжинированные исходники КС, можно тупо скопипастить кусочек кода оттуда.
Ну так вот. В 2008 году мультиплеер я сделал просто как довесок к недоделанному моду для развлечения себя родимого, поэтому ничего толком не тестил и на косяки не обращал внимания. А сейчас, когда всерьёз взялся за него, наткнулся на интересную вещь, см. скрины:
Слева - WON-халфа. Справа - Steam-халфа актуальной версии. То, что вместо нормальных надписей фразы, начинающиеся с # не страшно. Вэлв выпилили парсер modname_язык.тхт из клиентки перед тем, как дать народу свежие сорцы на гитхабе, а текстовики менюшек старые вернуть забыли. Помню, что несколько лет назад всё прекрасно парсилось. С чем это связано, не знаю, возможно код содержит что-то важное от анально-огороженной каэсочки или самого стима, поэтому в общий доступ его не выложили. А вот что действительно приводит в недоумение, так это то, что все элементы на панелях уехали к чертям собачьим куда попало. Внимание, второй скрин сделан с оригинальной стим-халфы, а не с дллки, собранной мной. Такую же бяку можно наблюдать в TFC (сорцы клиентки ведь 1в1). В CS и DoD всё нормально, за исключением того, что VGUI не рассчитано на некоторые разрешения экрана, и поэтому элементы могут выезжать за пределы панелей, а текстовые фразы наскакивать друг на друга. Такой уж у меня монитор, 1680х1050.
Когда я это дело впервые увидел, я вспомнил, что с клиенткой, собранной из старого СДК 2.3 такого не было. Сначала я подумал, что дело в компиляторах и хотел собрать клиентку шестой, а не 2013 студией для проверки. Но поленился, и решил просто посмотреть сорцы. Вэлв наверное понабрали на работу шкальников, если в новых сорцах местами такие вот вещи:
Козе понятно, что использование XRES и YRES будет давать более сходные результаты на разных разрешениях экрана, чем использование констант. С чем связано то, что от них отказались, я даже не знаю. Судя по тому, что исчезли они не повсеместно, а выборочно, у меня сложилось впечатление, что VGUI переписывали по меньшей мере два разных человека, один из которых либо невнимателен, либо шкальник.
Из-за этой невнимательности получили то, что видим на скринах. А ещё мне кажется, что дело тут не только в людях, но и в компиляторе, которым собираешь дллку, или в движке. Потому что правильный код выдаёт непонятный результат.
К чему всё это предисловие. Когда я этот ужас увидел, особенно в оригинальной дллке, мне даже нехорошо стало. И я стал у себя в моде это исправлять. Причём исправил не только это, но и ещё попутно кучу всяких мелких недочётов. Слева мой мод, а справа КС, на который я частично ориентировался:
Я так увлёкся этим делом, что даже нарисовал (точнее скомбинировал из двух других) значок 640_checked.tga для ToggleCommandButton
Возможно такие искривление получились из-за портирования в Linux. Последнее время, начали серьезно халтурить, даже исходниках DooM3, находили грубые ошибки.
PS. А где нибудь есть полностью исправленный SDK от ошибок?
Ku2zoff писал: Это легко фиксится, особенно теперь, когда есть реверс-инжинированные исходники КС, можно тупо скопипастить кусочек кода оттуда.
Насколько мне известно, там только серверная длл. Поправь меня, если я ошибаюсь.
Добавлено 06-05-2015 в 15:55:
Цитата:
Ku2zoff писал: Я так увлёкся этим делом, что даже нарисовал (точнее скомбинировал из двух других) значок 640_checked.tga для ToggleCommandButton
А не думал над тем, чтобы модельки оружия впихнуть вместо картинок во VGUI ?
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Ghoul [BB] писал: А не думал над тем, чтобы модельки оружия впихнуть вместо картинок во VGUI ?
Уже давно думал. Опять придётся выделять отдельный проход под это дело, чтоб они в стену не ныряли и рисовались перед VGUI.
Цитата:
Ghoul [BB] писал: Насколько мне известно, там только серверная длл. Поправь меня, если я ошибаюсь.
Ты не ошибаешься. Функция выбора m_hObserverTarget находится как раз на сервере. А с клиента лишь шлются команды follownext и follow, которые этой функцией (Observer_FindNextPlayer) обрабатываются. В халфе не реализована команда follow, в которой игрок ищется по имени. Сделать-то я её сделал, осталось только починить переключение на игроков с пробелами в именах, а то не работает. Видимо, команда на сервере воспринимает части имени после пробела как второй, третий и т.д. аргумент, а игрок ищется только по первому.
Цитата:
GioHAUS0n писал: Возможно такие искривление получились из-за портирования в Linux.
Это из-за криворукости кодеров. Я всё исправил, у меня ничего не съезжает, на скрине видно.
Цитата:
GioHAUS0n писал: А где нибудь есть полностью исправленный SDK от ошибок?
Дело в том, что каждый, кто занимался исправлением ошибок, исправил только какую-то часть. Так что есть несколько "патченных" СДК, и во всех исправлено разное, но кое что и совпадает. Лично я смотрел бы в сторону Дядь Мишиного спирита и правленных сорцев оригинальной халфы, что идут в комплекте с сорцами ксашдвижка.
Допилил до конца, добавил раскрашивание элементов панелей спектатора в цвета команд игроков. Вернее, оно и раньше было, а сейчас я исправил мелкие недочёты:
Стоит в таком виде оставить, или ещё чего поменять?
Ku2zoff
А зачем на таблице счета кнопка "закрыть" так еще и такая кривущая?
И счет команд не отображается.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: А зачем на таблице счета кнопка "закрыть" так еще и такая кривущая?
Она отображается только когда видны кнопки на нижней панели. Упустил этот момент, увидел только когда скрины прикрепил. Положение её я уже поправил.
Цитата:
FiEctro писал: И счет команд не отображается.
Это потому, что я ещё не доделал его. Пока что только строки отображаются. Запилю по-новой систему раундов и gmsgTeamScore, тогда будет отображаться.
Добавлено 07-05-2015 в 23:22:
FiEctro если ты начал придераться, то придерись уже к таймеру на верхней панели, потому что он 00:00 кажет. Я ещё не дописал мессагу для него.
То, что вы видите на скринах - всего лишь новая версия с исправлением косяков. У меня уже полгода как есть довольно играбельная демка. Её щупали пока что два форумчанина, оба словили лулзов и отозвались неплохо.
Ku2zoff Зачем так много?
Я своих трех долго балансировал и продумывал им способности, если было их на 1 больше, то, наверное, с ума бы сошел. Но то у меня рпг, а у тебя в чем классы заключаются?
Во-первых, почти у каждого уникальное основное оружие. У кого основного уникального нет, - есть какое-то другое уникальное, например аптечка у медика, ключ у инженера, нож у шпиона. Во-вторых, у каждого есть уникальная способность: снайпер стреляет точнее из любого оружия; медик сам лечится и не может быть отравлен; инженер сам восстанавливает себе броню и может строить турели; шпион не издаёт звуков, если идёт пешком и может маскироваться или становиться невидимым; пиротехник не горит и может тушить товарищей по команде. Пулемётчику пока ничего не придумал, может увеличу живучесть как классу обороны, который охраняет базу. Некоторое из этого ещё не сделано. В процессе тестирования будет видно, что стоит изменить или убрать.
Добавлено 08-05-2015 в 16:51:
Скорость бега у всех одинаковая (потому что в tfc меня бесит, когда, играя медленным классом, профукиваешь на пару секунд более быстрого противника с флагом, а другие игроки, играющие быстрыми, профукивают по своей тупости), но различается длительность спринта (стамина заканчивается по-разному). Здоровье у всех одинаковое (опять же по причине тупого дисбаланса в TFC), но броня разная. Броня состоит из трёх частей: шлем, жилет и защитные щитки на руках и ногах. Тяжёлые классы (с тяжёлым оружием, и, по совместительству, классы обороны) - пулемётчик, пиротехник - имеют всё три брони. Средние классы (классы поддержки) - медик, инженер, имеют жилет и шлем. Ну а лёгкие классы - снайпер и шпион - только жилет.
Ещё у всех разные гранаты. У оборонительных такие, которые затормаживают и не пропускают противника - напалмовая и граната с колючками (какие может разбрасывать скаут в TFC). У поддержки такие, которые неприятно вредят врагу - ядовитая газовая и электромагнитная, выводящая из строя гранаты противника и всякие специальные приборы (ПНВ, аптечку, ключ инженера, электронный прицел снайпера). У лёгких классов - гранаты, которые дезориентируют врага и скрывают союзников - дымовая и светошумовая. Ещё думаю о минах и минах-растяжках для обороны, и живых(или дронах) развед-гранатах для шпиона (помните в Deus Ex был такой имплантат?).
Только они иногда висят там где был взорваный игрок или монстр.
Добавлено 08-05-2015 в 13:03:
Цитата:
Ku2zoff писал: развед-гранатах для шпиона (помните в Deus Ex был такой имплантат?).
Случаем не дрон-шпион?
Вопрос, коператив против монстров, или возможность включить сингл карту с монстрами будет? В некоторых мультиплеерных модах типа Action Half-Life можно через консоль включить карту из халвы и поиграть в сингл с оружием мода.
Добавлено 08-05-2015 в 13:06:
Цитата:
Ku2zoff писал: граната с колючками (какие может разбрасывать скаут в TFC)
Кстати хорошая идея для сингл мода какого-нибуть, добавить их бабам-асасинам.