Working on loading screen

This commit is contained in:
Vladislav Khorev committed 2026-07-09 20:32:57 +03:00
1 parent 1c2c80f0ea
commit 44f5136f1d
8 files changed
+272 -187

No files matched your search

+11
View File
@@ -88,9 +88,11 @@ namespace ZL
// Load static game objects
gameObjects = GameObjectLoader::loadAndCreateGameObjects(params.gameObjectsJsonPath, renderer, CONST_ZIP_FILE);
SDL_PumpEvents();
// Load interactive objects
interactiveObjects = GameObjectLoader::loadAndCreateInteractiveObjects(params.interactiveObjectsJsonPath, renderer, CONST_ZIP_FILE);
SDL_PumpEvents();
//auto playerTexture = std::make_shared<Texture>(CreateTextureDataFromPng("resources/w/gg/IMG_20260413_182354_992.png", CONST_ZIP_FILE));
//auto playerTexture = renderer.textureManager.LoadFromPng("resources/w/gg/UniV_Grid_2K_Base_color.png", CONST_ZIP_FILE);
@@ -140,6 +142,7 @@ namespace ZL
player->setupHitSparks(sparkTexture);
player->audioPlayer = audioPlayer;
std::cout << "Load resurces step 9" << std::endl;
SDL_PumpEvents();
// Load NPCs from JSON. Aggressive (canAttack) NPCs need a player target
// and hit sparks; peaceful NPCs don't take damage from the player so
@@ -155,6 +158,8 @@ namespace ZL
}
}
SDL_PumpEvents();
loadTeleportZones(params.teleportsJsonPath, CONST_ZIP_FILE);
loadTriggerZones(params.triggerZonesJsonPath, CONST_ZIP_FILE);
loadPointLights(params.lightsJsonPath, CONST_ZIP_FILE);
@@ -167,6 +172,7 @@ namespace ZL
//#endif
setupNavigation(params.navigationJsonPaths);
SDL_PumpEvents();
dialogueSystem.init(renderer, CONST_ZIP_FILE);
dialogueSystem.loadDatabase(params.dialoguesJsonPath);
@@ -175,6 +181,8 @@ namespace ZL
dialogueSystem.loadCutsceneTranslations("resources/dialogue/translate_cutscenes.json");
dialogueSystem.setQuestJournal(journal);
SDL_PumpEvents();
npcNameText = std::make_unique<TextRenderer>();
if (!npcNameText->init(renderer, "resources/fonts/DroidSans.ttf", 24, CONST_ZIP_FILE)) {
std::cerr << "Failed to init NPC name TextRenderer" << std::endl;
@@ -405,6 +413,9 @@ namespace ZL
navigationMaps.resize(paths.size());
for (size_t i = 0; i < paths.size(); ++i) {
// Service the OS message queue between builds so the window doesn't
// get flagged as "not responding" while loading many navigation grids.
SDL_PumpEvents();
navigationMaps[i].build(paths[i], CONST_ZIP_FILE);
}