Files
OmniNX-Installer-Payload/source/version.h
T
niklascfw 5241cccbe9 Share one selection menu; drop dead variant detection and TegraExplorer filter
The variant menu in main.c and the RAM / Hekate-AMS menus in install.c
were three copies of the same input loop; install_menu_select() replaces
them with identical behaviour (D-pad/Vol to move, A/Power to confirm,
Vol+ and Vol- to abort, Capture for screenshots).
2026-11-12 22:58:41 +01:00

42 lines
1.1 KiB
C

/*
* OmniNX Installer - Version and Variant Detection
*/
#pragma once
#include <utils/types.h>
#include <stddef.h>
// OmniNX variants
typedef enum {
VARIANT_NONE = 0,
VARIANT_STANDARD,
VARIANT_LIGHT,
VARIANT_OC
} omninx_variant_t;
// Installation status
typedef struct {
omninx_variant_t variant;
bool is_installed;
char version_file[32]; // e.g., "1.0.0s"
} omninx_status_t;
// Detect current OmniNX installation status
omninx_status_t detect_omninx_installation(void);
// Detect all pack variants present on SD card; returns count, fills out_variants[] (max max_count)
int detect_present_variants(omninx_variant_t *out_variants, int max_count);
// Get human-readable variant name
const char* get_variant_name(omninx_variant_t variant);
// Get staging/source directory path for variant
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);