Поглядел я эту гильотину - бинарный сплиттер с эвристикой. Ну наверное еще лучше упакует, но уже нет смысла так заморачиваться.
Добавлено 16-03-2020 в 00:44:
Халфовский худ базируется сплошь и рядом на допущениях, что в hud.txt строчки идут таким специальным порядком, разумеется ни в какой документации об этом не было написано. Мало того - если строчки переставить особым образом - клиент вообще вылетит.
Дядя Миша писал: если строчки переставить особым образом - клиент вообще вылетит
Даже спустя 22 года можно узнать что-то новое, из-за чего халфа вылетает. Со строками в delta.lst что-то подобное (только не касательно графики), если их отсортировать? Теперь понятно, почему "грамотно переписанные" моды вылетают на ровном месте.
SNMetamorph писал: Вот это вот решение с халфовским hud.txt ооочень геморойное
компилятор будет поддерживать сборку из набора именованых картинок, т.е. не надо будет дополнительно прописывать никакие текстовики.
Поддержка hud.txt это скорее для облегчения миграции.
Цитата:
Ku2zoff писал: Со строками в delta.lst что-то подобное (только не касательно графики), если их отсортировать?
Ну в дельте можно добиться сортировкой снижения или увеличения траффика.
Crystallize я худ не трогал.
Добавлено 16-03-2020 в 14:07:
Очень крепко эти спрайты везде въелись в клиентскую часть.
Но по крайней мере я избавился от этих множественных кастов и сущностей.
И от Tri->SPriteTexture( gEngfuncs.GetSpritePointer( pModel ));
Эта хрень меня всегда бесила особенно. К слову, в сорсе эти зависимости так и не стали вычищать до конца - оставили какие-то виртуальные спрайты, которые налету создаются из текстуры либо из видеофайла. Причём загрузчик моделей в движке почему-то пользуется помощью клиентки в создании этих виртуальных ресурсов. Вообщем этот мрак, который довёл нашего Мастера до цугундера там тожы никуда не делся. Просто приобрёл несколько иные формы.
Добавлено 16-03-2020 в 15:21:
Следующий логичный шаг - внедрить эту же систему и в меню тоже.
Чтобы избавить от нагромождения непонятных маленьких картинок и чтобы гигантскую текстуру с кнопками превратить в симпатичный атлас с доступом по именам этих кнопок. Это ведь не просто какие-то атласы, я в них заложил механизм поиска наиболее подходящего разрешения, а так же проверку на bold и inatlic - все три параметра закодированы в имени шрифта. Причём это работает как на буквах, так и на картинках. В дальнейшем этот механизм ляжет в основу какого-нибудь собственного VGUI.
Хех, я помню в некоторых ситуациях можно было скормить спрайтовой энтитии модельку, и оно её корректно отображало. Не ломаешь ли ты функционал?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Движок грузит модельки по сигнатуре, а не по расширению. Другое дело, если энтить начнёт искать в своей модели какую-то инфу, типа анимаций, костей. Но в той же кваке это было приведено к единому интерфейсу, там всегда можно было заменять спрайты на модели и обратно.
Работы потихоньку идут, переписываю меню. Как вы помните, над меню в своё время работали все кому ни лень. Там некоторый зоопарк сейчас.
Запилил красивую анимацию для нажатия кнопки. Теперь она не линейно подымается наверх, а по кубической безье-интерполяции и по трём контрольным точкам, как бы прыгает на своё место (ну типо как кутришные прыгалки), и одновременно превращается из надписи кнопки в надпись шапки. Я бы вам с удовольствием заснял видео или гифку, но я в этом абсолютно не соображаю.
Ну вот такое оно, новое меню. Похоже на старое, но дьявол в деталях.
Шрифты теперь везде с перменной шириной буквы, есть ABC.
Раньше эта строка помещалась только с переносом.
Добавлено 24-03-2020 в 17:21:
А и кстати, этот диалоговый бокс теперь отдельный класс. Больше не надо мучиться, пытаясь его имплементировать в каждое меню и там массово снимать-выставлять флаги деактивации.
Пока не забыл - посоветуйте нормальный видеоформат. В 15-м году я начал возиться с теорой, и уж хрен бы с ним с невеликим качеством, но меня выбесило отсутствие нормальной навигации и проблемы с синхронизацией звука. С другой стороны, если какой-то модный формат потянет для поддержки либы на 10 мегабайт, то такое тоже не нужно.