Sidebar

MainUI C++ Beta

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
не, входные данные какие? что в scr?

Post automatically merged:

2 GNU/Hurt:
потому что в оригинальном ксаше cp1251, а менюху под него собирали. А что в won в scr файлах и что с локализацией мы не знаем
 
Останнє редагування:
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
Пожалуйста, вот вам для тестов мои файлики.
Там где настройки сервера ничего не вылетает.
 

Вкладення

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
ну и я про то же - эти 2 менюхи различаются только названием файла. Значит наверно связано с разбором содержимого

Post automatically merged:

2 Дядя Миша:
"#Valve_Hostname"
и так далее. значит в won уже был локализатор строк #Valve?
ну и видимо, краш из-за локализатора. На второй менюхе как раз он зафейлил. а valve_english.txt можно?
 
Останнє редагування:
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
значит в won уже был локализатор строк #Valve?
Какие-то зайчатки я видел и прежде, но есть более простое объяснение - я сам лично много лет назад взял эти файлы от стим-версии. valve_english.txt у меня нет.
Я считаю надо воспроизвести поведение самой халфы, если нет файлика локализации, то выводить саму строку #Valve_Something.
Вообщем подключайте Кувертуса, всесторонне тестируйте, когда он скажет, что багов не обнаружил (а он будет и на бэкграунд-картах тестировать и вообще по всякому), вот тогда я ваше меню с удовольствием включу в официальный релиз.
 

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
так у меня она выводится без краша.
Мне сейчас больше интересно, откуда там кракозябры были.
Или файлы были другие, или у тебя в resource valve_english/gameui_english от steam версии всё-таки был (и тогда это логично, кракозябры от того что рендерер шрифтов ожидает cp1251 на входе). Я сомневаюсь, что могли быть кракозябры вместо исходных надписей
Ещё если это ранний русификатор, там был баг - vgui мог рисовать только cp1252 и русификаторы делались по принципу "заменить в шрифте cp1252 символы на соответсвующие cp1251, закодировать текст соответственно и пихнуть _english.txt"
 
Останнє редагування:

GNU/Hurt

Maïté
05.03.14
1 092
25
38
>cp125*

Ужос какой. mittorn, а вы сейчас всю эту гадость перекодируете при чтении?
 

mittorn

Active member
22.04.10
1 229
22
38
2 GNU/Hurt:
Сейчас у нас локализатор читает только <gamedir>_english.txt (замечу, не russian, не urainian, а english). И нужен он чтобы заменить #Valve(блабла) на нормальные строки (англоязычные пока что)
Он не ожидает там русских символов вообще. И никто не думал что они там появятся. А у Дяди Миши появились. Значит надо найти что это за руссификатор (я пока не нашёл). А там уже думать - перекодировать его, или вообще по игнору пустить, если совсем всё плохо

Post automatically merged:

ну и разумеется сделать так, чтобы не крашило. Но для этого сначала надо сделать чтоб крашило

Post automatically merged:

нашёл один руссификатор, но не могу распаковать. До чего же любят моддеры всякие проприетарные установщики...
 
Останнє редагування:

mittorn

Active member
22.04.10
1 229
22
38
P.S тот руссификатор что я нашёл использует обычный юникод, соотвественно если меню собрано с поддержкой юникода работает корректно (даже при использовании оригинального менюшного шрифта), а если без, то там другие кракозябры, свойственные тому, как utf-8 выглядит при чтении как cp1251 (меню перекодирует считанный файл из UCS2 в utf-8 т.к с utf-8 проще работать)
То что на скрине как раз похоже на попытку пихнуть cp1251 текст в cp1252 и запихнуть в UCS2 как юникод.
Какие возможные решения?
1. Использовать свои файлы локализации, в cp1251
2. Использовать локализацию "как есть", но исправить краш и может быть добавить опцию для этого старогоруссификатора (который я так и не нашёл). из utf-8 перекодировать в 1251, откуда шрифтрендер перекодирует назад в юникод (лол) чтобы отрендерить в ttf
3. выкинуть cp1251 на мороз. В стиме давно есть локализация с _russian файлами и использовать их. А старые локализаторы - костыль, который поддерживать нет смысла
Краш надо выявить и исправить во всех 3 случаях. нехорошо падать от кривого файла.
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
И не надо вот этих отмазок, что пользователь тупой. На то и программист умный, чтобы компенсировать тупость пользователя!
 

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
потому я хочу то что у тебя в valve/resources/*_english.txt чтобы понять, на чём он падает. Я сходу не смог перекодировать файл в такой же вид, он как-то по-хитрому закодирован
 

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
ну краш надо исправить. Я пока не смог найти этот руссификатор, на котором крашит. нашёл только упоминание на каком-то форуме

Post automatically merged:

2 Дядя Миша:
ну тебя третий вариант может и не устроить. Албатрос сказал вам своё мнение.
Выпилить перекодирование и юзать первый вариант можно достаточно быстро. То что вдруг у дяди миши в _english файле русские буквы оказались, да ещё и хитровыдуманные - кто-то это ожидал вообще?

Post automatically merged:

Дядя Миша сказав(ла):
Значит я ваше меню не возьму.
из-за локализатора который остался у Дяди Миши видимо в единственном экземпляре
 
Останнє редагування:
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
То что вдруг у дяди миши в _english файле русские буквы оказались, да ещё и хитровыдуманные - кто-то это ожидал вообще?
Ты будешь смеяться но всякие фаргусы именно так халфу и локализовывали %)

Я боюсь вы не вполне понимаете что такое меню и почему мне не слишком нравится ваш навороченный вариант. Меню - это расходный материал по большому счёту. В нём никому не нравится ковыряться. То что сделал я просто по форме и духу похоже на оригинальную вон-версию, оно вполне годится для модов халфы, сделанных под эту вон-версию, там где были свои strings.lst и собственные btns_main. Оно их подхватывает и прекрасно выполняет свои задачи. Спагетти-код и прочие мудрые слова меня не волнуют - в меню нет нужды лезть каждый день и добавлять туда новые кнопки. Стимовский вариант со скриптами сделан потому что вальва не собиралась давать сорцы меню пользователям. Других причин я не вижу. Всё равно этими скриптами много не набацаешь, максимум добавить новых настроек и всё. В сорсе с этим ситуация вроде как получше, но я особо не разбирался. Так вот в чём смысл. Когда нам понадобилось оригинальное меню из первокваки, тот же Альбатросс за 1 день его скопипастил и дописал недостающее и всем пливать что там внутри ужос-ужос. работает, и забыли. Для какой-то отдельной игры на ксаше разумнее написать меню вообще с нуля в современном стиле, где будут кнопки Начать Игру, Продолжить Игру и Выход. А в опциях будет единственный чек бокс Graphics On\Off, как в том эпичном видео If Quake Was Done Today. И делается такое меню аналогично за один день и не имеет ничего общего ни с вашим ни с моим. Поэтому я и не парюсь над поддержкой всякой никому не нужной ерунды.
 

mittorn

Active member
22.04.10
1 229
22
38
2 Дядя Миша:
ладно, устал искать этот руссификатор, фиг с ним
 

a1batross

Umu~!
06.01.15
674
27
2 Дядя Миша:
мне вот не плевать, что кувраппер на моём ноутбуке с FullHD матрицей выглядит как говно. Как минимум нужен скейл. По-хорошему чтоб ещё и мышкой щелкать можно было.

А программисты затем и пишут библиотеки, чтобы всем было более-менее удобно.
 

FiEctro

Супер Модератор
Команда форуму
Супер Модератор
28.07.06
17 167
33
  • Золотая медаль 213
  • Neh
2 mittorn:
А чего не попросишь этот руссификатор у Дяди Миши?
 

a1batross

Umu~!
06.01.15
674
27
2 Elber:
потому что надобности нет. Всё что было сделано до этого -- нужно было в рамках какой-то идеи, потребности.

Я не хочу делать что-то для сферических в вакууме моддеров. Хотите фичу, предлагайте.
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 a1batross: а што скейл? ну привяжись к виртуальному скринспейсу 320х200 и скейли в своё удовольствие. Скейл в любом случае выглядит как говно, поэтому я и не тороплюсь с ним.
 

a1batross

Umu~!
06.01.15
674
27
Я разобрался в чём дело.

В меню при отключении расширений форка движка, функция преобразовывающая UTF-8, просто ремапит CP1251 в юникод.

Я предполагаю, что у Дяди Миши, всё-таки где-то затесался файлик valve_english.txt и/или gameui_english.txt, в котором текст в ему ненавистном UTF-16, который вдальнейшем конвертируется меню автоматически в удобный UTF-8.

Что будет когда мы UTF-8 будем пытаться ремапить как будто это CP1251 в Unicode? Вот эти Г Г Г Г и происходят.

Решение -- преобразовывать данные перевода из UTF-16 в CP1251 для оригинального движка. ОДНАКО. Я не буду такое делать для кривого перевода как у ДМ. Поиск по интернету меня привёл к тому, что любой русификатор предлагает каноничный valve_russian.txt, в котором уже есть смысл гадать из в какую CP всё же преобразовывать.

Второе решение. Ремап я изначально сделал только для русского ввода в оригинальном движке. Поскольку, даже имена серверов в Unicode(с ними тоже будет Г Г Г Г, да), есть смысл ввод налету преобразовывать из CP1251 в UTF-8.

Наверное, я буду придерживаться второго.
 

Game Server

Доноры Красавчики

Користувачі онлайн

Немає користувачів онлайн.