2024-01-21 20:04:56 +01:00
|
|
|
#ifndef __RECOMP_CONFIG_H__
|
|
|
|
#define __RECOMP_CONFIG_H__
|
|
|
|
|
2024-03-04 03:00:49 +01:00
|
|
|
#include <filesystem>
|
2024-01-21 20:04:56 +01:00
|
|
|
#include <string_view>
|
|
|
|
#include "../ultramodern/config.hpp"
|
|
|
|
|
|
|
|
namespace recomp {
|
2024-01-22 01:21:58 +01:00
|
|
|
constexpr std::u8string_view program_id = u8"Zelda64Recompiled";
|
2024-03-12 05:27:20 +01:00
|
|
|
constexpr std::u8string_view mm_game_id = u8"mm.n64.us.1.0";
|
2024-05-19 00:46:11 +02:00
|
|
|
constexpr std::string_view program_name = "Zelda 64: Recompiled";
|
2024-01-21 20:04:56 +01:00
|
|
|
|
|
|
|
void load_config();
|
|
|
|
void save_config();
|
|
|
|
|
|
|
|
void reset_input_bindings();
|
2024-04-21 20:02:47 +02:00
|
|
|
void reset_cont_input_bindings();
|
|
|
|
void reset_kb_input_bindings();
|
2024-03-04 03:00:49 +01:00
|
|
|
|
|
|
|
std::filesystem::path get_app_folder_path();
|
2024-03-15 17:13:29 +01:00
|
|
|
|
|
|
|
bool get_debug_mode_enabled();
|
|
|
|
void set_debug_mode_enabled(bool enabled);
|
2024-05-04 19:08:14 +02:00
|
|
|
|
|
|
|
enum class AutosaveMode {
|
|
|
|
On,
|
|
|
|
Off,
|
|
|
|
OptionCount
|
|
|
|
};
|
|
|
|
|
2024-05-26 15:34:26 +02:00
|
|
|
enum class AnalogCamMode {
|
|
|
|
On,
|
|
|
|
Off,
|
|
|
|
OptionCount
|
|
|
|
};
|
|
|
|
|
2024-05-04 19:08:14 +02:00
|
|
|
NLOHMANN_JSON_SERIALIZE_ENUM(recomp::AutosaveMode, {
|
|
|
|
{recomp::AutosaveMode::On, "On"},
|
|
|
|
{recomp::AutosaveMode::Off, "Off"}
|
|
|
|
});
|
|
|
|
|
2024-05-26 15:34:26 +02:00
|
|
|
NLOHMANN_JSON_SERIALIZE_ENUM(recomp::AnalogCamMode, {
|
|
|
|
{recomp::AnalogCamMode::On, "On"},
|
|
|
|
{recomp::AnalogCamMode::Off, "Off"}
|
|
|
|
});
|
|
|
|
|
2024-05-04 19:08:14 +02:00
|
|
|
AutosaveMode get_autosave_mode();
|
|
|
|
void set_autosave_mode(AutosaveMode mode);
|
2024-05-26 15:34:26 +02:00
|
|
|
|
|
|
|
AnalogCamMode get_analog_cam_mode();
|
|
|
|
void set_analog_cam_mode(AnalogCamMode mode);
|
2024-01-21 20:04:56 +01:00
|
|
|
};
|
|
|
|
|
2024-03-15 17:13:29 +01:00
|
|
|
#endif
|