Fixing minor stuff, working on Web version

This commit is contained in:
Vladislav Khorev committed 2026-07-25 16:56:02 +03:00
1 parent 5ecf5fb9d7
commit 7df68febca
38 files changed
+502 -167

No files matched your search

+57 -11
View File
@@ -28,9 +28,12 @@ namespace FRG {
static const std::string BACK_TO_MAIN_MENU_EN = "Back to Main Menu";
static const std::string MUSIC_DOWNLOAD_ERROR_RU = u8"Ошибка скачивания музыки";
static const std::string MUSIC_DOWNLOAD_NOT_STARTED_RU = u8"Нажмите сюда, чтобы скачать и установить музыку (27 MB).";
static const std::string MUSIC_DOWNLOAD_NOT_STARTED_RU = u8"Скачать пакет с музыкой (27 MB).";
static const std::string MUSIC_DOWNLOAD_PROGRESS_PREFIX_RU = u8"Загрузка музыки: ";
//static const std::string MUSIC_DOWNLOAD_COMPLETED_RU = u8"Музыка успешно загружена.";
static const std::string MUSIC_DOWNLOAD_ERROR_EN = u8"Music download error";
static const std::string MUSIC_DOWNLOAD_NOT_STARTED_EN = u8"Download music package (27 MB).";
static const std::string MUSIC_DOWNLOAD_PROGRESS_PREFIX_EN = u8"Music download: ";
static int questStatusPriority(Quest::QuestStatus status) {
@@ -246,7 +249,7 @@ namespace FRG {
void MenuManager::loadUiRoots(const std::string& zipFile) {
hudRoot = loadLocalizedUi("resources/w/ui/hud_step0.json", zipFile);
#ifdef __ANDROID__
#if defined(__ANDROID__)
hudStep1Root = loadLocalizedUi("resources/w/ui/hud_step1android.json", zipFile);
hudStep2Root = loadLocalizedUi("resources/w/ui/hud_step2android.json", zipFile);
#else
@@ -288,7 +291,10 @@ namespace FRG {
hudUniIntDarkFullRoot = loadLocalizedUi("resources/w/ui/hud_uni_int_dark_full.json", zipFile);
hudUniExtDarkRoot = loadLocalizedUi("resources/w/ui/hud_uni_ext_dark.json", zipFile);
hudCutsceneRoot_ = loadLocalizedUi("resources/w/ui/hud_cutscene.json", zipFile);
//hudCutsceneRoot_ = loadLocalizedUi("resources/w/ui/hud_cutscene.json", zipFile);
hudCutsceneRoot_ = loadUiFromFile("resources/w/ui/hud_cutscene.json", renderer, zipFile);
hudTopHintRoot_ = loadLocalizedUi("resources/w/ui/hud_top_hint01.json", zipFile);
phoneMainRoot = loadLocalizedUi("resources/w/ui/screen_phone.json", zipFile);
@@ -329,12 +335,18 @@ namespace FRG {
portraitQuestJournalListRoot = loadLocalizedUi("resources/w/ui/portrait_screen_journal.json", zipFile);
portraitQuestJournalItemRoot = loadLocalizedUi("resources/w/ui/portrait_screen_journal_item.json", zipFile);
#ifdef __ANDROID__
#if defined(__ANDROID__) || defined(__EMSCRIPTEN__)
mainMenuRoot = loadLocalizedUi("resources/w/ui/screen_main_menu_android.json", zipFile);
aboutScreenRoot = loadLocalizedUi("resources/w/ui/screen_about_android.json", zipFile);
#else
mainMenuRoot = loadLocalizedUi("resources/w/ui/screen_main_menu.json", zipFile);
aboutScreenRoot = loadLocalizedUi("resources/w/ui/screen_about.json", zipFile);
#endif
#if defined(__ANDROID__)
aboutScreenRoot = loadLocalizedUi("resources/w/ui/screen_about_android.json", zipFile);
#elif defined(__EMSCRIPTEN__)
aboutScreenRoot = loadLocalizedUi("resources/w/ui/screen_about_web.json", zipFile);
#else
aboutScreenRoot = loadLocalizedUi("resources/w/ui/screen_about.json", zipFile);
#endif
creditsScreenRoot = loadLocalizedUi("resources/w/ui/screen_credits.json", zipFile);
@@ -615,13 +627,19 @@ namespace FRG {
});
#ifdef __ANDROID__
#ifdef __EMSCRIPTEN__
uiManager.setTextButtonCallback("websiteButton", [this](const std::string&) {
audioPlayer_.playSoundAsync("resources/audio/751089__smallconfusion__mechanical-plastic-click-11.ogg");
SDL_OpenURL("https://shadowoverbishkek.com/");
});
#endif
#ifdef __ANDROID__
uiManager.setTextButtonCallback("reviewButton", [this](const std::string&) {
audioPlayer_.playSoundAsync("resources/audio/751089__smallconfusion__mechanical-plastic-click-11.ogg");
SDL_OpenURL("https://play.google.com/store/apps/details?id=fishrungames.shadowoverbishkek");
});
#endif
uiManager.setTextButtonCallback("telegramButton", [this](const std::string&) {
audioPlayer_.playSoundAsync("resources/audio/751089__smallconfusion__mechanical-plastic-click-11.ogg");
SDL_OpenURL("https://telegram.me/fishrungames");
@@ -838,6 +856,23 @@ namespace FRG {
});
}
void MenuManager::refreshFullScreenToggleButton()
{
// Localization
if (g_currentLanguage == Language::English)
{
fullScreenToggleOn = "Full Screen: ON";
fullScreenToggleOff = "Full Screen: OFF";
}
else if (g_currentLanguage == Language::Russian)
{
fullScreenToggleOn = u8"Полноэкранный режим: ВКЛ";
fullScreenToggleOff = u8"Полноэкранный режим: ВЫКЛ";
}
const bool on = Environment::isFullscreen;
uiManager.setTextButtonText("fullScreenToggleButton", on ? fullScreenToggleOn : fullScreenToggleOff);
}
#ifdef __EMSCRIPTEN__
void MenuManager::showSettingsNoMusicWebScreen()
@@ -863,23 +898,30 @@ namespace FRG {
const float soundFrac = audioPlayer_.getSoundVolume() / 128.0f;
uiManager.setSliderValue("soundVolumeSlider", soundFrac);
static std::string musicDownloadErrorString;// = MUSIC_DOWNLOAD_ERROR_RU;
static std::string musicDownloadNotStartedString;// = MUSIC_DOWNLOAD_NOT_STARTED_RU;
static std::string musicDownloadProgressPrefix;// = MUSIC_DOWNLOAD_PROGRESS_PREFIX_RU;
// Localization
if (g_currentLanguage == Language::English)
{
soundVolumePrefix = "Sound volume: ";
soundToggleOn = "Sound: ON";
soundToggleOff = "Sound: OFF";
musicDownloadErrorString = MUSIC_DOWNLOAD_ERROR_EN;
musicDownloadNotStartedString = MUSIC_DOWNLOAD_NOT_STARTED_EN;
musicDownloadProgressPrefix = MUSIC_DOWNLOAD_PROGRESS_PREFIX_EN;
}
else if (g_currentLanguage == Language::Russian)
{
soundVolumePrefix = u8"Громкость звука: ";
soundToggleOn = u8"Звук: ВКЛ";
soundToggleOff = u8"Звук: ВЫКЛ";
musicDownloadErrorString = MUSIC_DOWNLOAD_ERROR_RU;
musicDownloadNotStartedString = MUSIC_DOWNLOAD_NOT_STARTED_RU;
musicDownloadProgressPrefix = MUSIC_DOWNLOAD_PROGRESS_PREFIX_RU;
}
static std::string musicDownloadErrorString = u8"Ошибка скачивания музыки";
static std::string musicDownloadNotStartedString = u8"Нажмите сюда, чтобы скачать\nи установить музыку (27 MB).";
static std::string musicDownloadProgressPrefix = u8"Загрузка музыки: ";
// musicDownloadStarted = false;
//musicDownloadError = false;
@@ -969,13 +1011,17 @@ namespace FRG {
});
uiManager.setTextButtonCallback("languageRussianButton", [this](const std::string&) {
#ifndef __EMSCRIPTEN__
audioPlayer_.playSoundAsync("resources/audio/751089__smallconfusion__mechanical-plastic-click-11.ogg");
#endif
FRG::g_currentLanguage = FRG::Language::Russian;
reloadLocalizedGameContent();
saveSettings();
});
uiManager.setTextButtonCallback("languageEnglishButton", [this](const std::string&) {
#ifndef __EMSCRIPTEN__
audioPlayer_.playSoundAsync("resources/audio/751089__smallconfusion__mechanical-plastic-click-11.ogg");
#endif
FRG::g_currentLanguage = FRG::Language::English;
reloadLocalizedGameContent();
saveSettings();