Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Пожалуйста, поддержите шрифт большого размера файла #93

Open
wzyddg opened this issue Jan 14, 2025 · 6 comments
Labels
enhancement New feature or request

Comments

@wzyddg
Copy link

wzyddg commented Jan 14, 2025

Описание

игра вылетает, когда я использую шрифт большого размера (более 14 МБ). Я переключился на отладочный двоичный файл и нашел лог ниже.

FATAL ERROR

[error]Expression : TargetY <= TextureDimension
[error]Function : CGameFont::Initialize2::<lambda_1>::operator ()
[error]File : C:\Users\Dmitry\ixray-1.6-stcop\src\xrEngine\GameFont.cpp
[error]Line : 216
[error]Description : Font too large, or dimension texture is too small

stack trace:

FATAL ERROR

[error]Expression : TargetY <= TextureDimension
[error]Function : CGameFont::Initialize2::<lambda_1>::operator ()
[error]File : C:\Users\Dmitry\ixray-1.6-stcop\src\xrEngine\GameFont.cpp
[error]Line : 216
[error]Description : Font too large, or dimension texture is too small

stack trace:

FATAL ERROR

[error]Expression : TargetY <= TextureDimension
[error]Function : CGameFont::Initialize2::<lambda_1>::operator ()
[error]File : C:\Users\Dmitry\ixray-1.6-stcop\src\xrEngine\GameFont.cpp
[error]Line : 216
[error]Description : Font too large, or dimension texture is too small

stack trace:

Платформа

AMD 5600x
3070Ti
32GB RAM

Воспроизведение

  1. играю в vanilla english COP с релизом IX-ray от 5 августа 2024 года, без проблем.
  2. открываю gamedata\configs\fonts.ltx
  3. меняю каждое свойство 'name' на 'consola', чтобы убедиться, что я использую только 1 шрифт.
  4. заменяю gamedata\fonts\eng\consola.ttf моим собственным шрифтом ttf (Microsoft YaHei, можно скачать где угодно)
  5. снова запускаю игру и вылетаю.

Ожидаемое поведение

No response

Скриншоты

QQ20250114-022633

Дополнительный контекст

Я делаю китайскую локализацию для модов STALKER, файлы китайских шрифтов всегда больше 10 МБ. Все больше и больше модов используют IX-ray, так что если проблема останется, китайское сообщество не сможет играть в эти моды.

@wzyddg wzyddg added the bug Something isn't working label Jan 14, 2025
ForserX added a commit that referenced this issue Jan 14, 2025
@ForserX
Copy link
Member

ForserX commented Jan 14, 2025

Проверь с флагом

LargeFontAtlas = true

в gamedata\configs\engine_external.ltx

P.S. Ветка Develop, последний коммит

@wzyddg
Copy link
Author

wzyddg commented Jan 15, 2025

QQ20250115-213009
приветствую. стало немного лучше, я могу войти в игру с новым бинарным файлом и ресурсами. но я все еще вылетаю, когда нажимаю «Загрузить игру».
Я думаю, что все еще недостаточно оперативной памяти, поэтому я продолжаю удалять каждое свойство «size» (кроме «font_default») из font.ltx. это означает, что каждый внутриигровой шрифт на самом деле тот же самый, мой собственный «consola» (13,8 МБ) размера 14. тогда я могу играть в игру без вылетов (в течение 5 минут по крайней мере).
это вылет, когда я нажимаю «загрузить»:

  • Loaded: j:\stalker_s\ixr\gamedata\textures\ui\ui_magnifier2.dds[32896]b
  • Loaded: j:\stalker_s\ixr\gamedata\textures\fx\fx_noise2.dds[262272]b
  • loading script ui_load_dialog.script
  • Init font ui_font_graff_32

stack trace:
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4C298F3 shared_motions::motion_map() + 997735 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4C29CCC shared_motions::motion_map() + 998720 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4C2ADBA shared_motions::motion_map() + 1003054 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4C2BD8A shared_motions::motion_map() + 1007102 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4C28A6C shared_motions::motion_map() + 994016 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4C23C27 shared_motions::motion_map() + 973979 byte(s)
J:\STALKER_S\IXR\bin\xrUI.dll at 00007FFBDE8F3653 recvItem::operator=() + 215184 byte(s)
J:\STALKER_S\IXR\bin\xrUI.dll at 00007FFBDE8F7FD8 recvItem::operator=() + 234005 byte(s)
J:\STALKER_S\IXR\bin\xrUI.dll at 00007FFBDE8F84A6 recvItem::operator=() + 235235 byte(s)
J:\STALKER_S\IXR\bin\xrUI.dll at 00007FFBDE8F700F recvItem::operator=() + 229964 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE0900069 xrFactory_Create() + 16440616 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE08D10AC xrFactory_Create() + 16248171 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE08CF2A9 xrFactory_Create() + 16240488 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE08CC105 xrFactory_Create() + 16227780 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE08CD483 xrFactory_Create() + 16232770 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE08CCE1D xrFactory_Create() + 16231132 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE08EF65A xrFactory_Create() + 16372505 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE08DCAD4 xrFactory_Create() + 16295827 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE0917428 xrFactory_Create() + 16535783 byte(s)
J:\STALKER_S\IXR\bin\luabind.dll at 00007FFC010893F1 luabind::detail::class_base::add_operator() + 88768 byte(s)
J:\STALKER_S\IXR\bin\luabind.dll at 00007FFC01090689 luabind::detail::class_base::add_operator() + 118104 byte(s)
J:\STALKER_S\IXR\bin\luabind.dll at 00007FFC010A3A28 luabind::detail::class_base::add_operator() + 196855 byte(s)
J:\STALKER_S\IXR\bin\lua51.dll at 00007FFBFC9427A3
J:\STALKER_S\IXR\bin\luabind.dll at 00007FFC010A2964 luabind::detail::class_base::add_operator() + 192563 byte(s)
J:\STALKER_S\IXR\bin\lua51.dll at 00007FFBFC9427A3
J:\STALKER_S\IXR\bin\lua51.dll at 00007FFBFC947C7B lua_pcall() + 107 byte(s)
J:\STALKER_S\IXR\bin\luabind.dll at 00007FFC010AEB00 luabind::detail::class_base::add_operator() + 242127 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBDFABB63B xrFactory_Create() + 1479418 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBDFA9C792 xrFactory_Create() + 1352785 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBDFADD9C4 xrFactory_Create() + 1619587 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBDFB6915D xrFactory_Create() + 2190876 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBDFB6AF60 xrFactory_Create() + 2198559 byte(s)
J:\STALKER_S\IXR\bin\xrUI.dll at 00007FFBDE9B52AC recvItem::operator=() + 1008873 byte(s)
J:\STALKER_S\IXR\bin\xrUI.dll at 00007FFBDE92EE31 recvItem::operator=() + 458862 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE09D6E96 xrFactory_Create() + 17320789 byte(s)
J:\STALKER_S\IXR\bin\xrGame.dll at 00007FFBE09D7716 xrFactory_Create() + 17322965 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CA4062 shared_motions::motion_map() + 1499350 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CA48B2 shared_motions::motion_map() + 1501478 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CCB26C shared_motions::motion_map() + 1659616 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CB273A shared_motions::motion_map() + 1558446 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CB295C shared_motions::motion_map() + 1558992 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CB17D3 shared_motions::motion_map() + 1554503 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CB83E5 shared_motions::motion_map() + 1582169 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CB6396 shared_motions::motion_map() + 1573898 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CB2B57 shared_motions::motion_map() + 1559499 byte(s)
J:\STALKER_S\IXR\bin\xrAbstractions.dll at 00007FFBE4CF309C shared_motions::motion_map() + 1822992 byte(s)
J:\STALKER_S\IXR\bin\xrEngine.exe at 00007FF62EC0CCC8
J:\STALKER_S\IXR\bin\xrEngine.exe at 00007FF62EC0ED86
C:\Windows\System32\KERNEL32.DLL at 00007FFC9CED7374 BaseThreadInitThunk() + 20 byte(s)
C:\Windows\SYSTEM32\ntdll.dll at 00007FFC9E99CC91 RtlUserThreadStart() + 33 byte(s)

@wzyddg
Copy link
Author

wzyddg commented Jan 15, 2025

Я использую ресурсы и двоичный файл по этой ссылке, я считаю, что это правильно. А это файл шрифта, который я использую.
https://github.com/ixray-team/ixray-1.6-stcop/actions/runs/12783940612
YaHei.Consolas.1.11b.zip

@wzyddg
Copy link
Author

wzyddg commented Jan 16, 2025

извините за беспокойство, просто хочу убедиться, что вы знаете, что у меня есть обратная связь. Для меня отправка сообщений на GitHub вызывает некоторые проблемы.
@ForserX

@ForserX
Copy link
Member

ForserX commented Jan 16, 2025

@wzyddg, я пока немного занят. Как освобожусь, поэкспериментирую со шрифтами

Drombeys pushed a commit that referenced this issue Jan 22, 2025
Drombeys pushed a commit that referenced this issue Jan 23, 2025
Drombeys pushed a commit that referenced this issue Jan 25, 2025
@ForserX ForserX added enhancement New feature or request and removed bug Something isn't working labels Jan 28, 2025
@wzyddg
Copy link
Author

wzyddg commented Feb 3, 2025

привет! движок теперь может отображать шрифты разного размера, спасибо!

Image

но я также заметил, что что-то не так с автоматическим переносом строк, когда я использую китайские тексты.
похожая проблема также возникла в движке OGSR.

Image

Image

означает ли это, что движок определяет перенос строки по количеству символов, а не по ширине?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants