noves opcions de menu i config.yaml per desactivar les dos coses visuals que he afegit al port

This commit is contained in:
2026-04-08 19:22:11 +02:00
parent 91fe0625d3
commit 2c833d086e
7 changed files with 25 additions and 2 deletions

View File

@@ -8,11 +8,15 @@ menu:
video: "VIDEO"
audio: "AUDIO"
controls: "CONTROLS"
game: "JOC"
items:
video: "VIDEO"
audio: "AUDIO"
controls: "CONTROLS"
game: "JOC"
use_new_logo: "LOGO NOU"
show_title_credits: "CREDITS DEL PORT"
zoom: "ZOOM"
screen: "PANTALLA"
shader: "SHADER"

View File

@@ -101,12 +101,14 @@ namespace Menu {
static Page buildVideo();
static Page buildAudio();
static Page buildControls();
static Page buildGame();
static Page buildRoot() {
Page p{Locale::get("menu.titles.root"), {}, 0};
p.items.push_back({Locale::get("menu.items.video"), ItemKind::Submenu, nullptr, nullptr, [] { pushPage(buildVideo()); }, nullptr});
p.items.push_back({Locale::get("menu.items.audio"), ItemKind::Submenu, nullptr, nullptr, [] { pushPage(buildAudio()); }, nullptr});
p.items.push_back({Locale::get("menu.items.controls"), ItemKind::Submenu, nullptr, nullptr, [] { pushPage(buildControls()); }, nullptr});
p.items.push_back({Locale::get("menu.items.game"), ItemKind::Submenu, nullptr, nullptr, [] { pushPage(buildGame()); }, nullptr});
return p;
}
@@ -207,6 +209,16 @@ namespace Menu {
return p;
}
static Page buildGame() {
Page p{Locale::get("menu.titles.game"), {}, 0};
p.items.push_back({Locale::get("menu.items.use_new_logo"), ItemKind::Toggle, [] { return yesNo(Options::game.use_new_logo); }, [](int) { Options::game.use_new_logo = !Options::game.use_new_logo; }, nullptr});
p.items.push_back({Locale::get("menu.items.show_title_credits"), ItemKind::Toggle, [] { return yesNo(Options::game.show_title_credits); }, [](int) { Options::game.show_title_credits = !Options::game.show_title_credits; }, nullptr});
return p;
}
// --- Dibuix ---
// Alpha blending per pixel sobre el buffer ARGB (ABGR en memòria)

View File

@@ -76,7 +76,9 @@ void Director::run() {
// atòmica d'un int global: race benigna, tard d'1 frame en el pitjor cas.
static bool credits_triggered = false;
if (!credits_triggered && info::num_piramide == 0) {
Overlay::startCredits();
if (Options::game.show_title_credits) {
Overlay::startCredits();
}
credits_triggered = true;
}

View File

@@ -58,4 +58,5 @@ namespace Defaults::Game {
constexpr int PIRAMIDE_INICIAL = 255;
constexpr int VIDES = 5;
constexpr bool USE_NEW_LOGO = true;
constexpr bool SHOW_TITLE_CREDITS = true;
} // namespace Defaults::Game

View File

@@ -3,7 +3,7 @@
// Textos
namespace Texts {
constexpr const char* WINDOW_TITLE = "© 2000 Aventures en Egipte — JailDesigner";
constexpr const char* VERSION = "1.1";
constexpr const char* VERSION = "1.11";
} // namespace Texts
// Resolución del juego

View File

@@ -146,6 +146,8 @@ namespace Options {
game.vides = node["vides"].get_value<int>();
if (node.contains("use_new_logo"))
game.use_new_logo = node["use_new_logo"].get_value<bool>();
if (node.contains("show_title_credits"))
game.show_title_credits = node["show_title_credits"].get_value<bool>();
}
// Carrega les opcions des del fitxer configurat
@@ -277,6 +279,7 @@ namespace Options {
file << " piramide_inicial: " << game.piramide_inicial << "\n";
file << " vides: " << game.vides << "\n";
file << " use_new_logo: " << (game.use_new_logo ? "true" : "false") << "\n";
file << " show_title_credits: " << (game.show_title_credits ? "true" : "false") << "\n";
file << "\n";
// CONTROLS

View File

@@ -84,6 +84,7 @@ namespace Options {
int piramide_inicial{Defaults::Game::PIRAMIDE_INICIAL};
int vides{Defaults::Game::VIDES};
bool use_new_logo{Defaults::Game::USE_NEW_LOGO};
bool show_title_credits{Defaults::Game::SHOW_TITLE_CREDITS};
};
// Preset PostFX