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).
42 lines
1.1 KiB
C
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);
|