Sidebar

MainUI C++ Beta

a1batross

Umu~!
06.01.15
674
27
2 TigerHeart01:
Я думаю, можно так сделать. Это я про ключ -lang.

Проверю кастом гейм. Падать там вроде нечему.
 

TigerHeart01

Member
26.06.17
107
4
18
a1batross сказав(ла):
2 TigerHeart01: Проверю кастом гейм. Падать там вроде нечему.
Догадка не оправдалась. Игра крашится даже при наличии папок с другими модами.

Post automatically merged:

В ходе многочисленных экспериментов выяснилось, что крашится только версия 4281 и 4260. А вот с версией 4150 никакого краша нет.
И в версии 3887 тоже всё Ок.
Видать краш закрался где-то между версиями 4150 и 4260.
 
Останнє редагування:

Ku2zoff

Member
12.08.10
322
34
21
18
TigerHeart01 сказав(ла):
Или может быть даже так : -lang fargus, -lang 7wolf.... Это сработает ?
Я думаю, что логично было бы в качестве ключа указывать суффикс, идущий после gamedir, как в стим-версии. При -lang russian движок и меню ищут файлы локализации (и вообще любые файлы) в modname_russian, например. Локализация, это ведь не только ценный мех текст, но вообще любые ресурсы. Можно ведь и надписи-декали локализировать, и любые текстуры из вадов, моделей и спрайтов.
 

a1batross

Umu~!
06.01.15
674
27
https://github.com/FWGS/xash3d-deploy/tree/menudll_orig-latest

Сделал автосборку шестой студией на Travis CI и загрузку по ссылке выше. Теперь там всегда будет последняя версия mainui_cpp собранная под оригинальнй движок, да и Дядя Миша не придерётся, что опять сосущим компилятором не собирается.
 
  • Like
Reactions: Qwertyus

TigerHeart01

Member
26.06.17
107
4
18
Ku2zoff сказав(ла):
Я думаю, что логично было бы в качестве ключа указывать суффикс, идущий после gamedir, как в стим-версии. При -lang russian движок и меню ищут файлы локализации (и вообще любые файлы) в modname_russian, например. Локализация, это ведь не только ценный мех текст, но вообще любые ресурсы. Можно ведь и надписи-декали локализировать, и любые текстуры из вадов, моделей и спрайтов.
То есть в случае с локализациями не нужно выделываться, а просто прибегнуть к обычной подмене файлов ? То есть, папка будет всегда одна - modname_russian, например, а в ней просто заменять звуковые и текстовые файлы ?
 

mittorn

Active member
22.04.10
1 229
22
38
2 TigerHeart01:
да, по тому же принципу что и с custom - локализация в движке подразумевает наложение локализации на оригинальную игру.
При этом остаются в пролёте моды читающие файлы напрямую (вроде XDM)
 

TigerHeart01

Member
26.06.17
107
4
18
В файле main.cpp нашёл строки
resumeGame.SetNameAndStatus( L( "GameUI_GameMenu_ResumeGame" ), MenuStrings[IDS_MAIN_RETURNHELP] );
...
newGame.SetNameAndStatus( L( "GameUI_NewGame" ), MenuStrings[IDS_MAIN_NEWGAMEHELP] );
Ба ! Знакомая функция MenuStrings... Скопипастили у Дяди Миши ? )))
И ведь читаете же индексы из strings.lst ( IDS_MAIN_RETURNHELP и IDS_MAIN_NEWGAMEHELP ) ! Ну так почему же не продолжить использовать и дальше индексы из strings.lst ?
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 TigerHeart01: меню изначально делалось из моей версии. А я его в свою очередь взял из Quake2 Evolved, а там взяли и допилили кармаковское оригинальное меню из ку2, которое на самом деле меню из ку1.
 

a1batross

Umu~!
06.01.15
674
27
Таки да. mainui_cpp изначально был портом mainui. Что-то осталось, как MenuStrings[], например. На что кстати название вполне себе намекает.
 

TigerHeart01

Member
26.06.17
107
4
18
2 a1batross:
Так может быть заменить MenuStrings() на L() или оставить так ???
 

TigerHeart01

Member
26.06.17
107
4
18
Хм... По-моему, это называется "костыль"...
// disable playermodel preview for HLRally to prevent crash
if( !stricmp( gMenu.m_gameinfo.gamefolder, "hlrally" ))
hideModels = true;
А если юзер назовёт папку с этим модом как-нибудь по-другому ?...

Post automatically merged:

Вот здесь не уверен :
Q_strncpy( profileDesc, "Presets:", CS_SIZE );
Заворачивать строку в L() ?
 
Останнє редагування:

a1batross

Umu~!
06.01.15
674
27
2 TigerHeart01:
да.

Костыль этот ещё с оригинального меню. Впрочем, он уже там несколько лет. Может запустить да проверить...
 
Команда форуму
VIP
28.03.10
15 566
315
83
Кубань
  • Золотая медаль 215
  • Серебряная медаль 214
  • Золотая медаль 221
  • Cat
2 TigerHeart01: когда-то очень давно hlrally крашился при показе этих моделек. Теперь всё в порядке, но хак остался для истории.
 

a1batross

Umu~!
06.01.15
674
27
А. Кстати. Можно делать так:

L( MenuStrings[ idx ] )

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

TigerHeart01

Member
26.06.17
107
4
18
Так всё же, что на счёт
Q_strncpy( profileDesc, "Presets:", CS_SIZE );


Post automatically merged:

a1batross сказав(ла):
А. Кстати. Можно делать так:

L( MenuStrings[ idx ] )
А MenuStrings[ idx ] в таком случае выносить в отдельный файл ?

Post automatically merged:

Всё !!! Уже всё закончил ! Остались только эти два вопроса.
 
Останнє редагування:

Ku2zoff

Member
12.08.10
322
34
21
18
TigerHeart01 сказав(ла):
папка будет всегда одна - modname_russian, например, а в ней просто заменять звуковые и текстовые файлы ?
Я имел в виду, что папок может быть несколько. modname_russian7wolf, modname_russianFargus или просто modname_russian. Какие ресурсы хочешь, такие и подгружаешь, запуская с разных батников или ярлыков. Самый нормальный, на мой взгляд, подход. И мешанины из файлов в главной папке мода не будет.

Post automatically merged:

Исключение разве что можно сделать для стим-версий модов, у которых есть modname_language.txt в папке resource. Насколько я знаю, ни один любительский мод это не поддерживает.
 
Останнє редагування:

a1batross

Umu~!
06.01.15
674
27
2 TigerHeart01:
не, я имел ввиду менять так:

Было: MenuStrings[IDS_MAIN_NEWGAMEHELP]
Стало: L( MenuStrings[IDS_MAIN_NEWGAMEHELP] )

Хотя нет, забудь, плохая идея.

Лучше избавиться от MenuStrings в данном случае. Сделать L( "Xash_NewGameHelp" ), например. Ну как ты делал ранее.

Про Presets уже ответил выше. Коротко и ясно: Да. :)
 

TigerHeart01

Member
26.06.17
107
4
18
a1batross сказав(ла):
2 TigerHeart01:
не, я имел ввиду менять так:

Было: MenuStrings[IDS_MAIN_NEWGAMEHELP]
Стало: L( MenuStrings[IDS_MAIN_NEWGAMEHELP] )
Ну я так и поменял.
a1batross сказав(ла):
Хотя нет, забудь, плохая идея.
Что значит "забудь" ? Я уже всё поменял.
a1batross сказав(ла):
Лучше избавиться от MenuStrings в данном случае. Сделать L( "Xash_NewGameHelp" ), например.
А в чём принцыпиальная разница между IDS_MAIN_NEWGAMEHELP и Xash_NewGameHelp ? Почему нельзя оставить L( "IDS_MAIN_NEWGAMEHELP" ) ?
 

mittorn

Active member
22.04.10
1 229
22
38
2 TigerHeart01:
Чтоб вся локализация была в одном стиле
Valve_ - строки из valve_russian.txt
Gameui_ - строки из gameui_russian.txt
Xash_ - строки из xash3d_russian.txt который будет добавлен к xash-extras
 

TigerHeart01

Member
26.06.17
107
4
18
Готово!

Post automatically merged:

Только там у вас так всё напутано. То "Return to the Main menu", то "Go back to the Main menu", то "... to the previous menu".
Кстати, я там кое-где позволил себе вставить некоторые комментарии - пояснения касательно замены строк, почему я заменил именно так, а не иначе.

Post automatically merged:

a1batross сказав(ла):
https://github.com/FWGS/xash3d-deploy/tree/menudll_orig-latest

Сделал автосборку шестой студией на Travis CI и загрузку по ссылке выше. Теперь там всегда будет последняя версия mainui_cpp собранная под оригинальнй движок
Всё работает идеально !
Вот только как бы научиться шрифт менять ?
Где-то я что-то видел об этом, но не охота половину форума заново перечитывать. :(
 

Вкладення

  • 37.3 КБ Перегляди: 187
Останнє редагування:

Game Server

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

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

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