2015-01-09 15:56:21 +00:00
|
|
|
/* RetroArch - A frontend for libretro.
|
|
|
|
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
|
2016-01-10 03:06:50 +00:00
|
|
|
* Copyright (C) 2011-2016 - Daniel De Matteis
|
2016-03-10 22:36:46 +00:00
|
|
|
*
|
2015-01-09 15:56:21 +00:00
|
|
|
* RetroArch is free software: you can redistribute it and/or modify it under the terms
|
|
|
|
* of the GNU General Public License as published by the Free Software Found-
|
|
|
|
* ation, either version 3 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
|
|
* PURPOSE. See the GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License along with RetroArch.
|
|
|
|
* If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
2015-11-02 19:41:42 +00:00
|
|
|
#ifndef __RARCH_CONFIGURATION_H__
|
|
|
|
#define __RARCH_CONFIGURATION_H__
|
2015-01-09 15:56:21 +00:00
|
|
|
|
2015-03-21 06:05:08 +00:00
|
|
|
#include <stdint.h>
|
2015-12-05 06:45:36 +00:00
|
|
|
|
2015-12-06 12:12:27 +00:00
|
|
|
#include <boolean.h>
|
2016-06-03 01:22:35 +00:00
|
|
|
#include <retro_common_api.h>
|
2015-12-05 06:45:36 +00:00
|
|
|
|
|
|
|
#include "gfx/video_driver.h"
|
2015-03-21 06:05:08 +00:00
|
|
|
#include "driver.h"
|
|
|
|
|
|
|
|
#ifndef MAX_USERS
|
|
|
|
#define MAX_USERS 16
|
|
|
|
#endif
|
|
|
|
|
2016-06-03 01:22:35 +00:00
|
|
|
RETRO_BEGIN_DECLS
|
2015-01-09 15:56:21 +00:00
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
/* All config related settings go here. */
|
|
|
|
|
2016-07-25 09:23:40 +00:00
|
|
|
struct config_bool_setting
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
bool value;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct config_bool_setting_ptr
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
bool *ptr;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct config_int_setting_ptr
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
unsigned *ptr;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct config_int_setting
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
unsigned value;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct config_float_setting_ptr
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
float *ptr;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct config_float_setting
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
float value;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct config_string_setting
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
const char *value;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct config_path_setting
|
|
|
|
{
|
|
|
|
const char *ident;
|
|
|
|
bool defaults;
|
|
|
|
const char *value;
|
|
|
|
};
|
|
|
|
|
2015-03-20 18:32:46 +00:00
|
|
|
typedef struct settings
|
2015-03-20 18:15:08 +00:00
|
|
|
{
|
2015-09-26 18:05:00 +00:00
|
|
|
video_viewport_t video_viewport_custom;
|
|
|
|
|
2015-10-31 12:29:27 +00:00
|
|
|
char playlist_names[PATH_MAX_LENGTH];
|
|
|
|
char playlist_cores[PATH_MAX_LENGTH];
|
|
|
|
|
2015-12-11 18:13:40 +00:00
|
|
|
bool bundle_finished;
|
|
|
|
|
2015-05-07 23:06:14 +00:00
|
|
|
struct
|
2015-03-20 18:15:08 +00:00
|
|
|
{
|
|
|
|
char driver[32];
|
|
|
|
char context_driver[32];
|
|
|
|
float scale;
|
|
|
|
bool fullscreen;
|
|
|
|
bool windowed_fullscreen;
|
|
|
|
unsigned monitor_index;
|
|
|
|
unsigned fullscreen_x;
|
|
|
|
unsigned fullscreen_y;
|
|
|
|
bool vsync;
|
|
|
|
bool hard_sync;
|
|
|
|
bool black_frame_insertion;
|
2016-06-21 19:36:58 +00:00
|
|
|
unsigned max_swapchain_images;
|
2015-03-20 18:15:08 +00:00
|
|
|
unsigned swap_interval;
|
|
|
|
unsigned hard_sync_frames;
|
|
|
|
unsigned frame_delay;
|
|
|
|
#ifdef GEKKO
|
|
|
|
unsigned viwidth;
|
|
|
|
bool vfilter;
|
|
|
|
#endif
|
|
|
|
bool smooth;
|
|
|
|
bool force_aspect;
|
|
|
|
bool crop_overscan;
|
|
|
|
float aspect_ratio;
|
|
|
|
bool aspect_ratio_auto;
|
|
|
|
bool scale_integer;
|
|
|
|
unsigned aspect_ratio_idx;
|
|
|
|
unsigned rotation;
|
|
|
|
|
|
|
|
bool shader_enable;
|
|
|
|
|
|
|
|
float refresh_rate;
|
|
|
|
bool threaded;
|
|
|
|
|
|
|
|
|
|
|
|
float font_size;
|
|
|
|
bool font_enable;
|
|
|
|
float msg_pos_x;
|
|
|
|
float msg_pos_y;
|
|
|
|
float msg_color_r;
|
|
|
|
float msg_color_g;
|
|
|
|
float msg_color_b;
|
|
|
|
|
|
|
|
bool disable_composition;
|
|
|
|
|
|
|
|
bool post_filter_record;
|
|
|
|
bool gpu_record;
|
|
|
|
bool gpu_screenshot;
|
|
|
|
|
|
|
|
bool allow_rotate;
|
|
|
|
bool shared_context;
|
|
|
|
bool force_srgb_disable;
|
|
|
|
} video;
|
|
|
|
|
2015-04-15 11:37:38 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
char driver[32];
|
|
|
|
} record;
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
bool menubar_enable;
|
|
|
|
bool suspend_screensaver_enable;
|
2015-04-13 00:12:28 +00:00
|
|
|
bool companion_start_on_boot;
|
2016-01-18 20:35:09 +00:00
|
|
|
bool companion_enable;
|
2015-03-20 18:15:08 +00:00
|
|
|
} ui;
|
|
|
|
|
|
|
|
#ifdef HAVE_MENU
|
2015-05-07 23:06:14 +00:00
|
|
|
struct
|
2015-03-20 18:15:08 +00:00
|
|
|
{
|
|
|
|
char driver[32];
|
|
|
|
bool pause_libretro;
|
|
|
|
bool timedate_enable;
|
|
|
|
bool core_enable;
|
2015-06-04 10:17:23 +00:00
|
|
|
bool dynamic_wallpaper_enable;
|
2016-04-07 18:42:53 +00:00
|
|
|
unsigned thumbnails;
|
2015-03-20 18:15:08 +00:00
|
|
|
bool throttle;
|
|
|
|
|
2016-07-09 13:13:06 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
float opacity;
|
|
|
|
} wallpaper;
|
|
|
|
|
2016-07-11 15:27:36 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
float opacity;
|
|
|
|
} footer;
|
|
|
|
|
2016-07-11 15:41:06 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
float opacity;
|
|
|
|
} header;
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
bool enable;
|
|
|
|
} mouse;
|
|
|
|
|
2015-03-29 23:50:44 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
bool enable;
|
|
|
|
} pointer;
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
2015-10-25 01:59:38 +00:00
|
|
|
bool enable;
|
2015-07-04 17:58:43 +00:00
|
|
|
bool setting_enable;
|
2015-03-20 18:15:08 +00:00
|
|
|
} wraparound;
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
bool supported_extensions_enable;
|
|
|
|
} filter;
|
|
|
|
} browser;
|
|
|
|
} navigation;
|
2015-04-24 14:37:09 +00:00
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
bool override_enable;
|
|
|
|
unsigned override_value;
|
|
|
|
} dpi;
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
bool show_advanced_settings;
|
|
|
|
|
|
|
|
unsigned entry_normal_color;
|
|
|
|
unsigned entry_hover_color;
|
|
|
|
unsigned title_color;
|
2016-02-24 20:24:32 +00:00
|
|
|
bool throttle_framerate;
|
2016-02-27 23:30:12 +00:00
|
|
|
bool linear_filter;
|
2016-07-09 11:05:58 +00:00
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
unsigned shader_pipeline;
|
|
|
|
char font[PATH_MAX_LENGTH];
|
|
|
|
unsigned scale_factor;
|
|
|
|
unsigned alpha_factor;
|
|
|
|
unsigned theme;
|
|
|
|
unsigned menu_color_theme;
|
|
|
|
bool shadows_enable;
|
|
|
|
} xmb;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
unsigned menu_color_theme;
|
|
|
|
} materialui;
|
2015-03-20 18:15:08 +00:00
|
|
|
} menu;
|
|
|
|
#endif
|
|
|
|
|
2015-10-27 23:55:11 +00:00
|
|
|
#ifdef HAVE_THREADS
|
|
|
|
bool threaded_data_runloop_enable;
|
|
|
|
#endif
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
struct
|
|
|
|
{
|
|
|
|
char driver[32];
|
|
|
|
char device[PATH_MAX_LENGTH];
|
|
|
|
bool allow;
|
|
|
|
unsigned width;
|
|
|
|
unsigned height;
|
|
|
|
} camera;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
char driver[32];
|
|
|
|
bool allow;
|
|
|
|
int update_interval_ms;
|
|
|
|
int update_interval_distance;
|
|
|
|
} location;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
char driver[32];
|
2016-04-28 18:49:13 +00:00
|
|
|
char resampler[32];
|
|
|
|
char device[PATH_MAX_LENGTH];
|
2015-03-20 18:15:08 +00:00
|
|
|
bool enable;
|
|
|
|
bool mute_enable;
|
|
|
|
unsigned out_rate;
|
|
|
|
unsigned block_frames;
|
|
|
|
unsigned latency;
|
|
|
|
bool sync;
|
|
|
|
|
|
|
|
|
|
|
|
bool rate_control;
|
|
|
|
float rate_control_delta;
|
|
|
|
float max_timing_skew;
|
|
|
|
float volume; /* dB scale. */
|
|
|
|
} audio;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
char driver[32];
|
|
|
|
char joypad_driver[32];
|
|
|
|
char keyboard_layout[64];
|
2016-04-28 18:49:13 +00:00
|
|
|
char device_names[MAX_USERS][64];
|
2015-03-20 18:15:08 +00:00
|
|
|
|
|
|
|
unsigned remap_ids[MAX_USERS][RARCH_BIND_LIST_END];
|
|
|
|
struct retro_keybind binds[MAX_USERS][RARCH_BIND_LIST_END];
|
|
|
|
struct retro_keybind autoconf_binds[MAX_USERS][RARCH_BIND_LIST_END];
|
|
|
|
|
|
|
|
unsigned max_users;
|
|
|
|
|
|
|
|
/* Set by autoconfiguration in joypad_autoconfig_dir.
|
|
|
|
* Does not override main binds. */
|
|
|
|
bool autoconfigured[MAX_USERS];
|
2015-07-11 01:14:36 +00:00
|
|
|
int vid[MAX_USERS];
|
|
|
|
int pid[MAX_USERS];
|
2015-03-20 18:15:08 +00:00
|
|
|
|
|
|
|
unsigned libretro_device[MAX_USERS];
|
|
|
|
unsigned analog_dpad_mode[MAX_USERS];
|
|
|
|
|
|
|
|
bool remap_binds_enable;
|
|
|
|
float axis_threshold;
|
|
|
|
unsigned joypad_map[MAX_USERS];
|
|
|
|
unsigned device[MAX_USERS];
|
2015-11-25 03:30:51 +00:00
|
|
|
unsigned device_name_index[MAX_USERS];
|
2015-03-20 18:15:08 +00:00
|
|
|
bool autodetect_enable;
|
|
|
|
bool netplay_client_swap_input;
|
|
|
|
|
|
|
|
unsigned turbo_period;
|
|
|
|
unsigned turbo_duty_cycle;
|
|
|
|
|
|
|
|
bool overlay_enable;
|
2015-07-03 17:27:16 +00:00
|
|
|
bool overlay_enable_autopreferred;
|
2015-07-09 02:05:59 +00:00
|
|
|
bool overlay_hide_in_menu;
|
2015-03-20 18:15:08 +00:00
|
|
|
float overlay_opacity;
|
2016-07-25 10:30:41 +00:00
|
|
|
float overlay_scale;
|
2015-03-20 18:15:08 +00:00
|
|
|
|
2016-06-26 06:22:40 +00:00
|
|
|
unsigned bind_timeout;
|
2015-03-20 18:15:08 +00:00
|
|
|
bool input_descriptor_label_show;
|
|
|
|
bool input_descriptor_hide_unbound;
|
|
|
|
|
2015-07-09 04:27:17 +00:00
|
|
|
unsigned menu_toggle_gamepad_combo;
|
2015-07-11 01:13:38 +00:00
|
|
|
bool back_as_menu_toggle_enable;
|
2015-11-13 00:50:22 +00:00
|
|
|
|
|
|
|
#if TARGET_OS_IPHONE
|
|
|
|
bool small_keyboard_enable;
|
|
|
|
#endif
|
2015-11-13 21:11:39 +00:00
|
|
|
bool keyboard_gamepad_enable;
|
|
|
|
unsigned keyboard_gamepad_mapping_type;
|
2016-01-27 00:29:53 +00:00
|
|
|
unsigned poll_type_behavior;
|
2015-03-20 18:15:08 +00:00
|
|
|
} input;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
bool enable;
|
|
|
|
float opacity;
|
|
|
|
float scale;
|
|
|
|
} osk;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
unsigned mode;
|
|
|
|
} archive;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
char buildbot_url[PATH_MAX_LENGTH];
|
|
|
|
char buildbot_assets_url[PATH_MAX_LENGTH];
|
|
|
|
bool buildbot_auto_extract_archive;
|
|
|
|
} network;
|
|
|
|
|
2016-01-21 02:49:06 +00:00
|
|
|
bool set_supports_no_game_enable;
|
2015-04-28 01:22:04 +00:00
|
|
|
|
2015-06-23 05:09:24 +00:00
|
|
|
struct
|
|
|
|
{
|
2015-06-28 15:21:32 +00:00
|
|
|
bool builtin_mediaplayer_enable;
|
|
|
|
bool builtin_imageviewer_enable;
|
|
|
|
} multimedia;
|
2015-06-23 05:09:24 +00:00
|
|
|
|
2015-10-16 16:14:29 +00:00
|
|
|
#ifdef HAVE_CHEEVOS
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
bool enable;
|
|
|
|
bool test_unofficial;
|
2016-03-14 10:51:54 +00:00
|
|
|
bool hardcore_mode_enable;
|
2015-10-18 20:08:17 +00:00
|
|
|
char username[32];
|
2015-10-16 16:14:29 +00:00
|
|
|
char password[32];
|
|
|
|
} cheevos;
|
|
|
|
#endif
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
int state_slot;
|
|
|
|
|
2015-07-08 14:45:04 +00:00
|
|
|
bool bundle_assets_extract_enable;
|
2015-12-02 02:55:28 +00:00
|
|
|
unsigned bundle_assets_extract_version_current;
|
|
|
|
unsigned bundle_assets_extract_last_version;
|
2016-04-28 17:52:25 +00:00
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
2016-04-28 18:49:13 +00:00
|
|
|
char cheat_database[PATH_MAX_LENGTH];
|
|
|
|
char content_database[PATH_MAX_LENGTH];
|
|
|
|
char libretro[PATH_MAX_LENGTH];
|
|
|
|
char osk_overlay[PATH_MAX_LENGTH];
|
|
|
|
char overlay[PATH_MAX_LENGTH];
|
|
|
|
char menu_wallpaper[PATH_MAX_LENGTH];
|
|
|
|
char audio_dsp_plugin[PATH_MAX_LENGTH];
|
|
|
|
char softfilter_plugin[PATH_MAX_LENGTH];
|
2016-04-28 17:52:25 +00:00
|
|
|
char core_options[PATH_MAX_LENGTH];
|
|
|
|
char content_history[PATH_MAX_LENGTH];
|
|
|
|
char libretro_info[PATH_MAX_LENGTH];
|
|
|
|
char cheat_settings[PATH_MAX_LENGTH];
|
|
|
|
char bundle_assets_src[PATH_MAX_LENGTH];
|
|
|
|
char bundle_assets_dst[PATH_MAX_LENGTH];
|
|
|
|
char bundle_assets_dst_subdir[PATH_MAX_LENGTH];
|
|
|
|
char shader[PATH_MAX_LENGTH];
|
|
|
|
char font[PATH_MAX_LENGTH];
|
|
|
|
} path;
|
2015-07-08 14:45:04 +00:00
|
|
|
|
2016-04-28 17:26:02 +00:00
|
|
|
struct
|
|
|
|
{
|
2016-04-28 18:49:13 +00:00
|
|
|
char audio_filter[PATH_MAX_LENGTH];
|
|
|
|
char autoconfig[PATH_MAX_LENGTH];
|
|
|
|
char video_filter[PATH_MAX_LENGTH];
|
|
|
|
char video_shader[PATH_MAX_LENGTH];
|
2016-04-28 17:26:02 +00:00
|
|
|
char content_history[PATH_MAX_LENGTH];
|
|
|
|
char libretro[PATH_MAX_LENGTH];
|
|
|
|
char cursor[PATH_MAX_LENGTH];
|
|
|
|
char input_remapping[PATH_MAX_LENGTH];
|
|
|
|
char overlay[PATH_MAX_LENGTH];
|
|
|
|
char resampler[PATH_MAX_LENGTH];
|
|
|
|
char screenshot[PATH_MAX_LENGTH];
|
|
|
|
char system[PATH_MAX_LENGTH];
|
|
|
|
char cache[PATH_MAX_LENGTH];
|
|
|
|
char playlist[PATH_MAX_LENGTH];
|
|
|
|
char core_assets[PATH_MAX_LENGTH];
|
|
|
|
char assets[PATH_MAX_LENGTH];
|
|
|
|
char dynamic_wallpapers[PATH_MAX_LENGTH];
|
|
|
|
char thumbnails[PATH_MAX_LENGTH];
|
|
|
|
char menu_config[PATH_MAX_LENGTH];
|
|
|
|
char menu_content[PATH_MAX_LENGTH];
|
|
|
|
} directory;
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
unsigned content_history_size;
|
|
|
|
|
|
|
|
unsigned libretro_log_level;
|
|
|
|
|
2016-03-10 22:36:46 +00:00
|
|
|
bool auto_screenshot_filename;
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
bool history_list_enable;
|
|
|
|
bool rewind_enable;
|
|
|
|
size_t rewind_buffer_size;
|
|
|
|
unsigned rewind_granularity;
|
|
|
|
|
2016-07-25 10:30:41 +00:00
|
|
|
float slowmotion_ratio;
|
|
|
|
float fastforward_ratio;
|
2015-03-20 18:15:08 +00:00
|
|
|
|
|
|
|
bool pause_nonactive;
|
|
|
|
unsigned autosave_interval;
|
|
|
|
|
|
|
|
bool block_sram_overwrite;
|
|
|
|
bool savestate_auto_index;
|
|
|
|
bool savestate_auto_save;
|
|
|
|
bool savestate_auto_load;
|
|
|
|
|
|
|
|
bool network_cmd_enable;
|
2015-06-03 16:07:29 +00:00
|
|
|
unsigned network_cmd_port;
|
2015-03-20 18:15:08 +00:00
|
|
|
bool stdin_cmd_enable;
|
2015-11-27 04:07:30 +00:00
|
|
|
bool network_remote_enable;
|
|
|
|
bool network_remote_enable_user[MAX_USERS];
|
2015-11-26 20:16:28 +00:00
|
|
|
unsigned network_remote_base_port;
|
2015-09-24 01:48:08 +00:00
|
|
|
bool debug_panel_enable;
|
2015-03-20 18:15:08 +00:00
|
|
|
|
|
|
|
#if defined(HAVE_MENU)
|
|
|
|
bool menu_show_start_screen;
|
|
|
|
#endif
|
|
|
|
bool fps_show;
|
|
|
|
bool load_dummy_on_core_shutdown;
|
|
|
|
|
|
|
|
bool core_specific_config;
|
2015-11-15 17:20:56 +00:00
|
|
|
bool game_specific_options;
|
2015-04-18 01:07:15 +00:00
|
|
|
bool auto_overrides_enable;
|
2015-04-18 01:10:26 +00:00
|
|
|
bool auto_remaps_enable;
|
2015-03-20 18:15:08 +00:00
|
|
|
|
2015-05-07 23:06:14 +00:00
|
|
|
bool sort_savefiles_enable;
|
|
|
|
bool sort_savestates_enable;
|
|
|
|
|
2015-05-07 01:55:15 +00:00
|
|
|
unsigned menu_ok_btn;
|
|
|
|
unsigned menu_cancel_btn;
|
|
|
|
unsigned menu_search_btn;
|
|
|
|
unsigned menu_default_btn;
|
|
|
|
unsigned menu_info_btn;
|
|
|
|
unsigned menu_scroll_down_btn;
|
|
|
|
unsigned menu_scroll_up_btn;
|
|
|
|
|
2015-03-20 18:15:08 +00:00
|
|
|
char username[32];
|
2016-06-07 04:05:41 +00:00
|
|
|
#ifdef HAVE_LANGEXTRA
|
2015-03-20 18:15:08 +00:00
|
|
|
unsigned int user_language;
|
2016-06-07 04:05:41 +00:00
|
|
|
#endif
|
2015-03-20 18:15:08 +00:00
|
|
|
|
|
|
|
bool config_save_on_exit;
|
2016-03-21 22:46:36 +00:00
|
|
|
|
2016-04-25 13:21:39 +00:00
|
|
|
#ifdef HAVE_SYSTEMD
|
2016-03-21 22:46:36 +00:00
|
|
|
bool ssh_enable;
|
2016-03-23 12:58:01 +00:00
|
|
|
bool samba_enable;
|
2016-03-23 13:06:53 +00:00
|
|
|
bool bluetooth_enable;
|
2016-03-21 22:46:36 +00:00
|
|
|
#endif
|
|
|
|
|
2015-03-20 18:32:46 +00:00
|
|
|
} settings_t;
|
2015-03-20 18:15:08 +00:00
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_camera:
|
|
|
|
*
|
|
|
|
* Gets default camera driver.
|
|
|
|
*
|
|
|
|
* Returns: Default camera driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_camera(void);
|
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_location:
|
|
|
|
*
|
|
|
|
* Gets default location driver.
|
|
|
|
*
|
|
|
|
* Returns: Default location driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_location(void);
|
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_osk:
|
|
|
|
*
|
|
|
|
* Gets default OSK driver.
|
|
|
|
*
|
|
|
|
* Returns: Default OSK driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_osk(void);
|
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_video:
|
|
|
|
*
|
|
|
|
* Gets default video driver.
|
|
|
|
*
|
|
|
|
* Returns: Default video driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_video(void);
|
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_audio:
|
|
|
|
*
|
|
|
|
* Gets default audio driver.
|
|
|
|
*
|
|
|
|
* Returns: Default audio driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_audio(void);
|
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_audio_resampler:
|
|
|
|
*
|
|
|
|
* Gets default audio resampler driver.
|
|
|
|
*
|
|
|
|
* Returns: Default audio resampler driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_audio_resampler(void);
|
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_input:
|
|
|
|
*
|
|
|
|
* Gets default input driver.
|
|
|
|
*
|
|
|
|
* Returns: Default input driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_input(void);
|
|
|
|
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_joypad:
|
|
|
|
*
|
|
|
|
* Gets default input joypad driver.
|
|
|
|
*
|
|
|
|
* Returns: Default input joypad driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_joypad(void);
|
|
|
|
|
|
|
|
#ifdef HAVE_MENU
|
2015-01-11 04:29:32 +00:00
|
|
|
/**
|
|
|
|
* config_get_default_menu:
|
|
|
|
*
|
|
|
|
* Gets default menu driver.
|
|
|
|
*
|
|
|
|
* Returns: Default menu driver.
|
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
const char *config_get_default_menu(void);
|
|
|
|
#endif
|
|
|
|
|
2015-04-15 11:37:38 +00:00
|
|
|
const char *config_get_default_record(void);
|
|
|
|
|
2015-01-09 15:56:21 +00:00
|
|
|
/**
|
|
|
|
* config_load:
|
|
|
|
*
|
|
|
|
* Loads a config file and reads all the values into memory.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
void config_load(void);
|
|
|
|
|
2015-04-05 18:52:43 +00:00
|
|
|
/**
|
|
|
|
* config_load_override:
|
|
|
|
*
|
|
|
|
* Tries to append game-specific and core-specific configuration.
|
|
|
|
* These settings will always have precedence, thus this feature
|
|
|
|
* can be used to enforce overrides.
|
|
|
|
*
|
2015-04-07 01:16:00 +00:00
|
|
|
* Returns: false if there was an error or no action was performed.
|
2015-04-05 18:52:43 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
bool config_load_override(void);
|
2015-04-05 16:14:24 +00:00
|
|
|
|
2015-04-07 01:07:44 +00:00
|
|
|
/**
|
|
|
|
* config_unload_override:
|
|
|
|
*
|
|
|
|
* Unloads configuration overrides if overrides are active.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Returns: false if there was an error.
|
|
|
|
*/
|
2015-04-07 00:54:58 +00:00
|
|
|
bool config_unload_override(void);
|
|
|
|
|
2015-04-05 19:06:23 +00:00
|
|
|
/**
|
|
|
|
* config_load_remap:
|
|
|
|
*
|
|
|
|
* Tries to append game-specific and core-specific remap files.
|
|
|
|
*
|
2015-04-07 01:16:00 +00:00
|
|
|
* Returns: false if there was an error or no action was performed.
|
2015-04-05 19:06:23 +00:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
bool config_load_remap(void);
|
|
|
|
|
2015-07-11 01:14:36 +00:00
|
|
|
/**
|
|
|
|
* config_save_autoconf_profile:
|
|
|
|
* @path : Path that shall be written to.
|
|
|
|
* @user : Controller number to save
|
|
|
|
* Writes a controller autoconf file to disk.
|
|
|
|
**/
|
2015-07-11 02:20:19 +00:00
|
|
|
bool config_save_autoconf_profile(const char *path, unsigned user);
|
2015-07-11 01:14:36 +00:00
|
|
|
|
2015-01-09 15:56:21 +00:00
|
|
|
/**
|
|
|
|
* config_save_file:
|
|
|
|
* @path : Path that shall be written to.
|
|
|
|
*
|
|
|
|
* Writes a config file to disk.
|
|
|
|
*
|
|
|
|
* Returns: true (1) on success, otherwise returns false (0).
|
2015-01-19 06:43:28 +00:00
|
|
|
**/
|
2015-01-09 15:56:21 +00:00
|
|
|
bool config_save_file(const char *path);
|
|
|
|
|
2016-05-27 14:42:20 +00:00
|
|
|
/* Replaces currently loaded configuration file with
|
|
|
|
* another one. Will load a dummy core to flush state
|
|
|
|
* properly. */
|
|
|
|
bool config_replace(char *path);
|
|
|
|
|
2016-05-27 03:05:27 +00:00
|
|
|
bool config_init(void);
|
2015-03-21 00:47:06 +00:00
|
|
|
|
|
|
|
void config_free(void);
|
|
|
|
|
2016-07-23 12:18:17 +00:00
|
|
|
const char *config_get_active_path(void);
|
|
|
|
|
2016-07-23 12:37:20 +00:00
|
|
|
const char *config_get_active_core_path(void);
|
|
|
|
|
2016-07-24 09:12:26 +00:00
|
|
|
void config_set_active_core_path(const char *path);
|
|
|
|
|
|
|
|
void config_clear_active_core_path(void);
|
|
|
|
|
2016-07-24 09:27:44 +00:00
|
|
|
bool config_active_core_path_is_empty(void);
|
|
|
|
|
2016-07-23 12:27:17 +00:00
|
|
|
void config_free_state(void);
|
|
|
|
|
2015-03-20 18:32:46 +00:00
|
|
|
settings_t *config_get_ptr(void);
|
|
|
|
|
2016-06-03 01:22:35 +00:00
|
|
|
RETRO_END_DECLS
|
2015-01-09 15:56:21 +00:00
|
|
|
|
|
|
|
#endif
|