Обнаружил баг в стим-версии халфы. Если изменить шрифты в файле TrackerScheme.res, то для латинских символов они меняются. А для кириллических используется какой-то жёстко захардкоденный говношрифт, которому насрать на схему. То-то мне всегда было неприятно смотреть на русские тексты в меню игр на голдсорсе. Кто-нибудь в курсе, лечится ли это, репортили ли вальве на гитхабе об этом?
Дядя Миша да не. Оф. стимовская версия. Похоже, какой-то косяк в коде gameui, потому что vgui2 без проблем выводит разные шрифты для кириллицы в менюшках и скоребоарде в кс. Ну, по крайней мере раньше выводил. Я проверю, а то вдруг и в кс сейчас изломано всё.
Я разобрался с масштабированием спрайтового шрифта и решил его заменить на какой-нибудь декоративный. Заодно и в главном меню тоже поменять. Добрался до меню - а тут такой сюрприз. Ну не страшно. Главное, чтобы внутриигровые надписи были на русском. Меню - дело второе, халферы его наизусть знают, даже не зная английского.
Ku2zoff
Может просто используется единый шрифт у которого не прописаны кирилические символы?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
и в ev_hldm.cpp сделал функцию для обновления, + добавил EV_BoneControl в функцию выстрела. Все работает, но если начинается или заканчивается какая либо анимация на вью модели то стрелка прыгает
hgrunt_2020 значит, между анимациями контроллер сбрасывается в дефолтное положение. ent->curstate.controller[0] нужно задавать значение не в функции выстрела, а каждый кадр. Или в HUD_Frame, или в StudioDrawModel/StudioSetupBones.
Добавлено 30-06-2022 в 11:45:
Ты же делаешь на ксашмоде? Там нет предиктинга, и доступа к классовым переменным оружия. Значение контроллера нужно передавать на клиент либо пользовательской мессагой, либо энтварсом игрока. На клиенте отлавливать и совать в глобальную переменную, а к ней уже приравнивать значение каждый кадр.
Зачем в сорсе парсер LightEnvironment завернут в проверку if (!gSkyLight) который перед этим нуллится? Разве это не приведет к тому что только одно из солнц будет распарсено? Или это что-то нужное когда у тебя несколько тредов?
Crystallize писал: Разве это не приведет к тому что только одно из солнц будет распарсено?
В новых тулзах парсится только одно солнце. Это раньше их можно было ставить много. Я не знаю, делятся ли они по зонам, например есть две "небесных коробки", между которыми игрок перемещается через телепорт, и чтобы в каждой было своё освещение. Надо проверить.
Crystallize писал: Или это что-то нужное когда у тебя несколько тредов?
Парсинг всегда работает в одном треде.
Солнца нельзя привязывать к разным коробкам, их освещение суммируется.
Да и как вы себе представление разграничивание параллельных источников по зонам? Единственное, что приходит на ум - привязка к конкретному сектору, но это не слишком удобно, как компилятор должен действовать, если в очередной небесной коробке вообще не окажется солнца?
Во втором и третьем квейке симулировали свет от неба при помощи светотекстур и PTPFF. Но там проблематично установить кастомную нормаль, потому что она берётся из плоскости светотекстуры.