Fixing bug with save game, sounds, and some hints are out of screen on Android

This commit is contained in:
Vladislav Khorev committed 2026-07-19 12:19:28 +03:00
1 parent 9f812f0318
commit 6406c4f258
9 files changed
+24 -16

No files matched your search

+2 -2
View File
@@ -129,8 +129,8 @@
"name": "hint6b",
"horizontal_gravity": "right",
"vertical_gravity": "top",
"width": 738.75,
"height": 292.5,
"width": 630.4,
"height": 249.6,
"x": 80,
"y": 100,
"texture": "resources/w/ui/img/Hint6b.png",
+2 -2
View File
@@ -82,8 +82,8 @@
"name": "hint6b",
"horizontal_gravity": "right",
"vertical_gravity": "top",
"width": 738.75,
"height": 292.5,
"width": 630.4,
"height": 249.6,
"x": 80,
"y": 100,
"texture": "resources/w/ui/img/Hint6b.png",
@@ -60,7 +60,7 @@
"horizontal_gravity": "center",
"vertical_gravity": "top",
"text": "Главное Задание 1",
"fontSize": 56,
"fontSize": 40,
"fontPath": "resources/fonts/DroidSans.ttf",
"textCentered": false,
"topAligned": false,
+2 -2
View File
@@ -129,8 +129,8 @@
"name": "hint6b",
"horizontal_gravity": "right",
"vertical_gravity": "top",
"width": 788,
"height": 276,
"width": 630.4,
"height": 220.8,
"x": 80,
"y": 100,
"texture": "resources/w/ui_en/img/Hint6b.png",
+2 -2
View File
@@ -82,8 +82,8 @@
"name": "hint6b",
"horizontal_gravity": "right",
"vertical_gravity": "top",
"width": 788,
"height": 276,
"width": 630.4,
"height": 220.8,
"x": 80,
"y": 100,
"texture": "resources/w/ui_en/img/Hint6b.png",
@@ -60,7 +60,7 @@
"horizontal_gravity": "center",
"vertical_gravity": "top",
"text": "",
"fontSize": 56,
"fontSize": 40,
"fontPath": "resources/fonts/DroidSans.ttf",
"textCentered": false,
"topAligned": false,
+1 -1
View File
@@ -106,7 +106,7 @@ void AudioPlayerAsync::playSoundAsync(const std::string& filePath, int loops, in
return;
}
sound = Mix_LoadWAV_RW(rw, 1); // 1 means it will free rw automatically
FRG::logger() << "sound = Mix_LoadWAV_RW(rw, 1); just fired " << std::endl;
//FRG::logger() << "sound = Mix_LoadWAV_RW(rw, 1); just fired " << std::endl;
#else
sound = Mix_LoadWAV(filePath.c_str());
+1 -1
View File
@@ -1217,7 +1217,7 @@ namespace FRG
if (event.type == SDL_WINDOWEVENT && event.window.event == SDL_WINDOWEVENT_RESIZED) {
const bool wasPortrait = Environment::width < Environment::height;
//FRG::logger() << "Window resized" << std::endl;
FRG::logger() << "Window resized" << std::endl;
if (Environment::isHighDPIEnabled) {
// Если High DPI включен, запрашиваем реальное физическое разрешение буфера
int drawW, drawH;
+12 -4
View File
@@ -234,11 +234,11 @@ namespace FRG
return file.good();
}
else {
std::cerr << "[settings] Could not open " << filePath << " for writing" << std::endl;
logger() << "[settings] Could not open " << filePath << " for writing" << std::endl;
}
}
catch (const fs::filesystem_error& e) {
std::cerr << "[settings] Filesystem error: " << e.what() << std::endl;
logger() << "[settings] Filesystem error: " << e.what() << std::endl;
}
return false;
@@ -254,6 +254,14 @@ namespace FRG
// Для Web монтируем IDBFS обычно в локальную папку /offline или /home/webuser
// Чтобы не усложнять иерархию в IndexedDB, можно использовать фиксированный корень
baseDir = "/offline";
#elif defined(__ANDROID__)
char* prefPath = SDL_GetPrefPath("Fish Run Games", "Shadow Over Bishkek Demo");
if (prefPath) {
fs::path p(prefPath);
SDL_free(prefPath);
return p;
}
baseDir = fs::current_path();
#elif defined(_WIN32)
wchar_t* appDataPath = nullptr;
if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_RoamingAppData, 0, nullptr, &appDataPath))) {
@@ -294,7 +302,7 @@ namespace FRG
std::ifstream f(filePath, std::ios::in | std::ios::binary);
if (!f.is_open()) {
std::cerr << "[settings] Could not open " << filePath << " for reading" << std::endl;
logger() << "[settings] Could not open " << filePath << " for reading" << std::endl;
return "";
}
@@ -303,7 +311,7 @@ namespace FRG
std::istreambuf_iterator<char>());
}
catch (const fs::filesystem_error& e) {
std::cerr << "[settings] Filesystem error during read: " << e.what() << std::endl;
logger() << "[settings] Filesystem error during read: " << e.what() << std::endl;
}
return "";