
#ifndef mosaic_conf_hh
#define mosaic_conf_hh

#include <filesystem>

#include "itty/input.hh"

/// # Conf
///
/// Game configuration
///
/// Configuration is stored at `$XDG_CONFIG_HOME/$BASEDIR/game.cfg`
///
/// The `conf_load()` and `conf_save()` functions load and save the
/// configuration; they return `true` on success or `false` on failure.
///
/// Loaded configuration fills the `inputs` global variable as well as specific
/// fields in the [Media](#media) and [Phys](#phys) modules.
///
/// The `levels_load()` function loads the level list and stores the data in
/// the `levels` global variable.

enum Inputs {
        Input_left,
        Input_right,
        Input_up,
        Input_down,
        Input_accept,
        Input_cancel,
        Input_start,
        Input_menu,
        Input_count,
};

void conf_init();
bool conf_save();
bool conf_load();

#endif // mosaic_conf_hh
