Fixed fonts sizes

This commit is contained in:
2026-05-03 00:02:24 +03:00
parent 76c3ead4a8
commit 5952a96ee6

View File

@@ -449,11 +449,34 @@ void EditorApp::setup()
std::make_unique<PlayerControllerSystem>(
m_world, m_sceneMgr, this);
// Pre-load fonts before showing overlay
if (m_startupMenuSystem)
m_startupMenuSystem->prepareFont();
if (m_dialogueSystem)
m_dialogueSystem->prepareFont();
if (m_gameMode == GameMode::Game) {
// Load startup menu scene configured in editor.
// This must happen before show() so the
// StartupMenuComponent entity exists for font preparation.
SceneSerializer serializer(m_world, m_sceneMgr);
Ogre::LogManager::getSingleton().logMessage(
"Game mode: Loading startup_menu.json...");
if (serializer.loadFromFile("startup_menu.json",
m_uiSystem.get())) {
PrefabSystem prefabSys(m_world, m_sceneMgr);
prefabSys.resolveInstances();
Ogre::LogManager::getSingleton().logMessage(
"Game mode: startup_menu.json loaded");
} else {
Ogre::LogManager::getSingleton().logMessage(
"Game mode: Failed to load startup_menu.json: " +
serializer.getLastError());
}
// Pre-load fonts before showing overlay so the font is
// added to the atlas before OGRE builds it in createFontTexture().
// The StartupMenuComponent entity is now available from the
// startup_menu.json scene loaded above.
if (m_startupMenuSystem)
m_startupMenuSystem->prepareFont();
if (m_dialogueSystem)
m_dialogueSystem->prepareFont();
}
// Now show the overlay — font atlas will be built with our font
if (m_imguiOverlay)
@@ -511,24 +534,10 @@ void EditorApp::setup()
}
if (m_gameMode == GameMode::Game) {
// Queue "game_start" event before loading the startup menu
// Queue "game_start" event after Lua scripts are loaded
// so Lua subscribers registered via ecs.subscribe_event()
// will receive the event.
EventBus::getInstance().send("game_start");
// Load startup menu scene configured in editor
SceneSerializer serializer(m_world, m_sceneMgr);
Ogre::LogManager::getSingleton().logMessage(
"Game mode: Loading startup_menu.json...");
if (serializer.loadFromFile("startup_menu.json",
m_uiSystem.get())) {
PrefabSystem prefabSys(m_world, m_sceneMgr);
prefabSys.resolveInstances();
Ogre::LogManager::getSingleton().logMessage(
"Game mode: startup_menu.json loaded");
} else {
Ogre::LogManager::getSingleton().logMessage(
"Game mode: Failed to load startup_menu.json: " +
serializer.getLastError());
}
}
// Game mode can be set externally before setup() is called