From c5b74c52d3e558427ed832c36588ae397770839d Mon Sep 17 00:00:00 2001 From: niklascfw Date: Sun, 13 Sep 2026 22:08:08 +0200 Subject: [PATCH] Show pack versions and a Nintendo-server block notice on confirm. The installer now displays current vs incoming OmniNX version and states that Nintendo server connections are suppressed by default. --- VERSION | 2 +- source/install.c | 4 ++-- source/main.c | 18 ++++++++++++++++-- source/version.c | 6 +++++- source/version.h | 4 ++++ 5 files changed, 28 insertions(+), 6 deletions(-) diff --git a/VERSION b/VERSION index e4c0d46..dfd7f7f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.3 \ No newline at end of file +1.0.91 \ No newline at end of file diff --git a/source/install.c b/source/install.c index e649c74..6dc8dfd 100644 --- a/source/install.c +++ b/source/install.c @@ -50,9 +50,9 @@ void install_set_color(u32 color) { static void install_print_main_header(void) { install_set_color(COLOR_CYAN); - gfx_printf("===================================\n"); + gfx_printf("====================================\n"); gfx_printf(" OmniNX Installer Payload v%s\n", VERSION); - gfx_printf("===================================\n\n"); + gfx_printf("====================================\n\n"); install_set_color(COLOR_WHITE); } diff --git a/source/main.c b/source/main.c index 78e396f..5d79758 100644 --- a/source/main.c +++ b/source/main.c @@ -106,9 +106,9 @@ static void print_header(void) { gfx_clear_grey(0x1B); gfx_con_setpos(0, 0); set_color(COLOR_CYAN); - gfx_printf("===================================\n"); + gfx_printf("====================================\n"); gfx_printf(" OmniNX Installer Payload v%s\n", VERSION); - gfx_printf("===================================\n\n"); + gfx_printf("====================================\n\n"); set_color(COLOR_WHITE); } @@ -557,6 +557,9 @@ void ipl_main(void) { } // Show information + set_color(COLOR_YELLOW); + gfx_printf("Hinweis: Verbindungen zu Nintendo-Servern sind\n"); + gfx_printf("in OmniNX standardmaessig unterdrueckt.\n\n"); set_color(COLOR_CYAN); gfx_printf("Installationsmodus: %s\n", mode == INSTALL_MODE_UPDATE ? "Update" : "Saubere Installation"); gfx_printf("Paket-Variante: %s\n", get_variant_name(pack_variant)); @@ -565,6 +568,17 @@ void ipl_main(void) { } else { gfx_printf("Aktuelle Installation: Keine\n"); } + + char new_version[32]; + new_version[0] = '\0'; + const char *pack_manifest = get_manifest_path(pack_variant); + if (pack_manifest) + read_manifest_version(pack_manifest, new_version, sizeof(new_version)); + + const char *cur_ver = !current.is_installed ? "Keine" + : (current.version_file[0] ? current.version_file : "Unbekannt"); + const char *new_ver = new_version[0] ? new_version : "Unbekannt"; + gfx_printf("Version: %s -> %s\n", cur_ver, new_ver); set_color(COLOR_WHITE); gfx_printf("\n"); diff --git a/source/version.c b/source/version.c index d6e6c10..10c94b5 100644 --- a/source/version.c +++ b/source/version.c @@ -78,8 +78,12 @@ static omninx_variant_t read_manifest_variant(const char *manifest_path) { } // Read manifest.ini and extract version string -static void read_manifest_version(const char *manifest_path, char *version_buf, size_t buf_size) { +void read_manifest_version(const char *manifest_path, char *version_buf, size_t buf_size) { + if (!version_buf || buf_size == 0) + return; version_buf[0] = '\0'; + if (!manifest_path) + return; link_t sections; list_init(§ions); diff --git a/source/version.h b/source/version.h index 45e40d7..323933a 100644 --- a/source/version.h +++ b/source/version.h @@ -4,6 +4,7 @@ #pragma once #include +#include // OmniNX variants typedef enum { @@ -37,3 +38,6 @@ const char* get_staging_path(omninx_variant_t variant); // Get manifest.ini path for variant (in staging directory) const char* get_manifest_path(omninx_variant_t variant); + +// Read version string from a manifest.ini (empty string on failure) +void read_manifest_version(const char *manifest_path, char *version_buf, size_t buf_size);