Adapted for web

This commit is contained in:
Vladislav Khorev committed 2026-11-09 17:20:04 +06:00
commit 3fe21230cc
20 files changed
+241 -72

No files matched your search

+7 -7
View File
@@ -20,7 +20,7 @@
#endif
#ifdef EMSCRIPTEN
#ifdef __EMSCRIPTEN__
#include <emscripten.h>
#endif
@@ -37,7 +37,7 @@ namespace FRG
static const float zoomMax = 20.0f;
#ifdef EMSCRIPTEN
#ifdef __EMSCRIPTEN__
const char* CONST_ZIP_FILE = "resources.zip";
const char* CONST_MUSIC_ZIP_FILE = "music.zip";
#else
@@ -49,7 +49,7 @@ namespace FRG
float y = 0;
float z = 0;
#ifdef EMSCRIPTEN
#ifdef __EMSCRIPTEN__
Game* Game::s_instance = nullptr;
// Коллбэк успешной загрузки resources.zip
@@ -109,7 +109,7 @@ namespace FRG
renderer.InitOpenGL();
//logger() << "Android test step 1 " << std::endl;
#if defined(EMSCRIPTEN) || defined(__ANDROID__)
#if defined(__EMSCRIPTEN__) || defined(__ANDROID__)
// These shaders and loading.png are preloaded separately (not from zip),
// so they are available immediately without waiting for resources.zip.
//logger() << "Android test step 1 " << std::endl;
@@ -149,7 +149,7 @@ namespace FRG
loadingMesh.data = CreateRect2D({ 0.0f, 0.0f }, { minDimension * 0.5f, minDimension * 0.5f }, 3);
loadingMesh.RefreshVBO();
#ifdef EMSCRIPTEN
#ifdef __EMSCRIPTEN__
s_instance = this;
std::string resPath = FRG::getPersistentResourcePath("resources.zip");
@@ -168,7 +168,7 @@ namespace FRG
// Скачиваем сразу в постоянный путь /offline/resources.zip
emscripten_async_wget2(
"resources.zip", // URL на сервере
"resources.zip?v=2", // Cache-bust stale browser responses after resource updates
resPath.c_str(), // Назначение в VFS Emscripten
"GET",
nullptr,
@@ -223,7 +223,7 @@ namespace FRG
loadSteps.push([this]() {
#if defined(EMSCRIPTEN) || defined(__ANDROID__)
#if defined(__EMSCRIPTEN__) || defined(__ANDROID__)
renderer.shaderManager.AddShaderFromFiles("env_sky", "resources/shaders/env_sky.vertex", "resources/shaders/env_sky_web.fragment", CONST_ZIP_FILE);
renderer.shaderManager.AddShaderFromFiles("defaultAtmosphere", "resources/shaders/defaultAtmosphere.vertex", "resources/shaders/defaultAtmosphere_web.fragment", CONST_ZIP_FILE);
renderer.shaderManager.AddShaderFromFiles("planetBake", "resources/shaders/planet_bake.vertex", "resources/shaders/planet_bake_web.fragment", CONST_ZIP_FILE);